KR20090100611A - 데이터 에러 정정 방법 및 장치 - Google Patents
데이터 에러 정정 방법 및 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012937 correction Methods 0.000 title claims abstract description 18
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000011084 recovery Methods 0.000 abstract description 4
- 238000001514 detection method Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 230000003287 optical effect Effects 0.000 description 8
- 108091006146 Channels Proteins 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 1
- 238000001093 holography Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/14—Digital recording or reproducing using self-clocking codes
- G11B20/1403—Digital recording or reproducing using self-clocking codes characterised by the use of two levels
- G11B20/1423—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
- G11B20/1426—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/14—Digital recording or reproducing using self-clocking codes
- G11B20/1403—Digital recording or reproducing using self-clocking codes characterised by the use of two levels
- G11B20/1423—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
- G11B20/1426—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
- G11B2020/1469—Code 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
- G11B2020/185—Error 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/60—Solid 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
본 발명은 데이터 에러 정정 방법 및 장치에 관한 것으로, 더욱 상세하게는 광 기록매체에 기록되는 변조 데이터의 에러를 정정하는 방법 및 장치에 관한 것이다.
일반적인 기록 시스템은 변조 코드를 사용하는데, 변조 코드는 기록 시스템의 재생부에서 인접 심벌 간의 간섭에 의해 야기되는 재생 신호의 왜곡을 저감하고 원활한 타이밍 복원을 제공하기 위해 사용된다.
상기 변조 코드는 (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)
- 재생된 2-차원 배열 데이터를 기반으로 각 비트에 대한 확률 값을 산출하는 단계;상기 산출된 확률 값을 기반으로 비트 플립 위치를 추정하는 단계;상기 추정된 비트 플립 위치를 기반으로, 입후보 코드 워드들을 생성하는 단계; 및상기 생성된 입후보 코드워드들 각각에 에러가 존재하는지 신드롬을 체크하여 에러가 존재하지 않는 신드롬의 입후보 코드워드를 선택하는 단계를 포함하는 데이터 에러 정정 방법.
- 제 1항에 있어서,상기 신드롬의 체크는 저밀도 패러티 체크 행렬에 의해 이루어지는 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 1항에 있어서,상기 선택하는 단계는,상기 체크 결과 상기 생성된 입후보 코드 워드들 중 에러가 존재하지 않는 신드롬이 존재하지 않으면,상기 생성된 입후보 코드 워드 각각에 대하여 상기 저밀도 패러티 체크 행렬 을 만족하지 않는 개수를 산출하는 단계;상기 산출된 개수가 가장 작은 입후보 코드 워드를 선택하는 단계; 및상기 선택된 입후보 코드의 비트 플립 위치에 확률 값을 삽입하는 단계를 더 포함하는 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 3항에 있어서,상기 선택된 입후보 코드의 비트 플립 위치에 해당하는 비트가 0인지 1인지 판단하는 단계를 더 포함하는 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 4항에 있어서,상기 판단 결과 해당 비트가 0이면, 음수 확률 값을 삽입하는 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 4항에 있어서,상기 판단 결과 해당 비트가 1이면, 양수 확률 값을 삽입하는 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 1항에 있어서,상기 확률 값은 상기 디코딩 수행시마다 갱신되는 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 1항에 있어서,상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 크면 클수록 그 위치의 비트는 '1'이 될 가능성이 높은 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 1항에 있어서,상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 작으면 작을수록 그 위치의 비트가 '0'이 될 가능성이 높은 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 1항에 있어서,상기 추정되는 비트 플립 위치는, 현재 위치를 중심으로 상하 및 좌우 위치에 산출된 확률 값이 모두 양수 또는 음수인 것을 특징으로 하는 데이터 에러 정정 방법.
- 제 1항에 있어서,상기 추정된 비트 플립의 위치의 수가 K개 존재하면, 상기 생성된 입후보 코드워드의 수는 2K 개인 것을 특징으로 하는 데이터 에러 정정 방법.
- 2-차원 배열 데이터의 주된 에러 패턴을 제거하는 비트 플립퍼;재생된 2-차원 배열 데이터를 기반으로 각 비트에 대한 확률 값을 산출하고, 상기 산출된 확률 값을 기반으로 비트 플립 위치를 추정하여 상기 추정된 비트 플립 위치를 기반으로, 입후보 코드 워드들을 생성하는 디코더; 및상기 생성된 입후보 코드워드들 각각에 에러가 존재하는지 신드롬을 체크하여 에러가 존재하지 않는 신드롬의 입후보 코드워드를 선택하도록 제어하는 제어부를 포함하는 데이터 에러 정정 장치.
- 제 12항에 있어서,상기 제어부는,상기 신드롬을 저밀도 패러티 체크 행렬을 이용하여 체크하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 12항에 있어서,상기 제어부는,상기 체크 결과 상기 생성된 입후보 코드 워드들 중 에러가 존재하지 않는 신드롬이 존재하지 않으면, 상기 생성된 입후보 코드 워드 각각에 대하여 상기 저밀도 패러티 체크 행렬을 만족하지 않는 개수를 산출하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 14항에 있어서,상기 제어부는,상기 산출된 개수가 가장 작은 입후보 코드 워드를 선택하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 15항에 있어서,상기 제어부는,상기 선택된 입후보 코드의 비트 플립 위치에 확률 값을 삽입하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 16항에 있어서,상기 제어부는,상기 선택된 입후보 코드 워드의 비트 플립 위치에 해당하는 비트가 '0'인지 판단하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 17항에 있어서,상기 제어부는,상기 판단 결과 해당 비트가 ‘0’이면, 상기 삽입되는 확률 값으로 음수 확률 값을 삽입하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 17항에 있어서,상기 제어부는,상기 판단 결과 해당 비트가 ‘0’이 아니면, 상기 삽입되는 확률 값으로 양수 확률 값을 삽입하도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 16항에 있어서,상기 제어부는,상기 확률 값을 상기 디코딩 수행시마다 갱신되도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 12항에 있어서,상기 제어부는,상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 크면 클수록 그 위치의 비트는 '1'이 될 가능성이 높은 것으로 판단하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 12항에 있어서,상기 제어부는,상기 선택된 입후보 코드워드에 대하여 산출된 확률 값이 '0'보다 작으면 작 을수록 그 위치의 비트가 '0'이 될 가능성이 높은 것으로 판단하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 12항에 있어서,상기 제어부는,현재 위치를 중심으로 상하 및 좌우 위치에 산출된 확률 값이 모두 양수 또는 음수이면, 해당 위치가 상기 추정되는 비트 플립 위치로 판단하는 것을 특징으로 하는 데이터 에러 정정 장치.
- 제 12항에 있어서,상기 제어부는,상기 추정된 비트 플립의 위치의 수가 K개 존재하면, 상기 생성된 입후보 코드워드의 수가 2K 개가 되도록 제어하는 것을 특징으로 하는 데이터 에러 정정 장치.
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)
| 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) |
-
2008
- 2008-03-20 KR KR1020080025897A patent/KR20090100611A/ko not_active Withdrawn
Cited By (1)
| 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 |