KR20090100611A - 데이터 에러 정정 방법 및 장치 - Google Patents

데이터 에러 정정 방법 및 장치 Download PDF

Info

Publication number
KR20090100611A
KR20090100611A KR1020080025897A KR20080025897A KR20090100611A KR 20090100611 A KR20090100611 A KR 20090100611A KR 1020080025897 A KR1020080025897 A KR 1020080025897A KR 20080025897 A KR20080025897 A KR 20080025897A KR 20090100611 A KR20090100611 A KR 20090100611A
Authority
KR
South Korea
Prior art keywords
bit
probability value
control unit
syndrome
bit flip
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020080025897A
Other languages
English (en)
Inventor
이준
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020080025897A priority Critical patent/KR20090100611A/ko
Publication of KR20090100611A publication Critical patent/KR20090100611A/ko
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • G11B2020/1469Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof modulation code with one or more merging bits between consecutive codewords
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/185Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using an low density parity check [LDPC] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media

Landscapes

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

Abstract

본 발명은 데이터 에러 정정 방법 및 장치에 관한 것으로, 본 발명에 따른 데이터 에러 정정 방법의 일 예는, 재생된 2-차원 배열 데이터를 기반으로 각 비트에 대한 확률 값을 산출하는 단계; 상기 산출된 확률 값을 기반으로 비트 플립 위치를 추정하는 단계; 상기 추정된 비트 플립 위치를 기반으로, 입후보 코드 워드들을 생성하는 단계; 및 상기 생성된 입후보 코드워드들 각각에 에러가 존재하는지 신드롬을 체크하여 에러가 존재하지 않는 신드롬의 입후보 코드워드를 선택하는 단계를 포함하는 것을 특징으로 한다.
따라서, 본 발명에 따르면, 기록 매체에 기록될 2-차원 배열 데이터에 존재하는 주된 에러 패턴을 비트 플립에 의해 제거하는 방법을 사용함으로써, 변조 코드를 사용했을 때와 비교해 코드율을 향상시켜 기록 밀도를 향상시킬 수 있고, 주된 에러 패턴을 제거하는 과정에서 야기된 에러 및 잡음에 의해 야기된 에러가 정정 가능한 저밀도 패러티 체크 코드를 적용함으로써, 기존 검출 방법과 비교해 보다 신뢰성 있는 데이터 복원이 가능한 효과가 있다.
기록매체, 홀로그래피, 데이터 정정, 비트 플립, 저밀도 패리티 체크 행렬, 입후보 코드워드, 신드롬

Description

데이터 에러 정정 방법 및 장치{Method and apparatus for correcting data error}
본 발명은 데이터 에러 정정 방법 및 장치에 관한 것으로, 더욱 상세하게는 광 기록매체에 기록되는 변조 데이터의 에러를 정정하는 방법 및 장치에 관한 것이다.
일반적인 기록 시스템은 변조 코드를 사용하는데, 변조 코드는 기록 시스템의 재생부에서 인접 심벌 간의 간섭에 의해 야기되는 재생 신호의 왜곡을 저감하고 원활한 타이밍 복원을 제공하기 위해 사용된다.
상기 변조 코드는 (d, k)로 표현할 수 있으며, 이를 런 길이 제한(run length limit, RLL) 코드라고 한다. 여기서, d 는 변조 코드의 1과 1 사이에 존재할 수 있는 0의 최소 개수를 의미하는 구속 조건으로, 인접 심벌 간 간섭에 의해 야기되는 신호의 왜곡을 저감시켜 주기 위한 조건이다. 또한, k는 1과 1 사이에 존재할 수 있는 0의 최대 개수를 의미하는 구속 조건으로, 타이밍 복원을 위한 조건이다.
변조 코드 디자인 시 k-구속 조건을 부가하는 방법 중 변조 코드 인코 더(encoder)의 출력인 채널 시퀀스를 관찰한 후 k-구속 조건을 위반하는 시퀀스가 관찰이 되면 그 위치에서 데이터 0을 1로 바꾸어 k-구속 조건을 부가하는 비트 플립(bit flip) 방법이 있다.
즉, 비트 플립 방법은 채널 시퀀스에 에러를 가하여 k-구속 조건을 부가하는 방법이다. 이 방법은 기록매체에 기록되기 전의 시퀀스인, 채널 시퀀스에 에러가 가하는 방법이므로 기록매체에 기록되는 시퀀스에는 에러가 포함하게 된다.
따라서 이러한 비트 플립 방법에서 비트 플립이 빈번하게 발생할 경우, 복조 시 원래의 데이터의 복원이 어렵고, 복원이 가능한 경우에도 기록 밀도의 향상에 한계가 존재하는 문제점이 있다. 특히, 기록 시스템을 위한 변조 코드들은 디자인 특성상 디코딩 시 한 비트의 에러가 여러 비트의 에러를 야기하는 에러 전달 특성을 가지게 되므로 이러한 문제점은 더욱 심각해 진다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명은 원래의 데이터의 복원이 용이하며, 기록밀도를 향상시킬 수 있는 변조방법과 변조방법에서 야기된 에러를 효율적으로 정정하는 데이터 에러 정정 방법 및 에러 정정 장치를 제공하는 데 있다.
본 발명에 따른 데이터 에러 정정 방법의 일 예는, 재생된 2-차원 배열 데이터를 기반으로 각 비트에 대한 확률 값을 산출하는 단계; 상기 산출된 확률 값을 기반으로 비트 플립 위치를 추정하는 단계; 상기 추정된 비트 플립 위치를 기반으로, 입후보 코드 워드들을 생성하는 단계; 및 상기 생성된 입후보 코드워드들 각각에 에러가 존재하는지 신드롬을 체크하여 에러가 존재하지 않는 신드롬의 입후보 코드워드를 선택하는 단계를 포함하는 것을 특징으로 한다.
이때, 상기 신드롬의 체크는 저밀도 패러티 체크 행렬에 의해 이루어질 수 있다.
그리고 상기 선택하는 단계는, 상기 체크 결과 상기 생성된 입후보 코드 워드들 중 에러가 존재하지 않는 신드롬이 존재하지 않으면, 상기 생성된 입후보 코드 워드 각각에 대하여 상기 저밀도 패러티 체크 행렬을 만족하지 않는 개수를 산출하는 단계; 상기 산출된 개수가 가장 작은 입후보 코드 워드를 선택하는 단계; 및 상기 선택된 입후보 코드의 비트 플립 위치에 확률 값을 삽입하는 단계를 더 포 함할 수 있다.
또한, 상기 선택된 입후보 코드의 비트 플립 위치에 해당하는 비트가 0인지 1인지 더 판단할 수 있다.
이때, 상기 판단 결과 해당 비트가 0이면, 음수 확률 값을 삽입할 수 있다.
그리고 상기 판단 결과 해당 비트가 1이면, 양수 확률 값을 삽입할 수 있다.
또한, 상기 확률 값은 상기 디코딩 수행시마다 갱신될 수 있다.
그리고 상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 크면 클수록 그 위치의 비트는 '1'이 될 가능성이 높을 수 있다.
또한, 상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 작으면 작을수록 그 위치의 비트가 '0'이 될 가능성이 높을 수 있다.
그리고 상기 추정되는 비트 플립 위치는, 현재 위치를 중심으로 상하 및 좌우 위치에 산출된 확률 값이 모두 양수 또는 음수일 수 있다.
또한, 상기 추정된 비트 플립의 위치의 수가 K개 존재하면, 상기 생성된 입후보 코드워드의 수는 2K 개일 수 있다.
본 발명에 따른 데이터 에러 정정 장치의 일 예는, 2-차원 배열 데이터의 주된 에러 패턴을 제거하는 비트 플립퍼; 재생된 2-차원 배열 데이터를 기반으로 각 비트에 대한 확률 값을 산출하고, 상기 산출된 확률 값을 기반으로 비트 플립 위치를 추정하여 상기 추정된 비트 플립 위치를 기반으로, 입후보 코드 워드들을 생성하는 디코더; 및 상기 생성된 입후보 코드워드들 각각에 에러가 존재하는지 신드롬 을 체크하여 에러가 존재하지 않는 신드롬의 입후보 코드워드를 선택하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
이때, 상기 제어부는, 상기 신드롬을 저밀도 패러티 체크 행렬을 이용하여 체크할 수 있다.
그리고 상기 제어부는, 상기 체크 결과 상기 생성된 입후보 코드 워드들 중 에러가 존재하지 않는 신드롬이 존재하지 않으면, 상기 생성된 입후보 코드 워드 각각에 대하여 상기 저밀도 패러티 체크 행렬을 만족하지 않는 개수를 산출하도록 제어할 수 있다.
또한, 상기 제어부는, 상기 산출된 개수가 가장 작은 입후보 코드 워드를 선택하도록 제어할 수 있다.
그리고 상기 제어부는, 상기 선택된 입후보 코드의 비트 플립 위치에 확률 값을 삽입하도록 제어할 수 있다.
또한, 상기 제어부는, 상기 선택된 입후보 코드 워드의 비트 플립 위치에 해당하는 비트가 '0'인지 판단하도록 제어할 수 있다.
그리고 상기 제어부는, 상기 판단 결과 해당 비트가 ‘0’이면, 상기 삽입되는 확률 값으로 음수 확률 값을 삽입하도록 제어할 수 있다.
또한, 상기 제어부는, 상기 판단 결과 해당 비트가 ‘0’이 아니면, 상기 삽입되는 확률 값으로 양수 확률 값을 삽입하도록 제어할 수 있다.
그리고 상기 제어부는, 상기 확률 값을 상기 디코딩 수행시마다 갱신되도록 제어할 수 있다.
또한, 상기 제어부는, 상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 크면 클수록 그 위치의 비트는 '1'이 될 가능성이 높은 것으로 판단할 수 있다.
그리고 상기 제어부는, 상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 작으면 작을수록 그 위치의 비트가 '0'이 될 가능성이 높은 것으로 판단할 수 있다.
또한, 상기 제어부는, 현재 위치를 중심으로 상하 및 좌우 위치에 산출된 확률 값이 모두 양수 또는 음수이면, 해당 위치가 상기 추정되는 비트 플립 위치로 판단할 수 있다.
그리고 상기 제어부는, 상기 추정된 비트 플립의 위치의 수가 K개 존재하면, 상기 생성된 입후보 코드워드의 수가 2K 개가 되도록 제어할 수 있다.
본 발명은 기록 매체에 기록될 2-차원 배열 데이터에 존재하는 주된 에러 패턴을 비트 플립에 의해 제거하는 방법을 사용함으로써, 변조 코드를 사용했을 때와 비교해 코드율을 향상시켜 기록 밀도를 향상시킬 수 있는 효과가 있다.
또한, 본 발명에 따르면, 주된 에러 패턴을 제거하는 과정에서 야기된 에러 및 잡음에 의해 야기된 에러가 정정 가능한 저밀도 패러티 체크 코드를 적용함으로써, 기존 검출 방법과 비교해 보다 신뢰성 있는 데이터 복원이 가능한 효과가 있다.
이하에서는 상기와 같은 목적을 달성하기 위한 본 발명에 따른 기록매체 기록/재생 방법 및 기록/재생 장치의 구체적인 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
이때, 본 발명에서 사용되는 용어는 가능한한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며 이 경우는 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재하였으므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야됨을 밝혀두고자 한다.
이하 본 명세서에서 "기록매체(recording medium)"는 데이터(data)가 기록되어 있거나, 기록 가능한 모든 매체를 의미하며, 예를 들어, 디스크, 자기테이프 등 기록 방식에 상관없이 모든 매체를 포괄하는 의미이다.
이하에서는 설명의 편의를 위해 상기 기록매체로서 디스크 특히 "홀로그래피(Holography) 기록매체"를 예로 하여 설명하나, 본 발명의 기술 사상은 다른 기록매체에도 적용 가능함은 자명하다 할 것이다.
이하 첨부된 도면을 참조하여 본 발명의 실시 예를 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세하게 설명한다.
본 명세서에서 데이터 기록장치 또는 재생장치라 함은, 기록매체를 이용하여 데이터를 기록하거나 기록된 데이터를 재생하는 것이 가능한 모든 장치를 의미한다.
도 1의 (a) 내지 (b)는 본 발명과 관련하여, 주된 에러 패턴의 일 예를 도시한 것이다.
여기에서, 도 1의 (a) 내지 (b)에 도시된 바와 같이, 왼쪽의 데이터는 기록 후 재생 시에 오른쪽의 데이터 형태로 변경될 가능성이 높음을 의미한다. 본 발명과 관련하여, 비트 플립(bit flip)은 기록될 2차원 데이터에 도 1의 (a) 내지 (b)의 왼쪽에 있는 데이터 형태가 존재하면, 이를 오른쪽에 있는 데이터 형태로 바꿈으로써 수행된다.
도 2는 본 발명에 따른 데이터 기록/재생 시스템의 블록도의 일 예를 도시한 것이다.
도 2에 도시된 바와 같이, 본 발명의 실시 예에 따른 데이터 기록/재생 시스템에 대해 설명하면 다음과 같다. 이때, 도 2에 도시되지 않았으나, 기록 부분의 경우에는 변조부(100)와 광학부(200)를 포함한다.
변조부(100)는 입력 데이터를 변조하여 변조 데이터를 생성하고, 광학부(200)는 변조부(100)에서 생성된 변조 데이터를 기록매체(300)에 기록한다. 이때, 광학부(200)는 광 픽업(pick up)으로 구성될 수 있다.
변조부(100)는 LDPC(low density parity check code) 인코더(10), RLL 인코더(11), 비트 플리퍼(bit flipper, 12) 및 프리코더(precoder, 14)를 포함한다.
LDPC 인코더(10)는 입력되는 데이터를 에러 정정을 수행하기 위한 LDPC 인코딩 방식을 이용하여 인코딩한다.
RLL 인코더(11)는 LDPC 인코더(10)로부터 출력된 데이터를 RLL 코드를 이용 하여 변조한다.
비트 플리퍼(12, bit flipper)는 RLL 인코더(11)에 의해 생성된 채널 시퀀스(channel sequence)가 런 길이 제한(Run Length Limit, RLL) 조건에 위배되는 경우, 채널 시퀀스에 포함되는 비트 중 런 길이 제한 조건의 위반이 발생하는 위치보다 앞의 위치에서 비트 플립(bit flip)을 실시하여 런 길이 제한 조건을 부가한다. 이에 대하여는 후술하도록 한다.
프리코더(14)는 RLL 인코더(11) 및 비트 플리퍼(12)에 의해 생성된 데이터를 NRZI(Non Return to Zero Invert) 신호로 변환하여 광학부(200)에 전달한다. 광학부(200)는 광 픽업을 이용하여 변조된 데이터를 기록매체(300)에 기록한다.
도 3은 상기 도 2의 데이터 기록/재생 시스템에서의 기록 과정 및 재생 과정의 일 예를 도시한 도면이고, 도 4a는 상기 도 3의 기록 과정의 일 예를 설명하기 위해 도시한 순서도의 일 예이고, 도 4b는 상기 도 3의 재생 과정의 일 예를 설명하기 위해 도시한 순서도의 일 예이다.
도 3와 4a를 참조하여, 기록(인코딩) 과정을 설명하면 다음과 같다.
먼저, LDPC 인코더(201)는 주된 에러 패턴을 포함한 2-차원 배열의 데이터를 인코딩한다(S401). 여기에서, 상기 인코딩은 입력되는 2-차원 배열의 데이터를 기정의된 기준에 따라 몇 등분으로 나누어서 수행할 수 있다.
인코딩된 데이터는 비트 플립 과정을 거쳐 주된 에러 패턴이 제거된 2-차원 배열 데이터를 형성한다(S402).
주된 에러 패턴이 제거된 2-차원 배열 데이터를 기록 매체에 기록 또는 저장 한다(S403).
도 3과 4b를 참조하여, 재생(디코딩) 과정을 설명하면 다음과 같다.
재생된 2-차원 배열 데이터를 기반으로 하여, 에러 정정을 수행한다. 이때, 상기 에러 정정은 상기 기록(인코딩) 과정에서 비트 플립에 의해 야기된 에러를 정정하기 위한 것으로, 확률 기반으로 수행한다. 즉, 각 비트에 대한 확률 값을 산출한다(S411). 또한, 여기에서 상기 에러 정정을 위한 에러 정정 코드는 저밀도 패러티 체크 코드를 사용한다.
상기에서 산출된 확률 값은 기 설정된 임계값을 기준으로 그 의미가 다를 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 상기 기 설정된 임계값은 '0'으로 볼 수 있고, 상기 산출된 확률 값이 '0'보다 크면 클수록 그 위치의 비트는 '1'이 될 가능성이 높음을 의미하고, '0'보다 작으면 작을수록 그 위치의 비트가 '0'이 될 가능성이 높음을 의미한다.
산출된 확률 값을 기반으로 비트 플립 위치를 추정한다(S412). 여기에서, 상기 추정되는 비트 플립 위치는 예를 들어, 도 5의 'X'라고 표시된 곳이다. 현재 위치의 산출된 확률 값이 작으면서, 현재 위치를 중심으로 상하 및 좌우 위치에 대하여 산출된 확률 값이 모두 양수 또는 모두 음수일 경우, 현재 위치가 비트 플립되었다고 추정할 수 있다. 여기서, 추정한 비트 플립 위치는 실제로 플립이 발생하지 않았을 가능이 존재한다. 이는 쓰기 과정에서 도 1의 (a) 내지 (b)의 오른쪽과 같은 패턴이 존재할 수 있기 때문이다.
추정된 비트 플립 위치를 기반으로, 입후보 코드 워드를 생성한다(S413).
생성된 입후보 코드 워드에 대해 패리티 체크 방정식에 의해 신드롬을 체크한다(S414). 이는 도 6에 도시된 바와 같이, 저밀도 패러티 체크 방정식(행렬)에 의해, 상기 생성한 입후보 코드 워드에 대해 에러의 존재를 체크할 수 있기 때문이다.
상기 체크 결과 신드롬이 '0'인 것을 선택하고, 디코딩을 중단한다(S415). 상기에서 신드롬이 '0'이라는 것은 입후보 코드 워드들 중 에러가 존재하지 않은 코드 워드가 존재한다는 것을 의미한다.
여기에서, 만약 상기 과정에서 비트 플립 위치라고 추정한 위치의 수가 여러 개(k) 존재할 경우에는 상기 생성되는 입후보 코드워드의 수는 2k 개일 수 있다. 왜냐하면, 추정한 위치가 잘못 추정된 가능성이 있기 때문이다.
그러나 상기 체크 결과 신드롬이 '0'이 아닌 것에 대해서는 별도의 디코딩 과정(도 7)이 필요하다. 이는 생성된 입후보 코드 워드들 중 에러가 존재하지 않는 코드 워드가 존재하지 않는 경우이다.
생성된 입후보 코드 워드 각각에 대하여 패러티 체크 방정식을 만족하지 않는 개수를 산출한다(S701).
산출된 개수로부터 패러티 체크 방정식을 만족하지 않는 개수가 가장 작은 코드 워드를 선택한다(S702).
선택된 코드 워드의 비트 플립 위치에 해당하는 비트가 0이었다면, 음수 확률 값을 삽입하고(도 6의 'X' 표시 위치), 그렇지 않으면 양수 값(도 6의 'X' 표시 위치)을 삽입한다(S703).
상기 삽입 후 상술한 디코딩 과정을 반복한다.
도 6의 확률 값은 반복하여 디코딩을 수행할 때마다, 갱신되는 값이다. 여기에서, 2-차원 스토리지 시스템에서 유발되는 대부분의 에러는 주된 에러 패턴에 의해 야기된다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
도 1a 내지 1b는 본 발명과 관련하여, 주된 에러 패턴의 일 예를 도시한 것
도 2는 본 발명에 따른 데이터 기록/재생 시스템의 블록도의 일 예를 도시한 것
도 3은 상기 도 2의 데이터 기록/재생 시스템에서의 기록 과정 및 재생 과정의 일 예를 도시한 도면
도 4a는 상기 도 3의 기록 과정의 일 예를 설명하기 위해 도시한 순서도의 일 예
도 4b는 상기 도 3의 재생 과정의 일 예를 설명하기 위해 도시한 순서도의 일 예
도 5는 상기 도 3에서 추정한 비트 플립 위치의 일 예를 도시한 것
도 6은 본 발명에 따라 생성한 입후보 코드워드의 일 예를 도시한 것
도 7은 본 발명에 따라 데이터 에러 정정 방법의 일 예를 설명하기 위해 도시한 순서도
* 도면의 주요 부분에 대한 부호 설명
10; LDPC 인코더 11; RLL 인코더
12; 비트 플리퍼 14; 프리코더
100; 변조부 200; 광학부
300; 기록매체

Claims (24)

  1. 재생된 2-차원 배열 데이터를 기반으로 각 비트에 대한 확률 값을 산출하는 단계;
    상기 산출된 확률 값을 기반으로 비트 플립 위치를 추정하는 단계;
    상기 추정된 비트 플립 위치를 기반으로, 입후보 코드 워드들을 생성하는 단계; 및
    상기 생성된 입후보 코드워드들 각각에 에러가 존재하는지 신드롬을 체크하여 에러가 존재하지 않는 신드롬의 입후보 코드워드를 선택하는 단계를 포함하는 데이터 에러 정정 방법.
  2. 제 1항에 있어서,
    상기 신드롬의 체크는 저밀도 패러티 체크 행렬에 의해 이루어지는 것을 특징으로 하는 데이터 에러 정정 방법.
  3. 제 1항에 있어서,
    상기 선택하는 단계는,
    상기 체크 결과 상기 생성된 입후보 코드 워드들 중 에러가 존재하지 않는 신드롬이 존재하지 않으면,
    상기 생성된 입후보 코드 워드 각각에 대하여 상기 저밀도 패러티 체크 행렬 을 만족하지 않는 개수를 산출하는 단계;
    상기 산출된 개수가 가장 작은 입후보 코드 워드를 선택하는 단계; 및
    상기 선택된 입후보 코드의 비트 플립 위치에 확률 값을 삽입하는 단계를 더 포함하는 것을 특징으로 하는 데이터 에러 정정 방법.
  4. 제 3항에 있어서,
    상기 선택된 입후보 코드의 비트 플립 위치에 해당하는 비트가 0인지 1인지 판단하는 단계를 더 포함하는 것을 특징으로 하는 데이터 에러 정정 방법.
  5. 제 4항에 있어서,
    상기 판단 결과 해당 비트가 0이면, 음수 확률 값을 삽입하는 것을 특징으로 하는 데이터 에러 정정 방법.
  6. 제 4항에 있어서,
    상기 판단 결과 해당 비트가 1이면, 양수 확률 값을 삽입하는 것을 특징으로 하는 데이터 에러 정정 방법.
  7. 제 1항에 있어서,
    상기 확률 값은 상기 디코딩 수행시마다 갱신되는 것을 특징으로 하는 데이터 에러 정정 방법.
  8. 제 1항에 있어서,
    상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 크면 클수록 그 위치의 비트는 '1'이 될 가능성이 높은 것을 특징으로 하는 데이터 에러 정정 방법.
  9. 제 1항에 있어서,
    상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 작으면 작을수록 그 위치의 비트가 '0'이 될 가능성이 높은 것을 특징으로 하는 데이터 에러 정정 방법.
  10. 제 1항에 있어서,
    상기 추정되는 비트 플립 위치는, 현재 위치를 중심으로 상하 및 좌우 위치에 산출된 확률 값이 모두 양수 또는 음수인 것을 특징으로 하는 데이터 에러 정정 방법.
  11. 제 1항에 있어서,
    상기 추정된 비트 플립의 위치의 수가 K개 존재하면, 상기 생성된 입후보 코드워드의 수는 2K 개인 것을 특징으로 하는 데이터 에러 정정 방법.
  12. 2-차원 배열 데이터의 주된 에러 패턴을 제거하는 비트 플립퍼;
    재생된 2-차원 배열 데이터를 기반으로 각 비트에 대한 확률 값을 산출하고, 상기 산출된 확률 값을 기반으로 비트 플립 위치를 추정하여 상기 추정된 비트 플립 위치를 기반으로, 입후보 코드 워드들을 생성하는 디코더; 및
    상기 생성된 입후보 코드워드들 각각에 에러가 존재하는지 신드롬을 체크하여 에러가 존재하지 않는 신드롬의 입후보 코드워드를 선택하도록 제어하는 제어부를 포함하는 데이터 에러 정정 장치.
  13. 제 12항에 있어서,
    상기 제어부는,
    상기 신드롬을 저밀도 패러티 체크 행렬을 이용하여 체크하는 것을 특징으로 하는 데이터 에러 정정 장치.
  14. 제 12항에 있어서,
    상기 제어부는,
    상기 체크 결과 상기 생성된 입후보 코드 워드들 중 에러가 존재하지 않는 신드롬이 존재하지 않으면, 상기 생성된 입후보 코드 워드 각각에 대하여 상기 저밀도 패러티 체크 행렬을 만족하지 않는 개수를 산출하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
  15. 제 14항에 있어서,
    상기 제어부는,
    상기 산출된 개수가 가장 작은 입후보 코드 워드를 선택하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
  16. 제 15항에 있어서,
    상기 제어부는,
    상기 선택된 입후보 코드의 비트 플립 위치에 확률 값을 삽입하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
  17. 제 16항에 있어서,
    상기 제어부는,
    상기 선택된 입후보 코드 워드의 비트 플립 위치에 해당하는 비트가 '0'인지 판단하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
  18. 제 17항에 있어서,
    상기 제어부는,
    상기 판단 결과 해당 비트가 ‘0’이면, 상기 삽입되는 확률 값으로 음수 확률 값을 삽입하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
  19. 제 17항에 있어서,
    상기 제어부는,
    상기 판단 결과 해당 비트가 ‘0’이 아니면, 상기 삽입되는 확률 값으로 양수 확률 값을 삽입하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
  20. 제 16항에 있어서,
    상기 제어부는,
    상기 확률 값을 상기 디코딩 수행시마다 갱신되도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
  21. 제 12항에 있어서,
    상기 제어부는,
    상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 크면 클수록 그 위치의 비트는 '1'이 될 가능성이 높은 것으로 판단하는 것을 특징으로 하는 데이터 에러 정정 장치.
  22. 제 12항에 있어서,
    상기 제어부는,
    상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 작으면 작 을수록 그 위치의 비트가 '0'이 될 가능성이 높은 것으로 판단하는 것을 특징으로 하는 데이터 에러 정정 장치.
  23. 제 12항에 있어서,
    상기 제어부는,
    현재 위치를 중심으로 상하 및 좌우 위치에 산출된 확률 값이 모두 양수 또는 음수이면, 해당 위치가 상기 추정되는 비트 플립 위치로 판단하는 것을 특징으로 하는 데이터 에러 정정 장치.
  24. 제 12항에 있어서,
    상기 제어부는,
    상기 추정된 비트 플립의 위치의 수가 K개 존재하면, 상기 생성된 입후보 코드워드의 수가 2K 개가 되도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
KR1020080025897A 2008-03-20 2008-03-20 데이터 에러 정정 방법 및 장치 Withdrawn KR20090100611A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080025897A KR20090100611A (ko) 2008-03-20 2008-03-20 데이터 에러 정정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080025897A KR20090100611A (ko) 2008-03-20 2008-03-20 데이터 에러 정정 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20090100611A true KR20090100611A (ko) 2009-09-24

Family

ID=41358765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080025897A Withdrawn KR20090100611A (ko) 2008-03-20 2008-03-20 데이터 에러 정정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20090100611A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8553507B1 (en) 2012-11-13 2013-10-08 HGST Netherlands B.V. Write track shift control in shingled-microwave-assisted magnetic recording (MAMR-SMR)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8553507B1 (en) 2012-11-13 2013-10-08 HGST Netherlands B.V. Write track shift control in shingled-microwave-assisted magnetic recording (MAMR-SMR)

Similar Documents

Publication Publication Date Title
CN102483945B (zh) 信息编码方法、信息解码方法、记录/再现设备和信息存储介质
US6104324A (en) Coding/decoding method for reproducing data in high density and reproducing data, and apparatus therefor
US8976474B1 (en) Universal modulation coding for a data channel
US7750828B2 (en) Systems and methods for encoding and decoding data using selective substitution of conversion table
US9059744B2 (en) Encoding a data word for writing the encoded data word in a multi-level solid state memory
JP2005293724A (ja) 誤り箇所の検出方法、その方法を利用する誤り検出回路、誤り訂正回路、および再生装置
US8495461B2 (en) Data modulation method, modulator, recording method, and recording apparatus
CN101335040A (zh) 纠错装置和纠错方法
US7336207B2 (en) Modulation table, modulating apparatus and method, program, and recording medium
US10223202B2 (en) Optical disc apparatus for recording and reproducing data onto and from an optical disc based on an evaluation value
US20050015616A1 (en) Copy protected mastering system
US7378994B1 (en) EFM/EFM+ encoder and method thereof
KR100450782B1 (ko) 고밀도 데이타 저장기기를 위한 피알엠엘 코드의 부호화 및복호화 방법
US7333033B2 (en) Modulation table, modulating device and method, program, and recording medium
US20090195421A1 (en) Method and apparatus for controlling digital sum value and recording medium for executing the method
KR20090100611A (ko) 데이터 에러 정정 방법 및 장치
US8258989B2 (en) Data demodulator, data demodulation method and program thereof
KR101430448B1 (ko) 데이터 변조방법, 변조장치, 기록방법 및 기록장치
US7788504B2 (en) Copy protection of optical discs
JP5884031B2 (ja) 復号装置及び復号方法
JP2005209286A (ja) データ記録方法、記録媒体及び再生装置
JP4479855B2 (ja) 変調装置、変調方法、記録媒体
JP4983032B2 (ja) 復調テーブル、復調装置および方法、プログラム、並びに記録媒体
US7486209B2 (en) Demodulation table, demodulating device and demodulating method, program, and recording medium
CN100392740C (zh) 一种对编码系统做数字总和值保护的方法及装置

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20080320

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid