KR100780958B1 - 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치 - Google Patents

에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치 Download PDF

Info

Publication number
KR100780958B1
KR100780958B1 KR1020060088185A KR20060088185A KR100780958B1 KR 100780958 B1 KR100780958 B1 KR 100780958B1 KR 1020060088185 A KR1020060088185 A KR 1020060088185A KR 20060088185 A KR20060088185 A KR 20060088185A KR 100780958 B1 KR100780958 B1 KR 100780958B1
Authority
KR
South Korea
Prior art keywords
error
syndrome
codeword
dominant
error event
Prior art date
Application number
KR1020060088185A
Other languages
English (en)
Other versions
KR20070030689A (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 KR1020060088185A priority Critical patent/KR100780958B1/ko
Publication of KR20070030689A publication Critical patent/KR20070030689A/ko
Application granted granted Critical
Publication of KR100780958B1 publication Critical patent/KR100780958B1/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/033Theoretical methods to calculate these checking 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은, 각각의 에러 이벤트에 대한 고유한 신드롬 세트들이 산출되는 에러 검출을 위한 효율적인 생성 다항식을 만드는 방법 및 이에 적합한 에러 검출 및 정정 방법에 관한 것이다.
본 발명의 코드워드 발생 방법은 기록 매체의 부호간 간섭 특성으로부터 도미넌트 에러 이벤트들의 세트를 준비하는 과정; 및 각각의 도미넌트 에러 이벤트를 완전하게 특정할 수 있는 고유한 신드롬 세트를 산출할 수 있는 비원시 생성 다항식을 사용함에 의해 상기 데이터로부터 코드워드를 발생하는 과정을 포함한다.
error event, detecting, correction, CRC

Description

에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치{Method for correcting and detecting based on error detection code and apparatus thereof}
도 1은 종래의 포스트 비터비 처리기를 보이는 것이다.
도 2는 본 발명의 예시적인 실시예에 있어서 비원시 생성 다항식을 발생하는 방법을 보이는 것이다.
도 3은 본 발명의 예시적인 실시예에 따른 포스트 비터비 처리기를 보이는 것이다.
도 4는 도 3의 포스트 비터비에 있어서 단독 에러 이벤트(single error event)±[2]를 산출하는 엔드-어라운드 케이스들을 보이는 것이다.
도 5는 도 4에 도시된 단독 에러 이벤트 ±[2]를 산출하는 엔드-어라운드 케이스들에 대한 신드롬 값들을 보이는 것이다.
도 6은 본 발명에 따른 사용자 기록 밀도 1.4 에서의 BER들을 비교 결과를 보이는 것이다.
도 7은 본 발명에 따른 다양한 RS 코드들에 대한 3가지 방법들의 SER들의 비교 결과를 보이는 것이다.
본 발명은 에러 정정 코딩 방법 및 장치에 관한 것으로서 특히, 각각의 에러 이벤트에 대한 고유한 신드롬 세트들이 산출되는 에러 검출을 위한 효율적인 생성 다항식을 만드는 방법 및 이에 적합한 에러 검출 및 정정 방법 및 이에 적합한 장치에 관한 것이다.
검출기의 출력에서 도미넌트 에러 이벤트들을 검출하는 포스트 비터비 처리기를 채용함에 의해 PMRL(Partial Response Maximum Likelihood) 시스템의 효율이 개선되는 것이 잘 알려져 있다.
이 개념은 일단 에러가 검출되면, 추정된 에러 신호와 도미넌트 에러 패턴(dominant error pattern)들의 알려진 형태들 각각을 상관시키는 시도를 행해지고, 코드워드 내에서 가장 가능성 있는 에러 패턴 및 그것의 위치를 확인하게 된다.
추정된 에러 신호는 등화기의 실제 출력과 등화기의 목표 응답과 컨볼루션(convolution)된 비터비 검출기의 출력 스트림과의 차이를 취함에 의해 얻어진다.
도 1은 종래의 포스트 비터비 처리기를 보이는 것이다. 도 1을 참조하면, 포스트 비터비 처리기는 목표 엔코더(110), 에러 상관 필터 뱅크(114), 선택기(116), EDC(Error Detection Code) 디코더(118) 그리고 에러 정정기(120)를 구비한다.
데이터는 에러 검출 엔코더(EDC 엔코더)에 의해 엔코딩되고, 잘 알려진 바와 같이 PRML 시스템의 일부인, 리드백 채널(104)을 통하여 전송된다.
등화기는 리드백 채널(104)를 통하여 수신된 데이터를 등화하고 ML 검출기(Maximum Likelihood detector, 108)는 비터비 알고리즘에 근거하여 등화된 데이터로부터 부호화된 데이터를 검출한다.
그렇지만, ML 검출기(108)로부터 검출된 데이터에는 리드백 채널(104) 상의 잡음에 의해 야기된 에러가 포함되어 있을 수 있다.
도 1에 도시된 포스트 비터비 처리기는 에러 검출 가능성이 높아질 수 있도록 도미넌트 에러 이벤트들에 대한 에러 검출을 수행한다..
일반적으로, EDC로서 순회 용장 검사(Cyclic Redundancy Check; CRC)가 사용되고 있다. 종래의 CRC 코드는 통상 코드워드 내에서 도미넌트 에러 이벤트의 발생을 검출하는 단일한 역할을 수행하며, 검출된 도미넌트 에러 이벤트의 종류 및 위치에 관한 어떠한 정보도 산출하지 않는다.
따라서, 검출된 도미넌트 에러 이벤트의 종류 및 위치를 찾아내기 위하여, 포스트 비터비 처리기가 사용되어 왔다.
포스트 비터비 처리기의 개념은 일단 에러가 검출되면, 추정된 에러 신호와 도미넌트 에러 패턴들의 알려진 형태들 각각을 상관시키는 시도가 행해지고, 코드워드 내에서 가장 가능성 있는 에러 패턴 및 그것의 위치를 확인하는 것이다.
추정된 에러 신호는 등화기의 실제 출력과 등화기의 목표 응답과 컨볼루션된 비터비 검출기의 출력 스트림과의 차이를 취함에 의해 얻어진다.
에러 상관 필터 뱅크(114)는 각각이 도미넌트 에러 이벤트들 중의 하나와 연관되는 복수의 매치 필터들을 구비한다.
각각의 매치 필터는 그것에 지정된 에러 이벤트의 종류에 대한 유사치를 산출한다.
선택기(116)는 복수의 매치 필터들의 출력들 중에서 가장 큰 유사치를 선택한다.
에러 정정기(120)는 선택기(116)에 의해 선택된 에러 종류 및 위치에 따라 ML 검출기(108)에 의해 추정된 데이터에서 발생된 에러 이벤트를 정정한다.
기록 밀도 1.4, 50% AWGN(Additive White Gaussian Noise)의 수직 기록에 있어서의 도미넌트 에러 이벤트들의 세트는 ±[2,-2], ±[2,-2, 2], ±[2,-2, 2,-2], ±[2,-2, 2,-2, 2], ±[2,-2, 0, 2,-2] 그리고 ±[2,-2, 2,-2, 2,-2]이다.
따라서, 적어도 총 6개의 에러 상관 필터들이 이들 에러 이벤트들에 연관된다.
따라서, EDC 디코더(118)에 의해 검출된 신드롬에 기반하는 에러 검출 코드에 의해 어떤 도미넌트 에러 이벤트가 검출되면, 도미넌트 에러 이벤트는 복수의 에러 상관 필터들에 의해 제공되는 에러 종류 및 위치에 관한 정보에 근거하여 정정될 것이다.
그러나, 부호간 간섭(Inter-Symbol Interference; ISI) 및 잡음에 의해, 포스트 비터비 처리기는, 오정정이라 불리는, 검출된 도미넌트 에러의 종류 및 위치에 대한 잘못된 정보를 준다.
오정정은 잘못된 선택(miss-selection) 및 잘못된 위치(miss-position)를 포함한다. 잘못된 선택 및 잘못된 위치는 각각 에러 종류의 잘못된 선택 및 선택된 에러 종류에 대한 부정확한 위치를 제공하는 것을 의미한다.
따라서, 각각의 도미넌트 에러 이벤트에 대하여 신드롬의 고유한 세트를 산출할 수 있게 함으로써, 어떠한 모호함도 없이 단일한 신드롬 연산에 의해 발생된 도미넌트 에러 이벤트의 종류가 즉시 판단되며 그리고 가능한 에러 위치도 신드롬 및 상응하는 신드롬 세트의 주기성에 근거하여 얻어질 수 있게 함으로써 오정정의 가능성을 상당히 줄일 수 있는 에러 검출 방법이 필요하다.
본 발명은 데이터로부터 코드워드를 발생하는 방법을 제공하는 것을 그 목적으로 한다.
본 발명의 다른 목적은 데이터 내의 에러 이벤트를 검출 및 정정할 수 있는 방법을 제공하는 것에 있다.
본 발명의 또 다른 목적은 데이터 내의 에러 이벤트를 검출 및 정정하는 방법을 제공하는 것에 있다.
본 발명의 또 다른 목적은 데이터 내의 에러 이벤트를 검출 및 정정하는 장치를 제공하는 것에 있다.
본 발명의 한 측면에 따르면, 데이터로부터 코드워드를 발생하기 위한 방법이 제공된다.
이 방법은 기록 매체의 부호간 간섭 특성으로부터 도미넌트 에러 이벤트들의 세트를 준비하는 과정; 및
각각의 도미넌트 에러 이벤트를 완전하게 특정할 수 있는 고유한 신드롬 세트를 산출할 수 있는 비원시 생성 다항식을 사용함에 의해 상기 데이터로부터 코드워드를 발생하는 과정을 포함한다.
본 발명의 다른 한 측면에 따르면 데이터 내의 에러 이벤트를 검출 및 정정할 수 있는 방법이 제공된다.
이 방법은 기록매체로부터 기록 매체의 부호간 간섭 특성으로부터 도미넌트 에러 이벤트들의 세트를 준비하는 과정과 각각의 도미넌트 에러 이벤트들을 규정할 수 있는 고유한 신드롬 세트를 산출하는 비원시 생성 다항식을 이용하여 상기 데이터로부터 코드워드를 발생하는 과정에 의해 발생된 에러가 있을 수 있는 코드워드를 수신하는 과정; 상기 수신된 코드워드로부터 0이 아닌 신드롬이 산출되면, 수신된 코드워드 내의 에러 이벤트의 발생을 검출하는 과정;
상기 0이 아닌 신드롬에 근거하여 검출된 도미넌트 에러 이벤트의 정확한 종류를 결정하는 과정;
상기 0이 아닌 신드롬을 포함하는 상기 신드롬 세트를 이용하여 가능한 에러 시작 위치들의 세트를 결정하는 과정;
상기 가능한 에러 위치들에서 실제의 에러 시작 위치를 결정하는 과정; 및 상기 검출된 도미넌트 에러의 종류 및 상기 실제의 에러 시작 위치에 근거하여 상기 도미넌트 에러 이벤트를 정정하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면 데이터 내의 에러 이벤트를 검출 및 정정하는 방법이 제공된다.
이 방법은 기록 매체로부터 각 도미넌트 에러 이벤트를 완전하게 규정할 수 있는 고유한 신드롬 세트를 산출하는 비원시 생성 다항식을 이용하여 소오스 데이터로부터 생성된 코드워드인 에러가 있을 수 있는 코드워드를 수신하는 과정;
상기 수신된 코드워드로부터 0이 아닌 신드롬이 산출되면 상기 수신된 코드워드 내의 도미넌트 에러 이벤트의 발생을 검출하는 과정;
상기 0이 아닌 신드롬에 근거하여 상기 검출된 도미넌트 에러 이벤트의 정확한 종류를 판단하는 과정;
상기 0이 아닌 신드롬을 포함하는 신드롬 세트를 이용하여 가능한 에러 시작 위치들의 세트를 결정하는 과정;
상기 가능한 에러 위치들 중에서 실제의 에러 시작 위치를 판단하는 과정; 및
상기 검출된 도미넌트 에러 이벤트의 종류 및 상기 실제의 에러 시작 위치에 근거하여 상기 도미넌트 에러 이벤트를 정정하는 과정을 포함하는 것을 특징으로 한다
본 발명의 또 다른 측면에 따르면 데이터 내의 에러 이벤트를 검출 및 정정하는 장치가 제공된다.
이 장치는 수신된 코드워드로부터 0이 아닌 신드롬이 산출되면 수신된 코드워드 내의 도미넌트 에러 이벤트의 발생을 검출하는 검출기;
상기 0이 아닌 신드롬에 근거하여 검출된 도미넌트 에러 이벤트의 종류를 결정하는 에러 종류 결정기;
상기 0이 아닌 신드롬을 포함하는 신드롬 세트를 이용하여 가능한 에러 시작 위치들의 세트를 결정하는 에러 위치 결정기;
상기 가능한 에러 시작 위치들 중에서 실제의 에러 시작 위치를 결정하는 상관 필터 뱅크; 및
상기 검출된 도미넌트 에러 이벤트의 종류 및 상기 실제의 에러 시작 위치에 근거하여 상기 도미넌트 에러 이벤트를 정정하는 정정기를 포함하는 것을 특징으로 한다. 본 발명의 상기의 특징들 및 효과들은 부분적으로는 다음의 설명에 의해 그리고 부분적으로는 설명에 의해 명백해지거나 본 발명의 예시적인 실시에 의해 알려질 것이다.
본 발명의 상기의 특징들 및 효과들은 첨부된 도면들을 첨부하여 설명되는 본 발명의 예시적인 실시예들에 대한 다음의 설명으로부터 보다 명백해지고 보다 용이하게 이해될 것이다.
이하에서 첨부된 도면들에 도시된 본 발명의 예시적인 실시예에 대한 참조가 상세하게 행하여질 것이며, 여기서, 유사한 참조부호는 유사한 구성 요소를 나타낸다.
본 발명을 설명하기 위하여 이하에서 도면들을 참조하여 예시적인 실시예들이 설명된다.
표 1은 기록 밀도 1.4, 50% AWGN 그리고 50% 기록 매체 잡음에서 신호 대 잡음비(Signal to Noise Ratio; SNR) 및 비트 에러 레이트(Bit Error Rate; BER)에 연관되는 도미넌트 에러 이벤트들 및 그것들의 빈도를 보이는 것이다.
표 1에 있어서, 에러 이벤트는, 모든 발생된 에러 이벤트들과 비교하여, 그것의 빈도가 1%보다 크거나 거의 비슷할 때 도미넌트 에러 이벤트로 간주된다.
비록 각각의 SNR에 대한 도미넌트 에러 이벤트들의 순서가 약간씩 다르기는 하지만, 도미넌트 에러 이벤트들의 세트는 모든 SNR들에 있어서 동일하다. 즉, 기록 밀도 1.4에서, 도미넌트 에러 이벤트들의 세트는 ±[2,-2], ±[2,-2, 2], ±[2,-2, 2,-2], ±[2,-2, 2,-2, 2], ±[2,-2, 0, 2,-2] 그리고 ±[2,-2, 2,-2, 2,-2]를 포함한다.
여기서, 도미넌트 에러 이벤트들은 잡음이 혼합된 다양한 기록 밀도 환경에서 효율적인 거리 분석 및 컴퓨터 시뮬레이션에 의해 얻어질 수 있다.
이들 중에서, 50% AWGN 및 50% 기록 매체 잡음으로 구성되는 혼합 잡음(missed noise) 조건에서 기록 밀도 1.4에서의 도미넌트 에러 이벤트들이 표 1에 수록되어 있다.
Figure 112006065865594-pat00001
의 등화기 목표 응답(equalizer target response) 채택하면, 쌍곡선 탄젠트 천이 응답(hyperbolic tangent transition response)이 가정될 수 있다.
등화기 목표 응답은 자기 기록 매체, 통신 채널과 같은 기록 매체의 부호간 간섭 특성을 반영하는 기록 밀도 및 혼합 잡음에 의존한다.
Figure 112006065865594-pat00002
CRC 코드는 그것의 생성 다항식에 의해 특정되며, CRC 값은 수신된 코드워드 다항식이 생성 다항식에 의해 나누어질 때의 나머지이다.
차수 (n-k)의 생성 다항식 g(x) 에 기반한 (n ,k) CRC 코드에 있어서, 차수 (k-1) 이하의 데이터 다항식 b(x)는 차수 (n-1) 이하의 코드워드 다항식 c(x)로 엔코딩된다. 이때 c(x)는 수학식 1과 같이 표현될 수 있다.
Figure 112006065865594-pat00003
여기서, 패리티 다항식 p(x)는 시프트된 데이터 다항식
Figure 112006065865594-pat00004
이 생성 다항식
Figure 112006065865594-pat00005
에 의해 나누어질 때의 나머지이며,
Figure 112006065865594-pat00006
는 몫이다.
Figure 112006065865594-pat00007
은 약간의 에러들을 가지는 리드백 다항식이라고 가정한다. s(x)가
Figure 112006065865594-pat00008
의 CRC 값, 즉, (n-k)보다 작은 차수를 가지는 신드롬, 이라 하기로 한다.
이때,
Figure 112006065865594-pat00009
는 수학식 2와 같이 표현될 수 있다.
Figure 112006065865594-pat00010
여기서, e(x)는 차수 (n-1) 이하의 에러 다항식이고, q(x)는 몫이고, 그리고 바이너리 갈로이스 피일드 GF(2) 상에서 나눗셈 연산이 수행된다. 잘못된 리드백 다항식
Figure 112006065865594-pat00011
에 대하여, 만일 신드롬 s(x)가 0이 아니라면, CRC 검사기는 에러 e(x)를 검출하고, 그렇지 않으면 그것을 검출하지 못한다.
에러 검출 능력을 보증하도록, 필요한 패리티 비트의 수에 해당하는 생성 다항식 g(x)의 차수 (n-k)는 주어진 모든 도미넌트 에러 다항식 중에서 가장 높은 차수보다 커야 되지만, 고효율의 에러 검출 코드를 위한 가능한 차수들 중에서 가장 작은 차수를 가지는 생성 다항식을 찾는 것이 바람직하다.
또한, 원시 생성 다항식은 많은 용도에 대하여 유용한 가장 큰 수의 구별되는 신드롬들을 산출하기 때문에, 검출 능력은 가능한 한 작은 차수의 원시 다항식을 사용하여 검사된다.
길이 n 의 코드워드 내에서 발생된 길이 l의 도미넌트 에러 생성 다항식
Figure 112006065865594-pat00012
은 다음의 수학식 3과 같이 표현될 수 있다.
Figure 112006065865594-pat00013
여기서
Figure 112006065865594-pat00014
이다.
Figure 112006065865594-pat00015
가 n-l이면, 길이 l의 도미넌트 에러 이벤트는 코드워드의 마지막 위치에서 종료된다. 차수가 m 인 원시 다항식
Figure 112006065865594-pat00016
Figure 112006065865594-pat00017
(여기서 n 은 (
Figure 112006065865594-pat00018
)의 배수)에 의해 나누어지지만 x는
Figure 112006065865594-pat00019
의 인수가 아니다. 결과적으로,
Figure 112006065865594-pat00020
은 결코
Figure 112006065865594-pat00021
에 의해 나누어지지 않는다.
따라서, 원시 다항식
Figure 112006065865594-pat00022
Figure 112006065865594-pat00023
에 대하여 0이 아닌 신드롬을 산출하면, 코드워드 내에서 그것의 시프트된 버전인
Figure 112006065865594-pat00024
에 대한
Figure 112006065865594-pat00025
는 결코
Figure 112006065865594-pat00026
에 의해 나누어질 수 없다.
에러 검출이 코드워드 내에서 발생하는 어떠한 도미넌트 에러 이벤트에 대해 서도 성공적이라 할지라도, 최대 검출 능력을 확증하기 위하여 그것의 한계가 또한 고려되어야 한다.
Figure 112006065865594-pat00027
의 절단된(truncated) 버전인 코드워드 경계에서 발생한 도미넌트 에러 이벤트
Figure 112006065865594-pat00028
는 수학식 4와 같이 표현될 수 있다.
Figure 112006065865594-pat00029
여기서, 0이 아닌 신드롬들을 검사하기 위한 부가적인 나눗셈 연산(division)들은 필요하지 않지만, 모든 도미넌트 에러 이벤트의 절단된 다항식
Figure 112006065865594-pat00030
즉,
Figure 112006065865594-pat00031
이 원시 다항식
Figure 112006065865594-pat00032
즉,
Figure 112006065865594-pat00033
과 동등한 지의 여부는 보다 면밀히 검사된다. 만일 그러한 경우가 없다면, 에러 검출 능력은 역시 코드워드 경계에서 보증된다.
이전의 코드 워드에서 발생하고 현재의 코드워드에서 종료되는 다른 경계에서의 도미넌트 에러 이벤트도 검출 능력 검증을 위하여 관찰되어야 한다.
Figure 112006065865594-pat00034
Figure 112006065865594-pat00035
여기서,
Figure 112006065865594-pat00036
이다.
그렇지만, 이전의 코드워드 블록에 볼 때, 에러 이벤트
Figure 112006065865594-pat00037
는 수식 4에서 주어진
Figure 112006065865594-pat00038
에 불과하다.
Figure 112006065865594-pat00039
의 검출이 보증되는 한, 포스트 비터비 처리기는 이전의 코드워드에 연관된 검출된 에러 이벤트를 정정하고자 시도한다. 따라서, 에러 이벤트
Figure 112006065865594-pat00040
에 대한 부가적인 검출 능력 검사를 할 필요가 없다.
그러므로, 넓은 범위의 기록 밀도 및 혼합 잡음 환경에서 어떠한 도미넌트 에러 이벤트들의 세트가 주어지면, 간단한 다항식 나눗셈 및 경계 검사를 통하여 가능한 차수들 중에서 가장 작은 차수의 원시 다항식
Figure 112006065865594-pat00041
가 어떠한 에러 이벤트에 대해서도 경계에서와 마찬가지로 코드워드 내에서도 언제나 0이 아닌 신드롬을 산출하는 것이 발견되면,
Figure 112006065865594-pat00042
는 고효율의 CRC 에러 검출 코드의 생성 다항식으로서 사용될 수 있다.
Figure 112006065865594-pat00043
표 1에 보이는 수직 기록의 도미넌트 에러 이벤트들의 세트에 있어서, 차수 2의 원시 다항식
Figure 112006065865594-pat00044
가 도미넌트 에러 다항식 (
Figure 112006065865594-pat00045
)를 명확하게 나누는 것을 용이하게 알 수 있으므로, 무시되고 차수 3의 다항식들은 버려진다.
표 2에서 차수 3의 원시 다항식들
Figure 112006065865594-pat00046
Figure 112006065865594-pat00047
모두는 표 1에 수록된 모든 도미넌트 에러 다항식들에 대하여 0이 아닌 나머지들을 산출하는 것이 증명된다.
비가시성은 코드워드 내의 도미넌트 에러 이벤트들의 어떤 시프트된 버전의 에러 검출 능력을 나타낸다.
그렇지만, 만일 도미넌트 에러이벤트 ±[2,-2, 0, 2,-2]가 코드워드 경계에서 발생하면, ±[2,-2, 0, 2]으로 결과되고, 그것의 에러 다항식은
Figure 112006065865594-pat00048
의 형태이기 때문에 이 에러 이벤트는
Figure 112006065865594-pat00049
에 의해 검출될 수 없음을 알 수 있다.
그러나, 차수 3의 다른 원시 다항식
Figure 112006065865594-pat00050
은 코드워드 경계에서 발생되는 어떠한 도미넌트 에러 이벤트에 대하여 여전히 0이 아닌 신드롬들을 산출한다.
따라서, 생성 다항식
Figure 112006065865594-pat00051
에 의해 생성된 (n, n-3) CRC는 코드워드 내 그리고 그것의 경계 모두에서 모든 도미넌트 에러 이벤트들의 어떠한 단일한 발생을 검출할 수 있다.
만일 패리티 레이트에 관계 없이 보다 높은 차수의 원시 다항식이 이용된다면, 거기에
Figure 112006065865594-pat00052
Figure 112006065865594-pat00053
과 같은 약간의 예외적인 다항식들이 있다고 하더라도 이들은 코드워드 경계에서 발생되는 도미넌트 에러 이벤트 ±[2,-2, 0, 0, 2] 즉,
Figure 112006065865594-pat00054
및 ±[2,-2, 0, 2,-2, 0, 2] 즉,
Figure 112006065865594-pat00055
을 각기 나눌 수 있으므로 모든 도미넌트 에러 이벤트들에 대한 에러 검출 능력이 명확하게 보증된다.
그렇지만, 생성 다항식의 차수가 증가하면 외부 에러 정정 코드(ECC)의 에러 검출 능력과 절충하는 열악한 버스트 에러(burst error) 전파를 제공한다.
에러 검출을 위한 가능한 차수들 중에서 가장 작은 차수의 원시 생성 다항식 예를 들어,
Figure 112006065865594-pat00056
을 찾음에 있어서, 코드 레이트(code rate) 손실 및 포스트 비터비 에러 검출 능력의 균형을 위하여 워드워드 길이 이 203으로 선택되었다. 이에 따라,
Figure 112006065865594-pat00057
에 의해 생성된 (203, 200) CRC가 에러 검출 코드로서 이용되고 있다.
CRC 코드가 어떠한 에러 이벤트(들) 즉, 도미넌트 에러 이벤트 혹은 비도미넌트 에러 이벤트들에 대해서도 0이 아닌 신드롬들을 준다면, 포스트 비터비 처리기에 의해 추정된 에러 신호와 알려진 형태의 도미넌트 에러 패턴들 각각을 상관시켜서 코드워드 내에서 가장 가능한 에러 패턴 및 그것의 위치를 확인하는 시도가 행해진다.
그렇지만, 상관된 잡음 및 잔존하는 심볼간 간섭(ISI)에 의해 포스트 비터비에서 상당한 오정정이 있는 것이 관찰되었다. 오정정은 발생한 도미넌트 에러의 잘못된 선택 및 잘못된 위치를 포함하며, 이에 따라 검출된 도미넌트 에러 이벤트에 대하여 오정정이 있었다.
잘못된 선택의 예로서, 주요한 도미넌트 에러 이벤트 ±[2,-2]는 포스트 비터비 처리기에 의해 종종 ±[2,-2, 2] 혹은 ±[2,-2, 0, 2,-2].로 판단된다.
다른 도미넌트 에러 이벤트 ±[2,-2, 2]도 경우에 따라 ±[2,-2] 혹은 ±[2,-2, 2,-2].로 판단된다.
이와 같이, 포스트 비터비 처리기에 의한 도미넌트 에러 이벤트 ±[2,-2, 2,-2, 2] 또는 ±[2,-2, 2,-2, 2,-2]의 선택은 가끔 잘못된다. 발생된 도미넌트 에러 이벤트의 잘못된 선택에 더하여, 올바르게 선택된 도미넌트 에러 이벤트의 잘못된 위치도 있다.
예를 들어, 도미넌트 에러 이벤트들 ±[2,-2] 및 ±[2,-2, 2]는 도미넌트 에러 이벤트들의 잘못된 위치에 의해 각각 ±[2, 0, 2] 및 ±[2, 0, 0, 2]가 된다.
따라서, 원시 생성 다항식에 기반하는 CRC 에러 검출 코드가 도미넌트 에러 이벤트들의 어떠한 단일한 발생에 대하여 완전한 검출 능력을 보이더라도, 검출된 도미넌트 에러 이벤트들의 오정정은 포스트 비터비 처리기의 에러 정정 능력을 손상시킨다.
그러므로, 어떠한 종류의 에러 이벤트가 발생한 것에 관한 정보를 주는 에러 검출 코드에 관하여 고려하는 것은 당연한 것이다. 기록 밀도 1.4에서의 도미넌트 에러 이벤트들 및 그것들의 다항식 형태들은 표 3에 다시 수록되어 있다.
Figure 112006065865594-pat00058
차수 m의 원시 생성 다항식은 어떠한 도미넌트한 또는 비도미넌트한 에러 이벤트들에 대하여 (2m-1) 주기의 동일한 신드롬 시퀀스를 산출하므로, 에러 이벤트의 종류는 판단될 수 없고, 그것의 신드롬이 0이 아닌 어떠한 에러 이벤트의 발생만을 검출한다.
원시 다항식
Figure 112006065865594-pat00059
에 대하여, 테이블 4는 각각의 도미넌트 에러 이벤트에 연관된 신드롬 시퀀스를 십진수로 보이고 있다.
두 번째 열의 첫 번째 신드롬 값은 상응하는 도미넌트 에러 이벤트가 코드워드 내에서 첫 번째 에러 위치에서 발생하기 시작하는 때의 신드롬 값을 의미한다.
예를 들어, 도미넌트 에러 다항식 1+x (테이블 4의 첫 번째 행에 있는) 신드롬 값 6(실제로는 이 신드롬은 [1 1 0]이다.)는 에러 이벤트가 수신된 코드워드 블록 내의 첫 번째 위치에서 발생하기 시작한 것을 나타낸다.
마찬가지로, 도미넌트 에러 이벤트 1+x+x2+x3 (표 t의 세 번째 행에 있는)에 대한 신드롬 값 6은 에러 이벤트가 수신된 코드워드 블록 내에서 다섯 번째 위치에서 발생하기 시작한 때의 신드롬 값이다.
모든 신드롬 시퀀스들은 주기 7의 신드롬 시퀀스 [6, 3, 4, 2, 1, 5, 7]의 반복된 버전들이므로, 어떤 도미넌트 에러 이벤트가 발생하는 지가 알려지지 않는다. 이는 원시 생성 다항식이 채택되었기 때문 즉,
Figure 112006065865594-pat00060
의 주기가 7이기 때문이다.
Figure 112006065865594-pat00061
그렇지만, 차수 m 의 비원시 생성 다항식이 적용된다면, 그것의 주기는 반드시 (2m-1)보다 작을 것이다.
따라서, 각각의 에러 이벤트들에 연관된 신드롬 값들은 서로 다를 것이다. 이러한 속성과 도미넌트 에러 이벤트들의 주어진 세트를 사용하여, 각각의 도미넌트 에러 이벤트에 연관된 신드롬 시퀀스의 고유한 세트를 산출하는 비원시 생성 다항식이 고려된다.
도 2는 본 발명의 예시적인 실시예에 따른 비원시 생성다항식을 생성하는 방법을 보이는 것이다.
S202과정에서, 주요한 도미넌트 에러 이벤트들이 비약분 다항식들 (1+x) 및 (1+x+x2)에 의해 각각 나누어진다.
예를 들어, 주요한 도미넌트 에러 이벤트들 ±[2,-2] 및 ±[2,-2, 2]이 비약분 다항식들 (1+x) 및 (1+x+x2)에 의해 각각 나누어진다.
그러나, 이들은 주기 3을 가지는 g1(x) = (1+x)(1+x+x2) = (1+x3)에 의해 나누어질 수 없고, 이들의 신드롬 값들은 서로 다르다. 도미넌트 에러 이벤트 ±[2,-2, 2,-2]는 g1(x)에 의해 나누어질 수 없지만 그것의 신드롬 시퀀스는 ±[2,-2]의 신드롬 시퀀스와 동일하다. 또한, g1(x)는 다른 도미넌트 에러 이벤트들 ±[2,-2, 0, 2,-2] 및 ±[2,-2, 2,-2, 2,-2]을 나눈다.
S204과정에서는, 나누어질 수 있는 에러 이벤트들이 남아있는지를 판단한다.
만일, S204과정에서 g1(x)에 의해 나누어질 수 있든 도미넌트 에러 이벤트들이 남아있는 것으로 판단되면, S206 과정에서 g2(x) = (1+x)g1(x) = 1+x+x3+x4(주기 6)이 고려된다.
±[2,-2], ±[2,-2, 2], ±[2,-2, 2,-2], ±[2,-2, 2,-2, 2] 그리고 ±[2,-2, 2,-2, 2,-2] 에 대한 신드롬 시퀀스들은 서로 다르다. 그렇지만, ±[2,-2, 0, 2,-2]은 g2(x)에 의해 나누어질 수 없다. 따라서, 에러 이벤트 ±[2,-2, 0, 2,-2]이 도미넌트 하지 않다면, g2(x)는 생성 다항식으로서 적용될 수 있다.
Figure 112006065865594-pat00062
생성 다항식 g2(x) = 1+x+x3+x4을 적용하여, 표 5는 기록 밀도 1.4에서의 모든 도미넌트 에러 이벤트들에 대한 신드롬 시퀀스들을 보인다.
신드롬 시퀀스들은 검출되지 않는 도미넌트 에러 이벤트 ±[2,-2, 0, 2,-2]를 제외한 모든 도미넌트 에러 이벤트들에 대하여 모두 다르므로, 발생된 도미넌트 에러 이벤트의 종류를 판단할 수 있다.
그러나, 검출되지 않는 도미넌트 에러 이벤트 ±[2,-2, 0, 2,-2] 때문에 동일한 차수 4의 다른 비원시 생성 다항식이 고려되어야만 한다.
그렇지만, 차수 4까지의 어떠한 다른 다항식도 모든 도미넌트 에러 이벤트들에 대하여 모두 다른 신드롬 시퀀스를 산출하지 않는 것을 알 수 있다. 따라서, 보다 높은 차수의 비원시 생성 다항식 즉, 차수 5이상의 생성 다항식이 고려된다.
그러면, S208 과정에서 다른 나누어질 수 있는 에러 이벤트가 남아있는지를 판단한다.
만일, S208과정에서 g2(x)에 의해 나누어질 수 있는 도미넌트 에러 이벤트가 있다고 판단되면, S210과정에서 g3(x) = (1+x)g2(x) = 1+x2+x3+x5이 고려된다(주기는 12)
에러 이벤트 ±[2,-2, 0, 2,-2]를 검출하기 위하여, g3(x) = (1+x)g2(x) = 1+x2+x3+x5가 고려된다. 그러면, 모든 도미넌트 에러 이벤트들이 검출되며, 그들의 신드롬 시퀀스들은 모두 다르다.
표 6은 도미넌트 에러 이벤트들에 연관된 신드롬 세트들을 수록하고 있다. 신드롬 세트는 주어진 에러 이벤트에 대한, 코드워드의 몇몇 서브블록들 내에서 그것의 시작 위치들에 의존하는, 모든 가능한 신드롬 값들의 집합이다.
기록 밀도 1.4에서의 모든 도미넌트 에러 이벤트들이 코드워드 내에서 성공적으로 검출되며, 상응하는 신드롬 세트들은 서로 다르다.
Figure 112006065865594-pat00063
모든 도미넌트 에러 이벤트들에 대한 신드롬 세트들의 주기도 모두 다음과 같이 분석적으로 계산된다.
·±[2,-2]: 이것은 (1+x)에 의해 나누어질 수 있으며 g3(x) 의 다른 인수들 (1+x)2(1+x+x2)의 주기는 6이므로, 신드롬 시퀀스의 주기는 6이다.
→S = [24, 12, 6, 3, 23, 29]
·±[2,-2, 2]: 이것은 (1+x+x2)에 의해 나누어질 수 있으며 다른 인수 (1+x)3의 주기는 4이므로, 신드롬 시퀀스의 주기는 4이다.
→S = [28, 14, 7, 21]
·±[2,-2, 2,-2]: 이것은 (1+x)3에 의해 나누어질 수 있으며 다른 인수 (1+x+x2)의 주기는 3이므로, 신드롬 시퀀스의 주기는 3이다.
→S = [30, 15, 17]
·±[2,-2, 2,-2, 2]: 이것은 g3(x)에 의해 나누어질 수 있으며, g3(x)의 주기는 12이므로, 신드롬 시퀀스의 주기는 12이다.
→S = [31, 25, 26, 13, 16, 8, 4, 2, 1, 22, 11, 19]
·±[2,-2, 0, 2,-2]: 이것은 (1+x)2(1+x+x2)에 의해 나누어질 수 있으며 다른 인수 (1+x)의 주기는 1이므로, 신드롬 시퀀스의 주기는 1이다.
→S = [27]
·±[2,-2, 2,-2, 2,-2]: 이것은 (1+x)(1+x+x2)에 의해 나누어질 수 있으며 다른 인수 (1+x)2 의 주기는 2이므로, 신드롬 시퀀스의 주기는 2이다.
→S = [9, 18]
비원시 다항식 g3(x) = 1+x2+x3+x5을 사용한 테이블 6에 있어서, 모든 도미넌트 에러 이벤트들에 대하여 결코 반복되지 않는 신드롬이 있는 것을 알 수 있다.
S212과정에서, 나누어질 수 있는 에러 이벤트가 남아있는 지를 판단한다.
S212과정에서 g3(x)에 의해 나누어질 수 있는 도미넌트 에러 이벤트들이 있다고 판단되면, S214과정에서 gn(x) = (1+x)gn -1(x)가 계속해서 고려된다.
S214과정에서 gn(x)에 의해 나누어질 수 없는 도미넌트 에러가 없다고 판단되면, S216과정에서 최종 gn(x)가 생성 다항식으로 설정된다.
S212과정에서 gn(x)에 의해 나누어질 수 있는 도미넌트 에러 이벤트가 없기 때문에, 최종 다항식 g3(x) = (1+x)g2(x) = 1+x2+x3+x5이 본 발명의 예시적인 실시예에 따른 양호한 비원시 생성 다항식으로 판단된다.
고유한 신드롬 세트를 산출하는 양호한 비원시 생성 다항식을 구축하기 위한 일반적인 설계 지침이 있다.
부호간 간섭 채널이 주어지고, L 에러 패턴들의 미리 알려진 세트가 있다고 가정한다.
그러면, 각각의 미리 알려진 에러 패턴은 N개의 서로 다른 비약분 다항식들로 인수분해될 수 있다.
적어도 두 개의 차수들이 0이 아닌 각 비약분 인수의 멱수(power)들 중에서 최대인 것이 획득된다.
비약분 인수들 및 그것들의 최대 차수에 관한 정보에 기반하여, 각각의 미리 알려진 에러 패턴을 완전하게 특정할 수 있는 비원시 생성 (Non-Primitive Generator; NPG) 다항식은 그것들 각각의 최대 차수에 연관된 유도된 비약분 인수들의 곱셈 연산(multiplication)에 의해 획득될 수 있다.
전통적인 피드백 시프트 레지스터를 사용하여 도미넌트 에러이벤트를 포함하는 잘못된 코드워드로부터 신드롬이 계산되면, 코드워드 내에서 발생된 도미넌트 에러 이벤트의 종류가 즉시 판단된다.
하나의 예로서, 만일 코드워드 내에서 발생된 도미넌트 에러 이벤트에 대한 신드롬이 십진수로 24 즉, 실제의 신드롬이 [1 1 0 0 0]이라면, 검출된 도미넌트 에러 이벤트는 의심할 여지 없이 ±[2,-2]이다. 마찬가지로 도미넌트 에러 이벤트에 대한 신드롬이 16이라면, 발생한 도미넌트 에러 이벤트는 ±[2,-2, 2,-2, 2]이다.
도미넌트 에러 이벤트의 종류에 대한 판단 이외에도, 발생된 에러 그것의 신드롬 값에 근거하여 이벤트의 가능한 위치도 역시 추정될 수 있다.
예를 들어, 코드워드 내의 단일한 도미넌트 에러에 대한 신드롬 값이 6이라고 가정하면, 에러 이벤트의 종류 즉, ±[2,-2]가 결정된다. 도미넌트 에러 이벤트 ±[2,-2]에 연관된 주기 6의 신드롬 세트는 [24, 12, 6, 3, 23, 29] 즉, [24, 12, 6, 3, 23, 29, 24, 12, 6, 3, 23, 29, …]의 반복되는 버전이므로, 발생된 에러 이벤트 ±[2,-2]의 가능한 시작 위치들은 3, 9, 15, 21,…, 그리고 (6k-3)들 중의 하나이다. 여기서, k =1, …, n/6 이고 n 은 코드워드 길이이다.
Figure 112006065865594-pat00064
표 7은 신드롬이 6이라고 가정할 때, 도미넌트 에러 이벤트 ±[2,-2]에 대한 십진수로 나타내어지는 신드롬 값들과 가능한 시작 위치들을 수록하고 있다. 신드롬 값 6이 에러 이벤트 ±[2,-2]에 대해서만 고유하므로, 실제의 에러 시작 위치는 가능한 위치들의 세트 내에 있다.
게다가, 에러 이벤트 ±[2,-2]의 가능한 시작 위치들의 세트로부터, 이들 시작 위치 및 종료 위치 사이의 반대되는 바이너리 비트들 즉, [1 0] 또는 [0 1]이 찾아질 수 있다면 실제의 에러 이벤트는 [2,-2] 또는 [-2, 2]이기 때문에, 세트의 크기가 감소될 수 있다.
따라서, 보다 가능한 에러 위치들의 세트 즉, 탐색 영역이 찾아질 수 있다.
하나의 예로서, g3(x) = 1+x2+x3+x5에 근거한 (36, 31) CRC 코드가 에러 검출 코드로서 채택되고 그리고 도미넌트 에러 이벤트 [-2, 2]가 코드워드 내의 3번째 및 4번째 위치에서 발생하였다고 가정한다.
잘못된 코드워드에 대한 신드롬은 6이다. 따라서, 코드워드 내에서 도미넌트 에러 이벤트 [1 1]이 발생되었다.
신드롬 값 6은 에러 이벤트의 가능한 시작 위치의 세트 즉, t = {3, 9, 15, 21, 27 및 33}을 나타낸다. 에러 이벤트는 [2,-2] 또는 [-2, 2]의 형태이므로, 각각의 가능한 시작 위치 및 끝 위치 사이의 비트들을 고려하여 세트 t로부터 다 가능한 시작 위치들의 세트 s가 얻어질 수 있다. 표 8은 이러한 과정을 요약하고 있다.
Figure 112006065865594-pat00065
표 8에 있어서와 같이, 코드워드 내에 단일한 도미넌트 에러 이벤트가 있고, 발생한 도미넌트 에러 이벤트의 종류가 정확하게 판단되며, 그리고 그것의 가능한 발생 위치가 또한 상기에 주어진 과정을 통해 유도된다고 가정한다.
따라서, 비원시 생성 다항식에 근거한 본 발명의 에러 검출 코드는 원시 생성 다항식에 근거한 에러 검출 코드에 비해 실질적으로 보다 적은 오정정을 제공한다.
비원시 생성 다항식 g3(x) = 1+x2+x3+x5 에 근거한 새로운 CRC 에러 검출 코드는 코드워드 내에서 검출된 도미넌트 에러 이벤트의 종류를 판단할 수 있지만, 원시 생성 다항식에 근거한 종래의 CRC 에러 검출 코드는 종류에 관한 정보를 제공하지 않는다.
또한, 새로운 CRC 코드는 오정정의 가능성을 줄이는 데 매우 도움이 되는 발생한 도미넌트 에러 이벤트의 가능한 위치들을 산출한다.
검출된 도미넌트 에러 이벤트의 정정을 위하여, 모든 에러 상관 필터들은 종래의 포스트 비터비 처리기에서 에러 종류 및 그것의 위치를 찾기 위하여 작동되어야 한다.
그렇지만, 발생한 도미넌트 에러 이벤트들의 종류는 새로운 CRC 에러 검출 코드를 사용한 신드롬 연산에 의해서만 판단되기 때문에, 단지 도미넌트 에러 이벤트에 연관된 오직 하나의 에러 상관 필터만이 실제의 위치를 찾게 된다.
명백하게, 이것은 오정정의 가능성을 줄이게 될 것이다. 게다가, 새로운 CRC 에러 검출 코드는 또한 종류가 판단된 도미넌트 에러 이벤트에 대한 가능한 위치들을 산출하며, 따라서 에러 상관 필터는 실제의 위치를 찾기 위하여 몇몇 가능한 위치들에 대해서 검사한다.
도 3은 본 발명의 예시적인 실시예에 따른 포스트 비터비 처리기를 보이는 것이며, 이 포스트 비터비 처리기는 목표 엔코더(312), 에러 상관 필터 뱅크(316), 신드롬 연산기(318), 에러 종류 결정기(320), 에러 위치 결정기(322) 그리고 에러 정정기(324)를 구비한다.
EDC 엔코더(302)는 데이터를 부호화하여 리드백 채널(304)를 통하여 전송한다. EDC 엔코더(302)는 도 2를 참조하여 설명된 본 발명의 예시적인 실시예에 따른 비원시 생성 다항식을 사용하여 순환 코드워드(cyclic codeword)를 생성한다.
등화기(306)는 리드백 채널(304)를 통하여 수신된 데이터를 등화하고, ML 검출기(308)는 등화된 리드백 데이터를 검출한다. 신드롬 연산기(318)은 ML 검출기(308)의 출력에 대해 신드롬을 연산한다.
일단 0이 아닌 신드롬이 연산되면, 에러 종류 결정기(320)에 의해 발생된 도미넌트 에러 이벤트의 종류가 판단된다. 신드롬 값에 근거하여, 에러 위치 결정기(322)에 의해 발생된 도미넌트 에러 이벤트에 대한 가능한 위치들이 선택된다.
에러 상관필터 뱅크(316)의 6개의 에러 상관필터(기록 밀도 1.4에서)들 중에서, 선택된 도미넌트 에러 이벤트에 연관된 오직 하나의 에러 상관 필터만이 작동하며, 다른 에러 상관 필터들은 작동하지 않는다.
작동하는 에러 상관 필터는 가능한 위치들에 대한 필터의 출력으로부터 최대로 가능한 위치만을 찾는다.
최종적으로, 정정기(324)는 발생된 도미넌트 에러 이벤트를 정정한다. 도 3에 도시된 예시적인 실시예에 있어서, 신드롬 연산기(318), 에러 종류 결정기(320) 그리고 에러 위치 결정기(322)들은 개별적으로 구현된다.
그렇지만, 이들 구성요소들은 하나의 구성 요소 예를 들면, 신드롬 연산기(318)로 집적될 수 있다.
비록 CRC 에러 검출 코드가 코드워드 내에서 단일하게 발생된 도미넌트 에러의 종류를 판단할 수 있지만, 코드워드 경계에서의 도미넌트 에러 이벤트(엔드-어라운드 케이스, end-around case)도 정정을 위하여 고려되어야 한다.
도미넌트 에러 이벤트의 세트는 기록 밀도 1.4에서의 ±[2,-2], ±[2,-2, 2], ±[2,-2, 2,-2], ±[2,-2, 2,-2, 2], ±[2,-2, 0, 2,-2] 그리고 ±[2,-2, 2,-2, 2,-2]들을 포함한다. 대부분에 있어서, 코드워드 경계의 도미넌트 에러 이벤트는 다른 도미넌트 에러 이벤트들을 산출한다.
예를 들어, ±[2,-2, 2,-2]의 도미넌트 에러 이벤트가 두 개의 코드워드들 사이에서 균등하게 발생했을 경우, 각 코드워드 내에서 결과되는 에러 이벤트들은 ±[2,-2]이다.
그렇지만, 이것은 언제나 발생하는 것은 아니다. 가장 도미넌트한 에러 이벤트 ±[2,-2]가 코드워드 경계에서 발생한다면, 결과되는 에러 이벤트는 ±[2]의 단독 에러 이벤트가 되고, 코드워드 경계에서 발생하는 ±[2,-2, 0, 2,-2]의 도미넌트 에러 이벤트는 ±[2,-2, 0, 2] 혹은 ±[-2, 0, 2,-2]. 중의 하나가 될 것이다.
모든 가능한 경우들을 고려하면, ±[2], ±[2,-2, 0, 2] 와 ±[-2, 0, 2,-2]를 코드워드 내에서 부가적으로 가능한 도미넌트 에러 이벤트들로 간주하는 것이 필요하다는 것을 알 수 있다.
코드워드 경계에서의 에러 이벤트들의 종류가 판단될 수 있는지의 여부를 찾기 위하여, 표 9에 신드롬 세트가 수록된다.
Figure 112006065865594-pat00066
불행하게도, 엔드-어라운드 케이스에 대한 신드롬 세트들은 ±[2,-2, 2,-2, 2]의 도미넌트 에러 이벤트에 대한 신드롬 시퀀스와 같아서, 도미넌트 에러 이벤트 ±[2,-2, 2,-2, 2]와 코드워드 경계에서의 도미넌트 에러 이벤트들 사이에 오선택을 산출할 수 있는 가능성이 있다.
그러나, 도미넌트 에러 이벤트 ±[2,-2, 0, 2,-2]의 빈도는 약 1%에 불과하므로, ±[-2, 0, 2, -2] 와 ±[2,-2, 0, 2] 중의 하나가 발생할 확률은 에러 이벤트 ±[2,-2, 0, 2,-2]에 대한 엔드-어라운드 케이스를 무시해도 좋을 정도로 매우 작다.
그렇지만, 도 4에 도시된 바와 같이, 단독 에러 이벤트 ±[2]의 발생 가능성은, 그것이 모든 도미넌트 에러 이벤트들로부터 발생될 수 있기 때문에, 상당하다.
비록 도미넌트 에러 이벤트 ±[2,-2, 2,-2, 2]와 단독 에러 이벤트 ±[2]에 대한 신드롬 세트들이 같지만, 단독 에러 이벤트는 도미넌트 에러 이벤트가 아니라 엔드-어라운드 케이스에 의해 취급되기 때문에, 단일한 에러 이벤트 ±[2] 는 대부분 코드워드의 처음과 끝 중의 하나에서 발생한다.
단독 에러 이벤트가 코드워드의 끝 부분에서 발생하면, 상응하는 신드롬은 13이다. 비슷하게, 단독 에러 이벤트가 코드워드의 처음 부분에서 발생하면 산출되는 신드롬은 16이다. 도 4에 도시된 경우들에 대하여, 그것들의 신드롬들이 도 5에 주어진다.
먼저, 신드롬이 31, 25, 26, 13, 16, 8, 4, 2, 1, 22, 11 그리고 19 중의 하나일 때마다, 검출된 에러 이벤트는 ±[2,-2, 2,-2, 2]로 간주된다. 그렇지만, 엔드-어라운드 케이스(단독 에러 이벤트)를 부가적인 것으로 간주하면, 신드롬이 13과 16 중의 하나로 산출되면, 검출된 에러 이벤트는 코드워드내의 끝 혹은 처음 위치에서의 단독 에러 이벤트가 될 수 있다.
따라서, 본 발명의 포스트 비터비 에러 검출 방법은 단독 에러 이벤트에 연관된 추가적인 에러 상관 필터를 부가한다.
그러나, 가능한 위치는 오직 하나이기 때문에 복잡도는 중요하지 않다. 만일 신드롬이 13이라면, ±[2,-2, 2,-2, 2] 와 ±[2]에 연관된 두 개의 에러 상관 필터들이 검출된 에러 이벤트의 실제 위치를 찾기 위하여 작동한다.
신드롬이 13이기 때문에, 단독 에러 이벤트에 대한 에러 상관 필터는 오로지 코드워드의 마지막 위치를 검사한다. 종국적으로, 두 개의 에러 상관 필터들에 대한 두 개의 최대 값들 중에서, 포스트 비터비 처리기는 보다 큰 값을 선택하고, 에러 이벤트의 상응하는 위치들을 산출한다. 실제의 에러 이벤트 및 위치를 선택하는 데 있어서 약간의 모호성(ambiguity)이 있을 수 있다.
CRC 에러 검출 코드에 근거한 포스트 비터비 에러 검출 방법을 사용하여, 비트 에러 레이트들(BER)은 다양한 SNR들에 대하여 시뮬레이션되고, 도 6의 (203, 200) CRC code에 근거한 종래의 포스트 비터비 처리기의 BER들과 비교된다.
참고로, 도미넌트 하지 않는 에러 이벤트들을 고려하는 부호화되지 않은 BER(uncoded BER)와 이상적인 BER(ideal BER)도 함께 보여진다.
사용자 기록 밀도 1.4를 달성하기 위하여, (252, 247) CRC code 및 (203, 200) CRC code 상응하는 채널 기록 밀도들은 각각 1.4283 및 1.4210이다. BER 시뮬레이션에 있어서 목표 응답은 [1, 6, 7, 2]이고 그리고 혼합 잡음은 50%의 매체 잡음 및 50%의 AWGN을 포함한다.
두 포스트 비터비 처리기 모두 부호화되지 않는 경우에 대하여 양호한 퍼포먼스 게인(performance gain)들을 산출하는 것을 알 수 있다.
특히, 본 발명의 포스트 비터비 에러 검출 방법은 종래의 것에 비해 보다 좋은 퍼포먼스 게인을 제공한다.
두 방법 사이의 각각의 에러 종류에 대한 정정능력의 비교는 도 10에 요약되어 있다.
각 에러 종류의 발생 가능성도 함께 보여지고 있다. 정정 가능성 검사 및 발생 가능성은 BER = 2.2600×10-5에서 각 코드워드 블록에 연관된 포획된(captured) 에러 이벤트들 및 포스트 비터비 에러 정정 후의 에러 이벤트로부터 얻어진다.
기대한 바대로, 발생된 에러 이벤트들은 대부분 코드워드 내 및 코드워드 경계에서의 도미넌트 에러 이벤트의 세트로 구성된다. (95.15%)
종래의 포스트 비터비 처리기가 도미넌트 에러 이벤트들의 세트에 대하여 상당한 오정정을 제공하는 반면에, 신드롬 값에 근거하여 종류가 정확하게 판단되고 실제의 에러 위치가 가능한 위치들의 세트 내에 있기 때문에 본 발명의 방법은 매우 작은 오정정을 산출한다.
종래 방법의 오정정은 잘못된 위치로 인하여 발생한 도미넌트 에러 이벤트와 같은 길이의 에러 이벤트와 잘못된 선택으로 인하여 발생한 것보다 더 긴 길이의 에러 이벤트 중의 하나를 산출한다.
따라서, 종래의 포스트 비터비 처리기에 있어서의 상당한 오정정은 검출기 출력에서의 비트 에러들의 주요한 소오스이다. 도미넌트 에러 이벤트가 코드워드 경계에서 발생하더라도, 두 개의 별개의 도미넌트 에러 이벤트들은 도미넌트 에러 이벤트들의 다른 버전과 두 개의 단독 에러 이벤트 ±[2] 들 중의 하나가 된다. 본 발명은 단독 에러 이벤트들에 대하여 유의(care about)하고 있으므로, 단독 에러 이벤트는 매우 높은 가능성을 가지고 정정될 수 있다.
코드워드 내의 다중 도미넌트 에러 이벤트들에 대하여, 연관된 에러 상관 필터가 코드워드 블록 내에서의 모든 위치들 중에서 최대값을 산출하는 위치를 찾도록 시도하므로 종래의 방법은 그것들 중의 하나를 정정하기 위한 보다 많은 기회를 가질 수 있다.
그러나, 코드워드 내의 다중 도미넌트 에러 이벤트(multiple dominant error event)들은 종류에 대한 정확한 정보를 줄 수 없기 때문에 본 발명은 그것들을 정정할 수 없다.
예를 들어, 도미넌트 에러 이벤트 [2,-2]가 코드워드 내의 7번째 및 8번째 위치들에서 발생한다고 가정한다. 또한, 동일한 에러 이벤트가 코드워드 내의 116번째 및 117번째 위치들에서 발생한다고 가정한다.
그러면, 첫 번째 및 두 번째 에러 이벤트들에 대한 신드롬 값들은 각각 24와 12즉, [1 1 0 0 0] 와 [0 1 1 0 0]이다. 결과되는 신드롬 값은 20 즉, [1 0 1 0 0]이다.
신드롬 값 20에 근거하여, 발생된 도미넌트 에러 이벤트의 종류는 표 9에서 찾아질 수 없으므로 다중 도미넌트 에러 이벤트들은 정정될 수 없다.
다른 예로서, 두 개의 도미넌트 에러 이벤트들 [2,-2] 와 [2,-2, 2]이 각각 13 및 14번째 위치들 그리고 197, 198 그리고 199번째 위치들에서 발생하는 것을 가정한다.
그러면, 두 개의 도미넌트 에러 이벤트들에 대한 신드롬 값들은 각각 24 및 28 즉, [1 1 0 0 0] 및 [1 1 1 0 0]이다.
신드롬 값 4는 검출기로 하여금 발생된 에러 이벤트가 오선택인 도미넌트 에러 [2,-2, 2,-2, 2]인 것으로 판단하게 한다.
본 발명은 코드워드 내의 다중 도미넌트 에러 이벤트에 대하여 제대로 작동하지 않지만, 이러한 경우의 빈도는 다른 발생 경우들의 빈도에 비해 작다 (약 2.0%).
코드워드 경계에서의 다중 에러 이벤트들에 대하여, 두 방법들은 에러 이벤트들을 정정하지 못한다. 마찬가지로, 코드워드 내 혹은 코드워드 경계들에서의 단일한 혹은 다중의 도미넌트하지 않은 에러 이벤트(들)에 대하여, 두 방법들은 어쩔 수 없이 그것들의 정정을 기도(attempt)하지 않는다.
SNR이 증가함에 따라, 다중 도미넌트 에러 이벤트들 혹은 도미넌트하지 않은 에러 이벤트(들)이 매우 적게 발생된다.
따라서, SNR 이 14, 15 그리고 16dB에서 두 방법들이 비슷한 성능을 보이지만, 본 발명은 SNR이 17dB일 때부터 보다 좋은 성능을 산출한다.
종래의 방법들에 비해 퍼포먼스 게인들은 BER 이 10-4 및 10-5일 때 각각 약 0.15dB 및 0.3dB이다.
게다가, 대부분의 에러 이벤트들이 도미넌트 에러 이벤트들이기 때문에 18 및 19dB에서의 본 발명의 BER들은 거의 이상적인 BER들을 획득한다.
Figure 112006065865594-pat00067
(n, k, t) 리드 솔로몬(Reed-Solomon; RS) code는 k 개의 정보 심볼들을 포함하는 n개의 심볼 코드 블록에서 t 개의 심볼 에러까지 정정할 수 있다.
여기서, 외부 RS 코드(outer RS code)가 적용된다는 가정하에서, 전송된 섹터들의 총개수에 대한 정정될 수 없는 섹터들의 개수의 비율로 정의되는 섹터 에러 레이트(sector error rate; SER)이 연산된다.
이러한 계산을 수행하는 하나의 범용적인 방법은 그것들의 길이에 연관된 심볼 에러들의 발생 가능성에 대한 다중명목 분산(multinominal distribution)에 근거한다.
길이 i의 심볼 에러(여기서, i는 1,…,k)에 대하여 xi 및 pi를 각각 개수 및 발생 가능성이라 한다.
다중 명목 분산에 근거한 가능 밀도 함수(probability density function)는 다음의 수학식 6과 같이 표현된다.
Figure 112006065865594-pat00068
여기서, xk+1 및 pk+1는 각각 섹터 내에 잘못되지 않는 심볼들의 개수 및 가능성을 나타내며, 따라서
Figure 112006065865594-pat00069
Figure 112006065865594-pat00070
이다.
512 정보 바이트의 섹터에 대하여 SER을 계산하기 위하여, GF(210) 에 근거한 단축된 RS 코드(shortened RS code)가 사용된다. 외부 RS 코드를 고려한 전체(overall) 사용자 기록 밀도
Figure 112006065865594-pat00071
Figure 112006065865594-pat00072
로 정의되며, 여기서 R'는 외부 RS 코드의 코드 레이트이다.
(n, k, t) 의 단축된 RS 코드는 섹터 내에서 t개의 심볼 에러까지 정정할 수 있고 인터리빙을 요구하지 않으므로, 정정될 수 없는 섹터의 가능성 즉, SER은 다음의 수학식 7로 간단하게 주어진다.
Figure 112006065865594-pat00073
여기서,
Figure 112006065865594-pat00074
와 같은 가산 연산(summation)은
Figure 112006065865594-pat00075
의 모든 조합에 대한 것이다.
표 11은 다양한 SNR들(16, 17 그리고 18dB)에서의 부호화되지 않은 ML 검출기, 종래의 포스트 비터비 처리기 그리고 본 발명의 방법의 출력에서의 그것들의 길이들에 연관된 발생된 심볼 에러들의 표본 가능성들을 보인다.
심볼 에러들의 올바른 통계를 얻기 위하여, 가능성 pi 가 그것의 진실된 값에 수렴할 수 있도록 매우 큰 수의 심볼 에러들이 발생되어야 한다.
표 11에 보여지는 바와 같이, 종래 및 본 발명의 방법들 모두 유사한 길이 -1 및 약간 다른 길이 -2의 심볼 에러 통계들을 보이며, 종래의 포스트 비터비 처리기가, 대부분 종래 방법의 오정정 때문에, 통계적으로 길이 -3의 버스트 에러(burst error)들을 산출한다.
Figure 112006065865594-pat00076
도 7은 다양한 RS 코드들 즉, (420, 410, 5), (424, 410, 7), (430, 410, 10) 그리고 (440, 410, 15) RS 코드들에 대한 3가지 방법들의 SER들의 비교를 보이는 것이다.
각 RS 코드들에 대한 전체 사용자 기록 밀도들 (
Figure 112006065865594-pat00077
)은 각각 1.3667, 1.3538, 1.3349 그리고 1.3045이다.
도 7을 참조하면, 종래 및 본 발명의 포스트 비터비 에러 정정 방법들은 모두 명백하게 부호화되지 않은 경우에 비해 좋은 SER 퍼포먼스 게인들을 보이며, 그리고 본 발명은 17dB보다 높은 SNR들에서 종래의 방법보다 더 좋은 SER 퍼포먼스 게인을 산출하는 것을 알 수 있다.
표 11에 수록된 버스트 에러들의 통계를 가지는 퍼포먼스 게인은 다음과 같이 설명된다. 종래의 방법은 일반적으로 보다 긴 버스트 에러를 산출하며, 본 발명의 방법에서의 버스트 에러의 발생 가능성이 18dB에서 낮아지기 때문이다.
결과로서, SER = 10-12에서의 SNR 이득이 (424, 410, 7) RS 코드 및 (430, 410, 10) RS 코드에서 각각 0.46dB및 0.2dB 정도인 것이 보여진다.
또한, 정정가능한 심볼의 수가 증가함에 따라 보다 낮은 SNR에서 10- 12 의 SER이 얻어지고 두 SER들이 17dB까지 비슷하기 때문에 퍼포먼스 게인이 작아지는 것이 관찰된다.
상술한 바와 같이 본 발명의 예시적인 실시예에 따르면, 수직 기록에서의 도미넌트 에러 이벤트들의 세트들에 근거하여, 각각의 도미넌트 에러 이벤트에 대하여 고유한 신드롬 세트를 산출하는 비원시 생성 다항식이 유도된다. 결과적으로 신드롬들의 각 세트는 오직 하나의 도미넌트 에러 이벤트에 상응한다.
따라서, 발생된 도미넌트 에러 이벤트의 종류가, 코드워드 내의 단일한 도미넌트 에러 이벤트에 대한 종래의 포스트 비터비 처리기에서의 오선택을 거의 제거하는, 어떠한 모호성도 없이 즉각적으로 한번의 신드롬 연산에 의해 판단될 수 있다.
또한, 신드롬 세트의 주기적인 특성 및 종류가 판단된 에러 이벤트의 특징을 이용하여, 검출된 도미넌트 에러 이벤트에 대한 가능한 에러 위치들의 세트가 또한 얻어질 수 있다. 이후에는, 결정된 종류에 연관된 에러 상관 필터가 주어진 가능한 에러 위치들 사이에서 실제의 에러 위치를 찾는 것을 시도한다.
실제의 에러 위치는 가능한 에러 위치들의 세트 내에 있기 때문에, 종래의 방법에 있어서의 잘못된 위치의 가능성이 실질적으로 줄어든다.
컴퓨터 시뮬레이션을 통하여 상당히 낮은, 잘못된 선택 및 잘못된 위치를 포함하는, 오정정의 가능성 때문에 통상의 신호대 잡음비로부터 높은 신호대 잡음비에 대하여 본 발명의 포스트 비터비 에러 정정 방법이 종래의 포스트 비터비 처리기 보다 좋게 수행하는 것이 보여진다.
본 발명의 실시예들은 모바일 기기에 내장된 HDD들 뿐만 아니라 다른 형태의 데이터 저장 기기들 및 모바일 기기 자체를 보호하는 데에도 적용될 수 있음이 이해되어야 한다.
상술한 바와 같이 본 발명에 따른 에러 검출 및 정정 방법에 의하면, 검출된 이벤트 에러의 종류 및 가능한 에러 시작 위치에 대하여 에러 정정을 수행함으로써 오정정의 가능성을 줄일 수 있는 효과가 있다.

Claims (25)

  1. 데이터로부터 코드워드를 발생하는 방법에 있어서,
    기록 매체의 부호간 간섭 특성으로부터 도미넌트 에러 이벤트들의 세트를 준비하는 과정; 및
    각각의 도미넌트 에러 이벤트들을 규정할 수 있는 고유한 신드롬 세트를 산출하는 비원시 생성 다항식을 이용하여 상기 데이터로부터 코드워드를 발생하는 과정을 포함하는 코드워드 발생 방법.
  2. 제1항에 있어서, 상기 도미넌트 에러 이벤트들의 세트는,
    모든 에러 이벤트들의 전체 발생의 1% 이상의 발생 빈도를 나타내는 에러 이벤트를 포함하는 것을 특징으로 하는 코드워드 발생 방법.
  3. 제1항에 있어서, 상기 도미넌트 에러 이벤트는,
    적어도 ±{+}, ±{+ -}, ±{+ - +}, ±{+ - + -}, ±{+ - + - +}, ±{+ - + - + -}, ±{+ - + - + - +}, ±{+ - + - + - + -}, ±{+ - + - + - + - +}, ±{+ - + - + - + - + -}, ±{+ - + - + - + - + - +}, ±{+ - + - + - + - + - + -}, ±{+ - + - + - + - + - + - +}, ±{+ - + - + - + - + - + - + -}, ±{+ - 0 + -}, ±{+ - 0 + - 0 + -}, ±{+ - 0 + - 0 + - 0 + -}, ±{+ - 0 0 + -}, ±{+ - 0 0 + - 0 0 + -} 그리고 ±{+ - 0 0 + - 0 0 + - 0 0 + -} 중의 하나인 것을 특징으 로 하는 코드워드 발생 방법.
  4. 제1항에 있어서, 상기 비원시 생성 다항식은,
    주기가 2m-1 보다 작은 차수 m을 가지는 것을 특징으로 하는 코드워드 생성 방법.
  5. 제1항에 있어서, 상기 비원시 생성 다항식을 구성하는 과정을 더 구비하며, 상기 비원시 생성 다항식을 구성하는 과정은,
    상기 도미넌트 에러 이벤트들의 세트로부터 도미넌트 에러 이벤트 다항식을 인수분해하는 과정;
    상기 도미넌트 에러 이벤트 다항식의 약분되지 않는 인수와 상기 약분되지 않는 인수의 최대 멱수를 결정하는 과정; 및
    상기 최대 차수에 연관된 약분되지 않는 인수들의 곱셈 연산을 산출하는 과정을 포함하는 것을 특징으로 하는 코드워드 발생 방법.
  6. 제1항에 있어서, 상기 코드워드는,
    순환 코드워드(cyclic codeword)인 것을 특징으로 하는 코드워드 발생 방법.
  7. 제1항 또는 4항에 있어서, 상기 코드워드를 발생하는 과정은,
    상기 데이터로부터 시프트된 데이터 다항식을 연산하는 과정;
    상기 시프트된 데이터 다항식을 상기 비원시 생성 다항식에 의해 나누어 나머지를 연산하는 과정; 및
    상기 데이터에 상기 나머지가 가산된 상기 코드워드를 얻는 과정을 포함하는 것을 특징으로 하는 코드워드 발생 방법.
  8. 데이터 내의 에러 이벤트를 검출 및 정정하는 방법에 있어서,
    기록매체로부터 기록 매체의 부호간 간섭 특성으로부터 도미넌트 에러 이벤트들의 세트를 준비하는 과정과 각각의 도미넌트 에러 이벤트들을 규정할 수 있는 고유한 신드롬 세트를 산출하는 비원시 생성 다항식을 이용하여 상기 데이터로부터 코드워드를 발생하는 과정에 의해 발생된 에러가 있을 수 있는 코드워드를 수신하는 과정;
    상기 수신된 코드워드로부터 0이 아닌 신드롬이 산출되면, 수신된 코드워드 내의 에러 이벤트의 발생을 검출하는 과정;
    상기 0이 아닌 신드롬에 근거하여 검출된 도미넌트 에러 이벤트의 정확한 종류를 결정하는 과정;
    상기 0이 아닌 신드롬을 포함하는 상기 신드롬 세트를 이용하여 가능한 에러 시작 위치들의 세트를 결정하는 과정;
    상기 가능한 에러 위치들에서 실제의 에러 시작 위치를 결정하는 과정; 및
    상기 검출된 도미넌트 에러의 종류 및 상기 실제의 에러 시작 위치에 근거하 여 상기 도미넌트 에러 이벤트를 정정하는 과정을 포함하는 에러 검출 및 정정 방법.
  9. 제8항에 있어서, 상기 에러가 있을 수 있는 코드워드를 수신하는 과정은 비터비 검출을 포함하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  10. 제8항에 있어서, 상기 수신된 코드워드 내의 에러 이벤트 발생을 검출하는 과정은,
    상기 수신된 코드워드를 상기 비원시 생성 다항식에 의해 이진 연산으로 나누는 과정;
    상기 수신된 코드워드를 상기 비원시 생성 다항식으로 나눔에 의해 결과되는 나머지인 신드롬을 얻는 과정; 및
    상기 신드롬이 0이 아니면 상기 수신된 코드워드 내의 에러 이벤트 발생을 판단하는 과정을 포함하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  11. 제10항에 있어서, 상기 신드롬이 0이 아니면 상기 수신된 코드워드 내의 에러 이벤트의 발생을 판단하는 과정은,
    상기 신드롬이 0이 아니면 상기 수신된 코드워드의 경계에서 에러 이벤트의 발생을 판단하는 과정을 더 구비하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  12. 제8항에 있어서, 상기 수신된 코드워드로부터 0이 아닌 신드롬이 산출되면, 수신된 코드워드 내의 에러 이벤트의 발생을 검출하는 과정은,
    상기 0이 아닌 신드롬을 포함하는 신드롬 세트 및 상기 신드롬 세트의 주기를 얻는 과정;
    상기 신드롬 세트에서 0이 아닌 신드롬의 순서를 판단하는 과정; 및
    상기 순서 및 주기를 사용하여 가능한 에러 시작 위치들의 세트를 결정하는 과정을 포함하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  13. 제8항에 있어서, 상기 0이 아닌 신드롬에 근거하여 검출된 도미넌트 에러 이벤트의 정확한 종류를 결정하는 과정은,
    상기 수신된 코드워드를 상기 검출된 도미넌트 에러 이벤트의 정확한 종류에 상응하는 하나의 에러 상관 필터에 적용시키는 과정; 및
    상기 가능한 에러 위치들의 세트에 대한 상기 에러 상관 필터의 출력 중에서 최대값을 산출하는 위치를 찾는 과정을 포함하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  14. 데이터 내의 에러 이벤트를 검출 및 정정하는 방법에 있어서,
    기록 매체로부터 각 도미넌트 에러 이벤트를 완전하게 규정할 수 있는 고유한 신드롬 세트를 산출하는 비원시 생성 다항식을 이용하여 소오스 데이터로부터 생성된 코드워드인 에러가 있을 수 있는 코드워드를 수신하는 과정;
    상기 수신된 코드워드로부터 0이 아닌 신드롬이 산출되면 상기 수신된 코드워드 내의 도미넌트 에러 이벤트의 발생을 검출하는 과정;
    상기 0이 아닌 신드롬에 근거하여 상기 검출된 도미넌트 에러 이벤트의 정확한 종류를 판단하는 과정;
    상기 0이 아닌 신드롬을 포함하는 신드롬 세트를 이용하여 가능한 에러 시작 위치들의 세트를 결정하는 과정;
    상기 가능한 에러 위치들 중에서 실제의 에러 시작 위치를 판단하는 과정; 및
    상기 검출된 도미넌트 에러 이벤트의 종류 및 상기 실제의 에러 시작 위치에 근거하여 상기 도미넌트 에러 이벤트를 정정하는 과정을 포함하는 에러 검출 및 정정 방법.
  15. 제14항에 있어서, 상기 에러가 있을 수 있는 코드워드를 수신하는 과정은, 비터비 검출인 것을 특징으로 하는 에러 검출 및 정정 방법.
  16. 제14항에 있어서, 상기 도미넌트 에러 이벤트의 발생을 검출하는 과정은,
    상기 수신된 코드워드를 상기 비원시 생성 다항식에 의해 이진 연산으로 나누는 과정;
    상기 수신된 코드워드를 상기 비원시 생성 다항식으로 나눔에 의해 결과되는 나머지인 신드롬을 얻는 과정; 및
    상기 신드롬이 0이 아니면 상기 수신된 코드워드 내의 에러 이벤트 발생을 판단하는 과정을 포함하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  17. 제16항에 있어서, 상기 신드롬이 0이 아니면 상기 수신된 코드워드 내의 에러 이벤트 발생을 판단하는 과정은,
    신드롬이 0이 아니면 상기 수신된 코드워드의 경계에서 상기 에러 이벤트의 발생을 판단하는 과정을 더 구비하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  18. 제14항에 있어서, 상기 0이 아닌 신드롬을 포함하는 신드롬 세트를 이용하여 가능한 에러 시작 위치들의 세트를 결정하는 과정은,
    상기 0이 아닌 신드롬을 포함하는 신드롬 세트 및 상기 신드롬 세트의 주기를 얻는 과정;
    상기 신드롬 세트에서 0이 아닌 신드롬의 순서를 판단하는 과정; 및
    상기 순서 및 주기를 사용하여 가능한 에러 시작 위치들의 세트를 유도하는 과정을 포함하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  19. 제14항에 있어서, 상기 가능한 에러 위치들 중에서 실제의 에러 시작 위치를 판단하는 과정은,
    상기 수신된 코드워드를 상기 검출된 도미넌트 에러 이벤트의 정확한 종류에 상응하는 하나의 에러 상관 필터에 적용시키는 과정; 및
    상기 가능한 에러 위치들의 세트에 대한 상기 에러 상관 필터의 출력 중에서 최대값을 산출하는 위치를 찾는 과정을 포함하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  20. 데이터의 에러 이벤트를 검출 및 보정하는 장치에 있어서,
    수신된 코드워드로부터 0이 아닌 신드롬이 산출되면 수신된 코드워드 내의 도미넌트 에러 이벤트의 발생을 검출하는 검출기;
    상기 0이 아닌 신드롬에 근거하여 검출된 도미넌트 에러 이벤트의 종류를 결정하는 에러 종류 결정기;
    상기 0이 아닌 신드롬을 포함하는 신드롬 세트를 이용하여 가능한 에러 시작 위치들의 세트를 결정하는 에러 위치 결정기;
    상기 가능한 에러 시작 위치들 중에서 실제의 에러 시작 위치를 결정하는 상관 필터 뱅크; 및
    상기 검출된 도미넌트 에러 이벤트의 종류 및 상기 실제의 에러 시작 위치에 근거하여 상기 도미넌트 에러 이벤트를 정정하는 정정기를 포함하는 에러 검출 및 정정 장치.
  21. 제20항에 있어서, 상기 코드워드는,
    각각의 도미넌트 에러 이벤트들을 완전하게 규정할 수 있는 고유한 신드롬 세트를 산출하는 비원시 생성 다항식을 이용하여 소오스 데이터로부터 생성된 것임 을 특징으로 하는 에러 검출 및 정정 장치.
  22. 제21항에 있어서, 상기 검출기는,
    이진 연산으로 상기 수신된 코드워드를 상기 비원시 생성 다항식을 나누는 과정, 상기 수신된 코드워드를 상기 비원시 생성 다항식에 의해 나누는 과정의 결과로 얻어지는 나머지인 신드롬을 획득하는 과정, 그리고 상기 신드롬이 0이 아니면 상기 수신된 코드워드 내에서 에러 이벤트가 발생한 것으로 판단하는 과정에 의해 에러 이벤트의 발생을 검출하는 것을 특징으로 하는 에러 검출 및 정정 장치.
  23. 제22항에 있어서, 상기 검출기는,
    상기 신드롬이 0이 아니면 상기 수신된 코드워드의 경계에서 에러 이벤트의 발생을 판단하는 것을 특징으로 하는 에러 검출 및 정정 장치.
  24. 제21항에 있어서, 상기 에러 위치 결정기는,
    상기 0이 아닌 신드롬을 포함하는 신드롬 세트와 상기 신드롬 세트의 주기를 획득하는 과정, 상기 신드롬 세트내의 상기 0이 아닌 신드롬의 순서를 결정하는 과정, 그리고 상기 순서 및 상기 주기를 이용하여 가능한 에러 시작 위치들의 세트를 결정하는 과정을 통하여 상기 가능한 에러 시작 위치들을 결정하는 것을 특징으로 하는 에러 검출 및 정정 장치.
  25. 제21항에 있어서, 상기 상관 필터 뱅크는,
    상기 수신된 코드워드를 상기 검출된 도미넌트 에러 이벤트의 종류에 상응하는 하나의 에러 상관 필터에 인가하는 과정과 상기 가능한 에러 위치들의 세트에 대한 에러 상관 필터의 출력들 중에서 최대값을 산출하는 위치를 찾는 과정을 통하여 상기 실제의 에러 시작 위치를 결정하는 것을 특징으로 하는 에러 검출 빛 정정 장치.
KR1020060088185A 2005-09-13 2006-09-12 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치 KR100780958B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060088185A KR100780958B1 (ko) 2005-09-13 2006-09-12 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/224,351 2005-09-13
US11/384,375 2006-03-21
KR1020060088185A KR100780958B1 (ko) 2005-09-13 2006-09-12 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070030689A KR20070030689A (ko) 2007-03-16
KR100780958B1 true KR100780958B1 (ko) 2007-12-03

Family

ID=41638093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060088185A KR100780958B1 (ko) 2005-09-13 2006-09-12 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100780958B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100881192B1 (ko) 2006-11-14 2009-02-05 삼성전자주식회사 에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000067136A (ko) * 1999-04-23 2000-11-15 윤종용 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기
US6516443B1 (en) 2000-02-08 2003-02-04 Cirrus Logic, Incorporated Error detection convolution code and post processor for correcting dominant error events of a trellis sequence detector in a sampled amplitude read channel for disk storage systems
US6581181B1 (en) 2000-03-29 2003-06-17 Oak Technology, Inc. Dominant error correction circuitry for a Viterbi detector
KR20040075954A (ko) * 2002-01-23 2004-08-30 톰슨 라이센싱 에스.에이. 에러 정정 디코더에서의 이중 치엔 탐색 블록

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000067136A (ko) * 1999-04-23 2000-11-15 윤종용 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기
US6516443B1 (en) 2000-02-08 2003-02-04 Cirrus Logic, Incorporated Error detection convolution code and post processor for correcting dominant error events of a trellis sequence detector in a sampled amplitude read channel for disk storage systems
US6581181B1 (en) 2000-03-29 2003-06-17 Oak Technology, Inc. Dominant error correction circuitry for a Viterbi detector
KR20040075954A (ko) * 2002-01-23 2004-08-30 톰슨 라이센싱 에스.에이. 에러 정정 디코더에서의 이중 치엔 탐색 블록

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100881192B1 (ko) 2006-11-14 2009-02-05 삼성전자주식회사 에러 패턴 검출 방법, 에러 정정 장치, 및 데이터 부호화 방법

Also Published As

Publication number Publication date
KR20070030689A (ko) 2007-03-16

Similar Documents

Publication Publication Date Title
JP5127189B2 (ja) エラー検出コードに基づくエラーの検出と訂正方法、及びそれに適した装置
US7949927B2 (en) Error correction method and apparatus for predetermined error patterns
US8423873B2 (en) Decoding techniques for correcting errors using soft information
EP1655845B1 (en) Iterative decoding of serial concatenated codes with algebraic decoding of the outer code
US8230309B2 (en) Maximum likelihood detector, error correction circuit and medium storage device
US8341506B2 (en) Techniques for correcting errors using iterative decoding
US7721185B1 (en) Optimized reed-solomon decoder
US8127216B2 (en) Reduced state soft output processing
US20090132894A1 (en) Soft Output Bit Threshold Error Correction
JP2000057709A (ja) 磁気ディスク誤り訂正方法及び装置
US7814394B2 (en) Post viterbi error correction apparatus and related methods
US7484167B2 (en) Error detection using codes targeted to prescribed error types
US6823487B1 (en) Method and apparatus for enhancing correction power of reverse order error correction codes
Fahrner et al. Low-complexity GEL codes for digital magnetic storage systems
US7620879B2 (en) Method of detecting occurrence of error event in data and apparatus for the same
US20030101410A1 (en) Method and apparatus for detecting and correcting errors in a magnetic recording channel of a mass storage system
KR100780958B1 (ko) 에러 검출 코드에 기반한 에러 검출 및 정정 방법 및 장치
KR100909963B1 (ko) 포스트 비터비 에러 정정 방법, 이에 적합한 기록 매체그리고 이에 적합한 장치
JP2006180172A (ja) Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
Lee et al. Advanced signal processing technique for storage systems
JP2001189059A (ja) 記録再生装置
Lee et al. A new post-viterbi processor based on soft-reliability information
Dorfman et al. Postprocessing using a single-parity interleaved block code for a Viterbi detector
CHOUDHARY et al. Implementation of High-Rate Error-Detection Code Techniques for Perpendicular Recording using Cyclic Redundancy Check Code

Legal Events

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

Payment date: 20121106

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131107

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee