KR101526317B1 - 계층적 디코딩 장치 - Google Patents

계층적 디코딩 장치 Download PDF

Info

Publication number
KR101526317B1
KR101526317B1 KR1020080043149A KR20080043149A KR101526317B1 KR 101526317 B1 KR101526317 B1 KR 101526317B1 KR 1020080043149 A KR1020080043149 A KR 1020080043149A KR 20080043149 A KR20080043149 A KR 20080043149A KR 101526317 B1 KR101526317 B1 KR 101526317B1
Authority
KR
South Korea
Prior art keywords
decoder
decoding
signal
decoder stage
received signal
Prior art date
Application number
KR1020080043149A
Other languages
English (en)
Other versions
KR20090117213A (ko
Inventor
노종선
신범규
윤석일
양재동
공준진
김재홍
김용준
조경래
Original Assignee
삼성전자주식회사
재단법인서울대학교산학협력재단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 재단법인서울대학교산학협력재단 filed Critical 삼성전자주식회사
Priority to KR1020080043149A priority Critical patent/KR101526317B1/ko
Priority to US12/428,511 priority patent/US8347194B2/en
Publication of KR20090117213A publication Critical patent/KR20090117213A/ko
Application granted granted Critical
Publication of KR101526317B1 publication Critical patent/KR101526317B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • 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/2906Coding, 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 using block 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/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] 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/13Linear codes
    • H03M13/136Reed-Muller [RM] 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/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
    • 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
    • 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/152Bose-Chaudhuri-Hocquenghem [BCH] 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/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

Landscapes

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

Abstract

디코더가 개시된다. 상기 디코더는 각각이 서로 다른 복호 알고리즘을 사용하여 수신 신호에 대한 복호 동작을 수행하는 다수의 디코더 스테이지들, 및 상기 다수의 디코더 스테이지들 중에서 어느 하나의 디코더 스테이지에 의하여 수행된 상기 수신 신호에 대한 복호 성공 여부에 응답하여 나머지 디코더 스테이지들 각각의 복호 동작 여부를 제어하는 컨트롤러를 포함한다.
반복 복호, 통신 시스템, 데이터 저장 시스템

Description

계층적 디코딩 장치{Hierarchical decoding apparatus}
본 발명은 오류 정정 기술에 관한 것으로, 특히 다양한 복호 알고리즘들을 계층적으로 적용할 수 있는 디코딩 장치에 관한 것이다.
반복 복호(iterative decoding) 알고리즘으로 다양한 종류의 복호 알고리즘들이 제안되었다. 채널 환경이 좋은 경우에는 복호 과정에 연산 복잡도 (computation complexity)가 상대적으로 낮은 비교적 간단한 복호 알고리즘을 적용해도 요구되는 비트오류율(bit error rate(BER))을 만족시킬 수 있으나, 채널 환경이 좋지 않은 경우에는 복호 과정에 연산 복잡도가 상대적으로 높은 복호 알고리즘을 적용해야만 요구되는 BER을 만족시킬 수 있다. 이와 같이 복호 과정 이후의 신호의 BER과 연산 복잡도 사이에는 트레이드 오프(trade-off)가 존재한다.
반복 복호 알고리즘에 사용되는 합-곱(sum-product) 알고리즘은 BER 성능 (performance)이 우수하지만 연산량이 많다는 단점이 있다. 또한, 복잡한 연산량 때문에 상기 합-곱 알고리즘을 사용하는 복호 장치에서는 복호 지연 시간(latency)이 증가하고 전력 소모량도 증가한다. 따라서 복호 지연 시간과 전력 소모량을 줄일 수 있는 복호 장치가 요구된다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 수신 신호가 다양한 비트오류율을 갖는 경우 상기 비트 오류율에 따라 다양한 복호 알고리즘들 중에서 적어도 하나를 적용하여 복호 지연 시간을 감소시키고 전력 소모량도 감소시킬 수 있는 복호 장치를 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 디코더는 각각이 서로 다른 복호 알고리즘을 사용하여 수신 신호에 대한 복호 동작을 수행하는 다수의 디코더 스테이지들과, 상기 다수의 디코더 스테이지들 중에서 어느 하나의 디코더 스테이지에 의하여 수행된 상기 수신 신호에 대한 복호 성공 여부에 응답하여 나머지 디코더 스테이지들 각각의 복호 동작 여부를 제어하는 컨트롤러를 포함한다.
상기 컨트롤러는 상기 어느 하나의 디코더 스테이지에 의하여 복호된 신호에 대한 신드롬 값을 계산하고, 계산된 신드롬 값에 기초하여 상기 복호 성공 여부를 판단하고, 판단 결과에 기초하여 상기 나머지 디코더 스테이지들 각각의 복호 동작 여부를 제어한다.
상기 기술적 과제를 달성하기 위한 디코더는 각각이 서로 다른 복호 알고리즘을 사용하여 수신 신호에 대한 복호 동작을 수행하는 다수의 디코더 스테이지들과, 제1선택 신호에 응답하여, 상기 수신 신호를 상기 다수의 디코더 스테이지들 중에서 어느 하나의 디코더 스테이지로 전송하기 위한 디멀티플렉서와, 제2선택 신 호에 응답하여, 상기 다수의 디코더 스테이지들 중에서 어느 하나의 디코더 스테이지의 출력 신호를 출력하기 위한 멀티플렉서와, 상기 멀티플렉서의 출력 신호에 응답하여 상기 수신 신호에 대한 디코딩 성공 여부를 판단하고, 판단 결과에 기초하여 상기 제1선택 신호와 상기 제2선택 신호를 생성하는 컨트롤러를 포함한다.
상기 디코더는 상기 수신 신호를 저장하기 위한 버퍼를 더 포함하며, 상기 버퍼는, 상기 판단 결과에 기초하여 생성된 제어 신호에 응답하여, 저장된 상기 수신 신호를 상기 디멀티플렉서로 전송한다.
상기 컨트롤러는 상기 멀티플렉서의 출력 신호에 대한 신드롬 값을 계산하고, 계산된 신드롬 값에 기초하여 상기 복호 성공 여부를 판단하고, 판단 결과에 기초하여 상기 나머지 디코더 스테이지들 각각의 복호 동작 여부를 제어한다.
상기 기술적 과제를 달성하기 위한 디코더는 수신 신호가 전송되는 채널의 상태를 추정하기 위한 컨트롤러와, 각각이 서로 다른 복호 알고리즘을 사용하여 상기 수신 신호에 대한 복호 동작을 수행하기 위한 N(N은 자연수)개의 디코더 스테이지들을 포함하며, 상기 컨트롤러는 추정된 채널의 상태에 기초하여 상기 N개의 디코더 스테이지들 각각의 복호 동작 여부를 제어한다.
상기 컨트롤러는 상기 수신 신호의 비트에러율(Bit Error Rate(BER))에 기초하여 상기 채널의 상태를 추정한다.
상기 기술적 과제를 달성하기 위한 디코더는 수신 신호가 전송되는 채널의 상태를 추정하기 위한 컨트롤러와, 제1복호 알고리즘을 사용하여 상기 수신 신호에 대한 디코딩 동작을 수행하기 위한 제1디코더 스테이지와, 제2복호 알고리즘을 사 용하여 상기 수신 신호에 대한 디코딩 동작을 수행하기 위한 제2디코더 스테이지를 포함하며, 상기 컨트롤러는 추정된 채널의 상태에 기초하여 상기 제1디코더 스테이지와 상기 제2디코더 스테이지 각각의 복호 동작 여부를 제어한다.
상기 컨트롤러는 상기 제1디코더 스테이지에서 수행된 상기 수신 신호에 대한 디코딩 성공 여부에 따라 상기 제2디코더 스테이지의 복호 동작 여부를 제어한다. 상기 제1복호 알고리즘의 연산 복잡도는 상기 제2복호 알고리즘의 연산 복잡도보다 낮다.
상기 기술적 과제를 달성하기 위한 디코더는 제어 신호에 응답하여, 채널을 통하여 입력된 수신 신호에 대한 연성 판정 레벨을 결정하고 결정 결과에 따라 연성 판정 값들을 출력하는 연성 판정 레벨 결정 블록; 상기 제어 신호를 생성하고, 상기 연성 판정 값들에 기초하여 상기 채널의 상태를 추정하기 위한 컨트롤러; 및 각각이 서로 다른 복호 알고리즘을 사용하여 상기 연성 판정 값들에 대한 복호 동작을 수행하기 위한 N(N은 자연수)개의 디코더 스테이지들을 포함하며, 상기 컨트롤러는 추정된 채널의 상태에 기초하여 상기 N개의 디코더 스테이지들 각각의 복호 동작 여부를 제어한다.
상기 기술적 과제를 달성하기 위한 디코더는 제어 신호에 응답하여, 채널을 통하여 입력된 수신 신호에 대한 연성 판정 레벨을 결정하고 결정 결과에 따라 연성 판정 값들을 출력하는 연성 판정 레벨 결정 블록; 상기 제어 신호를 생성하고, 상기 연성 판정 값들에 기초하여 상기 채널의 상태를 추정하기 위한 컨트롤러; 제1복호 알고리즘을 사용하여 상기 연성 판정 값들에 대한 디코딩 동작을 수행하기 위 한 제1디코더 스테이지; 및 제2복호 알고리즘을 사용하여 상기 연성 판정 값들에 대한 디코딩 동작을 수행하기 위한 제2디코더 스테이지를 포함하며, 상기 컨트롤러는 추정된 채널의 상태에 기초하여 상기 제1디코더 스테이지와 상기 제2디코더 스테이지 각각의 복호 동작 여부를 제어한다.
본 발명의 실시 예에 따른 계층적 복호 장치는 수신 신호의 복호 결과에 기초하여 다양한 복호 알고리즘들 중에서 적어도 하나를 적용할 수 있으므로 복호 지연 시간을 감소시키고 소모되는 전력을 감소시킬 수 있는 효과가 있다.
따라서, 본 발명의 실시 예에 따른 계층적 복호 장치는 전체적인 BER을 감소시킬 수 있는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시 예에 따른 디코더를 나타낸다. 도 1을 참조하면, 디코더(1)는 버퍼(2), 제1선택기(3), 다수의 디코더 스테이지들(4, 5, ..., 6), 제2선택기(7), 및 컨트롤러(8)를 포함한다.
버퍼(2)는, 컨트롤러(8)로부터 출력된 제어 신호(CTRL)의 제어하에, 채널을 통하여 전송된 수신 신호(r)를 버퍼링한다. 여기서, 수신 신호(r)는 인코더(미 도시)에 의하여 인코드된 신호와 노이즈를 포함하는 신호이다. 버퍼(2)는 수신 신호 (r)를 저장할 수 있는 기능을 갖는 메모리를 포함한다.
제1선택기(3)는, 컨트롤러(8)로부터 출력된 제1선택 신호(SEL1)에 응답하여, 버퍼(2)로부터 출력된 신호를 다수의 디코더 스테이지들(4, 5, ..., 6) 중에서 어느 하나의 디코더 스테이지로 전송한다. 예컨대, 제1선택기(3)는 디멀티플렉서 (demultiplexer(DEMUX))로 구현될 수 있다.
다수의 디코더 스테이지들(4, 5, ..., 6) 각각은 서로 다른 연산 복잡도(예컨대, 복호 알고리즘의 연산 복잡도 또는 하드웨어 복잡도)를 갖는 복호 알고리즘(또는 반복 복호 알고리즘)에 따라 수신 신호(r)에 대한 디코딩 동작을 수행한다. 여기서, 다수의 디코더 스테이지들(4, 5, ..., 6) 각각은 디코딩 동작(또는 에러 정정 동작)을 수행할 수 있는 디코딩 장치(또는 에러 정정 장치)를 의미한다.
예컨대, 제1디코더 스테이지(4)는 상대적으로 가장 낮은 연산 복잡도를 갖는 복호 알고리즘, 예컨대 비트-플리핑 알고리즘을 사용하여 수신 신호(r)에 대한 디코딩 동작(또는 에러 정정 동작)을 수행한다. 제2디코더 스테이지(5)는 제1디코더 스테이지(4)의 연산 복잡도보다 높은 연산 복잡도를 갖는 알고리즘, 예컨대 합-곱 알고리즘 또는 최소-합 알고리즘을 사용하여 수신 신호(r)에 대한 디코딩 동작(또는 에러 정정 동작)을 수행한다. 그리고, 마지막 디코더 스테이지(6)는 다수의 디코더 스테이지들(4, 5, ..., 6) 중에서 가장 높은 연산 복잡도를 갖는 복호 알고리 즘을 사용하여 수신 신호(r)에 대한 디코딩 동작(또는 에러 정정 동작)을 수행한다.
제2선택기(7)는, 컨트롤러(8)로부터 출력된 제2선택 신호(SEL2)에 응답하여, 다수의 디코더 스테이지들(4, 5, ..., 6) 중에서 어느 하나의 디코더 스테이지로부터 출력된 디코드된 신호를 컨트롤러(8)로 전송한다. 예컨대, 제2선택기(7)는 멀티플렉서(multiplexer(MUX))로 구현될 수 있다.
컨트롤러(8)는 제2선택기(7)로부터 출력된 복호된 신호를 분석하고 분석결과에 기초하여 수신 신호(r)에 대한 복호 성공 또는 복호 실패를 판단하고, 그 판단 결과에 따른 신호에 기초하여 버퍼(2)의 동작을 제어하기 위한 제어신호(CTRL), 제1선택기(3)의 동작을 제어하기 위한 제1선택 신호(SEL1), 및 제2선택기(7)의 동작을 제어하기 위한 제2선택 신호(SEL2)를 발생한다.
예컨대, 컨트롤러(8)는 제2선택기(7)로부터 출력된 복호된 신호에 대한 신드롬 값(또는 신드롬 값들)이 "0"인지의 여부 또는 상기 복호된 신호가 패리티 검사식을 만족하는지의 여부에 따라 제어 신호(CTRL), 제1선택 신호(SEL1), 및 제2선택 신호(SEL2)를 발생한다. 상기 패리티 검사식에 대해서는 도 4를 참조하여 상세히 설명될 것이다.
예컨대, 버퍼(2)는, 제어 신호(CTRL)에 응답하여, 채널을 통하여 입력된 수신 신호(r)를 저장한다. 버퍼(2)에 저장된 수신 신호(r)는 제1선택 신호(SEL1)에 의하여 제어된 제1선택기(3)를 통하여 제1디코더 스테이지(4)로 전송된다.
제1디코더 스테이지(4)는 수신 신호(r)에 복호 알고리즘, 예컨대, 비트-플리 핑 알고리즘을 적용하여 복호 동작(또는 에러 정정 동작)을 수행하고 디코드된 신호(또는 에러 정정된 신호)를 제2선택 신호(SEL2)에 의하여 제어된 제2선택기(7)를 통하여 컨트롤러(8)로 출력한다.
컨트롤러(8)는 제2선택기(7)로부터 출력된 복호된 신호로부터 복호 성공 또는 복호 실패를 판단한다. 예컨대, 컨트롤러(8)는 제2선택기(7)로부터 출력된 디코드된 신호에 대하여 신드롬 값 또는 패리티 검사식을 만족하지 않는 체크 노드의 개수를 계산하고, 계산된 신드롬 값 또는 만족하지 않는 체크 노드의 개수가 "0"인 경우, 즉 제1디코더 스테이지(4)에 의한 복호 동작이 성공한 경우, 디코더(1)는 컨트롤러(8)의 제어하에 복호 동작을 종료한다.
그러나, 컨트롤러(8)에 의하여 계산된 신드롬 값 또는 만족하지 않는 체크 노드의 개수가 "0"이 아닌 경우, 즉 제1디코더 스테이지(4)에 의한 복호 동작이 실패한 경우, 버퍼(2)에 저장된 수신 신호(r)는 컨트롤러(8)로부터 출력된 제어 신호 (CTRL)에 응답하여 제1선택기(3)로 출력된다. 이때, 제1선택기(3)는, 컨트롤러(8)로부터 출력된 제1선택 신호(SEL1)에 응답하여, 버퍼(2)로부터 출력된 수신 신호 (r)를 제2디코더 스테이지(5)로 전송한다.
제2디코더 스테이지(5)는 수신 신호(r)에 복호 알고리즘, 예컨대, 합-곱 알고리즘 또는 최소-합 알고리즘을 적용하여 복호 동작(또는 에러 정정 동작)을 수행하고, 복호된 신호(또는 에러 정정된 신호)를 제2선택 신호(SEL2)에 의하여 제어된 제2선택기(7)를 통하여 컨트롤러(8)로 출력한다.
컨트롤러(8)는 제2선택기(7)로부터 출력된 복호된 신호로부터 복호 성공 또 는 복호 실패를 판단한다. 예컨대, 컨트롤러(8)는 제2선택기(7)로부터 출력된 복호된 신호에 대하여 신드롬 값 또는 패리티 검사식을 만족하지 않는 체크 노드의 개수를 계산하고, 계산된 신드롬 값 또는 만족하지 않는 체크 노드의 개수가 "0"인 경우, 즉 제2디코더 스테이지(5)에 의한 복호 동작이 성공한 경우, 디코더(1)는 컨트롤러(8)의 제어하에 복호 동작을 종료한다.
그러나, 컨트롤러(8)에 의하여 계산된 신드롬 값 또는 만족하지 않는 체크 노드의 개수가 "0"이 아닌 경우, 즉 제2디코더 스테이지(5)에 의한 복호 동작이 실패한 경우, 버퍼(2)에 저장된 수신 신호(r)는, 컨트롤러(8)로부터 출력된 제어 신호(CTRL)에 응답하여, 제1선택기(3)로 출력된다. 이때, 제1선택기(3)는, 컨트롤러(8)로부터 출력된 제1선택 신호(SEL1)에 응답하여, 버퍼(2)로부터 출력된 수신 신호(r)를 제2디코더 스테이지(5)의 연산 복잡도보다 높은 연산 복잡도를 갖는 디코더 스테이지로 전송한다.
상술한 바와 같이, 상대적으로 낮은 연산 복잡도를 갖는 디코더 스테이지에서 수신 신호(r)에 대한 복호 동작이 실패한 경우, 본 발명의 실시 예에 따른 디코더(1)는 상대적으로 높은 연산 복잡도를 갖는 디코더 스테이지를 이용하여 수신 신호(r)에 대한 복호 동작을 수행한다.
최종적으로, 마지막 디코더 스테이지(6)를 제외한 나머지 디코더 스테이지들 각각에서 수신 신호(r)에 대한 복호 동작이 실패한 경우, 본 발명의 실시 예에 따른 디코더(1)는 가장 높은 연산 복잡도를 갖는 마지막 디코더 스테이지(6)를 이용하여 수신 신호(r)에 대한 복호 동작을 수행한다.
즉, 상대적으로 낮은 연산 복잡도를 갖는 디코더 스테이지에서의 복호 성공 또는 복호 실패는 상기 디코더 스테이지의 연산 복잡도보다 높은 연산 복잡도를 갖는 디코더 스테이지의 디코딩 동작 여부를 결정한다.
도 1에 도시된 디코더(1)는 디지털 비디오 방송 시스템, 디지털 위성 방송 시스템, 인텔셋 통신 시스템, 우주 원격측정 시스템, 무선 방송 시스템, ADSL 트랜시버, 또는 데이터 저장 및 복구 시스템의 수신부에 사용될 수 있다.
도 2는 본 발명의 실시 예에 따른 계층적 디코더를 포함하는 에러 정정 시스템의 블락 도를 나타낸다. 본 발명의 실시 예에 따른 에러 정정 시스템(10)은 디지털 비디오 방송(Digital Video Broadcast(DVB)) 시스템, 디지털 위성 방송 시스템, 인텔셋(intelsat) 통신 시스템, 우주 원격측정 시스템(space telemetry system), 무선 방송 시스템, ADSL 트랜시버, 또는 데이터 저장 및 복구 시스템(data storage & retrieval system)에 사용될 수 있다.
에러 정정 시스템(10)은 채널(21)을 통하여 서로 접속된 인코더(20)와 디코더(30)를 포함한다. 따라서, 디코더(또는 에러 정정 장치; 30)는 디지털 비디오 방송 시스템, 디지털 위성 방송 시스템, 인텔셋 통신 시스템, 우주 원격측정 시스템, 무선 방송 시스템, ADSL 트랜시버, 또는 데이터 저장 및 복구 시스템의 수신부에 사용될 수 있다.
디코더(또는 에러 정정 장치; 30)는 계층적으로 또는 직렬로 접속된 다수의 디코더 스테이지들(41, 42, ..., 43)을 포함하는 계층적 디코더(40), 및 컨트롤러 (44)를 포함한다. 디코더(30)는 외부 디코더 스테이지(50)를 더 포함할 수 있다.
다수의 디코더 스테이지들(41, 42, ..., 43) 각각은 서로 다른 연산 복잡도 (computation complexity)를 갖는 복호 알고리즘을 사용하여 수신 신호에 대한 디코딩 동작(또는, 에러 정정 동작)을 수행한다. 또한, 다수의 디코더 스테이지들 (41, 42, ..., 43) 각각은 서로 다른 BER 성능을 갖는다.
또한, 다수의 디코더 스테이지들(41, 42, ..., 43) 각각은 반복 복호 (iterative decoding) 알고리즘을 사용하여 수신 신호에 대한 디코딩 동작(또는, 에러 정정 동작)을 수행한다. 이 경우, 디코더(30)는 반복 복호 방법을 사용하는 오류 정정 코드(error correction code), 예컨대 LDPC (Low Density Parity Check) 코드, RA(Repeat Accumulate) 코드, 또는 지그재그 코드 등에 사용될 수 있다.
예컨대, 두 번째 디코더 스테이지(42)의 연산 복잡도(예컨대, 복호 알고리즘의 연산 복잡도 또는 하드웨어 복잡도)는 첫 번째 디코더 스테이지(41)의 연산 복잡도(예컨대, 알고리즘의 연산 복잡도 또는 하드웨어 복잡도)보다 높고, 세 번째 디코더 스테이지의 연산 복잡도는 두 번째 디코더 스테이지(42)의 연산 복잡도보다 높고, N(N은 1보다 큰 자연수) 번째 디코더 스테이지(43)의 연산 복잡도는 (N-1)번째 디코더 스테이지의 연산 복잡도는 높다.
즉, 디코더 스테이지가 증가할수록 디코더 스테이지에서 사용되는 복호 알고리즘의 연산 복잡도는 증가한다. 다시 말하면, 디코더 스테이지가 증가할수록 에러 정정 능력은 증가한다.
다수의 디코더 스테이지들(41, 42, ..., 43) 각각은 디코딩 결과에 대한 신드롬 값들(또는 "0"이 아닌 신드롬 값들의 개수)을 계산하기 위한 신드롬 계산 블 록(미 도시)을 포함하며, 상기 신드롬 계산 블록은 그 계산 결과를 컨트롤러(44)로 전송한다.
또한, 실시 예에 따라 다수의 디코더 스테이지들(41, 42, ..., 43) 각각은 디코딩 결과(c)에 패리티 검사 행렬(H)을 적용하여 패리티 검사 식(예컨대, H·cT=0)을 만족하지 체크 노드들의 개수를 계산하기 위한 체크 노드 계산 블록(미 도시)을 포함하며 상기 체크 노드 계산 블록은 그 계산 결과를 컨트롤러(44)로 전송한다.
여기서, 반복 복호 알고리즘, 예컨대 합-곱(sum-product) 알고리즘 또는 최소-합(min-sum) 알고리즘은 패리티 검사 행렬(H) 상의 "1"의 위치와 "1"의 개수에 의해 결정된 도 4의 이분 그래프(bipartite graph; factor graph 또는 Tanner graph라고도 한다)로 나타낼 수 있다. 상기 이분 그래프의 노드에는 확률 값(Cm), 예컨대 LLR(log likelihood ratio) 값을 갖는 비트 노드(이를 "변수 노드"라고도 한다)와 체크 노드라는 두 종류의 변수가 할당된다.
컨트롤러(44)는 채널(21)을 통하여 입력된 수신 신호의 BER에 따라 또는 플래시(flash) 메모리 장치에 저장되어 있는 메모리 셀의 산포에 따라 채널(21)의 상태를 추정하고, 추정 결과에 따라 다수의 디코더 스테이지들(41, 42, ..., 43) 각각의 인에이블/디스에이블을 제어한다. 또한, 컨트롤러(44)는 다수의 디코더 스테이지들(41, 42, ..., 43) 각각의 디코딩 성공 여부에 따라 다수의 디코더 스테이지들(42, ..., 43) 각각의 인에이블/디스에이블을 제어한다.
컨트롤러(44)는 다수의 디코더 스테이지들(41, 42, ..., 43, 및 50) 각각의 동작을 제어하기 위한 컨트롤 로직 회로로서 H/W로 구현될 수 있고, 다수의 디코더 스테이지들(41, 42, ..., 43, 및 50) 각각의 동작을 제어하기 위한 소프트웨어(또는, 펌웨어(firmware))를 내장한 H/W로 구현될 수 있다.
외부 디코더 스테이지(50)는 리드-솔로몬(Reed-Solomon) 디코더, 리드-뮬러 (Reed-Muller(RM)) 디코더, 또는 BCH(Bose-Chadhuri-Hocquenghem) 디코더 스테이지로 구현될 수 있다.
예컨대, 컨트롤러(44)는 채널(21)을 통하여 입력된 수신 신호의 BER에 따라 또는 플래시 메모리 장치에 저장되어 있는 메모리 셀의 산포에 따라 채널(21)의 상태를 추정하고, 추정 결과에 따라 외부 디코더 스테이지(50)의 인에이블/디스에이블을 제어할 수 있다. 또한, 컨트롤러(44)는 다수의 디코더 스테이지들(41, 42, ..., 43) 각각의 디코딩 성공 여부에 따라 외부 디코더 스테이지(50)의 인에이블/디스에이블을 제어할 수 있다.
도 3은 본 발명의 다른 실시 예에 따른 계층적 디코더를 포함하는 에러 정정 시스템의 블락 도를 나타낸다. 도 3을 참조하면, 디코더(30)는 채널(21)을 통하여 입력된 수신 신호를 수신하고 컨트롤러(44)로부터 출력된 제어 신호(SCT)에 응답하여 상기 수신 신호에 대하여 연성 판정(soft decision) 레벨을 결정하고 결정 결과에 따라 연성 판정 값들을 출력하기 위한 연성 판정 레벨 결정 블록(25)을 더 포함한다.
컨트롤러(44)로부터 출력된 제어 신호(SCT)는 다수의 디코더 스테이지들(41, 42, ..., 43) 각각의 디코딩 성공 여부에 따라 결정될 수 있다. 예컨대, 연성 판정 레벨 결정 블록(25)이 제어 신호(SCT)에 응답하여 X-비트 연성 판정을 하는 경우 연성 판정 레벨 결정 블록(25)은 2X 개의 레벨들을 갖는 연성 판정 값들을 출력한다. 연성 판정 레벨이 증가하는 경우 디코더(30)의 성능은 개선된다.
예컨대, 연성 판정 레벨 결정 블록(25)이 제어 신호(SCT)에 응답하여 2-비트 연성 판정 레벨을 결정하고 그 연성 판정 결과로서 4-레벨 연성 판정 값들을 출력하는 경우 다수의 디코더 스테이지들(41, 42, ..., 43) 각각은 4-레벨 연성 판정 값들에 기초하여 디코딩 성공 여부를 결정하고 컨트롤러(44)는 각각의 디코딩 성공 여부에 따라 다수의 디코더 스테이지들(42, ..., 43) 각각의 인에이블/디스에이블을 제어한다.
다수의 디코더 스테이지들(42, ..., 43) 각각에 의하여 수신 신호에 대한 디코딩이 실패한 경우, 연성 판정 레벨 결정 블록(25)은 컨트롤러(44)로부터 출력된 제어 신호(SCT)에 응답하여 3-비트 연성 판정 레벨을 결정하고 그 연성 판정 결과로서 8-레벨 연성 판정 값들을 출력한다.
도 3에 도시된 디코더(30)의 구조와 동작은 연성 판정 레벨 결정 블록(25)을 제외하고 도 2에 도시된 디코더(30)의 구조와 동작과 실질적으로 동일하다. 도 3에 도시된 디코더(30)의 동작은 도 5부터 도 8을 참조하여 상세히 설명될 것이다.
도 5는 본 발명의 일 실시 예에 따른 계층적 디코딩 방법을 나타내는 흐름도이다. 도 2, 도 3, 및 도 4를 참조하여 본 발명의 일 실시 예에 따른 계층적 디코 딩 방법을 설명하면 다음과 같다.
우선, 도 4에 도시된 디코딩 방법의 설명의 편의를 위해 도 2 또는 도 3에 도시된 디코더(30)는 제1디코더 스테이지(41), 제2디코더 스테이지(42), 및 컨트롤러(44)를 포함한다고 가정한다. 이하에서 사용되는 신호는 적어도 하나의 신호를 의미한다.
또한, 제1디코더 스테이지(41)는, 컨트롤러(44)의 제어하에, 상대적으로 낮은 연산 복잡도를 갖는 알고리즘, 예컨대 비트-플리핑(bit-flipping) 알고리즘을 사용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작(또는, 에러 정정 동작)을 수행하고, 제2디코더 스테이지(42)는, 컨트롤러(44)의 제어하에, 제1디코더 스테이지(41)의 연산 복잡도보다 높은 연산 복잡도를 갖는 알고리즘, 예컨대 합-곱 알고리즘 또는 최소-합 알고리즘을 사용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작(또는, 에러 정정 동작)을 수행한다고 가정한다.
우선, 디코딩 동작(또는 에러 정정 동작)이 시작되면, 컨트롤러(44)는 채널(21)을 통하여 입력된 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 기초하여, 즉 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)의 BER을 측정하고 측정 결과에 기초하여 채널(21)의 상태를 추정한다.
예컨대, 채널(21)의 상태가 좋거나 또는 BER이 적은 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)가 입력되는 경우, 컨트롤러(44)는 제 1디코더 스테이지(41)를 인에이블시키고 제2디코더 스테이지(42)를 디스에이블시킨다.
제1디코더 스테이지(41)는 채널(41)을 통하여 입력된 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대해 비트-플리핑(bit-flipping) 알고리즘을 적용하여 복호 동작(또는 에러 정정 동작)을 수행하고(S10 단계), 복호된 신호(또는 에러 정정된 신호)에 대하여 신드롬 값들 또는 패리티 검사식을 만족하지 않는 체크 노드의 개수를 계산하고, 계산된 신드롬 값들 또는 만족하지 않는 체크 노드의 개수가 "0"인 경우 복호된 신호(또는 에러 정정된 신호)를 복호 결과(ECS)로서 출력한다. 따라서, 디코딩은 성공적으로 종료된다(S17단계).
복호 결과(ECS)가 디코더(30)로부터 외부로 또는 다른 블록으로 출력되는 방법에는 여러 가지가 있다. 예컨대, 복호 결과(ECS)는 제1디코더 스테이지(41)로부터 직접 출력될 수도 있고, 제2디코더 스테이지(42)를 경유하여 출력될 수도 있고, 컨트롤러(44)를 경유하여 출력될 수도 있다.
그러나, 계산된 신드롬 값들 또는 만족하지 않는 체크 노드의 개수가 "0"이 아니 경우(S12단계), 제1디코더 스테이지(41)의 신드롬 계산 블록(또는 체크 노드 계산 블록)은 그 계산 결과를 컨트롤러(44)로 전송한다.
컨트롤러(44)는 제1디코더 스테이지(41)의 신드롬 계산 블록(또는 체크 노드 계산 블록)으로부터 출력된 계산 결과에 응답하여 제2디코더 스테이지(42)를 인에이블시킨다.
따라서, 제2디코더 스테이지(42)는 채널(21)을 통하여 입력된 수신 신호(또 는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대해 합-곱 알고리즘 또는 최소-합 알고리즘을 적용하여 복호 동작(또는 에러 정정 동작)을 수행하고(S14단계), 디코드된 신호(또는 에러 정정된 신호)에 대하여 신드롬 값들 또는 패리티 검사식을 만족하지 않는 체크 노드의 개수를 계산하고, 계산된 신드롬 값들 또는 만족하지 않는 체크 노드의 개수가 "0"인 경우 디코드된 신호(또는 에러 정정된 신호)를 복호 결과(ECS)로서 출력한다. 따라서, 디코딩은 성공적으로 종료된다 (S17단계).
이 경우, 복호 결과(ECS)가 디코더(30)로부터 출력되는 방법에는 여러 가지가 있다. 예컨대, 복호 결과(ECS)는 제2디코더 스테이지(42)로부터 직접 출력될 수도 있고, 컨트롤러(44)를 경유하여 출력될 수도 있다.
그러나, 계산된 신드롬 값들 또는 만족하지 않는 체크 노드의 개수가 "0"이 아니 경우(S16단계), 디코딩은 실패로 종료된다(S19단계).
도 2, 도 3, 및 도 4를 참조하여 설명한 바와 같이, 채널(21)의 상태가 좋을 때 또는 BER이 적은 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대해서 디코더(30)는 연산 복잡도가 상대적으로 낮은 알고리즘(예컨대, 단일 비트-플리핑 알고리즘 또는 다중 비트-플리핑 알고리즘)을 사용하는 제1디코더 스테이지(41)를 우선적으로 사용하여 복호 동작(또는, 에러 정정 동작)을 수행한다.
그리고, 제1디코더 스테이지(41)에서 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작이 실패한 경우, 제2디코더 스테 이지(42)를 사용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작을 수행한다. 즉, 제1디코더 스테이지(41)에서의 복호 동작의 성공 여부에 따라 제2디코더 스테이지(42)의 복호 동작 여부가 결정된다.
그러나, 채널(21)의 상태가 좋지 않을 때 또는 BER이 높은 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대해서는 디코더(30)는 제1디코더 스테이지(41)와 제2디코더 스테이지(41)를 순차적으로 사용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작을 수행할 수 있다.
또한, 채널(21)의 상태가 좋지 않을 때 또는 BER이 높은 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대해서는, 디코더(30)는 컨트롤러(44)의 채널 추정 결과에 기초하여 연산 복잡도가 상대적으로 낮은 제1디코더 스테이지(41)를 디스에이블시키고 연산 복잡도가 상대적으로 높은 제2디코더 스테이지(42)를 인에이블시킬 수 있다.
도 6은 본 발명의 다른 실시 예에 따른 계층적 디코딩 방법을 나타내는 흐름도이다. 도 2, 도 3, 및 도 6을 참조하여 본 발명의 일 실시 예에 따른 계층적 디코딩 방법을 설명하면 다음과 같다.
우선, 설명의 편의를 위해 도 2에 도시된 디코더(30)는 제1디코더 스테이지(41), 제2디코더 스테이지(42), 외부 디코더 스테이지(50), 및 컨트롤러(44)를 포함한다고 가정한다.
또한, 제1디코더 스테이지(41)는 상대적으로 낮은 연산 복잡도를 갖는 알고 리즘, 예컨대 비트-플리핑(bit-flipping) 알고리즘을 사용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작(또는, 에러 정정 동작)을 수행하고, 제2디코더 스테이지(42)는 제1디코더 스테이지(41)의 연산 복잡도보다 높은 연산 복잡도를 갖는 알고리즘, 예컨대 합-곱 알고리즘 또는 최소-합 알고리즘을 사용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작(또는 에러 정정 동작)을 수행하고, 외부 디코더 스테이지(50)는 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작(또는 에러 정정 동작)을 수행한다고 가정한다.
도 6에 도시된 계층적 디코딩 방법은, 도 5에 도시된 계층적 디코딩 방법과 달리, 제2디코더 스테이지(42)에서 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작이 실패한 경우 외부 디코더 스테이지(50)를 이용하여 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작(또는 에러 정정 동작)을 한번 더 수행한다.
즉, 채널(21)의 상태에 따라, 본 발명의 실시 예에 따른 디코더(30)는, 컨트롤러(11)의 제어하에, 제1디코더 스테이지(41)에서 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작이 실패한 경우(S10단계와 S12단계), 제2디코더 스테이지(42)를 이용하여 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작을 수행하고, 제2디코더 스테이지(42)에서 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작이 실패한 경우(S14단계와 S16단계), 외부 디코더 스 테이지(50)를 이용하여 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작을 수행한다(S20단계).
또한, 채널(21)의 상태에 따라, 본 발명의 실시 예에 따른 디코더(30)는, 컨트롤러(11)의 제어하에, 제1디코더 스테이지(41)에서 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작이 실패한 경우 제2디코더 스테이지(42)를 디스에이블시키고 외부 디코더(50)를 이용하여 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작을 수행할 수 있다.
그리고, 채널(21)의 상태에 따라, 본 발명의 실시 예에 따른 디코더(30)는, 컨트롤러(11)의 제어하에, 제1디코더 스테이지(41)에 의한 복호 동작을 생략하고 제2디코더 스테이지(41)를 이용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작을 수행하고, 제2디코더 스테이지(41)에서 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작이 실패한 경우 외부 디코더(50)를 이용하여 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작을 수행할 수 있다.
또한, 채널(21)의 상태에 따라, 본 발명의 실시 예에 따른 디코더(30)는, 컨트롤러(11)의 제어하에, 제1디코더 스테이지(41)와 제2디코더 스테이지(42)에 의한 복호 동작을 생략하고 외부 디코더(50)를 이용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 복호 동작을 수행할 수 있다.
도 7은 본 발명의 또 다른 실시 예에 따른 계층적 디코딩 방법을 나타내는 흐름도이다. 도 7은 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작이 성공하지 못한 경우 컨트롤러(44)의 제어하에 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작을 반복적으로 수행하는 방법을 설명하기 위한 흐름도이다.
외부 디코더 스테이지(50)에서도 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작이 성공하지 못한 경우, 디코더(30)는 컨트롤러(44)의 제어하에 상기 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대하여 S10 단계 내지 S20 단계를 순차적으로 수행하거나 또는 S14 단계 내지 S20단계를 순차적으로 수행한다.
외부 디코더 스테이지(50)에서 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작이 성공하면, 디코더(30)의 디코딩 동작은 종료된다. 따라서, 본 발명의 실시 예에 따른 계층적 디코딩 방법을 이용하면 디코더(30)의 전체적인 에러 정정 능력이 개선되는 효과가 있다.
도 8은 본 발명의 또 다른 실시 예에 따른 계층적 디코딩 방법을 나타내는 흐름도이다. 도 8은 제2디코더 스테이지(42)의 체크 노드 계산 블록(또는 신드롬 계산 블록)에 의하여 계산된 패리티 검사식을 만족하지 않는 체크 노드의 개수(또는 "0"이 아닌 신드롬 값들의 개수)와 기준 개수를 비교하고, 그 비교 결과에 따라 외부 디코더 스테이지(50)를 이용하여 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작을 수행할 지의 여부를 판단하는 방법을 설명하기 위한 흐름도이다.
도 8에 도시된 S10 단계 내지 S16 단계는 도 5 또는 도 6을 참조하여 설명된 S10 단계 내지 S16 단계와 동일하다.
제2디코더 스테이지(42)의 신드롬 계산 블록(또는 체크 노드 계산 블록)에서 계산된 신드롬 값들(또는 만족하지 않는 체크 노드의 개수)이 "0"이 아닌 경우(S16단계), 제2디코더 스테이지(42)는 계산된 신드롬 값들 또는 만족하지 않는 체크 노드의 개수를 컨트롤러(44)로 전송한다.
컨트롤러(44)는 "0"이 아닌 신드롬 값의 개수(NUC) 또는 만족하지 않는 체크 노드의 개수(NUC))와 기준 개수(Nth)를 비교한다(S40단계).
만족하지 않는 체크 노드의 개수(NUC)가 기준 개수(Nth)보다 작은 경우, 컨트롤러(44)는 외부 디코더 스테이지(50)를 인에이블시킨다. 따라서, 외부 디코더 스테이지(50)는 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)에 대한 디코딩 동작을 수행하고(S42단계), 디코딩 동작을 종료한다(S44).
그러나, 만족하지 않는 체크 노드의 개수(NUC)가 기준 개수(Nth)보다 큰 경우, 컨트롤러(44)는 외부 디코더 스테이지(50)를 인에이블시키지 않고 디코딩 동작을 종료한다(S46단계).
도 2부터 도 8을 참조하여 설명한 바와 같이, 통신 시스템 또는 데이터 저장 시스템의 수신기에 사용되는 디코더(30)는 수신 신호(또는 연성 판정 레벨 결정 블록(25)으로부터 출력된 신호)를 전송하는 채널의 상태를 추정하고 추정 결과에 따라 계층적인 다수의 복호 알고리즘들 중에서 적어도 하나를 계층적으로 수행할 수 있으므로 복호 지연 시간과 소모되는 전력을 감소시킬 수 있다. 따라서, 디코더(30)의 에러 정정 능력 또는 BER 성능은 개선된다.
본 발명의 실시 예에 따른 디코더(30)는 서로 다른 연산 복잡도를 갖는 복호 알고리즘을 사용할 뿐만 아니라 서로 다른 연성 판정 레벨을 사용하여 수신 신호에 대한 복호 동작을 수행할 수 있다. 따라서 디코더(30)의 복호 성능을 개선할 수 있는 효과가 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 디코더를 나타낸다.
도 2는 본 발명의 실시 예에 따른 계층적 디코더를 포함하는 에러 정정 시스템의 블락 도를 나타낸다.
도 3은 본 발명의 다른 실시 예에 따른 계층적 디코더를 포함하는 에러 정정 시스템의 블락 도를 나타낸다.
도 4는 일반적인 패리티 체크 행렬과 이분 그래프의 일 예를 나타낸다.
도 5는 본 발명의 일 실시 예에 따른 계층적 디코딩 방법을 나타내는 흐름도이다.
도 6은 본 발명의 다른 실시 예에 따른 계층적 디코딩 방법을 나타내는 흐름도이다.
도 7은 본 발명의 또 다른 실시 예에 따른 계층적 디코딩 방법을 나타내는 흐름도이다.
도 8은 본 발명의 또 다른 실시 예에 따른 계층적 디코딩 방법을 나타내는 흐름도이다.

Claims (22)

  1. 각각이, 서로 다른 복호 알고리즘을 사용하여, 입력되는 수신 신호에 대한 복호 동작을 수행하는 다수의 디코더 스테이지들; 및
    상기 다수의 디코더 스테이지들 중에서 제1디코더 스테이지에 의하여 수행된 상기 수신 신호에 대한 복호 성공 여부에 응답하여 상기 다수의 디코더 스테이지들 중에서 제2디코더 스테이지의 복호 동작 여부를 제어하는 컨트롤러를 포함하고,
    상기 컨트롤러는 상기 제1디코더 스테이지에 의해 수행된 상기 복호 동작이 성공하지 못한 경우, 상기 제2디코더 스테이지가 상기 수신 신호에 대한 상기 복호 동작을 수행하도록 상기 수신 신호의 전송을 제어하고,
    상기 제1디코더 스테이지는 상대적으로 낮은 연산 복잡도를 갖고, 상기 제2디코더 스테이지는 상대적으로 높은 연산 복잡도를 갖는 디코더.
  2. 제1항에 있어서, 상기 컨트롤러는 상기 제1디코더 스테이지에 의하여 복호된 신호에 대한 신드롬 값을 계산하고, 계산된 신드롬 값에 기초하여 상기 복호 성공 여부를 판단하고, 판단 결과에 기초하여 상기 제2디코더 스테이지의 복호 동작 여부를 제어하는 디코더.
  3. 각각이, 서로 다른 복호 알고리즘을 사용하여, 입력되는 수신 신호에 대한 복호 동작을 수행하는 다수의 디코더 스테이지들;
    제1선택 신호에 응답하여, 상기 수신 신호를 상기 다수의 디코더 스테이지들 중에서 제1디코더 스테이지로 전송하기 위한 디멀티플렉서;
    제2선택 신호에 응답하여, 상기 제1디코더 스테이지의 출력 신호를 출력하기 위한 멀티플렉서; 및
    상기 제1디코더 스테이지의 출력 신호에 응답하여 상기 수신 신호에 대한 디코딩 성공 여부를 판단하고, 판단 결과에 기초하여 상기 디멀티플렉서가 상기 수신 신호를 상기 다수의 디코더 스테이지들 중에서 제2디코더 스테이지로 전송하도록 상기 제1선택 신호를 생성하고, 상기 멀티플렉서가 상기 제2디코더 스테이지의 출력 신호를 출력하도록 상기 제2선택 신호를 생성하는 컨트롤러를 포함하고,
    상기 제1디코더 스테이지는 상대적으로 낮은 연산 복잡도를 갖고, 상기 제2디코더 스테이지는 상대적으로 높은 연산 복잡도를 갖는 디코더.
  4. 제3항에 있어서, 상기 디코더는,
    상기 수신 신호를 저장하기 위한 버퍼를 더 포함하며, 상기 버퍼는, 상기 판단 결과에 기초하여 생성된 제어 신호에 응답하여, 저장된 상기 수신 신호를 상기 디멀티플렉서로 전송하는 디코더.
  5. 제3항에 있어서, 상기 컨트롤러는 상기 제1디코더 스테이지의 출력 신호에 대한 신드롬 값을 계산하고, 계산된 신드롬 값에 기초하여 상기 복호 성공 여부를 판단하고, 판단 결과에 기초하여 상기 제2디코더 스테이지의 복호 동작 여부를 제어하는 디코더.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020080043149A 2008-05-09 2008-05-09 계층적 디코딩 장치 KR101526317B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080043149A KR101526317B1 (ko) 2008-05-09 2008-05-09 계층적 디코딩 장치
US12/428,511 US8347194B2 (en) 2008-05-09 2009-04-23 Hierarchical decoding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080043149A KR101526317B1 (ko) 2008-05-09 2008-05-09 계층적 디코딩 장치

Publications (2)

Publication Number Publication Date
KR20090117213A KR20090117213A (ko) 2009-11-12
KR101526317B1 true KR101526317B1 (ko) 2015-06-11

Family

ID=41267884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080043149A KR101526317B1 (ko) 2008-05-09 2008-05-09 계층적 디코딩 장치

Country Status (2)

Country Link
US (1) US8347194B2 (ko)
KR (1) KR101526317B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102216006B1 (ko) * 2020-07-01 2021-02-16 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544090B2 (en) * 2010-03-31 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Hard input low density parity check decoder
US8627175B2 (en) 2010-09-27 2014-01-07 Seagate Technology Llc Opportunistic decoding in memory systems
US8243511B2 (en) 2010-09-27 2012-08-14 Seagate Technology Llc Reuse of information from memory read operations
WO2012097046A1 (en) * 2011-01-14 2012-07-19 Marvell World Trade Ltd. Ldpc multi-decoder architectures
US9009578B1 (en) * 2011-11-11 2015-04-14 Marvell International Ltd. Methodology for improved bit-flipping decoder in 1-read and 2-read scenarios
US8645789B2 (en) * 2011-12-22 2014-02-04 Sandisk Technologies Inc. Multi-phase ECC encoding using algebraic codes
CN102567134B (zh) * 2012-01-06 2015-01-07 威盛电子股份有限公司 存储器模块的错误检查与校正系统以及方法
JP5772622B2 (ja) * 2012-01-20 2015-09-02 株式会社Jvcケンウッド 復号装置および復号方法
US9116822B2 (en) * 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
US9344117B2 (en) 2013-03-15 2016-05-17 Mellanox Technologies, Ltd. Methods and systems for error-correction decoding
US9459956B2 (en) 2013-07-19 2016-10-04 Seagate Technology Llc Data decoder with trapping set flip bit mapper
US9323584B2 (en) 2013-09-06 2016-04-26 Seagate Technology Llc Load adaptive data recovery pipeline
US9280422B2 (en) * 2013-09-06 2016-03-08 Seagate Technology Llc Dynamic distribution of code words among multiple decoders
WO2015051835A1 (en) * 2013-10-09 2015-04-16 Telefonaktiebolaget L M Ericsson (Publ) An iterative decoder and method for improved error rate performance
US9317361B2 (en) * 2013-11-27 2016-04-19 Seagate Technology Llc Bit-line defect detection using unsatisfied parity code checks
US10200064B1 (en) 2014-03-18 2019-02-05 Marvell International Ltd. Systems and method for bit-flipping decoders with partial-column processing, ordering and scheduling
US10038456B1 (en) 2014-03-25 2018-07-31 Marvell International Ltd. Decoders with look ahead logic
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
TWI543178B (zh) * 2014-06-10 2016-07-21 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TW201611620A (zh) * 2014-09-05 2016-03-16 可取國際股份有限公司 數位影像錄放影機與其錄放影方法
KR102149674B1 (ko) * 2014-10-13 2020-09-01 삼성전자주식회사 에러 정정 디코더 및 에러 정정 디코더의 동작 방법
JP6605839B2 (ja) * 2015-05-08 2019-11-13 株式会社東芝 復号装置、復号方法及びプログラム
KR20170068681A (ko) 2015-12-09 2017-06-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN105897277B (zh) * 2016-03-28 2019-06-14 北京交大思诺科技股份有限公司 解码器解码性能分析方法及装置
US10396826B2 (en) * 2016-10-26 2019-08-27 Huawei Technologies Co., Ltd. Software defined network with selectable low latency or high throughput mode
KR20180086687A (ko) * 2017-01-23 2018-08-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11443820B2 (en) * 2018-01-23 2022-09-13 Microchip Technology Incorporated Memory device, memory address decoder, system, and related method for memory attack detection
US11005503B2 (en) 2018-03-16 2021-05-11 SK Hynix Inc. Memory system with hybrid decoding scheme and method of operating such memory system
US10884858B2 (en) 2018-03-16 2021-01-05 SK Hynix Inc. LDPC decoding device, memory system including the same and method thereof
US11070234B2 (en) * 2018-03-16 2021-07-20 SK Hynix Inc. Memory system with hybrid decoding scheme with information exchange and method of operating such memory system
TWI718060B (zh) * 2019-12-09 2021-02-01 慧榮科技股份有限公司 記憶體控制器及快閃記憶體的存取方法
TWI697000B (zh) * 2019-12-09 2020-06-21 慧榮科技股份有限公司 記憶體控制器及快閃記憶體的存取方法
TWI769002B (zh) * 2021-07-06 2022-06-21 睿寬智能科技有限公司 資料儲存系統選擇解碼策略之裝置
TWI769001B (zh) * 2021-07-06 2022-06-21 睿寬智能科技有限公司 資料儲存系統選擇解碼策略之方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010013217A (ko) * 1997-05-30 2001-02-26 밀러 럿셀 비 파일 공중 전송을 위한 에러 보호를 제공하는 방법 및 장치
US20040148561A1 (en) * 2003-01-23 2004-07-29 Ba-Zhong Shen Stopping and/or reducing oscillations in low density parity check (LDPC) decoding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239870B2 (ja) * 1998-12-28 2001-12-17 日本電気株式会社 データ誤り訂正システム
US6553536B1 (en) * 2000-07-07 2003-04-22 International Business Machines Corporation Soft error correction algebraic decoder
KR20050045470A (ko) 2003-11-11 2005-05-17 삼성전자주식회사 터보코드 복호의 비트 단위 조기정지장치 및 방법
CN101069356A (zh) 2004-12-02 2007-11-07 三菱电机株式会社 解码装置以及通信装置
KR100846869B1 (ko) 2004-12-16 2008-07-16 한국전자통신연구원 저 복잡도 ldpc복호 장치 및 그 방법
US7286439B2 (en) * 2004-12-30 2007-10-23 Sandisk 3D Llc Apparatus and method for hierarchical decoding of dense memory arrays using multiple levels of multiple-headed decoders

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010013217A (ko) * 1997-05-30 2001-02-26 밀러 럿셀 비 파일 공중 전송을 위한 에러 보호를 제공하는 방법 및 장치
US20040148561A1 (en) * 2003-01-23 2004-07-29 Ba-Zhong Shen Stopping and/or reducing oscillations in low density parity check (LDPC) decoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102216006B1 (ko) * 2020-07-01 2021-02-16 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
US11348658B2 (en) 2020-07-01 2022-05-31 FADU Inc. Memory controller and storage device including the same

Also Published As

Publication number Publication date
KR20090117213A (ko) 2009-11-12
US8347194B2 (en) 2013-01-01
US20090282319A1 (en) 2009-11-12

Similar Documents

Publication Publication Date Title
KR101526317B1 (ko) 계층적 디코딩 장치
EP1696786B1 (en) Turbo equalisation using soft input - soft output signal processing and iterative message passing decoding
US10439758B2 (en) Receiving apparatus and decoding method thereof
US10291261B2 (en) Early selection decoding and automatic tuning
US7890844B2 (en) Apparatus and method for transmitting/receiving signal in a communication system using low density parity check code
US7770090B1 (en) Efficient decoders for LDPC codes
US20180331696A1 (en) Low power scheme for bit flipping low density parity check decoder
US20090094470A1 (en) Method and apparatus for power reduction in iterative decoders
JP4777876B2 (ja) ターボデコーダの反復の早期終了
KR20090126829A (ko) 반복 복호 방법과 반복 복호 장치
EP1482643A2 (en) Method and apparatus for decoding a low density parity check (LDPC) code in a communication system
JP2010158015A (ja) 対数尤度マッパのスケールファクタを最適化するブロードキャストレシーバ及び方法
JP2008544721A (ja) 反復デコーダの電力削減のための方法及び装置
US7958424B2 (en) Multi-channel LDPC decoder architecture
US11641213B2 (en) Log-likelihood ratio mapping tables in flash storage systems
WO2018179246A1 (en) Check bit concatenated polar codes
CN101106383A (zh) 一种低密度奇偶校验码的译码方法
US20170222659A1 (en) Power improvement for ldpc
CN111510163A (zh) 一种极化码译码方法及装置、存储介质
JP5034588B2 (ja) 軟判定復号装置および軟判定復号プログラム
JP7038910B2 (ja) 復号装置、制御回路および記憶媒体
JP5500203B2 (ja) 軟判定復号装置および軟判定復号プログラム
EP2464019A1 (en) Low density parity-check code decoding
MC MK et al. 5656 AG Eindhoven (NL)

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 5