KR100881192B1 - 에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법 - Google Patents

에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법 Download PDF

Info

Publication number
KR100881192B1
KR100881192B1 KR1020070040925A KR20070040925A KR100881192B1 KR 100881192 B1 KR100881192 B1 KR 100881192B1 KR 1020070040925 A KR1020070040925 A KR 1020070040925A KR 20070040925 A KR20070040925 A KR 20070040925A KR 100881192 B1 KR100881192 B1 KR 100881192B1
Authority
KR
South Korea
Prior art keywords
error
codeword
polynomial
error pattern
patterns
Prior art date
Application number
KR1020070040925A
Other languages
English (en)
Other versions
KR20080043679A (ko
Inventor
박지훈
문재균
이준
Original Assignee
삼성전자주식회사
리전츠 오브 더 유니버스티 오브 미네소타
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 리전츠 오브 더 유니버스티 오브 미네소타 filed Critical 삼성전자주식회사
Publication of KR20080043679A publication Critical patent/KR20080043679A/ko
Application granted granted Critical
Publication of KR100881192B1 publication Critical patent/KR100881192B1/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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/17Burst error correction, e.g. error trapping, Fire 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

잡음이 있는 통신 채널을 통해서 전송된 코드워드 내의 에러 패턴을 검출하는 방법이 개시된다. 신드롬은 검출된 코드워드에 생성 다항식을 적용하여 생성한다. 상기 생성 다항식은 상기 통신 채널을 통한 전송과정에서 상기 코드워드에 발생할 수 있는 L(L>1)개의 다른 에러 패턴들의 각각에 대해 구별되는 신드롬 세트를 생성하기에 적합하다. 상기 코드워드 내의 에러 패턴의 종류와 시작 위치는 상기 신드롬 또는 상기 신드롬의 이동 버전을 기반으로 검출된다.
Figure R1020070040925
코드워드, 비터비 디코더, 생성 다항식, ML(Maximum Likelihood)

Description

에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법{A method of detecting an error pattern, an error correction apparatus, and a method of encoding data}
도 1은 본 발명의 일 실시예에 따른 에러 패턴 정정 기술을 나타내는 블록 다이어그램이다.
도 2는 다양한 에러 정정 기술의 BERs(Bit Error Rates)을 비교 목적으로 나타낸 그래프이다.
도 3은 다양한 에러 정정 기술의 SERs(Sector Error Rates)을 비교 목적으로 나타낸 그래프이다.
본 발명은 에러 정정 방법에 관한 것으로서, 보다 상세하게는 소정의 에러 패턴의 단일 발생(single occurrence)을 정정할 수 있는 에러 정정 방법에 관한 것이다.
에러 검출 및 정정 기술은 데이터가 잡음이 있는 통신 채널을 통해 전송되는 다양한 통신 시스템에서 중요한 역할을 수행한다. 잡음이 있는 채널을 통해 데이터를 전송하면 에러가 발생할 수 있으므로, 에러 검출 및 정정 기술을 이용하여 에러 가 발생한 데이터를 에러가 발생하기 이전의 원래 상태로 되돌릴 필요가 있다.
대부분의 에러 검출 및 정정 기술은 페이로드 데이터를 통신 채널을 통해 전송할 때 일정한 형태의 여분 데이터(redundant data)를 함께 전송하는데, 예를 들면, 패리티 비트(parity bit) 또는 체크 섬(checksum)과 같은 여분 데이터를 전송할 데이터에 결합한 후, 상기 여분 데이터를 에러를 검출하거나 정정하는 데 사용할 수 있다.
일반적인 에러 검출 및 정정 기술로는 순환 중복 검사(Cyclic Redundancy Check:CRC)가 사용될 수 있는데, 이는 코드워드를 생성하기 위해 생성 다항식을 이용하여 전송할 데이터를 변형하는 방식이다. 여기서 코드워드라는 용어는 코드를 생성하기 위해 변형되는 데이터로 넓게 해석되어야 한다. 코드워드의 길이는 가변적이며, 다양한 주기를 갖는 순환 코드를 포함할 수 있다.
이하, 본 명세서에서는, 전송 코드워드는 수신 단에 의해 디코딩되기 전의 코드워드를 의미하는 것으로 사용하고, 검출 코드워드는 수신 단에 의해 디코딩된 후의 코드워드를 의미하는 것으로 사용한다. 전송 과정에서 전송 코드워드에 에러가 발생할 수 있으므로, 상기 전송 코드워드와 상기 검출 코드워드는 다를 수 있다.
일정한 통신 채널은 특정 패턴들 형태로 에러를 유발하는 경향이 있다. 그러한 에러 패턴들은, 예를 들어, 채널 특성을 관찰하거나 채널 특성에 관한 예비 정보를 통해 알아낼 수 있다. 상술한 바와 같이, 에러는 특정 패턴들로 발생하는 경향이 있으므로, 일반적인 에러 정정 기술은 최적화된 에러 패턴 검출 및 정정 방법 을 결정하기 위해 각각의 채널에 대한 알려진 형태의 에러 패턴들을 이용한다.
알려진 형태의 에러 패턴들을 에러 정정에 사용하는 한가지 방법으로는, 검출된 코드워드에 대한 추정된 에러 신호를 산출한 후, 상기 추정된 에러 신호와 상기 알려진 형태의 에러 패턴과의 상관성을 판단하는 것이다. 이러한 방법을 성공적으로 수행하면, 상기 검출된 코드워드 내에 있는 에러 패턴과 상기 에러 패턴의 시작 위치를 알 수 있다.
종래의 에러 검출 및 정정방법은 등화된 시퀀스와 검출된 코드워드 및 등화기 목표 응답의 컨벌루션과의 차이를 통해 상기 추정된 에러 신호를 산출한다. 여기서, 상기 검출된 코드워드는 상기 등화된 시퀀스에 비터비 디코딩 연산을 수행하여 생성되는 것을 의미하고, 상기 등화기 목표 응답은 상기 등화된 시퀀스를 생성하기 위해 사용되는 등화기의 부분 응답을 의미한다.
그러나, 상기 기술은 잘못된 종류의 에러 패턴을 예측하거나 상기 검출된 코드워드 내에 있는 에러 패턴의 위치를 잘못 예측함으로써 에러를 올바르게 정정하는 못하는 경향을 갖는다. 이러한 잘못된 정정으로 인해 상기 에러 정정 기술은 통신 시스템의 성능에 부정적인 영향을 미칠 수 있게 된다.
본 발명이 이루고자 하는 기술적 과제는, 잡음이 있는 통신 채널을 통해 전송되는 코드워드에 발생할 수 있는 복수 개의 에러 패턴들에 대한 신드롬 세트들이 서로 달라지게 함으로써 잘못된 정정이 수행되는 것을 방지할 수 있는 에러 정정 방법 및 이에 적합한 장치를 제공하는 데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 에러 정정 방법은,
잡음이 있는 통신 채널을 통해 전송되는 코드워드 내의 에러 패턴을 검출하는 방법에 있어서, 상기 코드워드를 검출하는 단계, 상기 통신 채널을 통한 전송과정에서 상기 코드워드 내에 발생하는 L(L>1)개의 다른 에러 패턴들 각각에 대해 구별되는 신드롬 세트를 생성하기에 적합한 생성 다항식을 상기 코드워드에 적용하여 상기 신드롬을 생성하는 단계, 상기 신드롬을 기반으로 상기 코드워드 내의 에러 패턴의 종류를 결정하는 단계, 및 상기 코드워드 내의 상기 에러 패턴의 시작 위치를 결정하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 에러 패턴의 종류와 상기 에러 패턴의 시작 위치를 기반으로 상기 에러 패턴을 정정하는 방법을 더 포함한다. 바람직하게는, 상기 에러 패턴의 상기 시작 위치는, 최대 유사(Maximum likelihood) 추정 및 소프트 메트릭을 이용하여 결정한다. 바람직하게는, 상기 코드워드는, 확장 순환 코드를 포함한다.
바람직하게는, 상기 생성 다항식은,
방정식
Figure 112007031716087-pat00001
(여기서,
Figure 112007031716087-pat00002
(j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
Figure 112007031716087-pat00003
(i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
Figure 112007031716087-pat00004
(j ∈{1,2,…,K})는 어느 하나의 에러 다항식
Figure 112007031716087-pat00005
에 있는 각각의
Figure 112007031716087-pat00006
의 최대 멱지수들을 나타낸다)의 형태를 가진다.
바람직하게는, 상기 생성 다항식과 상기 L개의 에러 패턴들에 상응하는 복수 개의 에러 다항식들
Figure 112007031716087-pat00007
사이의 최대 공약수들은 서로 다르다.
바람직하게는, 상기 바이어스 소프트 메트릭은,
방정식
Figure 112007031716087-pat00008
(여기서,
Figure 112007031716087-pat00009
(j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
Figure 112007031716087-pat00010
(i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
Figure 112007031716087-pat00011
는 비터비 디코더의 입력을 나타내고,
Figure 112007031716087-pat00012
는 길이
Figure 112007031716087-pat00013
인 통신 채널의 목표 응답
Figure 112007031716087-pat00014
과 상기 비터비 디코더의 출력의 컨벌루션을 나타내고,
Figure 112007031716087-pat00015
는 상기 목표 응답
Figure 112007031716087-pat00016
과 상기 비터비 디코더의 출력의 컨벌루션을 나타내며,
Figure 112007031716087-pat00017
는 에러 다항식
Figure 112007031716087-pat00018
와 상기 목표 응답
Figure 112007031716087-pat00019
의 컨벌루션을 나타낸다)에 의해 계산된다.
바람직하게는, 상기 에러 패턴의 상기 시작 위치를 결정하는 단계는, 상기 코드워드 내의 상기 신드롬의 주기와 상기 에러 패턴의 비트 극성을 산출하는 단계를 포함한다.
바람직하게는, 상기 에러 패턴의 상기 시작 위치를 결정하는 단계는,
방정식
Figure 112007031716087-pat00020
(여기서,
Figure 112007031716087-pat00021
(j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
Figure 112007031716087-pat00022
(i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
Figure 112007031716087-pat00023
는 비터비 디코더의 입력을 나타내고,
Figure 112007031716087-pat00024
는 길이
Figure 112007031716087-pat00025
인 통신 채널의 목표 응답
Figure 112007031716087-pat00026
과 상기 비터비 디코더의 출력의 컨벌루션을 나타내고,
Figure 112007031716087-pat00027
는 상기 목표 응답
Figure 112007031716087-pat00028
과 상기 비터비 디코더의 출력의 컨벌루션을 나타내며,
Figure 112007031716087-pat00029
Figure 112007031716087-pat00030
는 각각
Figure 112007031716087-pat00031
Figure 112007031716087-pat00032
에 대응되며, 비터비 디코더의 생존 경로들에서 이전 비트들을 근거로 예측된 노이즈 시퀀스를 나타낸다)
에 의해 정의되는 상태 최대 유사 메트릭(a conditional maximum likelihood metric)을 계산하는 단계를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 에러 정정 장치는,
전송된 코드워드를 수신하여 검출된 코드워드를 생성하는 비터비 디코더, 상기 검출된 코드워드를 수신하고, 통신 채널을 통한 전송과정에서 상기 코드워드 내에 발생하는 L(L>1)개의 다른 에러 패턴들 각각에 대해 구별되는 신드롬 세트를 생성하기에 적합한 생성 다항식을 상기 검출된 코드워드에 적용하여 상기 신드롬을 생성하는 신드롬 계산부, 상기 신드롬 계산부에 의해 생성된 신드롬에 기반하여 상기 검출된 코드워드 내의 에러 패턴의 종류를 결정하고, 상기 검출된 코드워드 내의 상기 에러 패턴의 잠재적 시작 위치들을 결정하는 에러 종류 결정 및 발생가능한 위치 목록 유닛, 상기 전송된 코드워드, 상기 검출된 코드워드, 및 상기 잠재적 시작 위치들을 수신하고, 상기 검출된 코드워드 내의 상기 에러 패턴의 시작 위치를 계산하는 소프트 메트릭 계산부 및 상기 에러 패턴의 종류 및 시작 위치를 근거로 상기 검출된 코드워드에 있는 상기 에러 패턴을 정정하는 에러 정정부를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 데이터 부호화 방법은,
잡음이 있는 통신 채널을 통해 전송하기 위해 데이터를 부호화하는 방법에 있어서, 코드워드를 생성하기 위하여, 상기 통신 채널을 통한 전송과정에서 코드워드 내에 발생하는 L(L>1)개의 다른 에러 패턴들 각각에 대해 구별되는 신드롬 세트를 생성하기에 적합한 생성 다항식을 상기 데이터에 적용하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시예들을 상응하는 도면들을 참조하여 설명하기로 한다. 다만, 이러한 실시예들은 단지 예시적인 것일 뿐 실제 본 발명의 권리 범위는 청구 범위에 의해 정의된다.
BCH 코드들과 같은 종래의 에러 정정 코드들(ECCs)은 수신된 데이터 워드 내의 t개의 에러들을 정정할 수 있는 최소 거리 특성을 갖도록 설계된다. 다만, 고밀도 자기 기록 장치의 리드백 채널과 같이 간섭이 우세한 채널에서는 에러들이 특정 패턴들로 생성되는 경향이 있다.
종래의 에러 정정 코드들은 자주 관측되는 에러 패턴들을 정정할 수 있지만, 모든 종류의 에러 패턴을 정정할 수 있는 것은 아니다. 예를 들면, 종래 기술들은 0이 아닌 비트들이 많은 데이터 패턴들, 즉 비중(weight)이 큰 에러 패턴들을 정정하는 데는 효과적이지 못하다.
본 발명에 따른 실시예들에서는 새로운 접근방식으로 에러 정정 코드들을 설계하는데, 예를 들면, 순환 코드들과 관련된 본 발명의 어느 실시예에서는 t비트 이상의 에러를 정정할 수 있다.
본 발명의 일 실시예에 따르면, L개의 에러 패턴들 각각에 대해 구별되는 신드롬 세트를 생성할 수 있는 생성 다항식을 이용하여 일정한 통신 채널에서 관측되는 모든 에러들의 대부분을 차지하는 상기 L개의 에러 패턴들을 검출한다.
여기서, 상기 신드롬 세트는 신드롬들의 집합을 의미하고, 상기 신드롬은 검출된 코드워드 또는 메시지 블록을 생성 다항식으로 나눈 나머지(remainder)를 의미하며, 코드워드로부터 신드롬을 결정하는 과정은 신드롬을 획득하는 것을 의미한 다.
본 발명에 따른 에러 정정 기술의 특성은, L개의 에러 패턴들 목록 맵 내에 있는 어느 에러 패턴들도 동일한 신드롬 세트를 갖지 않으면서, 상기 에러 패턴들 중 어느 하나의 단일 발생들을 성공적으로 검출할 수 있는 데 있다. 각각의 신드롬 세트 내의 각 신드롬은 알려진 형태의 에러 패턴들 목록 중 단일 에러 패턴에만 대응한다. 또한, 각각의 신드롬은 상기 검출된 코드워드 내의 단일 에러 패턴의 정확한 위치 또는 가능성이 있는 위치에 대응한다. 알려진 형태의 에러 다항식 세트에 대한 생성 다항식을 구체적으로 맞춤으로써, 상기 코드는 자주 관측되는 에러 패턴들을 처리할 때 매우 효과적일 수 있다.
코드율(code rate)은 동일한 생성 다항식을 상당히 큰 메시지 블록에 적용함으로써 확장될 수 있다. 상기 큰 메시지 블록 또한 유한한 정보(메시지) 비트들과 상응하는 체크 비트들을 포함하는 블록 코드이다. 상기 큰 메시지 블록은 메시지 블록 길이에 제한 하에 높은 코드율을 성취하도록 부호화될 수 있다. 다만, 확장 순환 코드의 전체 코드 길이는 기본 코드 길이의 정수 배가 되도록 제한된다.
베이스 코드는 생성 다항식에 의해 곱해진 메시지 블록(예를 들면, 6 메시지 비트)에 관한 순환 블록 코드로 생각할 수 있다. 확장 코드는 동일한 생성 다항식에 의해 곱해진 보다 큰 메시지 블록(예를 들어, 294(6×49) 메시지 블록)에 관한 순환 블록 코드로 생각할 수 있다. 순수 확장 코드와 베이스 코드는 일반적으로 같은 수의 체크 비트들을 갖지만, 확장 코드는 훨씬 높은 코드율을 갖는다. 예를 들면, (12,6) 베이스 코드는 0.5(6/12)의 코드율을 갖지만, (300,294) 확장 코드는 0.98(294/300)의 코드율을 갖는다.
획득된 신드롬은 알려진 형태의 에러 패턴들 목록으로부터 에러 패턴을 유일하게 구별한다. 즉, 신드롬 값을 알 수 있으면, 에러 패턴을 구별할 수 있다. 다만, 보통 하나 이상의 가능성 있는 에러 패턴의 위치가 존재하므로, 에러 패턴의 위치에 관한 최종 결정은 상기 에러 패턴과 그 발생가능한 위치 수를 바탕으로 최대 유사(Maximum likelihood) 위치를 계산함으로써 이루어진다. 그 경우, 바이어스된(biased) 형태의 소프트 메트릭은 잘못된 정정, 즉, 잘못된 에러 패턴을 정정하거나 잘못된 위치에서 에러 패턴을 정정하는 가능성을 줄여준다.
전송 데이터를 부호화하기 위한 베이스 코드의 설계는 하기에서 자세하게 기술한다. 베이스 코드는 정보(메시지) 비트 세트에 순환 코드를 위한 생성 다항식을 적용함으로써 설계된다. 상기 생성 다항식은 알려진 형태의 에러 패턴들 각각에 대해 구별되는 신드롬 세트들을 생성하도록 설계된다.
ei(x)(i=1,2,…,L)가 2진수 다항식 형태의 주요 에러 패턴들을 나타낸다고 하면, 순환 코드에서 신드롬 세트(주기)는 주어진 에러 다항식의 모든 가능성 있는 순환 이동에 상응한다. 주요 에러 패턴들 목록으로부터 어떤 에러 패턴의 단일 발생을 검출하고 정정하기 위하여, 상기 목표 에러 패턴들에 상응하는 상기 신드롬 세트들은 모두 달라야 한다(즉, 상기 신드롬 세트들은 오버래핑되지 않아야 한다). 따라서, 상기 생성 다항식은 알려진 형태의 주요 에러 패턴에 대한 신드롬 세트들이 모두 구별되도록 유리하게 설계될 수 있다.
차수 r의 생성 다항식으로 주어진 (p,p-r) 순환 코드를 나눌 때 생성되는 총 신드롬의 수는 2r이고, 발생가능한 에러 이벤트의 수는 2p이다. 따라서, 대부분의 유효 코드들에서는 p>r이므로, 발생 가능한 에러 이벤트의 수는 구별되는 신드롬들의 수보다 많다. 이로 인해, 발생 가능한 모든 에러 이벤트들에 대해 구별되는 신드롬 세트들을 생성하는 것이 불가능하다. 따라서, 상기 생성 다항식은 종래의 ECC 설계에서 행해진 바와 같이 비중이 낮은, 즉 자주 발생하지 않은 에러 이벤트들보다는 알려진 형태의 주요 에러 패턴들 세트에 대해 구별되는 신드롬 세트들을 생성하도록 설계된다.
본 발명의 일 실시예에 따라 베이스 코드를 설계하기 위한 시작점은 대상 에러 다항식들이 구별되는 신드롬 세트를 갖도록 하는 조건들을 설립하는 것이다. 그러한 하나의 조건은 다음과 같다. 생성 다항식 g(x)와 에러 다항식 ei(x) 사이의 최대 공약수(GCD:Great Common Divisor)가 ci(x)라고 하자. 만일 각각의 ci(x)가 다른 경우, 에러 다항식 ei(x)에 상응하는 각각의 신드롬 세트들은 모두 다르다.
pj(x)(여기서, j=1,2,…,K)가 모든 에러 다항식들(ei(x))을 구성하는 기약 인수들이라고 하고, dj가 어느 하나의 에러 다항식(ei(x))에 있는 pj(x)의 최대 멱지수라고 하면, 다음과 같은 형태의 생성 다항식은, 모든 에러 다항식들(ei(x))에 대해 구별되는 최대 공약수(GCD)를 발생하게 한다.
Figure 112007031716087-pat00033
모든 목표 에러 다항식들에 대해 구별되는 신드롬 세트들을 생성할 수 있는 보다 낮은 차수의 생성 다항식(g(x))이 존재할 수 있다. 그러한 생성 다항식은 0에서부터 증가하는 멱지수(dj)를 갖는 상기 다항식의 일반적인 형태(예를 들면, 모든 에러 다항식들(ei(x))의 최소 공배수(LCM))를 탐색하여 찾을 수 있다.
기록 밀도 1.4에서 5+6D-D3의 등화기 목표 응답을 가진 수직 기록을 위한 베이스 코드 설계의 예로서, 쌍곡선 탄젠트 천이 응답을 가정한다. 상기 기록 밀도는 pw50/T로 정의되고, 상기 pw50은 천이 응답 포화 레벨의 -50%에서 50%까지의 폭을 나타내고, 상기 T는 사용자 비트 주기를 나타낸다. 파라미터 D는 디지털 시퀀스의 지연 변수를 나타낸다. 혼합 잡음은 10% 부가 화이트 가우시안 잡음(AWGN)과 90% 지터 잡음인 것으로 가정한다.
디코더로서, 각각의 브렌치에 대해 4개의 예측 탭들을 가진 패턴에 종속적인 잡음 예측기(PDNP)와 통합된 비터비 디코더가 사용된다. 상기 예측기 탭들은 생존 경로에 포함된 이전 비트들에 대해 동작한다. 종래의 유클리디언 메트릭에 기반한 비터비 디코더가 비교를 위해 고려된다.
Viterbi Viterbi + PDNP 기약 인수들
±[2] 1
±[2,-2] ±[2,-2] (1+x)
±[2,-2,2] ±[2,-2,2] (1+x+x2)
±[2,-2,2,-2] ±[2,-2,2,-2] (1+x)3
±[2,-2,2,-2,2] ±[2,-2,2,-2,2] (1+x+x2+x3+x4)
±[2,-2,2,-2,2,-2] ±[2,-2,2,-2,2,-2] (1+x)(x+x+x2)2
±[2,-2,2,-2,2,-2,2] (1+x+x3)(1+x2+x3)
표 1은 각각 종래의 비터비 디코더와 비터비+PDNP 디코더에 대해 BER=5×10-5에서 관측된 에러 패턴들의 98.78%와 98.13%를 구성하는 주요 에러 패턴들을 나타낸다. 종래의 비터비 디코더에서 출력되는 에러 패턴들 ±[2]와 ±[2,-2]은 주요 패턴들이지만, 비터비+PDNP 디코더에서 훨씬 더 낮은 비율로 출력된다. 상기 등화기 목표 응답이 변화함에 따라 상기 에러 패턴 특성 또한 변화한다.
상술한 바와 같이, 모든 주요 에러 다항식들(ei(x))과 생성 다항식(g(x)) 사이의 최대 공약수들이 다르면, 상응하는 신드롬 세트들 또한 다르다. 상기 비터비+PDNP 디코더의 주요 에러 패턴들에는, (1+x),(1+x+x2), 및 (1+x+x2+x3+x4)과 같은 세 개의 기약 다항식 인자들을 갖는다.
상기 주요 에러 패턴들에 대해 서로 다른 최대 공약수들을 생성할 수 있는 생성 다항식(g(x))은 (1+x)4(1+x+x2)1(1+x+x2+x3+x4)0=1+x+x2+x4+x5+x6이다. 생성 다항식(g(x))에 대해 (1+x),(1+x+x2),(1+x3),1, 및 (1+x)(1+x+x2)과 같은 5개의 주요 에러 패턴들에 대한 최대 공약수들이 있다. 이러한 생성 다항식(g(x))은 또한 다른 에러 패턴들에 대해 다른 신드롬 세트들을 생성할 수 있게 해준다. 이러한 생성 다항식(g(x))은 12주기를 가지고, (12,6) 순환 코드를 발생시킨다.
표 2는 5개의 주요 에러 패턴들뿐 만 아니라 다항식 형태의 주요하지 않는(다만, 무시할 수는 없는) 에러 패턴들에 대한 십진수 신드롬 세트들을 나타낸다. 상기 목록에 있는 주요 에러 패턴들에 상응하는 각각의 신드롬들은 궁극적으로 각각 획득된 에러 패턴들의 신드롬을 이동시키도록 하는 피드백 시프트 레지스터로서 작용한다. 따라서, 각각의 신드롬 세트에서 오직 하나의 신드롬만이 에러 패턴을 인식하기 위해 저장될 필요가 있다. 가장 큰 신드롬 세트의 크기에 상응하는 상대적으로 작은 레이턴시, 예를 들어, 최대 12 클록 주기,는 묵인될 수 있는 것으로 가정한다.
생성 다항식(g(x)=(1+x)3(1+x+x2))은 하나의 신드롬 세트에 상응하는 각각의 알려진 형태의 에러 패턴에 관한 설계 기준을 충족한다. 다만, 상기 생성 다항식(g(x)=(1+x)3(1+x+x2))은 에러 패턴을 정정할 수 있는 다른 생성 다항식들에 비해 효과적이지 못할 수도 있다. 표 2는 상기 생성 다항식(g(x)=(1+x)3(1+x+x2))에 의해 산출된 신드롬 세트를 나타낸다.
대상 에러 패턴들 신드롬 세트(십진수)
±[2,2]/±[2,-2,2,-2,2,-2,2,-2,2,12] [48,24,12,6,3,58,29,53,33,43,46,23]
±[2,-2,2] [56,28,14,7]
±[2,-2,2,-2] [60,30,15]
±[2,-2,2,-2]/±[2,-2,2,-2,2,-2,2,-2,2,-2,2] [62,31,52,26,13,61,37,41,47,44,22,11]
±[2,-2,2,-2,2,-2]] [63,36,18,9]
±[2,-2,0,2,-2] [54,27]
±[2,-2,2,-2,2,-2,2]/±[2] [4,2,1,59,38,19,50,25,55,32,16,8]
±[2,-2,2,-2,2,-2,2,-2] [34,17,51]
±[2,-2,2,-2,2,-2,2,-2,2] [49,35,42,21]
±[2,-2,2,-2,2,-2,2,-2,2,-2] [45]
베이스 코드를 확장하는 방법에 대해 기술한다. 일단, 주기 p, 차수 r의 생성 다항식 g(x)이 정해지고, (p,p-r) 베이스 순환 코드가 주어지면, 상기 베이스 코드는 양의 정수 s을 이용하여 (ps,ps-r) 순환 코드로 확장될 수 있다. 예를 들면, 주기 12를 갖는 생성 다항식 g(x)=1+x+x2+x4+x5+x6을 통해 코드율 0.98을 갖는 (300,294) 확장 순환 코드를 생성할 수 있다.
상기 확장 순환 코드에서, 알려진 형태의 에러 패턴들 목록에 있는 특정 에러 패턴들에 상응하는 각각의 신드롬 또한 상기 확장 순환 코드의 에러 패턴에 대한 복수 개의 발생 가능한 위치들에 상응한다. 상기 코드의 순환 특성 때문에 상기 신드롬 주기들은 상기 코드의 전체 길이에 걸쳐 반복된다.
예를 들어 (300,294) 순환 코드에 대해 획득된 신드롬이 십진수 48인 경우, 에러 패턴은, 표 2를 참조하면, ±[2,-2]인 것을 알 수 있다. 다만, 상기 신드롬은 12 비트마다 반복하므로, 상기 에러 패턴에 대한 발생 가능한 시작 위치들은 {1,13,25,…,289}이다. 이미 결정된 에러 패턴에 기반한 비트 극성 검사를 통해 특정 위치들이 제외될 수 있지만, 상기 에러 패턴의 가장 가능성 있는 위치는 PDNP와 통합된 소프트 메트릭을 사용하여 찾아낼 수 있다.
상기 소프트 메트릭을 사용하는 것은 상관자 기반의 포스트 비터비 정정 프로세서를 작동시키는 것과 유사하다. 다만, 한 가지 다른 점은, 각각의 수신 블록에 대해 상기 에러 패턴에 매칭된 오직 하나의 상관자가 작용한다는 것이다. 또한, 알고 있는 가능성 있는 위치들은 단지 유사한 에러 시작 위치를 찾기 위해 검사되어 진다. 더욱이, 아래에서 설명하는 바와 같이, 상기 소프트 메트릭에서 바이어스를 도입함으로써, 추가적인 에러 정정을 제공할 수 있는 추가 정보를 생성할 수 있고 잘못된 정정의 가능성을 줄일 수 있다.
상기 소프트 메트릭을 계산하기 위하여, ei(x)는 에러 패턴들을 나타내고, pm(여기서, m=1,…,j,…,M)은 M개의 발생 가능한 에러 패턴 위치들을 나타낸다고 가정한다. 상기 소프트 메트릭은 다음과 같은 방정식에 의해 정의될 수 있다.
Figure 112007031716087-pat00034
수학식 2에서,
Figure 112007031716087-pat00035
는 비터비 디코더의 입력 시퀀스를 나타내고,
Figure 112007031716087-pat00036
는 길이
Figure 112007031716087-pat00037
의 목표 응답
Figure 112007031716087-pat00038
과 상기 비터비 디코더의 출력 시퀀스의 컨벌루션을 나타낸다.
Figure 112007031716087-pat00039
는 목표 응답
Figure 112007031716087-pat00040
와 알려진 형태의 에러 패턴
Figure 112007031716087-pat00041
에 따라 정정된 비터비 출력 시퀀스의 컨벌루션을 나타낸다.
Figure 112007031716087-pat00042
는 알려진 형태의 에러 패턴
Figure 112007031716087-pat00043
와 목표 응답
Figure 112007031716087-pat00044
의 컨벌루션을 나타낸다.
앞서 말한 것을 기반으로, 상기 M개의 위치들 각각에서 상기 바이어스된 소프트 메트릭은 아래와 같은 수학식에 따라 계산될 수 있다.
Figure 112007031716087-pat00045
수학식 3에서,
Figure 112007031716087-pat00046
Figure 112007031716087-pat00047
는 각각
Figure 112007031716087-pat00048
Figure 112007031716087-pat00049
에 관한 생존 경로에서 이전 비트들을 바탕으로 예측된 노이즈 시퀀스들을 나타낸다.
상기 노이즈(
Figure 112007031716087-pat00050
,
Figure 112007031716087-pat00051
)는 수학식 3의 부가된 수식
Figure 112007031716087-pat00052
에 의해 제거될 수 있다. 상기 소프트 메트릭은 예측 에러 패턴의 위치가 실제 위치와 정합될 때만, 잡음이 없는 알려진 형태의 출력 에러 시퀀스를 제공한다는 것을 주목해야 한다.
표 2에 나타난 바와 같이, 알려진 형태의 에러 패턴들이 아닌 에러 패턴들은 알려진 에러 패턴들에 대한 신드롬에 매핑될 수도 있다. 이러한 에러 패턴들, 즉 알려지지 않은 에러 패턴들,은 자주 발생하는 것은 아니지만, 발생할 가능성이 아주 없는 것도 아니다. 그러나, 상기 바이어스 메트릭을 통해, 상기 알려지지 않은 에러 패턴들은 주요 에러 패턴들과 구별할 수 있다.
본 발명의 실시예들에 따른 바람직한 에러 정정 방법은 아래에 기술된다. 이들 실시예들의 성능은 전체적인 BER을 통해 산출된다.
본 발명의 서로 다른 실시예에 따른 두 개의 다른 에러 정정 기술을 따른 시뮬레이션 결과를 도 2 및 도 3에 나타내었다. 첫 번째 기술은, PDNP와 통합된 제안된 ECC Ⅰ에서, 상태 최대 유사 메트릭(a conditional maximum likelihood metric)을 이용하여 알려진 형태의 에러 패턴들의 추정 위치들을 식별한다. 두 번째 기술은, 수학식 3에 따른 바이어스 소프트 메트릭을 계산하는 것을 제외하고는 첫 번째 기술과 동일한 절차로 수행된다. 상기 방정식 3의 바이어스 메트릭을 사용하면, 오정정의 가능성을 줄일 수 있을 뿐만 아니라, 어느 정도의 추가적인 에러 패턴들도 정정할 수 있다. 도 1에는 첫 번째와 두 번째 에러 정정 방법을 나타내는 블록 다이어그램이 나타나 있다.
도 1을 참조하면, 저장 데이터는 리드백 채널을 통해 전송되는 코드워드를 생성하기 위해 엔코더(102)에 의해 엔코딩된다. 상기 코드워드는 상기 리드백 채널(104)을 통해 전송된 후 적응 등화기(106)에 의해 변형된다. 상기 코드워드가 상기 적응 등화기(106)에 의해 변형된 후, 비터비 디코더(108)와 소프트 메트릭 계산부(114)에 입력된다.
비터비 디코더(108)는 검출 코드워드를 생성하기 위하여 적응 등화기(106)에서 출력되는 코드워드에 비터비 디코딩 동작을 수행한다. 그 후, 신드롬 계산부(112)는 비터비 디코더(108)에서 출력되는 검출 코드워드에 기반하여 신드롬을 계산한다. 신드롬 계산부(112)는 계산된 신드롬을 에러 종류 결정 및 발생가능한 위치 목록 유닛(116)으로 출력한다. 에러 종류 결정 및 발생가능한 위치 목록 유닛(116)은 상기 계산된 신드롬을 근거로 상기 검출된 코드워드에서 예측된 에러 패턴의 종류를 계산한다. 또한, 에러 종류 결정 및 발생가능한 위치 목록 유닛(116)은 상기 신드롬에 상응하는 신드롬 세트를 기반으로 상기 검출된 코드워드 내의 에러 패턴의 잠재적 시작 위치들을 계산하고, 상기 예측 에러 패턴 종류의 패턴 극성 검사를 수행한다.
소프트 메트릭 계산부(114)는 소정의 에러 패턴들에 포함된 에러 패턴들과 소정의 에러 패턴들에 포함되지 않은 에러 패턴들을 구별하기 위한 잠재적 에러 시작 위치들에 대한 바이어스 소프트 메트릭을 계산한다. 그로 인해, 소프트 메트릭 계산부(114)는 상태 최대 유사 메트릭에 기반한 실제 에러 시작 위치를 출력한다. 에러 정정부(118)는 상기 예측된 에러 패턴 종류와 상기 실제 에러 패턴 종류에 기반하여 상기 검출된 코드워드에 있는 에러를 정정한다.
도 2는 다양한 에러 정정 방법의 BERs(Bit Error Rates)를 나타내는 그래프이다. 도 2에 도시된 데이터들은 10% AWGN과 90% 지터 노이즈에 대해 5+6D-D3의 목표 응답을 갖는 리드백 채널을 통과하여 전송된 것으로 가정한다.
코딩되지 않은 비터비 디코더와 코딩되지 않은 PDNP의 BERs를 에러 검출 코드와 결합한 포스트 비터비 프로세서의 BERs와 비교하기 위해 도시한다. 데이터를 부호화하는 데 사용된 생성 다항식 g(x)=1+x3+x4에 의해 (300,296) 순환 중복 검사 코드가 생성된다. SNR(Signal-to-Noise Ratio)은 지터 90%를 나타내는 노이즈 분광 밀도 N90에 대한 제1 유도 천이 응답 Edt의 에너지 비율로 정의된다.
본 발명의 다양한 실시예들에 의해 제공되는 기술들은 종래의 포스트 비터비 프로세서의 성능을 능가한다. 예를 들면, 도 2에서, ECC Ⅰ은 10-5의 BER에서 0.67dB의 SNR 게인을 보이고, ECC Ⅱ는 0.81dB의 SNR 게인을 보인다.
본 발명의 선택된 실시예들에 따른 다양한 에러 정정 방법들의 섹터 에러율 성능은 도 3을 참조하여 아래에 기술된다. 특히, 도 3은 10% AWGN와 90% 지터 노이즈에 대해 5+6D-D3의 목표 응답을 갖는 리드백 채널로 이루어진 시스템에서의 SNR을 나타낸다.
(n,k,t) RS(Reed-Solomon) 코드는 k개의 정보 심벌들을 포함하는 n개의 심벌 코드 블록에서 t개의 심벌 에러까지 정정할 수 있다. 상기 RS 코드를 이용한 에러 정정 프로세스의 섹터 에러율은 아래에 기술된다. 상기 RS 코드를 이용한 에러 정정 프로세스의 섹터 에러율을 계산하는 일반적인 방법은 길이와 관련된 심벌 에러들의 확률에 대한 MD(Multinomial Distribution)을 근거로 한다.
예를 들어, 길이 i(여기서, i=1,…,k)의 심벌 에러의 개수와 확률을 각각 xi 및 pi라 하면, 상기 MD에 근거한 확률 밀도 함수는 아래와 같은 방정식에 의해 표현될 수 있다.
Figure 112007031716087-pat00053
수학식 4에서,
Figure 112007031716087-pat00054
Figure 112007031716087-pat00055
는 각각 하나의 섹터에서 에러가 없는 심벌의 수와 확률을 나타낸다. 따라서,
Figure 112007031716087-pat00056
의 관계가 성립한다. 상기 확률
Figure 112007031716087-pat00057
는 획득된 심벌 에러 통계로부터 산출된다.
512 정보 바이트 섹터에 대한 SER를 계산하기 위해서, 갈로아 필드 GF(210)에 기반한 RS 코드가 사용된다. (n,k,t) RS 코드는 하나의 섹터에 있는 t개의 에러 심벌들을 정정할 수 있고 인터리빙이 필요하지 않으므로, 상기 SER은 다음과 같은 방정식으로 쉽게 계산될 수 있다.
Figure 112007031716087-pat00058
방정식 5에서, 상기 합계는
Figure 112007031716087-pat00059
이 되는
Figure 112007031716087-pat00060
의 모든 조합을 통해 계산된다.
도 3은, (440,410,15) RS 코드의 경우의 본 발명의 선택된 실시예에 따른 SERs과 (300,296) CRC 기반의 포스트 비터비 프로세서에 따른 SERs를 비교한다. 본 발명의 선택된 실시예에 따른 방법은, SER = 10-12에서 0.71의 SNR 게인을 나타낸다.
앞에서, 바람직한 실시예들이 기술되었다. 본 기술 분야에서 통상의 지식을 가지는 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이, 알려진 형태의 에러 패턴들에 관한 에러 패턴 순환 코드를 기술하였다. 생성 다항식은 알려진 형태의 주요 에러 패턴들에 대해 구별되는 신드롬 세트들을 생성하기 위하여 주요 에러 패턴들에 적용된다. 발생하는 에러 패턴들의 종류와 그 발생 가능한 위치 수는 신드롬에 기반하여 결정될 수 있다. 소프트 메트릭은 가장 유사한 에러 위치를 찾기 위해 사용된다. 본 발명에 따른 에러 정정 방법을 이용하면, 오정정의 가능성을 줄이고, 추가적인 에러 패턴을 정정함으로써 성능을 향상시킬 수 있는 효과가 있다.

Claims (18)

  1. 잡음이 있는 통신 채널을 통해 전송되는 코드워드 내의 에러 패턴을 검출하는 방법에 있어서,
    상기 코드워드를 검출하는 단계;
    상기 통신 채널을 통한 전송과정에서 상기 코드워드 내에 발생하는 L(L>1)개의 다른 에러 패턴들 각각에 대해 구별되는 신드롬 세트를 생성하는 생성 다항식을 상기 코드워드에 적용하여 상기 신드롬을 생성하는 단계;
    상기 신드롬을 기반으로 상기 코드워드 내의 에러 패턴의 종류를 결정하는 단계; 및
    상기 코드워드 내의 상기 에러 패턴의 시작 위치를 결정하는 단계를 포함하는 것을 특징으로 하는 에러 패턴 검출 방법.
  2. 제1항에 있어서,
    상기 에러 패턴의 종류와 상기 에러 패턴의 시작 위치를 기반으로 상기 에러 패턴을 정정하는 방법을 더 포함하는 것을 특징으로 하는 에러 패턴 검출 방법.
  3. 제1항에 있어서, 상기 에러 패턴의 상기 시작 위치는,
    최대 유사(Maximum likelihood) 추정 및 소프트 메트릭을 이용하여 결정하는 것을 특징으로 하는 에러 패턴 검출 방법.
  4. 제1항에 있어서, 상기 코드워드는,
    확장 순환 코드를 포함하는 것을 특징으로 하는 에러 패턴 검출 방법.
  5. 제1항에 있어서, 상기 생성 다항식은,
    방정식
    Figure 112007031716087-pat00061
    (여기서,
    Figure 112007031716087-pat00062
    (j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
    Figure 112007031716087-pat00063
    (i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
    Figure 112007031716087-pat00064
    (j∈{1,2,…,K})는 어느 하나의 에러 다항식
    Figure 112007031716087-pat00065
    에 있는 각각의
    Figure 112007031716087-pat00066
    의 최대 멱지수들을 나타낸다)
    에 의해 계산되는 것을 특징으로 하는 에러 패턴 검출 방법.
  6. 제1항에 있어서,
    상기 생성 다항식과 상기 L개의 에러 패턴들에 상응하는 복수 개의 에러 다항식들
    Figure 112007031716087-pat00067
    사이의 최대 공약수들은 서로 다른 것을 특징으로 하는 에러 패턴 검출 방법.
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    방정식
    Figure 112007031716087-pat00068
    (여기서,
    Figure 112007031716087-pat00069
    (j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
    Figure 112007031716087-pat00070
    (i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
    Figure 112007031716087-pat00071
    는 비터비 디코더의 입력을 나타내고,
    Figure 112007031716087-pat00072
    는 길이
    Figure 112007031716087-pat00073
    인 통신 채널의 목표 응답
    Figure 112007031716087-pat00074
    과 상기 비터비 디코더의 출력의 컨벌루션을 나타내고,
    Figure 112007031716087-pat00075
    는 상기 목표 응답
    Figure 112007031716087-pat00076
    과 상기 비터비 디코더의 출력의 컨벌루션을 나타내며,
    Figure 112007031716087-pat00077
    는 에러 다항식
    Figure 112007031716087-pat00078
    와 상기 목표 응답
    Figure 112007031716087-pat00079
    의 컨벌루션을 나타낸다)
    에 의해 계산되는 것을 특징으로 하는 에러 패턴 검출 방법.
  8. 제1항에 있어서, 상기 에러 패턴의 상기 시작 위치를 결정하는 단계는,
    상기 코드워드 내의 상기 신드롬의 주기와 상기 에러 패턴의 비트 극성을 산출하는 단계를 포함하는 것을 특징으로 하는 에러 패턴 검출 방법.
  9. 제1항에 있어서, 상기 에러 패턴의 상기 시작 위치를 결정하는 단계는,
    방정식
    Figure 112007031716087-pat00080
    (여기서,
    Figure 112007031716087-pat00081
    (j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
    Figure 112007031716087-pat00082
    (i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
    Figure 112007031716087-pat00083
    는 비터비 디코더의 입력을 나타내고,
    Figure 112007031716087-pat00084
    는 길이
    Figure 112007031716087-pat00085
    인 통신 채널의 목표 응답
    Figure 112007031716087-pat00086
    과 상기 비터비 디코더의 출력의 컨벌루션을 나타내고,
    Figure 112007031716087-pat00087
    는 상기 목표 응답
    Figure 112007031716087-pat00088
    과 상기 비터비 디코더의 출력의 컨벌루션을 나타내며,
    Figure 112007031716087-pat00089
    Figure 112007031716087-pat00090
    는 각각
    Figure 112007031716087-pat00091
    Figure 112007031716087-pat00092
    에 대응되며, 비터비 디코더의 생존 경로들에서 이전 비트들을 근거로 예측된 노이즈 시퀀스를 나타낸다)
    에 의해 정의되는 상태 최대 유사 메트릭(a conditional maximum likelihood metric)을 계산하는 단계를 포함하는 것을 특징으로 하는 에러 패턴 검출 방법.
  10. 전송된 코드워드를 수신하여 검출된 코드워드를 생성하는 비터비 디코더;
    상기 검출된 코드워드를 수신하고, 통신 채널을 통한 전송과정에서 상기 코드워드 내에 발생하는 L(L>1)개의 다른 에러 패턴들 각각에 대해 구별되는 신드롬 세트를 생성하는 생성 다항식을 상기 검출된 코드워드에 적용하여 상기 신드롬을 생성하는 신드롬 계산부;
    상기 신드롬 계산부에 의해 생성된 신드롬에 기반하여 상기 검출된 코드워드 내의 에러 패턴의 종류를 결정하고, 상기 검출된 코드워드 내의 상기 에러 패턴의 잠재적 시작 위치들을 결정하는 에러 종류 결정 및 발생가능한 위치 목록 유닛;
    상기 전송된 코드워드, 상기 검출된 코드워드, 및 상기 잠재적 시작 위치들을 수신하고, 상기 검출된 코드워드 내의 상기 에러 패턴의 시작 위치를 계산하는 소프트 메트릭 계산부; 및
    상기 에러 패턴의 종류 및 시작 위치를 근거로 상기 검출된 코드워드에 있는 상기 에러 패턴을 정정하는 에러 정정부를 포함하는 것을 특징으로 하는 에러 정정 장치.
  11. 청구항 11은(는) 설정등록료 납부시 포기되었습니다.
    제10항에 있어서, 상기 전송된 코드워드는,
    확장 순환 코드를 포함하는 것을 특징으로 하는 에러 정정 장치.
  12. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.
    제10항에 있어서, 상기 생성 다항식은,
    방정식
    Figure 112007031716087-pat00093
    (여기서,
    Figure 112007031716087-pat00094
    (j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
    Figure 112007031716087-pat00095
    (i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
    Figure 112007031716087-pat00096
    (j∈{1,2,…,K})는 어느 하나의 에러 다항식
    Figure 112007031716087-pat00097
    를 구성하는 각각의
    Figure 112007031716087-pat00098
    의 최대 멱지수들을 나타낸다)
    에 의해 계산되는 것을 특징으로 하는 에러 정정 장치.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제10항에 있어서,
    상기 생성 다항식과 상기 L개의 에러 패턴들에 상응하는 복수 개의 에러 다항식들 사이의 가장 큰 공약수들은 서로 다른 것을 특징으로 하는 에러 정정 장치.
  14. 청구항 14은(는) 설정등록료 납부시 포기되었습니다.
    제10항에 있어서, 상기 소프트 메트릭 계산부는,
    방정식
    Figure 112008037729189-pat00099
    (여기서,
    Figure 112008037729189-pat00100
    (j∈{1,2,…,K})는 L개의 에러 패턴들에 대응되는 에러 다항식
    Figure 112008037729189-pat00101
    (i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
    Figure 112008037729189-pat00102
    는 비터비 디코딩 프로세스의 입력을 나타내고,
    Figure 112008037729189-pat00103
    는 길이
    Figure 112008037729189-pat00104
    인 통신 채널의 목표 응답
    Figure 112008037729189-pat00105
    과 상기 비터비 디코딩 프로세스의 출력의 컨벌루션을 나타내고,
    Figure 112008037729189-pat00106
    는 상기 목표 응답
    Figure 112008037729189-pat00107
    과 상기 비터비 디코딩 프로세스의 출력의 컨벌루션을 나타내며,
    Figure 112008037729189-pat00108
    는 에러 다항식
    Figure 112008037729189-pat00109
    와 상기 목표 응답
    Figure 112008037729189-pat00110
    의 컨벌루션을 나타낸다)를 이용하여 상기 에러 패턴의 시작 위치를 계산하는 것을 특징으로 하는 에러 정정 장치.
  15. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.
    제10항에 있어서, 상기 소프트 메트릭 계산부는,
    방정식
    Figure 112007031716087-pat00111
    (여기서,
    Figure 112007031716087-pat00112
    (j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
    Figure 112007031716087-pat00113
    (i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
    Figure 112007031716087-pat00114
    는 비터비 디코더의 입력을 나타내고,
    Figure 112007031716087-pat00115
    는 길이
    Figure 112007031716087-pat00116
    인 통신 채널의 목표 응답
    Figure 112007031716087-pat00117
    과 상기 비터비 디코더의 출력의 컨벌루션을 나타내고,
    Figure 112007031716087-pat00118
    는 상기 목표 응답
    Figure 112007031716087-pat00119
    과 상기 비터비 디코더의 출력의 컨벌루션을 나타내며,
    Figure 112007031716087-pat00120
    Figure 112007031716087-pat00121
    는 각각
    Figure 112007031716087-pat00122
    Figure 112007031716087-pat00123
    에 대응되며, 비터비 디코더의 생존 경로들에서 이전 비트들을 근거로 예측된 노이즈 시퀀스를 나타낸다)에 의해 정의되는 상태 최대 유사 메트릭(a conditional maximum likelihood metric)
    을 이용하여 상기 에러 패턴의 상기 시작 위치를 계산하는 것을 특징으로 하는 에러 정정 장치.
  16. 잡음이 있는 통신 채널을 통해 전송하기 위해 데이터를 부호화하는 방법에 있어서,
    코드워드를 생성하기 위하여, 상기 통신 채널을 통한 전송과정에서 코드워드 내에 발생하는 L(L>1)개의 다른 에러 패턴들 각각에 대해 구별되는 신드롬 세트를 생성하는 생성 다항식을 상기 데이터에 적용하는 단계를 포함하는 것을 특징으로 하는 데이터 부호화 방법.
  17. 청구항 17은(는) 설정등록료 납부시 포기되었습니다.
    제16항에 있어서, 상기 생성 다항식은,
    상기 생성 다항식과 상기 L개의 에러 패턴들에 상응하는 복수 개의 에러 다항식들 사이의 최대 공약수들은 서로 다른 것을 특징으로 하는 데이터 부호화 방법.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제16항에 있어서, 상기 생성 다항식은,
    방정식
    Figure 112008037729189-pat00124
    (여기서,
    Figure 112008037729189-pat00125
    (j∈{1,2,…,K})는 L개의 에러 패턴들에 상응하는 에러 다항식들
    Figure 112008037729189-pat00126
    (i={1,2,…,L})을 구성하는 기약 인수들을 나타내고,
    Figure 112008037729189-pat00127
    (j∈{1,2,…,K})는 어느 하나의 에러 다항식
    Figure 112008037729189-pat00128
    를 구성하는 각각의
    Figure 112008037729189-pat00129
    의 최대 멱지수를 나타낸다)
    에 의해 계산되는 것을 특징으로 하는 데이터 부호화 방법.
KR1020070040925A 2006-11-14 2007-04-26 에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법 KR100881192B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/598,771 2006-11-14
US11/598,771 US7949927B2 (en) 2006-11-14 2006-11-14 Error correction method and apparatus for predetermined error patterns

Publications (2)

Publication Number Publication Date
KR20080043679A KR20080043679A (ko) 2008-05-19
KR100881192B1 true KR100881192B1 (ko) 2009-02-05

Family

ID=39315178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070040925A KR100881192B1 (ko) 2006-11-14 2007-04-26 에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법

Country Status (4)

Country Link
US (1) US7949927B2 (ko)
EP (1) EP1931034A3 (ko)
KR (1) KR100881192B1 (ko)
CN (1) CN101257310A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102205630B1 (ko) * 2019-10-07 2021-01-21 고려대학교 산학협력단 부호 복호기의 효율 증대를 위한 조기 종료 장치 및 그 방법
US11392454B2 (en) 2020-05-12 2022-07-19 Samsung Electronics Co., Ltd. Memory controllers, memory systems and memory modules

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108759B2 (en) * 2006-12-14 2012-01-31 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
JP5316411B2 (ja) * 2007-08-06 2013-10-16 日本電気株式会社 送信装置と受信装置
US8677221B2 (en) * 2008-01-02 2014-03-18 Apple Inc. Partial voltage read of memory
WO2010019169A1 (en) * 2008-08-15 2010-02-18 Lsi Corporation Rom list-decoding of near codewords
US8205144B1 (en) * 2008-10-13 2012-06-19 Marvell International Ltd. Error event processing methods and systems
US8407563B2 (en) * 2008-12-31 2013-03-26 Stmicroelectronics, Inc. Low-complexity soft-decision decoding of error-correction codes
KR101321487B1 (ko) 2009-04-21 2013-10-23 에이저 시스템즈 엘엘시 기입 검증을 사용한 코드들의 에러-플로어 완화
US8468432B2 (en) 2009-07-01 2013-06-18 Silicon Motion, Inc. Coder-decoder and method for encoding and decoding an error correction code
WO2011000176A1 (zh) * 2009-07-01 2011-01-06 慧帝科技(深圳)有限公司 错误修正码的编码及解码方法以及编码解码器
US8276053B2 (en) * 2009-11-08 2012-09-25 Mediatek Inc. Decoding circuit operating in response to decoded result and/or a plurality of viterbi target levels with pattern dependency
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
DE112012003493T5 (de) * 2011-08-24 2014-05-08 Mitsubishi Electric Corporation Fehlerkorrigierender Dekodierer
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US9287897B2 (en) * 2012-01-30 2016-03-15 Broadcom Corporation Systematic rate-independent Reed-Solomon erasure codes
KR101837099B1 (ko) * 2012-07-05 2018-03-09 에스케이하이닉스 주식회사 가변 구조의 에러 정정 부호화기
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9009576B1 (en) * 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9379739B2 (en) * 2014-08-11 2016-06-28 Qualcomm Incorporated Devices and methods for data recovery of control channels in wireless communications
US10379972B1 (en) 2016-11-02 2019-08-13 Seagate Technology Llc Minimizing reads for reallocated sectors
US10140180B1 (en) 2016-11-04 2018-11-27 Seagate Technology Llc Segment-based outer code recovery
US10243587B2 (en) 2017-02-08 2019-03-26 Hewlett Packard Enterprise Developmetn LP Managing results from list decode methods
KR102105428B1 (ko) * 2018-08-29 2020-04-28 남서울대학교 산학협력단 Sec부호에서 멀티오류정정을 위한 복호기 및 그 복호 방법
US10922210B2 (en) * 2019-02-25 2021-02-16 Microsoft Technology Licensing, Llc Automatic software behavior identification using execution record

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001251196A (ja) 2000-03-08 2001-09-14 Hitachi Kokusai Electric Inc リードソロモン復号方法及びリードソロモン復号装置
KR100449931B1 (ko) 1995-12-25 2004-12-04 소니 가부시끼 가이샤 부호화데이터를재생및복호화하는장치및방법
JP2005086683A (ja) 2003-09-10 2005-03-31 Fanuc Ltd 誤り復号回路、データバス制御方法、及びデータバスシステム
KR100780958B1 (ko) 2005-09-13 2007-12-03 삼성전자주식회사 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3328093B2 (ja) * 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
US6009552A (en) * 1997-06-18 1999-12-28 Motorola, Inc. Soft-decision syndrome-based decoder for convolutional codes
JP2000206774A (ja) 1998-11-13 2000-07-28 Canon Inc トナ―残量検知装置、トナ―残量検知方法、プロセスカ―トリッジ、及び、電子写真画像形成装置
US6732328B1 (en) * 1999-07-12 2004-05-04 Maxtor Corporation Two stage detector having viterbi detector matched to a channel and post processor matched to a channel code
US6848069B1 (en) * 1999-08-10 2005-01-25 Intel Corporation Iterative decoding process
US6691278B1 (en) * 1999-10-13 2004-02-10 Maxtor Corporation Detecting errors in coded bit strings
US6543023B2 (en) * 2001-02-05 2003-04-01 Agere Systems Inc. Parity-check coding for efficient processing of decoder error events in data storage, communication and other systems
EP1300955A1 (en) * 2001-10-03 2003-04-09 STMicroelectronics S.r.l. A process for decoding signals, system and computer program product therefor
US6823487B1 (en) * 2001-11-15 2004-11-23 Lsi Logic Corporation Method and apparatus for enhancing correction power of reverse order error correction codes
US6920600B2 (en) 2002-01-23 2005-07-19 Thomson Licensing S.A. Dual chien search blocks in an error-correcting decoder
KR100979366B1 (ko) 2003-02-14 2010-08-31 주식회사 케이티 다양한 오류 정정 능력을 갖는 리드-솔로몬 부호의 복호기
US7328395B1 (en) * 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US7571372B1 (en) * 2005-06-23 2009-08-04 Marvell International Ltd. Methods and algorithms for joint channel-code decoding of linear block codes
US7644338B2 (en) * 2005-09-13 2010-01-05 Samsung Electronics Co., Ltd. Method of detecting and correcting a prescribed set of error events based on error detecting code

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100449931B1 (ko) 1995-12-25 2004-12-04 소니 가부시끼 가이샤 부호화데이터를재생및복호화하는장치및방법
JP2001251196A (ja) 2000-03-08 2001-09-14 Hitachi Kokusai Electric Inc リードソロモン復号方法及びリードソロモン復号装置
JP2005086683A (ja) 2003-09-10 2005-03-31 Fanuc Ltd 誤り復号回路、データバス制御方法、及びデータバスシステム
KR100780958B1 (ko) 2005-09-13 2007-12-03 삼성전자주식회사 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102205630B1 (ko) * 2019-10-07 2021-01-21 고려대학교 산학협력단 부호 복호기의 효율 증대를 위한 조기 종료 장치 및 그 방법
US11392454B2 (en) 2020-05-12 2022-07-19 Samsung Electronics Co., Ltd. Memory controllers, memory systems and memory modules

Also Published As

Publication number Publication date
CN101257310A (zh) 2008-09-03
EP1931034A3 (en) 2009-03-18
KR20080043679A (ko) 2008-05-19
EP1931034A2 (en) 2008-06-11
US20080115041A1 (en) 2008-05-15
EP1931034A9 (en) 2009-04-22
US7949927B2 (en) 2011-05-24

Similar Documents

Publication Publication Date Title
KR100881192B1 (ko) 에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법
US7644338B2 (en) Method of detecting and correcting a prescribed set of error events based on error detecting code
US6848069B1 (en) Iterative decoding process
JP3822249B2 (ja) 不均一エラー保護を有する通信信号の検出方法および手段
US8127216B2 (en) Reduced state soft output processing
US20090006931A1 (en) Techniques For Generating Bit Reliability Information In A Post-Processor Using An Error Correction Constraint
US20090132894A1 (en) Soft Output Bit Threshold Error Correction
US20080155372A1 (en) Methods and apparatus for improving error indication performance in systems with low-density parity check codes
US20100146372A1 (en) Decoding of serial concatenated codes using erasure patterns
CN105812000B (zh) 一种改进的bch软判决译码方法
US7814394B2 (en) Post viterbi error correction apparatus and related methods
US7383489B1 (en) Method and apparatus for detecting viterbi decoder errors due to quasi-catastrophic sequences
Moon et al. Cyclic redundancy check code based high-rate error-detection code for perpendicular recording
US7620879B2 (en) Method of detecting occurrence of error event in data and apparatus for the same
RU2485683C1 (ru) Устройство декодирования с мягкими решениями для двухступенчатого каскадного кода
TWI487291B (zh) 循環碼解碼器及其方法
JP3734486B2 (ja) 誤り訂正装置および誤り訂正方法
KR102197751B1 (ko) 블록 터보 부호의 저 복잡도 오류정정을 위한 신드롬 기반의 혼합 복호 장치 및 그 방법
JP4379329B2 (ja) Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
JP2004282600A (ja) 符号化装置および復号装置
KR100780958B1 (ko) 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치
RU2812964C1 (ru) Способ устойчивой кодовой цикловой синхронизации при применении жестких и мягких решений и модуляции по типу стыка с1-фл
Kaur et al. Performance evaluation of space codes using 16-QAM technique
Xing et al. Shift-Sum Decoding of Non-Binary Cyclic Codes
KR100431162B1 (ko) 코드레이트 검출장치

Legal Events

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

Payment date: 20120203

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130109

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee