KR20080089162A - 반복 디코딩법을 사용하여 오류를 정정하기 위한 기술 - Google Patents

반복 디코딩법을 사용하여 오류를 정정하기 위한 기술 Download PDF

Info

Publication number
KR20080089162A
KR20080089162A KR1020080014850A KR20080014850A KR20080089162A KR 20080089162 A KR20080089162 A KR 20080089162A KR 1020080014850 A KR1020080014850 A KR 1020080014850A KR 20080014850 A KR20080014850 A KR 20080014850A KR 20080089162 A KR20080089162 A KR 20080089162A
Authority
KR
South Korea
Prior art keywords
decoder
output flow
iteration
adder
soft information
Prior art date
Application number
KR1020080014850A
Other languages
English (en)
Inventor
종왕 리
위엔 싱 이
리차드 레오 갈브레이스
이바나 저제빅
트래비스 로저 오에닝
Original Assignee
히다치 글로벌 스토리지 테크놀로지스 네덜란드 비.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 히다치 글로벌 스토리지 테크놀로지스 네덜란드 비.브이. filed Critical 히다치 글로벌 스토리지 테크놀로지스 네덜란드 비.브이.
Publication of KR20080089162A publication Critical patent/KR20080089162A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2978Particular arrangement of the component decoders
    • H03M13/2987Particular arrangement of the component decoders using more component decoders than component codes, e.g. pipelined turbo iterations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

데이터 저장 장치 상에 기록된 데이터를 반복적으로 디코딩하기 위해 제공되는 기술이 개시된다. 반복 디코더는 오류를 정정하기 위해 다중 디코딩 반복을 사용하여 데이터를 디코딩한다. 반복 디코딩의 다중 반복에 있어서, 후 처리 블럭은 연성 정보를 생성하고, 디코더는 연성 정보 및 최신 연성 정보에 근거하여 외부 정보를 생성하기 위해, 최소합 디코딩 알고리즘을 저밀도 패리티 검사(LDPC) 코드에 적용한다.

Description

반복 디코딩법을 사용하여 오류를 정정하기 위한 기술{TECHNIQUES FOR CORRECTING ERRORS USING ITERATIVE DECODING}
본 발명은 오류를 정정하기 위한 기술에 관한 것으로, 보다 구체적으로는 하드 디스크 드라이브와 같은 데이터 저장 장치에서 반복 디코딩법을 사용하여 오류를 정정하기 위한 기술에 관한 것이다.
오류 정정 코드는 데이터 신뢰성을 보장하고 채널 잡음의 부작용을 감소시키기 위해 데이터 기록 장치에 사용된다. 패리티 코드(parity code)는 오류 정정 코드의 예이다. 패리티 코드는 종종 통신 채널로 전송되거나 디지털 저장 매체에 저장되는 데이터에서 발생되는 오류를 정정하기 위해 사용된다. 예를 들어, 패리티 검사 코드는 종종 자성 하드 디스크 상에 저장되는 데이터에 있어서의 오류를 정정하기 위해 사용된다.
오류 정정 디코딩은 경판정 디코더 또는 연판정 디코더를 사용하여 실행될 수 있다. 경판정 디코딩은 일반적으로 코드명의 모든 비트가 오류시에도 동일하게 존재할 것이라는 가정에 근거하고 있다. 경판정 디코딩은 일반적으로 일부 비트가 다른 것보다 신뢰할 수 있다고는 여겨지지 않는다. 그러나, 일부 경판정 디코딩 코드는 기록된 비트에 고르지 못한 보호를 제공한다.
연판정 디코딩은 입력 아날로그 데이터(예를 들어, 균등 되읽기 신호 또는 비트 신뢰 정보)를 수신하고 비신뢰성 비트를 우선적으로 플리핑(flipping)한다. 연판정 디코딩에 있어서, 로그 최우비(log-likelihood ratio; LLR)는 '0'인 비트의 가능성으로 나누어진 '1'인 비트의 가능성의 비이다. LLR의 가장 큰 절대값은 보다 신뢰성 있는 비트를 나타낸다. 연판정 디코더는 각각의 비트가, 상기 비트가 오류 상태에 있을 가능성을 평가하기 위해 LLR을 사용한다. 연판정 디코딩은 경판정 디코딩보다 우수한데, 이는 일부 비트가 다른 비트에 비해 보다 신뢰할 수 있다는 사실을 이용할 수 있기 때문이다.
저 밀도 패리티 검사(LDPC) 코드는 각각의 로우(row) 및 칼럼(column)에 소수의 비제로 인자를 갖는 패리티 검사 행렬(H)을 갖는 선형 오류-정정 코드이다. LDPC 코드명은 연판정 디코딩을 사용하여 해독될 수 있다. LDPC 코드는 소정의 유한체 위에 형성될 수 있다. 예를 들어, LDPC 코드는 "1"이 유일한 비제로 인자인 갈루아체(Galois field) 위에 형성될 수 있다. LDPC 코드의 로우(또는 칼럼) 웨이트(또는 디그리)는 패리티 검사 행렬의 횡렬 내의 수 중에서 비제로 값을 갖는 인자의 수를 의미한다.
표준 인코딩 공정에 있어서, 일단의 정보 비트는 LDPC 코드의 패리티 검사 행렬로부터 기인할 수 있는 생성 행렬을 사용하여 인코딩된다. 연판정 디코딩에 있어서, 각각의 비트에 제공되는 오류 방지의 강도는 코드명을 디코딩하기 위해 사용되는 패리티 검사 행렬 내의 대응하는 칼럼의 웨이트에 종속한다. 보다 작은 웨이트를 갖는 칼럼에 대응하는 비트는 보다 낮은 오류 방지가 제공된다.
일부 유형의 오류 감지 체계는 반복적이다. 반복적 오류 감지 체계의 하나의 문제점은 오류 확산을 야기하기 쉽고, 자성 하드 디스크 드라이브에 사용될 때 용인될 수 없는 오류 마루(error floor)를 갖게 되는 경향이 있다는 것이다. 또한, 자성 하드 디스크 드라이브에 사용되는 많은 반복적 오류 감지 체계는 고도의 복잡성을 갖는다.
따라서, 보다 적은 오류 확산을 야기하고, 고도의 복잡성을 갖지 않는 오류 정정을 위한 반복적 기술을 제공하는 것이 바람직할 것이다.
또한, 제어 가능한 에러 플로어를 갖는 오류 정정을 위한 반복적 기술을 제공하는 것이 바람직할 것이다.
본 발명은 데이터 저장 소자에 기록되는 데이터를 반복적으로 디코딩하기 위한 기술을 제공한다. 반복 디코더는 오류를 정정하기 위해 다중 디코딩 반복을 사용하여 데이터를 디코딩한다. 반복 디코더의 다중 반복에 있어서, 후처리 블럭은 연성 정보를 생성하고, 디코더는 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘(minimum sum decoding algorithm)을 적용하여 연성 정보 및 갱신된 연성 정보에 근거하여 외부 정보를 생성한다.
본 발명의 다른 목적, 특징 및 장점은 이하의 상세한 설명 및 첨부되는 도면을 고려하여 명백하게 될 것이다.
도 1은 본 발명의 일 실시예에 따른 오류 정정 및 변조 인코딩 체계를 도시한다. 먼저, 입력 데이터가 변조 인코딩 기술을 사용하는 변조 인코더(101)에 의해 인코딩된다. 변조 인코더(101)의 출력 흐름이 리드 솔로몬(Reed-Solomon; RS) 인코더(102)에 제공된다. RS 인코더(102)는 오류 정정 능력을 제공하는 RS 검사 바이트를 발생한다.
RS 인코더(102)의 출력 흐름이 로우(low) 칼럼 종열 웨이트 저밀도 패리티 검사(LDPC) 코드 인코더(103)에 제공된다. LDPC 코드 인코더(103)는 데이터 흐름 에 대한 오류 정정의 추가적인 레벨을 제공하는 LDPC 코드 검사 바이트를 발생한다. 자성 하드 디스크 드라이브는 소정의 적합한 자성 데이터 기록 기술을 사용하여 인코더(103)의 인코딩된 출력 데이터를 자성 하드 디스크 상에 기록할 수 있다.
본 발명의 일부 실시예에 따라, 오류 정정 디코더는 다중(N) 디코딩 반복을 실행한다. 반복 디코더는 연판정 후 처리 및 최소합 LDPC 코드 디코더를 사용하여 다중 디코딩 반복을 실행한다. 본 발명의 추가적인 원리를 설명하기 위해, 본 발명의 다양한 특정 디코딩 예가 이하 설명될 것이다.
도 2는 본 발명의 일 실시예에 따른 반복적 오류 정정 디코더의 제 1 예를 도시한다. 도 2의 오류 정정 디코더 및 본 발명의 다른 디코더는 하드 디스크 드라이브 또는 그 외 다른 저장 장치에서 사용될 수 있다. 본 발명의 일부 실시예에 따라, 반복 디코더는 보다 적은 오류 확산을 초래하고, 보다 제어 가능한 에러 플로어를 제공하며, 보다 덜 복잡하다.
먼저, 입력 이퀄라이저(도시되지 않음)는 자성 하드 디스크와 같은 데이터 저장 매체로부터 판독되는 데이터의 입력 흐름을 수신한다. 이퀄라이저는 데이터를 나타내는 등화된 샘플의 흐름을 발생한다. 등화된 샘플은 MF(202), 가산기(208), 가산기(244) 및 디코더 내의 다른 가산기의 입력에 전송된다. 본원에 개시된 블럭 MF(202) 및 다른 MF 블럭은 롱 매치드 노이즈 위튼 필터(long matched noise whiten filter)이다. 블럭 MF(202)는 부호 간 간섭(Inter-Symbol Interference; ISI) 잔류 노이즈 및 다른 노이즈를 추가로 제지하기 위해, 오류 신호가 보다 긴 노이즈 위튼 필터를 통과하도록 할 수 있다.
도 2의 디코더는 등화된 샘플 상에서 N번의 디코딩 반복을 실행한다. N은 1보다 큰 적합한 양의 정수일 수 있다. 반복 1, 2, 3 및 N 이 도 2에 예로서 도시되어 있다. 반복 1은 매칭된 비터비 블럭(204), 타겟 필터 블럭(206), 가산기(208), LMF(210), 소프트 후 처리기(212) 및 소프트-입력-소프트-출력 디코더(최소합 디코더; 214)를 포함한다. 반복 2는 가산기(217), 매칭된 비터비 블럭(218), 타겟 필터 블럭(220), 가산기(222), LMF(224), 가산기(226), 소프트 후 처리기(228), 가산기(229) 및 최소합 디코더(230)를 포함한다. 반복 3은 가산기(239), 매칭된 비터비 블럭(240), 타겟 필터 블럭(242), 가산기(244), LMF(246), 가산기(250), 후 처리기(252), 가산기(253) 및 최소합 디코더(254)를 포함한다.
디코더[반복 1]의 제 1 반복에 있어서, MF(202)의 출력 흐름은 검출기(204)에서 매칭된 비터비 알고리즘에 의해 처리된다. 매칭된 비터비 검출기(204)는 타겟 필터 블럭(206) 및 소프트 후 처리기(212)의 입력으로 전송되는 출력 흐름을 발생한다. 타겟 필터 블럭(206)은 검출기(204)의 출력 흐름으로부터 이상적인 등화 샘플을 재생한다.
가산기(208)는 디코더의 입력 흐름 내의 대응하는 등화 샘플로부터 타겟 필터 블럭(206)에 의해 발생되는 이상적인 등화 샘플을 차감한다. 디코더의 입력 흐름으로부터의 등화 샘플은 가산기(208)에 의해 사용되기 전에 블럭(202, 204, 206)의 지연에 의해 지연된다. 일반적으로, 디코더의 입력 흐름 내의 등화 샘플은 도 2의 흐름 블럭[예를 들어, 가산기(222, 224)] 및 이하의 다른 실시예의 흐름 블럭에 의해 사용되기 전에 선행 블럭의 지연에 의해 지연된다. 가산기(208)의 출력 흐름은 롱 매치 필터(LMF; 210)의 입력으로 전송된다. LMF(210)는 소프트 후 처리기(212)에 전송되는 위튼 노이즈를 갖는 출력 흐름을 발생한다.
소프트 후 처리기(212)는 매칭된 비터비 검출기(204) 및 LMF(210)로부터 출력 흐름을 수신한다. 소프트 후 처리기(212)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 소프트 후 처리기(212)에 의해 발생되는 연성 정보는 최소합 디코더(214)의 입력으로 전송된다.
최소합 디코더(214)는 소프트 후 처리기(212)에 의해 발생되는 연성 정보를 사용하여 보다 신뢰성 있는 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(214)는 외부 정보를 생성하기 위해, 소프트 후 처리기(212)에 의해 생성되는 연성 정보 및 최신 연성 정보 사이의 차이를 계산한다. 최소합 디코더(214)(및 본원에 개시된 다른 최소합 디코더)로부터의 외부 정보는 소프트 후 처리기(212)에 의해 생성되는 연성 정보 및 최신 연성 정보 사이에 있어서 미터법에 있어서의 차이이다.
소프트-결정 디코팅에 있어서, 다중 디코딩 국부 반복은 수신된 단어 범위를 보다 신뢰성 있는 단어(즉, 코드명 또는 코드명에 근접한 해밍 간격을 갖는 단어)로 하기 위해 실행된다. 도 2의 디코더에 사용되는 최소합 디코더는 보다 덜 복잡한데, 이는 상기 디코더가 낮은 웨이트를 갖는 LDPC 코드를 사용하고, 또한 국부 반복의 작은 횟수(예를 들어, 1 또는 2)를 사용하기 때문이다. 또한, 도 2의 최소합 디코더는 보다 낮은 오류 확산을 야기하고, 보다 제어 가능한 에러 플로어를 갖게 되는데, 이는 낮은 웨이트 LDPC 코드 및 보다 낮은 국부 반복을 사용하기 때문 이다.
최소합 디코더(214)의 출력 흐름은 증폭기(216)로 전송된다. 증폭기(216)는 스케일 팩터 알파에 의해 최소합 검출기(214)의 출력 흐름 내의 외부 정보를 증폭한다. 증폭기(216)의 출력 흐름은 디코더의 제 2 반복을 개시하여, 가산기(217, 226, 229)의 입력에 전송된다.
가산기(217)는 MF(202)의 출력 흐름 내의 매칭된 등화 샘플로부터 증폭기(216)의 출력 흐름에 있어서의 스케일링된 외부 정보를 차감한다. MF(202)의 매칭된 등화 샘플의 출력 흐름은 가산기(217)로의 입력 전에 반복 1의 지연에 의해 지연된다. 일반적으로, MF 블럭의 매칭된 등화 샘플의 출력 흐름은 도 2의 실시예 및 이하 설명되는 도 6의 실시예에 있어서, 흐름 반복에 의해 사용되기 전에 선행 반복의 지연에 이해 지연된다. 그 후, 검출기(218)는 가산기(217)의 출력 흐름 상에서 매칭된 비터비 알고리즘을 실행한다. 매칭된 비터비 블럭(218)은 타겟 필터 블럭(220) 및 소프트 후 처리기(228)의 입력으로 전송되는 출력 흐름을 생성한다.
가산기(222)는 대응하는 원 등화 샘플로부터 타겟 필터 블럭(220)에 의해 생성되는 재생된 등화 샘플을 차감한다. 가산기(222)의 출력 흐름은 LMF(224)의 입력으로 전송된다. 가산기(226)는 증폭기(216)의 출력 흐름 내의 스케일링된 외부 정보를 LMF(224)의 출력 흐름에 가산한다.
소프트 후 처리기(228)는 매칭된 비터비 검출기(218) 및 가산기(226)로부터 출력 흐름을 수신한다. 소프트 후 처리기(228)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(228) 에 의해 발생되는 연성 정보는 입력 가산기(229)로 전송된다. 가산기(229)는 후 처리기(228)의 출력 흐름 내의 연성 정보로부터 증폭기(216)의 출력 흐름 내의 스케일링된 외부 정보를 차감한다.
최소합 디코더(230)는 가산기(229)로부터 연성 정보를 이용하여 보다 신뢰성 있는 최신 연성 정보를 생성하기 위해, 최소합 저밀도 패리티 검사(LDPC) 코드를 적용한다. 최소합 디코더(230)는 외부 정보를 생성하기 위해, 가산기(229)로부터의 연성 정보와 최신 연성 정보 사이의 차이를 계산한다. 최소합 디코더(230)의 출력 흐름은 증폭기(232)의 입력으로 전송된다. 증폭기(232)는 스케일 팩터 알파에 의해 최소합 디코더(230)의 출력 흐름을 증폭한다.
증폭기(232)의 출력 흐름은 가산기(239)에 전송되고, 이는 디코더의 제 3 반복을 개시한다. 가산기(239)는 MF(202)의 출력 흐름 내의 오류 신호로부터 증폭기(232)의 출력 흐름 내의 스케일링된 외부 정보를 차감한다. 검출기(240)는 가산기(239)의 출력 흐름 상에서 매칭된 비터비 알고리즘을 실행한다. 매칭된 비터비 블럭(240)은 타겟 필터 블럭(242) 및 소프트 후 처리기(252)의 입력으로 전송되는 출력 흐름을 생성한다.
가산기(244)는 대응하는 원 등화 샘플로부터 타겟 필터 블럭(242)에 의해 생성되는 재생된 등화 샘플을 차감한다. 가산기(244)의 출력 흐름은 LMF(246)의 입력으로 전송된다. 가산기(250)는 LMF(246)의 출력 흐름을 갖는 증폭기(232)의 출력 흐름을 더한다.
소프트 후 처리기(252)는 매칭된 비터비 검출기(240) 및 가산기(250)로부터 출력 흐름을 수신한다. 소프트 후 처리기(252)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(252)에 의해 생성된 연성 정보는 가산기(253)로 전송된다.
가산기(253)는 소프트 후 처리기(252)의 출력 흐름 내의 연성 정보로부터 증폭기(232)의 출력 흐름 내의 스케일링된 외부 정보를 차감한다. 최소합 디코더(254)는 최소합 디코딩 알고리즘을 저밀도 패리티 검사(LDPC) 코드에 적용하여 가산기(253)로부터의 연성 정보를 사용하여 보다 신뢰성 있는 최신 연성 정보를 생성한다. 그 후, 최소합 디코더(254)는 외부 정보를 생성하기 위해, 가산기(253)로부터 연성 정보 및 최신 연성 정보 사이의 차이를 계산한다. 최소합 디코더(254)의 출력 흐름은 디코더의 다음 반복 내의 증폭기의 입력으로 전송된다.
도 2의 디코더의 반복 2 및 3 에 대해 전술된 바와 같은 단계는 각각의 추가 반복을 위해 되풀이된다. 그러나, 디코더의 최후 반복 N은 최소합 디코더를 포함하지 않는다. 반복 N 내의 최종 블럭은 경판정 블럭(266)이다. 경판정 블럭(266)은 소프트 후 처리기(264)로부터의 연성 정보를 심볼의 흐름으로 변환한다. 경판정 블럭(266)의 출력 흐름은 리드-솔로몬(RS) 디코더(270)로 전송된다. RS 디코더는 RS 디코딩 기술을 사용하여 반복 N의 출력 흐름 상에 RS 디코딩을 실행한다. RS 디코더(270)는 최소합 디코더에 의해 정정되지 않는 등화 샘플 내의 다수의 오류를 정정할 수 있다.
도 3은 본 발명의 다른 실시예에 따른 반복적 오류 정정 디코더의 제 2 예를 도시한다. MF 블럭(302)은 앞선 실시예에서와 같이, 입력 이퀄라이저(도시되지 않 음)로부터 등화된 샘플을 수신한다. 도 3의 디코더는 등화된 샘플에서 N번의 디코딩 반복을 실행한다. N은 1보다 큰 소정의 적합한 양의 정수일 수 있다. 반복 1, 2, 3, N 은 도 3에 예로서 도시된다.
반복 1은 매칭된 비터비 블럭(304), 타겟 필터 블럭(306), 가산기(308), 롱 매치 필터(LMF) 블럭(312), 소프트 후 처리기(314) 및 최소합 디코더(316)를 포함한다. 반복 2는 경판정 디코더(318), 타겟 필터 블럭(320), 가산기(322), 롱 매치 필터(LMF) 블럭(326), 증폭기(328), 가산기(330), 소프트 후 처리기(332), 가산기(334) 및 최소합 디코더(336)를 포함한다. 연속하는 반복의 각각은 N번째 반복을 제외하고, 반복 2와 동일한 단계를 실행한다. 디코더의 N번째 반복은 제 3 가산기(334) 또는 최소합 디코더(336)를 구비하지 않는다.
MF 블럭(302)은 매칭된 비터비 검출기(304)로 전송되는 출력 흐름을 생성한다. 반복 1은 비터비 검출기(304)로 개시된다. 검출기(304)는 MF 블럭(302)의 출력으로부터 출력 흐름을 생성하기 위해 매칭된 비터비 알고리즘을 사용한다. 도 3의 검출기는 매칭된 비터비 알고리즘을 사용하는 단 하나의 검출기 블럭(304)을 갖는다.
비터비 알고리즘(304)에 의해 생성되는 출력 흐름은 타겟 필터 블럭(306) 및 소프트 후 처리기(314)의 입력으로 전송된다. 타겟 필터 블럭(306)은 가산기(308)로 전송되는 재생된 등화 샘플의 출력 흐름을 생성한다. 가산기(308)는 오류 샘플을 얻기 위해 디코더의 입력 흐름 내의 대응하는 원 등화 샘플로부터 타겟 필터 블럭(306)의 출력 흐름 내의 재생된 등화 샘플을 차감한다.
가산기(308)의 출력 흐름은 LMF 블럭(312)의 입력으로 전송된다. 소프트 후 처리기(314)는 매칭된 비터비 검출기(304) 및 LMF(312)로부터 출력 흐름을 수신한다. 소프트 후 처리기(314)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(314)에 의해 생성되는 연성 정보는 최소합 디코더 블럭(316)의 입력 및 경판정 디코더(318)의 입력에 전송된다.
최소합 디코더(316)는 소프트 후 처리기(314)에 의해 생성되는 연성 정보를 사용하여 보다 신뢰할 수 있는 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(316)는 소프트 후 처리기(314)에 의해 생성되는 연성 정보 및 최신 연성 정보 사이의 차이를 계산하여 외부 정보를 생성한다. 최소합 디코더(316)의 출력 흐름은 증폭기(328)의 입력으로 전송된다.
도 3의 디코더에 사용된 최소합 디코더는 보다 낮은 정도의 복잡성을 갖게 되는데, 이는 상기 디코더가 낮은 웨이트를 갖는 LDPC 코드를 사용하고, 또한 보다 적은 수(예를 들어, 단 1번 또는 2번)의 국부 반복을 사용하기 때문이다. 또한, 도 3의 최소합 디코더는 보다 적은 오류 확산을 야기하고, 보다 제어 가능한 에러 플로어를 구비할 수 있게 되는데, 이는 상기 디코더가 낮은 웨이트 LDPC 코드 및 보다 적은 수의 국부 반복을 사용하기 때문이다.
도 3의 디코더의 반복 2에서, 경판정 디코더(318)는 낮은 복잡성을 갖는 소정의 적합한 경판정 디코딩 체계를 사용하여 후 처리기(314)의 출력 흐름 상에서 경판정 디코딩을 실행한다. 경판정 디코딩(318)은 타겟 필터 블럭(320) 및 소프트 후 처리 블럭(322)의 일력에 전송되는 디코딩된 출력 흐름을 생성한다. 가산기(322)는 입력 흐름 내의 원 등화 샘플로부터 타겟 필터 블럭(320)의 출력 흐름 내의 재생된 등화 샘플을 차감한다.
가산기(322)의 출력 흐름은 LMF 블럭(326)으로 전송된다. 증폭기(328)는 스케일 팩터 알파에 의해 최소합 디코더(316)의 출력 흐름을 증폭시킨다. 가산기(330)는 증폭기(328)의 출력 흐름 내의 스케일링된 외부 정보에 LMF 블럭(326)의 출력 흐름 내의 오류 샘플을 추가한다.
후 처리기(332)는 경판정 디코더(318) 및 가산기(330)로부터 출력 흐름을 수신한다. 소프트 후 처리기(332)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(322)에 의해 생성된 연성 정보는 경판정 디코더(340)의 입력 및 가산기(334)의 입력으로 전송된다.
가산기(334)는 후 처리기(332)의 출력 흐름으로부터 증폭기(328)의 출력 흐름 내의 스케일링된 외부 정보를 차감한다. 가산기(334)의 출력 흐름은 최소합 디코더 블럭(336)의 입력으로 전송된다. 최소합 디코더(336)는 가산기(334)로부터 연성 정보를 사용하여 보다 신뢰성 있는 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(336)는 외부 정보를 생성하기 위해, 가산기(334)로부터의 연성 정보와 최신 연성 정보 사이의 차이를 계산한다. 디코더 블럭(336)의 디코딩된 출력 흐름은 증폭기(342)의 입력으로 전송된다.
디코더의 반복 3은 경판정 디코더 블럭(340)으로 개시된다. 도 3 디코더의 추가적인 반복 각각은 최종 반복 N을 제외하고, 전술한 바와 같이, 반복 2의 단계를 되풀이한다. 최종 반복 N은 가산기(334) 또는 최소합 디코더(336)를 포함하지 않는다. 대신에, 소프트 후 처리기(364)의 출력 흐름은 경판정 심볼로의 연성 정보의 변환을 위해 경판정 디코딩 블럭(365)으로 전송된다. RS 디코더(366)는 RS 디코딩 기술을 이용하여 경판정 블럭(365)의 출력 흐름을 디코딩한다. RS 디코더(366)는 예로서 최소합 디코더에 의해 정정되지 않는 등화 샘플 내의 다수의 오류를 정정할 수 있다.
도 4는 본 발명의 다른 실시예에 따른, 반복적 오류 정정 디코더의 제 3 예를 도시한다. MF 블럭(402)은 선행 실시예에서와 같이, 입력 이퀄라이저(도시되지 않음)로부터 등화 샘플을 수신한다. 도 4의 디코더는 등화 샘플 상에서 N번의 디코딩을 실행한다. N은 1보다 큰 소정의 양의 정수일 수 있다. 반복 1, 2, 3 및 N은 도 4에 도시된다.
반복 1은 매칭된 비터비 알고리즘(404), 타겟 필터 블럭(406), 가산기(408), 롱 매치 필터(LMF) 블럭(412), 소프트 후 처리기(414) 및 최소합 디코더(416)를 포함한다. 반복 2는 경판정 디코더(420), 타겟 필터 블럭(422), 가산기(424), 롱 매치 필터(LMF) 블럭(428), 증폭기(430), 가산기(432), 소프트 후 처리기(434), 가산기(436) 및 최소합 디코더(438)을 포함한다. 연속적인 반복의 각각은 N번째 반복을 제외하고 반복 2와 동일한 단계를 실행한다. 디코더의 N번째 반복은 제 3 가산기(436) 또는 최소합 디코더(438)를 갖지 않는다.
MF 블럭(402)은 매칭된 비터비 검출기(404)로 전송되는 출력 흐름을 생성한다. 도 4 디코더의 반복 1은 비터비 검출기(404)로 개시된다. 검출기(404)는 MF 블럭(402)의 출력으로부터 출력 흐름을 생성하기 위해 매칭된 비터비 알고리즘을 사용한다. 도 4의 디코더는 매칭된 비터비 알고리즘을 사용하는 단 하나의 검출기 블럭(404)을 구비한다.
비터비 알고리즘(404)에 의해 생성되는 출력 흐름은 타겟 필터 블럭(406) 및 소프트 후 처리기(414)의 입력으로 전송된다. 타겟 필터 블럭(406)은 가산기(408)로 전송되는 재생된 등화 샘플의 출력 흐름을 생성한다. 가산기(408)는 디코더의 입력 흐름 내의 대응하는 원 등화 샘플로부터 타겟 필터 블럭(406)의 출력 흐름 내의 재생된 등화 샘플을 차감한다.
가산기(408)의 출력 흐름은 LMF 블럭(412)의 입력으로 전송된다. 후 처리기(414)는 매칭된 비터비 검출기(404) 및 LMF(412)로부터 출력 흐름을 수신한다. 소프트 후 처리기(414)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(414)에 의해 생성되는 연성 정보는 최소합 검출기(416)의 입력으로 전송된다.
최소합 디코더(416)는 소프트 후 처리기(414)에 의해 생성되는 연성 정보를 사용하여 보다 신뢰할 수 있는 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(416)는 외부 정보를 생성하기 위해, 소프트 후 처리기(414)에 의해 생성되는 연성 정보와 최신 연성 정보 사이의 차이를 계산한다. 도 4의 디코더에 사용되는 최소합 디 코더는 보다 낮은 복잡성을 갖고, 보다 낮은 오류 확산을 야기하며, 보다 제어 가능한 에러 플로어를 구비하게 되는데, 이는 상기 디코더가 보다 적은 수(예를 들어, 1 또는 2)의 국부 반복을 사용하기 때문이다. 최소합 디코더(416)의 출력 흐름은 증폭기(430) 및 경판정 디코더(420)의 입력으로 전송된다.
도 4 디코더의 반복 2에 있어서, 경판정 디코더(420)는 보다 낮은 복잡성을 갖는 소정의 적합한 경판정 디코딩 체계를 사용하는 최소합 디코더(416)의 출력 흐름 상에서 경판정 디코딩을 실행한다. 경판정 디코더(420)는 소프트 후 처리기 블럭(434) 및 타겟 필터 블럭(422)의 입력으로 전송되는 디코딩된 출력 흐름을 생성한다. 가산기(424)는 입력 흐름 내의 등화 샘플로부터 타겟 필터 블럭(422)의 출력 흐름을 차감한다.
가산기(424)의 출력 흐름은 LMF 블럭(428)으로 전송된다. 증폭기(430)는 스케일 팩터 알파에 의해 최소합 디코더(416)의 출력 흐름 내의 외부 정보를 증폭한다. 가산기(432)는 증폭기(430)의 출력 흐름 내의 스케일링된 외부 정보에 LMF 블럭(428)의 출력 흐름 내의 오류 샘플을 추가한다.
후 처리기(434)는 경판정 디코더(420) 및 가산기(432)로부터 출력 흐름을 수신한다. 소프트 후 처리기(434)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(434)에 의해 생성되는 연성 정보는 가산기(436)의 입력으로 전송된다.
후 처리기(434)의 출력 흐름은 가산기(436)의 입력으로 전송된다. 가산기(436)는 후 처리기(434)의 출력 흐름으로부터 증폭기(430)의 출력 흐름을 차감한 다. 가산기(436)의 출력 흐름은 최소합 디코더 블럭(438)의 입력으로 전송된다. 최소합 디코더(438)는 가산기(436)로부터의 연성 정보를 이용하여 보다 신뢰할 수 있는 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(438)는 외부 정보를 생성하기 위해, 가산기(436)로부터 연성 정보 및 최신 연성 정보 사이의 차이를 계산한다. 디코더 블럭(438)의 출력 흐름은 경판정 블럭(440) 및 증폭기(442)의 입력으로 전송된다.
디코더의 반복 3은 경판정 디코더 블럭(440)으로 개시된다. 도 4 디코더의 추가적인 반복의 각각은 최종 반복 N을 제외하고, 전술한 바와 같이, 반복 2의 단계를 되풀이한다. 최종 반복 N은 가산기(436) 또는 최종합 디코더(438)를 포함하지 않는다. 대신에, 소프트 후 처리기(450)의 출력 흐름은 연성 정보를 경판정 심볼로 변환하는 경판정 디코더 블럭(451)으로 전송된다. RS 디코더(452)는 RS 디코딩 기술을 사용하여 경판정 디코더 블럭(451)의 출력 흐름을 디코딩한다. RS 디코더(452)는 최종합 디코더에 의해 정정되지 않는 등화 샘플 내의 다수의 오류를 정정할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 반복적 오류 정정 디코더의 제 4 예를 도시한다. MF 블럭(502)은 앞선 실시예에 있어서 처럼, 입력 이퀄라이저(도시되지 않음)로부터 등화 샘플을 수신한다. 도 5의 디코더는 등화 샘플 상에서 N번의 디코딩 반복을 실행한다. N은 1보다 큰 소정의 적합한 양의 정수일 수 있다. 반복 1, 2, 3 및 N은 예로서 도 5에 도시된다.
반복 1은 매칭된 비터비 알고리즘(504), 타겟 필터 블럭(506), 가산기(508), 롱 매치 필터(LMF) 블럭(512), 소프트 후 처리기(514) 및 최소합 디코더(516)를 포함한다. 반복 2는 증폭기(520), 가산기(522), 소프트 후 처리기(524), 가산기(526) 및 최소합 디코더(528)를 포함한다. 연속적인 반복의 각각은 N번째 반복을 제외하고 반복 2와 동일한 단계를 실행한다. 디코더의 N번째 반복은 제 2 가산기(526) 및 최소합 디코더(528)를 갖지 않는다.
MF 블럭(502)은 매칭된 비터비 검출기(504)로 전송되는 출력 흐름을 생성한다. 도 5 디코더의 반복 1은 비터비 검출기(504)로 개시된다. 검출기(504)는 MF 블럭(502)의 출력 흐름으로부터 출력 흐름을 생성하기 위해 매칭된 비터비 알고리즘을 사용한다. 도 5의 디코더는 단 하나의 비터비 검출기 블럭(504), 단 하나의 타겟 필터(506) 및 단 하나의 롱 매칭된 필터(LMF) 블럭(512)을 갖는다.
비터비 알고리즘(504)에 의해 생성되는 출력 흐름은 타겟 필터 블럭(506) 및 소프트 후 처리기(514)의 입력으로 전송된다. 타겟 필터 블럭(506)은 가산기(508)로 전송되는 재생된 등화 샘플의 출력 흐름을 생성한다. 가산기(508)는 디코더의 입력 흐름 내의 대응하는 원 등화 샘플로부터 타겟 필터 블럭(506)의 출력 흐름 내의 재생된 등화 샘플을 차감한다.
가산기(508)의 출력 흐름은 LMF 블럭(512)의 입력으로 전송된다. 후 처리기(514)는 매칭된 비터비 검출기(504) 및 LMF(512)로부터 출력 흐름을 수신한다. 소프트 후 처리기(514)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(514)에 의해 생성된 연성 정 보는 최소합 디코더(516)의 입력으로 전송된다.
최소합 디코더(516)는 소프트 후 처리기(514)에 의해 생성된 연성 정보를 이용하여 보다 신뢰할 수 있는 최신 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(516)는 외부 정보를 생성하기 위해, 소프트 후 처리기(514)에 의해 생성된 연성 정보와 최신 연성 정보 사이의 차이를 계산한다. 도 5의 디코더에서 사용된 최소합 디코더는 보다 낮은 정도의 복잡성을 가지며, 보다 낮은 오류 확산을 야기하고, 보다 제어 가능한 에러 플로어를 구비하게 되는데, 이는 상기 디코더가 낮은 웨이트를 갖는 LDPC 코드를 갖고, 보다 적은 수(예를 들어, 1 또는 2)의 국부 반복을 사용하기 때문이다.
최소합 디코더(516)의 출력 흐름은 증폭기(520)의 입력으로 전송된다. 증폭기(520)는 스케일 팩터 알파에 의해 최소합 디코더(516)의 출력 흐름을 증폭한다. 가산기(522)는 증폭기(520)로부터 스케일링된 외부 정보에 LMF 블럭(512)의 출력 흐름을 추가한다.
후 처리기(524)는 매칭된 비터비 검출기(504) 및 가산기(522)로부터 출력 흐름을 수신한다. 소프트 후 처리기(524)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(524)에 의해 생성된 연성 정보는 최소합 디코더(526)의 입력으로 전송된다.
가산기(526)는 후 처리기(524)의 출력 흐름으로부터 증폭기(520)의 출력 흐름을 차감한다. 가산기(526)의 출력 흐름은 최소합 디코더(528)의 입력으로 전송 된다. 최소합 디코더(528)는 가산기(526)로부터의 연성 정보를 사용하여 보다 신뢰할 수 있는 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(528)는 외부 정보를 생성하기 위해, 가산기(526)로부터의 연성 정보와 최신 연성 정보 사이의 차이를 계산한다. 디코더 블럭(528)의 출력 흐름은 증폭기(530)의 입력으로 전송된다.
도 5의 반복 3은 증폭기(530)로 개시한다. 도 5의 추가적인 반복 각각은 최종 반복(N)을 제외하고, 전술한 바와 같이 반복 2의 단계를 되풀이한다. 최종 반복 N은 가산기(526) 또는 최소합 디코더(528)를 포함하지 않는다. 대신, 소프트 후 처리기(540)의 출력 흐름은 연성 정보를 경판정 심볼로 변환하는 경판정 블럭(541)으로 전송된다. RS 디코더(542)는 RS 디코딩 기술을 사용하여 경판정 블럭(541)의 출력 흐름을 디코딩한다. RS 디코더(542)는 최소합 디코더에 의해 정정되지 않는 등화 샘플 내의 다수의 오류를 정정할 수 있다.
도 6은 본 발명의 또 다른 실시예에 따른 반복적 오류 정정 디코더의 제 5 예를 도시한다. MF 블럭(602)은 앞선 실시예에서와 같이, 입력 이퀄라이저(도시되지 않음)로부터 등화 샘플을 수신한다. 도 6의 디코더는 등화 샘플 상에서 N번의 디코딩 반복을 실행한다. N은 1보다 큰 소정의 적합한 양의 정수일 수 있다. 반복 1, 2, 3 및 N은 예로서 도 6에 도시된다. 도 6의 검출기는 도 2 및 도 3의 디코더로부터의 단계를 통합한 혼합 디코딩 체계를 사용한다.
반복 1은 매칭된 비터비 알고리즘(604), 타겟 필터 블럭(606), 가산기(608), 롱 매치 필터(LMF) 블럭(612), 소프트 후 처리기(614) 및 최소합 디코더(616)를 포 함한다. 반복 2는 가산기(620), 매칭된 비터비 알고리즘(622), 타겟 필터 블럭(624), 가산기(626), 롱 매치 필터(LMF) 블럭(630), 가산기(634), 소프트 후 처리기(636), 가산기(638) 및 최소합 디코더(640)를 포함한다. 반복 3은 경판정 디코더 블럭(644), 타겟 필터 블럭(646), 가산기(648), 롱 매치 필터(LMF) 블럭(652), 증폭기(642), 가산기(654), 소프트 후 처리기(656), 가산기(658) 및 최소합 디코더(660)를 포함한다. 연속하는 반복의 각각은 N번째 반복을 제외하고, 반복 3과 동일한 단계를 실행한다. 디코더의 N번째 반복은 제 3 가산기(658) 또는 최소합 디코더(660)를 갖지 않는다.
도 6의 디코더의 제 1 반복[반복 1]에 있어서, MF(602)의 출력 흐름은 블럭(604) 내의 매칭된 비터비 알고리즘에 의해 처리된다. 매칭된 비터비 검출기 블럭(604)은 타겟 필터 블럭(606) 및 소프트 후 처리기(614)의 입력으로 전송되는 재생된 등화 샘플의 출력 흐름을 생성한다.
가산기(608)는 디코더의 입력 흐름 내의 등화 샘플 내의 대응하는 비트로부터 타겟 필터 블럭(606)에 의해 생성되는 재생된 등화 샘플을 차감한다. 가산기(608)의 출력 흐름은 롱 매치 필터(LMF)(612)의 입력으로 전송된다. LMF(612)는 소프트 후 처리기(614)로 전송되는 출력 흐름을 생성한다.
후 처리기(614)는 매칭된 비터비 검출기(604) 및 LMF(612)로부터 출력 흐름을 수신한다. 소프트 후 처리기(614)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(614)에 의해 생성된 연성 정보는 최소합 디코더(616)의 입력으로 전송된다.
최소합 디코더(616)는 소프트 후 처리기(614)에 의해 생성되는 연성 정보를 이용하여 보다 신뢰할 수 있는 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(616)는 외부 정보를 생성하기 위해, 소프트 후 처리기(614)에 의해 생성되는 연성 정보와 최신 연성 정보 사이의 차이를 계산한다. 도 6의 검출기에 사용되는 최소합 디코더는 보다 낮은 정도의 복잡성을 갖고, 보다 적은 오류 확산을 야기하고, 보다 제어 가능한 에러 플로어를 구비하는데, 이는 상기 디코더가 낮은 웨이트를 갖는 LDPC 코드를 사용하고, 적은 수(예를 들어, 1 또는 2)의 국부 반복을 사용하기 때문이다.
최소합 디코더(616)는 증폭기(618)로 전송되는 출력 흐름을 생성한다. 증폭기(618)는 스케일 팩터 알파에 의해 최소합 디코더(616)의 출력 흐름을 증폭한다. 증폭기(618)의 출력 흐름은 가산기(620, 634, 638)로 전송되어, 디코더의 제 2 반복을 개시한다.
가산기(620)는 MF(602)의 출력 흐름 내의 오류 샘플로부터 증폭기(618)의 출력 흐름 내의 스케일링된 외부 정보를 차감한다. 그 후, 검출기(622)는 가산기(622)의 출력 흐름 상에서 매칭된 비터비 알고리즘을 실행한다. 매칭된 비터비 검출기(622)는 타겟 필터 블럭(624) 및 소프트 후 처리기(636)의 입력으로 전송되는 출력 흐름을 생성한다.
가산기(626)는 입력 흐름 내의 대응하는 원 등화 샘플로부터 타겟 필터 블럭(624)에 의해 생성되는 재생된 등화 샘플을 차감한다. 가산기(626)의 출력 흐름 은 LMF(630)의 입력으로 전송된다. 가산기(634)는 LMF(630)의 출력 흐름 내의 재생된 등화 샘플에 증폭기(618)의 출력 흐름 내의 스케일링된 외부 정보를 추가한다.
후 처리기(636)는 매칭된 비터비 검출기(622) 및 가산기(634)로부터 출력 흐름을 수신한다. 소프트 후 처리기(636)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(636)에 의해 생성된 연성 정보는 경판정 디코더(644)의 입력 및 가산기(638)의 입력으로 전송된다. 가산기(638)는 후 처리기(636)의 출력 흐름으로부터 증폭기(618)의 출력 흐름을 차감한다.
최소합 디코더(640)는 가산기(638)로부터의 연성 정보를 사용하여 보다 신뢰할 만한 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(640)는 외부 정보를 생성하기 위해, 가산기(638)로부터의 연성 정보와 최신 연성 정보 사이의 차이를 계산한다. 최소합 디코더(640)의 출력 흐름은 증폭기(642)의 입력으로 전송된다.
도 6 디코더의 반복 3에 있어서, 경판정 디코더(644)는 보다 낮은 복잡성을 갖는 소정의 적합한 경판정 디코딩 체계를 사용하여 후 처리기(636)의 출력 흐름 상에서 경판정 디코딩을 실행한다. 경판정 디코더(644)는 타겟 필터 블럭(646) 및 소프트 후 처리기 블럭(656)의 입력으로 전송되는 디코딩된 출력 흐름을 생성한다. 가산기(648)는 입력 흐름 내의 원 등화 샘플로부터 타겟 필터 블럭(646)의 출력 흐름 내의 재생된 등화 샘플을 차감한다.
가산기(648)의 출력 흐름은 롱 매치 필드(LMF) 블럭(652)으로 전송된다. 증폭기(642)는 스케일 팩터 알파에 의해 최소합 디코더(640)의 출력 흐름을 증폭한다. 가산기(654)는 증폭기(642)의 출력 흐름에 LMF 블럭(652)의 출력 흐름을 가산한다.
소프트 후 처리기(656)는 경판정 디코더(644) 및 가산기(654)로부터 출력 흐름을 수신한다. 소프트 후 처리기(656)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(656)에 의해 생성된 연성 정보는 다음 반복[예를 들어, 경판정 디코더(662)] 내의 경판정 디코더의 입력 및 가산기(658)의 입력으로 전송된다.
가산기(658)는 후 처리기(656)의 출력 흐름으로부터 증폭기(642)의 출력 흐름을 차감한다. 가산기(658)의 출력 흐름은 최소합 디코더 블럭(660)의 입력으로 전송된다. 최소합 디코더(660)는 가산기(658)로부터의 연성 정보를 사용하여 보다 신뢰할 수 있는 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(660)는 외부 정보를 생성하기 위해, 가산기(658)에 의해 생성되는 연성 정보 및 최신 연성 정보 사이의 차이를 계산한다. 디코더 블럭(660)의 출력 흐름은 다음 반복의 증폭기[예를 들어, 증폭기(664)]의 입력으로 전송된다.
도 6 디코더의 각각의 추가 반복은 최종 반복 N을 제외하고, 전술한 바와 같이, 반복(3)의 단계를 되풀이한다. 최종 반복 N은 가산기(658) 또는 최소합 디코더(660)를 포함하지 않는다. 대신에, 소프트 후 처리기(670)의 출력 흐름은 연성 정보를 경판정 심볼로 변환하는 경판정 디코더(671)로 전송된다. RS 디코더(672)는 RS 디코딩 기술을 사용하여 경판정 블럭(671)의 출력 흐름을 디코딩한다. RS 디코더(672)는 최소합 디코더 및 후 처리기에 의해 정정되지 않는 등화 샘플 내의 다수의 오류를 정정할 수 있다.
반복적 검출기의 전력 소비를 감소시키기 위해, 최종 반복의 종결 전에 반복적 검출기가 정지할 수 있는 도 2 내지 도 6에 도시된 체계에 새로운 특징이 추가될 수 있다. 도 7은 본 발명의 일 실시예에 따른, 조기 정지 반복 디코더의 일예를 도시한다. 도 7의 반복 디코더는 도 3의 검지 체계에 근거한다. 본 발명의 추가적인 실시예에 따라, 조기 정지 기술은 도 2 내지 도 6에 도시된 모든 검지 체계에 사용될 수 있다.
도 7의 디코더는 등화 샘플 상에서 N번의 디코딩 반복을 실행한다. 디코딩 반복의 수는 블럭(718, 740)에서의 정지 상태(S<TH)가 만족되는지의 여부에 근거하여 결정된다. S는 LDPC 코드 블럭 사이의 검사 합 위반 또는 가장 신뢰성이 낮은 값에 근거하여 최소합 디코딩 블럭(714, 736 등)에 의해 계산되는 정지 상태값이다. TH는 미리 설정된 경계 매개변수이다. 반복의 최대 수 N은 1보다 큰 소정의 적합한 양의 정수일 수 있다. 반복 1, 2 및 N은 예로서 도 7에 도시된다.
반복 1은 비터비 알고리즘(704), 타겟 필터 블럭(706), 가산기(708), 롱 매치 필터(LMF) 블럭(710), 소프트 후 처리기(712), 최소합 디코더(714), 경판정 디코더(716) 및 정지 블럭(718)을 포함한다. 반복 2는 타겟 필터 블럭(722), 가산기(724), 롱 매치 필터(LMF) 블럭(726), 증폭기(728), 가산기(730), 소프트 후 처 리기(732), 가산기(734), 최소합 디코더(736), 경판정 디코더(738) 및 정지 블럭(740)을 포함한다. 연속하는 반복의 각각은 N번째 반복을 제외하고, 반복 2와 동일한 단계를 실행한다. 디코더의 N번째 반복은 제 3 가산기(734), 최소합 디코더(736), 경판정 디코더(738) 또는 정지 블럭(740)을 구비하지 않는다.
먼저, MF 블럭(702)은 앞선 실시예에서와 같이 입력 이퀄라이저(도시되지 않음)로부터 등화 샘플을 수신한다. MF 블럭(702)은 매칭된 비터비 검출기(704)로 전송되는 출력 흐름을 생성한다. 반복 1은 검출기(704)에서 개시한다. 검출기(704)는 MF 블럭(702)의 출력으로부터 출력 흐름을 생성하기 위해 매칭된 비터비 알고리즘을 사용한다. 도 7의 디코더는 매칭된 비터비 알고리즘을 사용하는 단 하나의 검출기 블럭(704)을 구비한다.
비터비 알고리즘(704)에 의해 생성되는 출력 흐름은 타겟 필터 블럭(706) 및 소프트 후 처리기(712)로 전송되는 비터비 알고리즘(704)에 의해 생성된다. 타겟 필터 블럭(706)은 가산기(708)로 전송되는 재생된 등화 샘플의 출력 흐름을 생성한다. 가산기(708)는 오류 샘플을 얻기 위해, 디코더의 입력 흐름 내의 대응하는 원 등화 샘플로부터 타겟 필터 블럭(706)의 출력 흐름 내의 재생된 등화 샘플을 차감한다.
가산기(708)의 출력 흐름은 MF 블럭(710)의 입력으로 전송된다. 소프트 후 처리기(712)는 매칭된 비터비 검출기(704) 및 LMF(710)로부터 출력 흐름을 수신한다. 소프트 후 처리기(712)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(712)에 의해 발생되는 연성 정보는 최소합 디코더 블럭(714)의 입력 및 경판정 디코더(716)의 입력으로 전송된다.
최소합 디코더(714)는 소프트 후 처리기(712)에 의해 생성되는 연성 정보를 사용하여 보다 신뢰할 수 있는 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후에, 최소합 디코더(714)는 외부 정보를 생성하기 위해, 소프트 후 처리기(712)에 의해 생성된 연성 정보 및 최신 연성 정보 사이의 차이를 계산한다. 최소합 디코더(714)의 출력 흐름 내의 외부 정보는 증폭기(728)의 입력으로 전송된다. 최소합 디코더(714)는 또한 정지 블럭(718)으로 전송되는 조기 정지값(S)을 생성한다. S는 예를 들어, 만족되지 않은 양식의 수일 수 있다.
도 7의 디코더에서 사용되는 최소합 디코더는 보다 낮은 복잡성을 구비하고, 보다 적은 오류 확산을 야기하며, 보다 제어 가능한 에러 플로어를 구비하게 되는데, 이는 상기 디코더가 낮은 웨이트를 가지며, 보다 적은 수(예를 들어, 1 또는 2)의 국부 반복을 사용하기 때문이다.
경판정 디코더(716)는 디코딩된 출력 흐름을 생성하기 위해, 낮은 복잡성을 갖는 소정의 적합한 경판정 디코딩 체계를 사용하여 후 처리기(712)의 출력 흐름 상에서 경판정 디코딩을 실행한다. 정지 블럭(718) 내의 정지 조건(S<TH)은 경판정 디코더의 디코딩된 출력 흐름이 어느 블럭으로 전송되는 것을 결정한다. 정지 블럭(718)에서, 만약 정지 조건(S<TH)이 만족된다면, 경판정 디코더(716)로부터의 디코딩된 출력 흐름은 버퍼 블럭(756)(도 7의 A를 통해)으로 직접 전달되고, 그 후 에 반복 디코더에서의 나머지 반복을 통해 진행됨이 없이, 리드-솔로몬 디코더(754)로 전달된다.
만약, 정지 조건(S<TH)이 만족되지 않는다면, 도 7의 반복 디코더는 반복 2로 진행한다. 반복 2에서, 경판정 디코더(716)로부터 디코딩된 출력 흐름은 타겟 필터 블럭(722) 및 소프트 후 처리기(732)의 입력으로 전송된다. 가산기(724)는 입력 흐름 내의 원 등화 샘플로부터 타겟 필터 블럭(722)의 출력 흐름 내의 재생된 등화 샘플을 차감한다.
가산기(724)의 출력 흐름은 LMF 블럭(726)으로 전송된다. 증폭기(728)는 스케일 팩터 알파에 의해 최소합 디코더(714)의 출력 흐름 내의 외부 정보를 증폭한다. 가산기(730)는 증폭기(728)의 출력 흐름 내의 스케일링된 외부 정보에 LMF 블럭(726)의 출력 흐름 내의 오류 샘플을 가산한다.
후 처리기(732)는 경판정 디코더(716) 및 가산기(730)의 출력 흐름을 수신한다. 소프트 후 처리기(732)는 검지되기에 가장 적절한 비트 흐름 및 각각의 검지된 비트에 대응하는 신뢰성 미터값을 포함한다. 후 처리기(732)에 의해 발생되는 연성 정보는 가산기(734)의 입력 및 경판정 디코더(738)의 입력으로 전송된다.
가산기(734)는 후 처리기(732)의 출력 흐름으로부터 증폭기(728)의 출력 흐름 내의 스케일링된 외부 정보를 차감한다. 가산기(734)의 출력 흐름은 최소합 디코더 블럭(736)의 입력으로 전송된다. 최소합 디코더(736)는 가산기(734)로부터 연성 정보를 사용하여 보다 신뢰할 수 있는 최신 연성 정보를 생성하기 위해, 저밀도 패리티 검사(LDPC) 코드에 최소합 디코딩 알고리즘을 적용한다. 그 후, 최소합 디코더(736)는 외부 정보를 생성하기 위해, 가산기(734)로부터의 연성 정보 및 최신 연성 정보 사이의 차이를 계산한다. 디코더 블럭(736)의 디코딩된 출력 흐름 내의 외부 정보는 다음 반복의 증폭기[예를 들어, 증폭기(742)]의 입력으로 전송된다. 최소합 디코더(736)는 또한 정지 블럭(740)으로 전송되는 조기 정지값(S)을 생성한다. S는 예를 들어, 만족되지 않는 신드롬의 수일 수 있다.
경판정 디코더 블럭(738)은 낮은 복잡성을 갖는 소정의 적합한 경판정 디코딩 체계를 사용하여 후 처리기(732)의 출력 흐름 상에서 경판정 디코딩을 실행한다. 정지 블럭(740) 내의 경계 조건(S<TH)은 경판정 디코더(738)의 디코딩된 출력 흐름이 어느 블럭으로 전송될지를 결정한다. 정지 블럭(740)에서, 만약 정지 조건(S<TH)이 만족된다면, 경판정 디코더(740)로부터의 디코딩된 출력 흐름은 버퍼 블럭(756)(도 7의 A를 통해)으로 직접 전송되며, 그 후에 반복 디코더의 나머지 반복을 통한 진행 없이 리드-솔로몬 디코더(754)로 전송된다.
만약, 정지 조건(S<TH)이 만족되지 않는다면, 도 7의 반복 디코더는 반복 3으로 진행하고, 경판정 디코더(738)의 디코딩된 출력 흐름은 반복 3의 소프트 후 처리기 및 타겟 필터로 전송된다. 디코더의 반복 3은 타겟 필터 블럭(741)과 같은 타겟 필터 블럭으로 개신된다. 도 7 디코더의 추가적인 반복 각각은 최종 반복 N을 제외하고 전술한 바와 같이 반복 2의 단계를 되풀이한다. 최종 반복 N은 가산기(734), 최소합 디코더(736), 경판정 디코더(738) 또는 정지 블럭(740)을 포함하지 않는다. 대신에, 소프트 후 처리기(750)의 출력 흐름은 연성 정보를 경판정 심볼로 변환하기 위해, 경판정 디코딩 블럭(752)으로 전송된다. RS 디코더(754)는 RS 디코딩 기술을 사용하여 경판정 블럭(752)의 출력 흐름을 디코딩한다. RS 디코더(754)는 최소합 디코더에 의해 정정될 수 없는 등화 샘플의 다수의 오류를 정정할 수 있다.
본 발명의 다양한 실시예에 따라, 도 1 내지 도 7에 대해 전술된 블럭은 하드웨어 회로, 소프트 웨어 또는 하드 웨어 및 소프트 웨어의 결합으로 실행될 수 있다. 본 발명의 일부 실시예에 따라, 반복 디코더는 각각의 블럭 유형 중 단 하나를 사용함으로써, 그리고 각각의 반복에 있어서의 상이한 블럭을 사용하여 각각의 반복에 있어서의 동일한 세트의 블럭을 반복적으로 사용하여 전술된 단계를 되풀이한다. 예를 들어, 본 발명의 반복 디코더는 하나의 후 처리기 및 하나의 최소합 디코더를 구비할 수 있다. 각각의 반복에 있어서, 디코딩은 동일한 후 처리기 및 동일한 최소합 디코더를 사용하여 실행될 수 있다.
본 발명의 예시적인 실시예에 대한 앞선 설명은 설명 및 예시의 목적으로 제시된 것으로 본 발명의 범위를 개시된 당해 형태에 한정하거나 배제하려는 것은 아니다. 개조, 다양한 변경 및 대체가 본 발명에 적용된다. 일부 예에 있어서, 본 발명의 특징은 개시된 것과 다른 특징의 대응적인 사용 없이 적용될 수 있다. 많은 변형 및 변경예들이 본 발명의 범위를 벗어나지 않고 전술한 개시 내용의 관점에서 가능하다. 본 발명의 범위는 상세한 설명이 아니라, 첨부된 특허청구범위로 한정되어야 한다.
도 1은 본 발명의 일 실시예에 따른 오류 정정 및 조절 인코딩 체계를 도시하는 도면.
도 2는 본 발명의 일 실시예에 따른 반복적 오류 정정 디코더의 제 1 예를 도시하는 도면.
도 3은 본 발명의 다른 실시예에 따른 반복적 오류 정정 디코더의 제 2 예를 도시하는 도면.
도 4는 본 발명의 다른 실시예에 따른 반복적 오류 정정 디코더의 제 3 예를 도시하는 도면.
도 5는 본 발명의 다른 실시예에 따른 반복적 오류 정정 디코더의 제 4 예를 도시하는 도면.
도 6은 본 발명의 또 다른 실시예에 따른 반복적 오류 정정 디코더의 제 5 예를 도시하는 도면.
도 7은 본 발명의 또 다른 실시예에 따른 반복적 오류 정정 디코더의 제 6 예를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
101: 변조 인코더 102: 리드-솔로몬 인코더
103: 로우 칼럼 웨이트 LDPC 코드 인코더

Claims (23)

  1. 데이터 저장 매체 상에 기록된 데이터에서의 오류를 정정하기 위한 반복 디코더를 포함하는 데이터 저장 장치로서,
    상기 반복 디코더의 복수회 반복시에,
    후 처리 블럭은 상기 데이터용 연성 정보를 생성하고,
    최소합 디코더(minimum sum decoder)는 상기 연성 정보 및 최신 연성 정보에 근거하여 외부 정보를 생성하기 위해, 저밀도 패리티 검사 코드에 최소합 디코딩 알고리즘을 적용하는 것인 데이터 저장 장치.
  2. 제 1 항에 있어서, 상기 반복 디코더의 제 1 반복시에, 제 1 검출기는 상기 데이터 상에서 매칭된 비터비 알고리즘(matched Viterbi algorithm)을 실행하고, 상기 제 1 검출기의 출력 흐름은 상기 제 1 반복시에 상기 후 처리 블럭으로 전송되는 것인 데이터 저장 장치.
  3. 제 2 항에 있어서, 상기 반복 디코더의 제 2 반복시에, 제 2 검출기는 상기 데이터 상에서 매칭된 비터비 알고리즘을 실행하고, 상기 제 2 검출기의 출력 흐름은 상기 제 2 반복시에 상기 후 처리 블럭으로 전송되는 것인 데이터 저장 장치.
  4. 제 1 항에 있어서, 상기 후 처리 블럭으로부터의 연성 정보를 사용하여 경판 정 디코더가 상기 데이터를 디코딩하는 것인 데이터 저장 장치.
  5. 제 4 항에 있어서, 상기 반복 디코더는 상기 최소합 디코더에 의해 생성된 조기 정지 매개변수(early stop parameter)가 경계치보다 작은 경우, 추가의 반복을 실행하지 않는 것인 데이터 저장 장치.
  6. 제 2 항에 있어서, 상기 반복 디코더의 제 1 반복시에,
    타겟 필터는 상기 제 1 검출기의 출력 흐름을 여과하고,
    가산기는 상기 반복 디코더의 입력 흐름 내의 등화 샘플에 상기 타겟 필터의 출력 흐름을 가산하며,
    롱 매치 필터는 상기 가산기의 출력 흐름을 여과하고, 상기 롱 매치 필터의 출력 흐름은 상기 후 처리 블럭으로 전송되는 것인 데이터 저장 장치.
  7. 제 1 항에 있어서, 상기 반복 디코더로부터 수신된 데이터를 디코딩하는 리드-솔로몬 디코더를 더 포함하는 것인 데이터 저장 장치.
  8. 제 1 항에 있어서, 상기 데이터 저장 장치는 하드 디스크 드라이브인 것인 데이터 저장 장치.
  9. 제 1 항에 있어서, 상기 반복 디코더는 정지 조건이 만족되지 않는 경우, 3 회 이상의 반복을 실행하는 것인 데이터 저장 장치.
  10. 제 1 항에 있어서, 상기 반복 디코더의 제 2 반복시에,
    증폭기는 스케일링된 외부 정보를 생성하기 위해, 스케일 팩터에 의해 상기 반복 디코더의 제 1 반복으로부터의 외부 정보를 증폭하고,
    상기 제 2 반복에서의 후 처리 블럭은 후 처리기 및 가산기를 포함하며, 상기 가산기는 상기 스케일링된 외부 정보에 상기 후 처리기의 출력 흐름을 가산하여 상기 연성 정보를 생성하는 것인 데이터 저장 장치.
  11. 반복 디코더를 사용하여 데이터 저장 장치 내의 데이터에서의 오류를 정정하는 방법으로서,
    상기 방법은, 상기 반복 디코더의 복수회 반복시에,
    후 처리 블럭을 사용하여 상기 데이터에 관한 연성 정보를 생성하는 단계와,
    최소합 디코딩 알고리즘을 저밀도 패리티 검사 코드에 적용하는 최소합 디코더를 사용하여 최신 연성 정보와 상기 연성 정보 사이의 차이에 근거하는 외부 정보를 생성하는 단계를 포함하는 것인 데이터 오류 정정 방법.
  12. 제 11 항에 있어서, 상기 방법은, 상기 반복 디코더의 제 1 반복시에, 제 1 검출기를 사용하여 상기 데이터 상에 매칭된 비터비 알고리즘을 실행하는 단계로서, 상기 제 1 검출기의 출력 흐름이 상기 후 처리 블럭으로 전송되는, 상기 매칭 된 비터비 알고리즘의 실행 단계를 더 포함하는 것인 데이터 오류 정정 방법.
  13. 제 12 항에 있어서, 상기 방법은, 상기 제 1 반복시에,
    제 1 타겟 필터를 사용하여 상기 제 1 검출기의 출력 흐름을 여과하는 단계와,
    제 1 가산기를 사용하여 상기 데이터를 나타내는 등화 샘플에 상기 제 1 타겟 필터의 출력 흐름을 가산하는 단계를 더 포함하는 것인 데이터 오류 정정 방법.
  14. 제 13 항에 있어서, 상기 방법은, 상기 제 1 반복시에,
    제 1 롱 매치 필터를 사용하여 상기 제 1 가산기의 출력 흐름을 여과하는 단계와,
    상기 제 1 롱 매치 필터의 출력 흐름을 상기 후 처리 블럭으로 전송하는 단계를 더 포함하는 것인 데이터 오류 정정 방법.
  15. 제 14 항에 있어서, 상기 방법은, 상기 반복 디코더의 제 2 반복시에,
    제 2 타겟 필터를 사용하여 상기 제 1 반복의 출력 흐름을 여과하는 단계와,
    제 2 가산기를 사용하여 상기 등화 샘플에 상기 제 2 타겟 필터의 출력 흐름을 가산하는 단계와,
    제 2 롱 매치 필터를 사용하여 상기 제 2 가산기의 출력 흐름을 여과하는 단계와,
    스케일링된 외부 정보를 생성하기 위해, 증폭기를 사용하여 스케일 팩터에 의해 상기 제 1 반복에서의 최소합 디코더에 의해 생성되는 외부 정보를 증폭하는 단계와,
    제 3 가산기를 사용하여 제 2 롱 매치 필터의 출력 흐름에 상기 스케일링된 외부 정보를 가산하는 단계와,
    상기 제 2 반복시에 상기 후 처리 블럭으로 상기 제 3 가산기의 출력 흐름을 전송하는 단계로서, 상기 제 2 반복에서의 상기 후 처리 블럭은, 상기 연성 정보를 생성하기 위해 후 처리기 및 상기 후 처리기의 출력 흐름을 상기 스케일링된 외부 정보에 가산하는 제 4 가산기를 포함하는, 상기 전송 단계를 포함하는 것인 데이터 오류 정정 방법.
  16. 제 11 항에 있어서, 상기 방법은, 상기 반복 디코더의 1 회 이상의 반복시에,
    상기 후 처리 블럭으로부터의 연성 정보를 사용하여 경판정 디코딩을 실행하는 단계를 더 포함하는 것인 데이터 오류 정정 방법.
  17. 제 11 항에 있어서, 상기 반복 디코더는 정지 조건이 만족되지 않으면, 3회 이상의 반복을 실행하는 것인 데이터 오류 정정 방법.
  18. 제 11 항에 있어서, 상기 방법은, 상기 반복 디코더의 반복시에,
    상기 반복 디코더의 후속 반복시에 상기 후 처리 블럭으로 전송되는 심볼을 생성하기 위해, 상기 최소합 디코더에 의해 생성되는 외부 정보에 대해 경판정 디코딩을 실행하는 단계를 더 포함하는 것인 데이터 오류 정정 방법.
  19. 하드 디스크 상에 기록된 데이터 내의 오류를 정정하기 위한 반복 디코더를 포함하는 하드 디스크 드라이브로서,
    상기 반복 디코더는,
    상기 반복 디코더의 제 1 반복시에 데이터용 제 1 연성 정보를 생성하는 제 1 후 처리 블럭과,
    상기 제 1 연성 정보와 제 1 최신 연성 정보 사이의 차이에 근거하는 제 1 외부 정보 및 상기 제 1 최신 연성 정보를 생성하기 위해, 최소합 디코딩 알고리즘을 저밀도 패리티 검사 코드에 적용하는 제 1 디코더와,
    상기 제 1 반복의 출력 흐름에 응답하여 상기 반복 디코더의 제 2 반복시에 데이터용 제 2 연성 정보를 생성하는 제 2 후 처리 블럭과,
    상기 제 2 연성 정보와 제 2 최신 연성 정보 사이의 차이에 근거하는 제 2 외부 정보 및 상기 최신 제 2 연성 정보를 생성하기 위해, 최소합 디코딩 알고리즘을 저밀도 패리티 검사 코드에 적용하는 제 2 디코더를 포함하는 것인 하드 디스크 드라이브.
  20. 제 19 항에 있어서, 상기 반복 디코더는 상기 데이터에서 매칭된 비터비 알 고리즘을 실행하는 제 1 검출기를 더 포함하며, 상기 제 1 검출기의 출력 흐름은 상기 제 1 후 처리 블럭의 입력으로 전송되는 것인 하드 디스크 드라이브.
  21. 제 19 항에 있어서, 상기 반복 디코더는 상기 제 1 연성 정보를 사용하여 경판정 디코딩을 실행하는 경판정 디코더를 더 포함하며, 상기 경판정 디코더에 의해 생성되는 디코딩된 출력 흐름은 상기 제 2 후 처리 블럭의 입력으로 전송되는 것인 하드 디스크 드라이브.
  22. 제 19 항에 있어서, 상기 반복 디코더는 상기 제 1 외부 정보를 사용하여 경판정 디코딩을 실행하는 경판정 디코더를 더 포함하며, 상기 경판정 디코더에 의해 생성된 심볼들은 상기 제 2 후 처리 블럭의 입력으로 전송되는 것인 하드 디스크 드라이브.
  23. 제 21 항에 있어서, 상기 반복 디코더는 만약, 상기 제 1 디코더에 의해 생성되는 조기 정지 매개변수가 경계값보다 작으면 반복 실행을 정지하고, 상기 경판정 디코더의 디코딩된 출력 흐름은 상기 조기 정지 매개변수가 상기 경계값 이상인 경우에만, 상기 제 2 후 처리 블럭으로 전송되는 것인 하드 디스크 드라이브.
KR1020080014850A 2007-03-30 2008-02-19 반복 디코딩법을 사용하여 오류를 정정하기 위한 기술 KR20080089162A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/694,676 2007-03-30
US11/694,676 US8341506B2 (en) 2007-03-30 2007-03-30 Techniques for correcting errors using iterative decoding

Publications (1)

Publication Number Publication Date
KR20080089162A true KR20080089162A (ko) 2008-10-06

Family

ID=38965780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080014850A KR20080089162A (ko) 2007-03-30 2008-02-19 반복 디코딩법을 사용하여 오류를 정정하기 위한 기술

Country Status (7)

Country Link
US (1) US8341506B2 (ko)
EP (1) EP1976128A1 (ko)
JP (1) JP2008257842A (ko)
KR (1) KR20080089162A (ko)
CN (1) CN101276627B (ko)
SG (1) SG146531A1 (ko)
TW (1) TW200844729A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225183B2 (en) * 2008-09-30 2012-07-17 Lsi Corporation Methods and apparatus for selective data retention decoding in a hard disk drive
US8347155B2 (en) * 2009-04-17 2013-01-01 Lsi Corporation Systems and methods for predicting failure of a storage medium
US8930791B2 (en) * 2009-12-23 2015-01-06 Intel Corporation Early stop method and apparatus for turbo decoding
US8918695B2 (en) * 2009-12-23 2014-12-23 Intel Corporation Methods and apparatus for early stop algorithm of turbo decoding
US8418019B2 (en) * 2010-04-19 2013-04-09 Lsi Corporation Systems and methods for dynamic scaling in a data decoding system
KR101835605B1 (ko) 2011-11-24 2018-03-08 삼성전자 주식회사 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법
EP2631802B1 (de) 2012-02-22 2014-11-19 Siemens Aktiengesellschaft Verfahren zur Speicherung und Propagation von Fehlerinforationen in Computer-Programmen
US9214964B1 (en) 2012-09-24 2015-12-15 Marvell International Ltd. Systems and methods for configuring product codes for error correction in a hard disk drive
US9116822B2 (en) 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
EP2819310A1 (en) * 2013-06-26 2014-12-31 Alcatel Lucent Iterative error decoder with cascaded decoding blocks and a feedback decoding block
CN106997777B (zh) 2015-09-18 2021-01-05 爱思开海力士有限公司 具有改进的硬解码吞吐量的vss ldpc解码器
US10817373B2 (en) 2017-11-21 2020-10-27 SK Hynix Inc. Soft chip-kill recovery using concatenated codes
US10691540B2 (en) * 2017-11-21 2020-06-23 SK Hynix Inc. Soft chip-kill recovery for multiple wordlines failure
US10715182B2 (en) * 2018-07-27 2020-07-14 Innogrit Technologies Co., Ltd. Systems and methods for decoding error correcting codes with self-generated LLR
CN113765624A (zh) * 2021-09-10 2021-12-07 北京零壹空间电子有限公司 一种tpc迭代译码方法、装置、遥测地面站及存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2551231B2 (ja) * 1990-11-16 1996-11-06 日本電気株式会社 判定帰還形等化器
JP2845250B2 (ja) * 1992-01-31 1999-01-13 日本電気株式会社 交差偏波干渉補償装置
JP2720721B2 (ja) * 1992-08-21 1998-03-04 日本電気株式会社 変復調装置
DE19526416A1 (de) * 1995-07-19 1997-01-23 Siemens Ag Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Infomation
US5712873A (en) * 1996-06-04 1998-01-27 Thomson Consumer Electronics, Inc. Multi-mode equalizer in a digital video signal processing system
US5995568A (en) * 1996-10-28 1999-11-30 Motorola, Inc. Method and apparatus for performing frame synchronization in an asymmetrical digital subscriber line (ADSL) system
US6161209A (en) * 1997-03-28 2000-12-12 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Joint detector for multiple coded digital signals
US6795947B1 (en) 1999-10-07 2004-09-21 The Regents Of The University Of California Parity check outer code and runlength constrained outer code usable with parity bits
US6751255B1 (en) * 2000-03-09 2004-06-15 Orckit Communications, Ltd. Decision feedback analyzer with filter compensation
US6778599B1 (en) * 2000-03-09 2004-08-17 Tioga Technologies Digital transceiver with multi-rate processing
US7184486B1 (en) * 2000-04-27 2007-02-27 Marvell International Ltd. LDPC encoder and decoder and method thereof
US6888897B1 (en) * 2000-04-27 2005-05-03 Marvell International Ltd. Multi-mode iterative detector
US6581182B1 (en) 2000-05-15 2003-06-17 Agere Systems Inc. Iterative decoding with post-processing of detected encoded data
US6965652B1 (en) * 2000-06-28 2005-11-15 Marvell International Ltd. Address generator for LDPC encoder and decoder and method thereof
US6587987B1 (en) 2000-07-07 2003-07-01 Lucent Technologies Inc. Method and apparatus for extracting reliability information from partial response channels
US7415079B2 (en) * 2000-09-12 2008-08-19 Broadcom Corporation Decoder design adaptable to decode coded signals using min* or max* processing
US7107511B2 (en) * 2002-08-15 2006-09-12 Broadcom Corporation Low density parity check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses
US6518892B2 (en) * 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
US6631494B2 (en) * 2000-12-07 2003-10-07 Maxtor Corporation Ameliorating the adverse impact of burst errors on the operation of ISI detectors
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
EP1271509A1 (en) 2001-06-22 2003-01-02 STMicroelectronics S.r.l. Method and apparatus for detecting and correcting errors in a magnetic recording channel of a mass storage system
US6757117B1 (en) * 2001-08-24 2004-06-29 Cirrus Logic, Inc. Data detection in a disk drive system using erasure pointers
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
US7587659B2 (en) * 2002-05-31 2009-09-08 Broadcom Corporation Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders
US7447985B2 (en) * 2002-08-15 2008-11-04 Broadcom Corporation Efficient design to implement min**/min**- or max**/max**- functions in LDPC (low density parity check) decoders
US7164764B2 (en) * 2002-11-07 2007-01-16 Solarflare Communications, Inc. Method and apparatus for precode crosstalk mitigation
JP2004253017A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd 記録媒体再生装置、記録媒体再生方法およびハードディスクコントローラ
US20070234178A1 (en) 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
WO2004079563A1 (en) 2003-02-26 2004-09-16 Flarion Technologies, Inc. Soft information scaling for iterative decoding
EP1521414B1 (en) * 2003-10-03 2008-10-29 Kabushiki Kaisha Toshiba Method and apparatus for sphere decoding
US7281190B2 (en) * 2004-11-01 2007-10-09 Seagate Technology Llc Running digital sum coding system
US7421643B2 (en) 2005-01-04 2008-09-02 Agere Systems Inc. Data detection and decoding system and a method of detecting and decoding data
US7561627B2 (en) * 2005-01-06 2009-07-14 Marvell World Trade Ltd. Method and system for channel equalization and crosstalk estimation in a multicarrier data transmission system
US7366261B2 (en) * 2005-02-14 2008-04-29 Viasat, Inc. Separate FEC decoding and iterative diversity reception
US7428275B2 (en) * 2005-02-14 2008-09-23 Viasat, Inc. Integrated FEC decoding and iterative diversity reception
JP2006238127A (ja) * 2005-02-25 2006-09-07 Sony Corp 復号装置および方法、並びにプログラム
US7502982B2 (en) 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7770090B1 (en) * 2005-09-14 2010-08-03 Trident Microsystems (Far East) Ltd. Efficient decoders for 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
US20070089016A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
US8006161B2 (en) * 2005-10-26 2011-08-23 Samsung Electronics Co., Ltd Apparatus and method for receiving signal in a communication system using a low density parity check code
JP4571580B2 (ja) * 2005-12-15 2010-10-27 富士通株式会社 復号器
EP1989790A2 (en) * 2006-02-17 2008-11-12 Nokia Corporation Apparatus, method and computer program product providing aimo receiver
US7647548B2 (en) * 2006-07-31 2010-01-12 Agere Systems Inc. Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture

Also Published As

Publication number Publication date
US8341506B2 (en) 2012-12-25
TW200844729A (en) 2008-11-16
EP1976128A1 (en) 2008-10-01
CN101276627A (zh) 2008-10-01
US20080244359A1 (en) 2008-10-02
JP2008257842A (ja) 2008-10-23
SG146531A1 (en) 2008-10-30
CN101276627B (zh) 2012-05-16

Similar Documents

Publication Publication Date Title
KR20080089162A (ko) 반복 디코딩법을 사용하여 오류를 정정하기 위한 기술
US7502982B2 (en) Iterative detector with ECC in channel domain
US8977941B2 (en) Iterative decoder systems and methods
US7849388B2 (en) Signal decoding method and device, and signal storage system
US8161357B2 (en) Systems and methods for using intrinsic data for regenerating data from a defective medium
US7519898B2 (en) Iterative decoding of linear block codes by adapting the parity check matrix
US6272659B1 (en) Error correction code processor employing adjustable correction power for miscorrection minimization
JP4652310B2 (ja) 復号器及び再生装置
KR101337736B1 (ko) 에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템
US8127216B2 (en) Reduced state soft output processing
JP4118127B2 (ja) データの復号方法およびそれを用いたディスク装置
US20090132894A1 (en) Soft Output Bit Threshold Error Correction
US9130589B2 (en) Low density parity check decoder with dynamic scaling
EP2665191B1 (en) Systems and methods for dual binary and non-binary decoding
US20140164876A1 (en) Modulation coding of parity bits generated using an error-correction code
JP3607683B2 (ja) ディスク記憶装置及びデータ記録再生方法
JP4011583B2 (ja) データ記録再生システム及び方法
US7178092B2 (en) Method and apparatus for turbo coding and decoding in read and write channel of disk drive
JP4088133B2 (ja) リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム
JP4294407B2 (ja) 信号処理方法及び信号処理回路
Oenning et al. Low density parity check coding for magnetic recording channels with media noise
Arslan et al. Error event corrections using list-NPML decoding and error detection codes
Han et al. Performance of a structured IRA code on a perpendicular recording channel with media noise
Fan et al. Application to Magnetic Storage
JP2005108332A (ja) 反復復号を用いたデータ再生装置及び方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid