KR100611956B1 - 에러 정정 방법과 장치 - Google Patents

에러 정정 방법과 장치 Download PDF

Info

Publication number
KR100611956B1
KR100611956B1 KR1019990034358A KR19990034358A KR100611956B1 KR 100611956 B1 KR100611956 B1 KR 100611956B1 KR 1019990034358 A KR1019990034358 A KR 1019990034358A KR 19990034358 A KR19990034358 A KR 19990034358A KR 100611956 B1 KR100611956 B1 KR 100611956B1
Authority
KR
South Korea
Prior art keywords
error correction
code
parity
data
error
Prior art date
Application number
KR1019990034358A
Other languages
English (en)
Other versions
KR20010018400A (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 KR1019990034358A priority Critical patent/KR100611956B1/ko
Publication of KR20010018400A publication Critical patent/KR20010018400A/ko
Application granted granted Critical
Publication of KR100611956B1 publication Critical patent/KR100611956B1/ko

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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • 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/1866Error detection or correction; Testing, e.g. of drop-outs by interleaving
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1222ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding
    • 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/1843Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 에러 정정 방법과 장치 및 에러 정정 구조가 개시되어 있다. 본 발명의 에러 정정 방법은 기본 단위인 제1 데이터 유닛을 소정수 모아 에러 정정을 위한 제2 데이터 유닛을 생성하기 위해서 소정의 에러 정정 코드를 2차원으로 배열하는 단계 및 배열된 외부호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브해서 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생성해서 에러 정정 부호화된 데이터를 제공하는 단계를 포함하여, 내부호 패리티의 수를 가변시켜 에러 정정 능력을 조절하고, ECC 블록의 데이터의 길이가 갈와 장(Galois Field) GF(28)에서 에러 정정 연산 범위인 256 바이트를 넘더라도 에러 정정을 수행할 수 있다.

Description

에러 정정 방법과 장치{Error correction method and apparatus thereof}
도 1의 (a) 내지 (c)는 종래의 ECC 블록들을 보인 도면이다.
도 2는 본 발명에 의한 ECC 블록내의 각 섹터의 데이터 구조의 일 예이다.
도 3은 본 발명에 의한 ECC 블록의 데이터 구조의 일 예이다.
도 4는 본 발명의 일 실시예에 따른 5 웨이 인터리브된 내부호 패리티를 설명하기 위한 ECC 블록의 데이터 구성을 보인 도면이다.
도 5는 본 발명이 적용되는 광 기록재생장치의 블록도이다.
도 6은 본 발명의 ECC 블록을 생성하기 위해 필요한 갈와 장 곱셈용 룩업 테이블이다.
도 7은 도 5에 도시된 DSP 엔코더내의 에러 정정 부호기의 상세 블록도이다.
도 8은 도 5에 도시된 DSP 디코더내의 에러 정정 복호기의 상세 블록도이다.
도 9는 본 발명의 이해를 돕기 위하여 랜덤 에러를 위한 에러 입/출력 관계를 보인 도면이다.
본 발명은 에러 정정 분야에 관한 것으로, 특히 고밀도 기록 매체를 위한 에러 정정 방법과 장치 및 다분할 인터리브된 내부호를 위한 패리티의 수를 가변시켜 에러 정정 능력을 조절하는 에러 정정 구조에 관한 것이다.
대용량 정보를 기록, 재생 및 소거하는 기술로서 상 변환 방식의 기록 매체가 많이 알려져 있다. 이러한 기록 매체의 물리적인 원리는 기록막의 상태를 기록 펄스로 결정상과 비정질상으로 변화시키고, 결정상의 상태를 "1"(또는 "0")로 읽고, 비정질상의 상태를 "0"(또는 "1")으로 읽음으로서 데이터를 판독하게 된다. 이때, 지터 등에 의한 랜덤 에러와 디스크 결함등에 의한 버스트 에러 등이 발생하는 데 이를 정정하기 위해서 리드-솔로몬(Reed-Solomon:RS) 코드가 사용된다. 종래의 데이터 구조는 적부호(product code) 및 LDC(Long Distance Code)가 있으며, ECC 블록 크기로 0.5KB, 1KB, 32KB의 3가지가 사용되고 있다.
즉, 광 디스크의 대표적인 예인 CD(Compact Disc)는 섹터 크기가 2킬로바이트("KB")이고, 에러 정정 코드("ECC") 블록의 구조는 도 1의 (a)에 도시된 바와 같이 0.5KB의 RS(28,24,5)
Figure 111999009812572-pat00001
RS(32,28,5)를 사용하고 있다.
기록용 광 디스크인 PD(Phase-write Dual) 또는 MOD(Magnetic Optical Disc)는 LDC를 사용하며, 하나의 섹터는 0.5KB(=0.5KB/sector)를 가지며, 도 1의 (b)에 도시된 바와 같이 ECC 블록의 구조는 5 웨이 인터리브된(5 way interleaved) RS(120,104,17)를 사용하고 있다.
2KB/sector와 32KB/ECC block의 DVD-RAM(Digital Versatile Disc-Random Access Memory)의 ECC 블록 구조는 도 1의 (c)에 도시된 바와 같이 적부호인 RS(182,172,11)
Figure 111999009812572-pat00002
RS(208,192,17)를 사용하고 있다.
즉, 내부호 패리티(PI)로서 행(row)방향으로 172 바이트의 데이터에 대해 10 바이트의 에러 정정용 패리티를 부가하고, 외부호 패리티(PO)로서 열(column) 방향으로 192 바이트의 데이터에 대해 16 바이트의 에러 정정용 패리티를 부가하여 ECC 블록을 구성하고 있다.
한편, DVD 보다 고밀도 기록 및 재생을 위한 고밀도(High Density:HD) 디스크("HD-DVD")에 작은 흠집이 생겼을 때 이것으로 인한 데이터의 손실의 크기는 일반적인 DVD보다는 커질 수밖에 없다. 이러한 데이터 손실을 보완할 수 있는 것이 에러 정정 기술인데 이것의 적용 방법에 따라서 기록되는 사용자 데이터의 양과 기록 및 재생시 사용자 데이터의 신뢰성에 큰 영향을 준다. 따라서, DVD에 적용했던 에러 정정 방법을 그대로 HD-DVD에 적용하면 재생되는 데이터의 신뢰도가 많이 저하된다.
즉, 고밀도 광 디스크 기록재생장치에서 1회 기록 단위(섹터)를 DVD와 동일한 2KB로 하였을 때 DVD와 동일한 연집 에러 정정 능력을 갖기 위해서는 도 1의 (c)에 도시된 바와 같은 구조로는 블록 크기 또는 리던던시(패리티 등)를 증가시키지 않는 한 불가능하다.
따라서, 고밀도 광 디스크 기록재생장치에서 DVD와 동일한 연집 에러 능력을 갖기 위해서는 ECC 블록을 크게 해야 하는 데 도 1의 (c)에 도시된 ECC 블록 구조로는 제대로 에러 정정을 수행하지 못하는 문제점이 있었다. 그 이유는 에러 정정 연산 범위(갈와 장(Galois Field) GF(28) 연산에서 연산 범위는 RS 코드의 ECC 블록의 길이가 256 바이트 이내어야 함)를 넘어서면 즉, 256 바이트 이상의 데이터 길이를 갖는 ECC 블록 구조에서는 에러 위치를 구할 수가 없기 때문이다.
상기한 문제점을 해결하기 위하여, 본 발명의 목적은 소정의 에러 정정 연산 범위를 넘는 내부호에 대해 열 인터리브해서 다분할하고, 다분할 인터리브된 내부호 패리티를 생성하여 갈와 장 GF(28)에서 에러 정정을 수행할 수 있는 에러 정정 방법을 제공하는 데 있다.
본 발명의 다른 목적은 소정의 에러 정정 연산 범위를 넘는 내부호에 대해 열 인터리브해서 다분할하고, 다분할 인터리브된 내부호 패리티를 생성하여 갈와 장 GF(28)에서 에러 정정을 수행할 수 있는 에러 정정 장치를 제공하는 데 있다.
본 발명의 또 다른 목적은 다분할 인터리브된 내부호를 위한 가변되는 내부호 패리티를 가지는 고밀도 기록 매체를 위한 에러 정정 구조를 제공하는 데 있다.
상기한 목적을 달성하기 위하여, 본 발명에 의한 에러 정정 방법은 기본 기록 단위인 제1 데이터 유닛이 소정수 모아 에러 정정을 위한 제2 데이터 유닛을 생성하기 위해서 소정의 에러 정정 코드를 2차원으로 배열하는 단계 및 배열된 외부호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브하면서 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생 성해서 에러 정정 부호화된 데이터를 제공하는 단계를 포함함을 특징으로 하고 있다.
상기한 다른 목적을 달성하기 위하여, 본 발명에 의한 에러 정정 장치는 고밀도 디스크 시스템에 있어서: 기본 기록 단위인 제1 데이터 유닛을 생성하는 제1 데이터 유닛 생성기 및 소정수의 제1 데이터 유닛을 모아서 제2 데이터 유닛을 생성하되, 외부호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브해서 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생성해서 에러 정정 부호화된 데이터를 제공하는 제2 데이터 유닛 생성기를 포함함을 특징으로 하고 있다.
상기한 또 다른 목적을 달성하기 위하여, 본 발명에 의한 에러 정정 구조는 기본 기록 단위인 제1 데이터 유닛을 소정수 모여 생성되는 에러 정정을 위한 제2 데이터 유닛 구조에 있어서: 소정의 에러 정정 코드가 2차원으로 배열되고, 행 방향의 외부호에 대하여 외부호 패리티가 부가되고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 다분할 열 인터리브해서, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티가 부가되어 있는 것을 특징으로 하고 있다.
이하, 첨부된 도면을 참조하여 본 발명에 의한 에러 정정 방법과 장치 및 에러 정정 구조의 바람직한 실시예를 설명하기로 한다.
상 변환 방식이 재기록 가능한 DVD-RAM의 디스크로 채택되고, 기록 용량이 4.7GB(Giga Bytes)인 DVD-RAM이 상용화되고 있다. 최근에는 15
Figure 111999009812572-pat00003
20GB급의 HD-RAM이 개발중이다. DVD 보다 3
Figure 111999009812572-pat00004
4배의 기록 용량을 달성하기 위한 방법으로 얇은 입사 보호막의 광 디스크와 청색 레이저, 고 개구수(numerical aperture)의 대물 렌즈 등이 제안되고 있다.
본 발명에서는 고밀도화에 따른 에러 바이트수의 증가에 의한 정정 능력의 감소를 방지하기 위해 ECC 블록의 크기를 64KB로 하고, 그에 따른 문제점(에러 정정 연산 범위 초과에 따른 에러 위치 불검출)을 해결하기 위하여 멀티웨이(multiway: 일명 다분할(mult divided)라고 함) 내부호 패리티 인터리브 방식을 내부호에 도입한다.
도 2는 본 발명에 의한 ECC 블록을 구성하는 섹터(일명 "제1 데이터 유닛"라고 함)의 데이터 구조의 일 예로서, 4096 데이터 바이트에 ID(Identification Data: DVD-RAM에서는 DID(Data Identification Data)에 해당)+CRC(Cyclic Redundancy Code)용 6바이트와 예비(reserved) 데이터 14 바이트를 덧붙이고, 이렇게 해서 얻어진 4116 데이터 바이트에 대해 4 바이트의 EDC(Error Detection Code)를 부가해서 4120 바이트의 제1 데이터 유닛을 생성한다. 즉, 제1 데이터 유닛 구조는 행 방향으로 103
Figure 111999009812572-pat00012
5 바이트를 가지고, 열 방향으로 8행을 가지는 4KB의 섹터이다.
도 3은 본 발명에 의한 ECC 블록(일명 "제2 데이터 유닛"라고 함)의 데이터 구조의 일 예로서, ECC 블록은 16개의 섹터(SECTOR 1
Figure 111999009812572-pat00013
SECTOR 16)를 모아서 16행(rows)의 외부호 패리티(PO)와 5
Figure 111999009812572-pat00014
C(C는 가변되는 내부호 패리티)열(columns)의 내부호 패리티(PI)를 생성한다. 내부호 패리티 정정 능력을 향상시키고 에러 정정 연산 범위를 넘는 내부호의 에러를 검출하기 위해서 내부호 패리티 열 인터리빙(column interleaving) 방법이 적용된다.
도 4는 본 발명의 일 실시예에 따른 5 웨이 인터리브된 내부호 패리티를 설명하기 위한 ECC 블록의 데이터 구성을 보인 도면으로서, Bi,j,k에서 i는 행 인덱스(row index)로서 0에서부터 143까지이고, j는 열 인덱스(column index)로서 0에서부터 110까지이고, k는 인터리브 인덱스(interleave index)로서 0에서부터 4까지이다. 여기서, C는 8바이트이다.
즉, 128 바이트의 외부호에 대해서 16바이트의 외부호 패리티를 생성하고, 에러 정정 연산 범위를 넘는 데이터를 길이를 갖는 103
Figure 111999009812572-pat00015
5 바이트의 내부호에 대해서 논리(logical) 열 인터리브해서 제1, 제2, 제3, 제4 및 제5 인터리브된 내부호 패리티(PI1,PI2,PI3,PI4,PI5)를 생성하고, 이를 5 웨이 인터리브된 내부호 패리티라고 한다.
즉, 각 행의 내부호에 대해 모듈로 연산해서 나머지가 0인 위치 즉, 인터리브 인덱스가 "0"인 위치 (B0,0,0,B0,1,0,...,B0,102,0,B1,0,0,B1,1,0,...,B 1,102,0,...,B142,0,0,B142,1,0,...,B142,102,0)의 내부호에 대해 제1 내부호 패리티(PI1)를 생성하고, 각 행의 내부호에 대해 모듈로 연 산해서 나머지가 1인 위치 즉, 인터리브 인덱스가 "1"인 위치 (B0,0,1,B0,1,1,...,B0,102,1,B1,0,1,B1,1,1,...,B 1,102,1,...,B142,0,1,B142,1,1,...,B142,102,1)의 내부호에 대해 제2 내부호 패리티(PI2)를 생성하고, 각 행의 내부호에 대해 모듈로 연산해서 나머지가 2인 위치 즉, 인터리브 인덱스가 "2"인 위치 (B0,0,2,B0,1,2,...,B0,102,2,B1,0,2,B1,1,2,...,B 1,102,2,...,B142,0,2,B142,1,2,...,B142,102,2)의 내부호에 대해 제3 내부호 패리티(PI3)를 생성하고, 각 행의 내부호에 대해 모듈로 연산해서 나머지가 3인 위치 즉, 인터리브 인덱스가 "3"인 위치 (B0,0,3,B0,1,3,...,B0,102,3,B1,0,3,B1,1,3,...,B 1,102,3,...,B142,0,3,B142,1,3,...,B142,102,3)의 내부호에 대해 제4 내부호 패리티(PI4)를 생성하고, 각 행의 내부호에 대해 모듈로 연산해서 나머지가 4인 위치 즉, 인터리브 인덱스가 "4"인 위치 (B0,0,4,B0,1,4,...,B0,102,4,B1,0,4,B1,1,4,...,B 1,102,4,...,B142,0,4,B142,1,4,...,B142,102,4)의 내부호에 대해 제5 내부호 패리티(PI5)를 생성하여 내부호 방향으로 에러 정정 연산 범위(예를 들어 GF(28)의 연산 범위는 에러 정정 블록의 길이가 256 바이트 이내어야 함)를 넘는 데이터 길이를 갖더라도 에러 정정할 수 있다.
도 5는 본 발명이 적용되는 광 기록재생장치(일명 DVD 레코더라고도 함)를 설명하기 위한 블록도로서, 크게 기록과 재생 동작을 수행한다. 기록시에는 아날로그/디지털 변환기(ADC, 102), DSP(Digital Signal Processor) 엔코더(104), 기록 보상기(106) 및 광파워 제어기(108)에 의해 입력되는 비디오 신호 및 오디오 신호 를 광 디스크(110)에 기록한다. 재생시는 광 검출기(112), 재생 증폭기(114), 재생 등화기(116), 동기 복원기(118), DSP 디코더(120) 및 디지털/아날로그 변환기(DAC, 122)에 의해 광 디스크(110)로부터 읽혀진 데이터를 원래의 비디오 신호 및 오디오 신호로 재생해서 출력한다.
기록시, ADC(102)는 기록하고자 하는 아날로그 신호인 비디오 신호와 오디오 신호를 디지털 신호로 변환하고, DSP 엔코더(104)는 ADC(102)를 통해 제공되는 2진 정보("1", "0")로 이루어지는 입력 데이터 비트열을 내부에 구성된 스크램블러를 이용하여 랜덤 데이터로 변환하고, 내부에 구성된 에러 정정 부호기에 의해 랜덤화된 데이터를 소정의 에러 정정 코드를 위해 2차원으로 배열하고, 2차원으로 배열된 에러 정정 코드에 외부호 패리티와 내부호 패리티를 삽입하여 ECC 블록 데이터를 제공하고, 내부에 구성된 변조기는 소정의 변조 체계에 의해 에러 정정 부호화된 데이터를 기록 부호열로 변환하고 동기 코드를 삽입한다. 여기서, 동기 코드 삽입은 m바이트(=5*(103+C)/n(n,m은 정수))마다 삽입한다. 기록 보상기(106)는 기록 밀도 특성을 개선하고, 재생시의 파형 간섭을 적게 하기 위해 기입 펄스의 보상을 수행한다. 광파워 제어기(108)는 보상된 기입 펄스를 광신호로 변환하여 광 디스크(110)에 기록한다.
재생시, 광 검출기(112)는 광 디스크(110)로부터 반사되는 광 신호를 전류 신호로 변환하고, 재생 증폭기(114)는 전류 신호로 변환된 재생 신호를 증폭하고, 재생 등화기(116)는 재생 신호의 왜곡(distortion) 및 잡음을 제거한 후 파형 정형을 하며, 동기 복원기(118)는 재생 등화기(116)로부터 제공되는 재생 신호로부터 동기 신호와 재생 데이터를 복원한다. DSP 디코더(120)의 내부에 구성된 검출기는 동기 복원기(118)에서 발생되는 동기 신호를 이용하여 정하여진 시간대, 즉 검출 윈도우(Detection Window)내에 광의 재생 펄스의 천이(transition)가 존재하는지의 여부를 검출하고, 내부에 구성된 복조기는 검출된 부호열을 데이터 비트열로 복조하고, 내부에 구성된 에러 정정 복호기는 복조된 데이터의 에러를 정정한다. DAC(122)는 복조된 데이터 비트열을 아날로그 비디오 신호 및 오디오 신호로 변환하여 출력한다.
도 5에 도시된 DSP 엔코더(104) 내부의 에러 정정 부호기에서 수행되는 ECC 엔코딩에 대해 도 6을 결부시켜 설명하기로 한다.
8비트 단위의 데이터 코드워드에 대해 GF(28) 원시 다항식을 사용하여 에러 정정 코드를 발생시키기 위해 다음 수학식 1의 원시 다항식(Primitive Polynomial)을 사용하고, 갈와 장 곱셈을 위해 도 6에 도시된 바와 같은 룩업테이블(Look Up Table)을 이용한다.
GF(28)의
Figure 111999009812572-pat00005
를 생성하기 위한 원시 다항식은 다음과 같이 주어진다.
Figure 111999009812572-pat00006
여기서,
Figure 111999009812572-pat00007
는 위 식의 근이다.
본 발명에서 사용되는 적부호의 ECC 블록 레이아웃은 다음 수학식 2와 같다.
Figure 111999009812572-pat00008
여기서, 103+C는 행 방향의 전체 코드워드의 수이고, 103은 내부호의 코드워드의 수이고, C+1은 내부호 패리티에서 1을 더한 값이고, C는 내부호 패리티를 나타낸다. 144는 열 방향의 전체 코드워드의 수이고, 128은 외부호의 코드워드의 수이고, 17은 외부호 패리티에서 1을 더한 값이다.
위 수학식 2에 도시된 ECC 블록 레이아웃에 따라 다음 수학식 3과 수학식 4에 도시된 나눗셈 다항식(Division Polynomial)을 계산하여 룩업테이블로 구성될 수 있는 메모리에 저장해서 메모리에 저장된 데이터를 사용하여 외부호 패리티와 내부호 패리티를 생성한다.
Figure 111999009812572-pat00016
Figure 111999009812572-pat00017
한편, 에러 정정 부호기의 상세 블록도는 도 7에 도시되어 있으며, 사용자 데이터를 섹터(4096 바이트) 단위로 변환하고, 16 섹터로 구성된 ECC 블록 데이터 구조에서 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브를 수행해서 다분할하여 GF(28)의 에러 정정 연산 범위를 초과하지 않는 내부호 패리티를 생성한다.
먼저, 제1 데이터 유닛 생성기(202)는 도 2에 도시된 바와 같이 섹터 데이터 와 ID가 주어지고, 이 ID에서 CRC가 생성되고, 예비 데이터 14바이트가 덧붙여지며, 주 데이터(main data)와 EDC(4 바이트)로 되어 있는 섹터 구조의 데이터를 생성한다.
에러 정정 코드 생성기(204)는 제1 데이터 유닛 발생기(202)에서 생성된 8비트 단위의 데이터 코드워드를 수학식 1에 도시된 원시 다항식을 사용하여 제2 데이터 유닛 구조의 2차원 배열을 만든 다음 에러 정정 코드를 생성시킨다. 여기서, 제1 LUT(206)는 도 6에 도시된 갈와 장 곱셈을 위한 룩업 테이블이다. 에러 정정 코드를 위한 갈와 장 계산을 위한 덧셈은 XOR(Exclusive OR) 연산이 사용되고 두 번째 연산인 내적을 계산하기 위하여 제1 LUT(206)를 이용하여 곱셈을 계산한다.
제2 LUT(210)는 수학식 2에 도시된 바와 같은 ECC 블록 레이아웃에 따라 수학식 4에 도시된 외부호 패리티를 위한 나눗셈용 다항식을 계산한 값들이 저장되고, 제3 LUT(214)는 수학식 2에 도시된 바와 같은 ECC 블록 레이아웃에 따라 수학식 3에 도시된 내부호 패리티를 위한 나눗셈용 다항식을 계산한 값들이 저장되어 있다. 여기서, 제1 내지 제3 LUT가 별개로 구성되어 있지만 제1 내지 제3 LUT를 가지는 하나의 메모리로 구성될 수 있다.
외부호 패리티 생성기(208)는 제2 LUT(210)를 이용하여 외부호 패리티를 생성해서 생성된 외부호 패리티를 에러 정정 코드 생성기(204)로부터 제공되는 에러 정정 코드에 부가시킨다. 내부호 패리티 생성기(212)는 제3 LUT(214)를 이용하여 5 웨이 인터리브된 내부호 패리티를 생성해서, 생성된 5 웨이 인터리브된 내부호 패리티를 외부호 패리티 생성기(208)로부터 제공되는 외부호 패리티가 부가된 오류 정정 코드에 부가시켜서 에러 정정 코드 생성을 완료한다. 행 인터리버(216)는 16행의 PO 패리티를 16개의 각 섹터의 마지막 행에 덧붙이는 행 인터리빙(row-interleaving)을 수행한다. 행 인터리브된 데이터는 섹터별로 변조되어 픽업을 통해서 디스크에 기록된다. 여기서, 내부호를 위한 열 인터리빙은 논리 인터리빙에 해당하고, 외부호를 위한 행 인터리빙은 물리(physical) 인터리빙에 해당한다. 에러 정정 코드 생성기(204) 내지 내부호 패리티 생성기(212)를 제2 데이터 유닛 생성기로 지칭할 수 있다.
다음, 도 5에 도시된 DSP 디코더(120)내의 에러 정정 복호기에서 수행되는 ECC 디코딩 과정을 도 8을 결부시켜 설명하기로 한다.
소실(erasure)이 없는 경우, 에러수의 2배의 미지수(즉, 에러값과 위치)를 구하는 수학식 5에 도시된 다원 다차 연립 방정식을 풀면 에러를 정정할 수 있다. 이에 대해서 설명하기로 한다.
Figure 111999009812572-pat00011
여기서, Xi는 i번째 에러 위치(
Figure 111999009812572-pat00018
)를 나타내고, 에러 수를 ne, 패리티 수를 np, 에러 위치를 li, 에러값을 ei라고 할 때, 피터슨 직접 해(Peterson direct solution)로 풀면 2
Figure 111999009812572-pat00019
3바이트 에러 정정까지 가능하고, 데이터 정정 처리 속도를 고려하면 2바이트 에러 정정까지만 가능하다. 에러의 위치를 찾기 위해서 유클리드 알고리즘(Modified Euclid Algorithm)이 사용되는 데, 내부호 패리티 수의 반까지의 에러 위치 다항식을 구할 수 있고, 치엔 검색 알고리즘을 사용하여 에러 위치를 구한 다음 역행렬을 계산하여 구해진 에러 위치의 에러를 정정한다. 외부호 정정 복호화시에는 내부호 정정 복호화시 검출된 에러 위치를 참조하여 외부호 패리티 수만큼의 정정(소실(erasure) 정정 이라고 함)이 가능하다.
도 8은 도 5에 도시된 DSP 디코더(120) 내부의 에러 정정 복호기의 블록도로서, 행 디인터리버(302)는 디스크에서 픽업에 의해 읽혀진 부호열의 섹터 데이터로부터 각 섹터의 마지막 줄에 삽입된 외부호 패리티를 모아서 행 인터리브하기 전과 같이 ECC 블록의 마지막에 배열한다.
신드롬(syndrome) 연산기(304)는 디인터리버(302)로부터 제공되는 행 디인터리브된 데이터를 외부호 패리티 수만큼의 신드롬 데이터를 생성하는 데 이 신드롬 연산을 하면 에러의 유무가 확인된다. 즉, 신드롬이 모두 "0"이면 에러가 없다고 판정하고 에러 정정을 완료한다. 만약 신드롬이 있으면, 수정 유클리드 알고리즘을 사용하는 유클리드 연산기(306)에서 에러 위치 다항식을 구한다. 여기서, 유클리드 알고리즘 외에도 벌레캄프-마세이(Berlekamp-Massey) 알고리즘이 사용되기도 한다. 에러 위치 검출기(308)에서 유클리드 연산기(306)에서 구해진 에러 위치 다항식으로부터 치엔 검색 알고리즘을 통해 에러 위치를 구하고, 에러 정정기(310)에서 수학식 5를 이용하여 에러 위치에 대한 역행렬을 계산하여 행렬 연산을 통해 에러를 정정한다.
유클리드 연산기(306), 치엔 검색기(308), 에러 정정기(310) 대신에 신드롬 연산기(304)로부터 제공되는 결과가 에러가 있는 경우(신드롬이 "0"이 아닌 경우)에는 피터선의 직접 해를 사용하거나 포니(forney) 알고리즘을 사용하여 에러를 정정하는 에러 정정기가 구성될 수 있다.
본 발명은 적부호의 특징인 내부호 정정, 외부호 정정이 반복 수행될 수 있다. 외부호 정정과 두 번째 내부호 정정부터는 에러 위치를 알고 있기 때문에 소실(erasure) 정정이 가능하다.
도 9는 본 발명의 이해를 돕기 위하여 ECC 블록 데이터 구조에 대한 시뮬레이션 결과로서, 랜덤 에러(+24% 전파(propagation))에 대해 에러 입/출력을 보이고 있으며, 가로 축은 입력 에러이고, 세로 축은 출력 에러를 나타낸다. 내부호 패리티의 수를 증가시킴에 따라 랜덤 에러(random error)에 대한 정정 능력이 향상되고 있음을 알 수 있다. 즉, 입력 에러(ECC 복호전)가 커지면 출력 에러(ECC 복호 후)가 커짐을 알 수 있고, 가변되는 내부호 패리티의 수(Npi, 도면에는 내부호 패리티의 수가 4,6,8인 경우로 도시되어 있음)에 따라 에러 정정 능력을 조절할 수 있음을 알 수 있다.
본 발명은 고밀도화로 인한 정정 능력의 감소를 방지하고, 특히 청색 레이저를 사용할 15GB
Figure 111999009812572-pat00020
20GB급 광 디스크 시스템에 적합하다.
본 발명은 에러 정정 범위를 초과하는 내부호를 다분할 인터리브하여 갈와 장 연산 범위 이내에서 에러 위치 검출을 가능하게 하고, 에러 전파나 작은 버스트 에러에 대한 정정 능력을 강화하고 있다. 또한, 내부호 패리티 수가 가변이므로 전반적인 에러 정정 능력의 조절을 가능하게 한다.
본 발명은 선밀도를 2배로 하여도 정정 능력을 유지할 수 있으므로 ECC 블록의 크기를 2배(64KB/1 ECC 블록)로 한다. 행 디인터리빙이 이루어지면 별도로 열 디인터리빙하지 않고도 섹터내에서 내부호의 에러 정정과 열 디인터리빙이 완료되므로 물리 인터리빙/디인터리빙시에 외부호 패리티 부분의 정정 능력의 감소를 방지할 수 있다. 외부호 패리티의 부과율이 높아 버스트 에러에 강한 장점을 제공한다.
본 발명은 에러 정정 연산 범위를 초과하지 않도록 다분할 인터리브된 내부호를 위한 다분할 인터리브된 내부호 패리티의 수를 가변할 수 있게 함으로써 원하는 정정 능력의 ECC 블록 데이터 구조를 제공할 수 있고, 에러 정정 지연 시간을 줄이고, 버스트 및 랜덤 에러 정정 능력을 향상시키는 효과가 있다.

Claims (20)

  1. (a) 기본 기록 단위인 제1 데이터 유닛을 소정수 모아 에러 정정을 위한 제2 데이터 유닛을 생성하기 위해서 소정의 에러 정정 코드를 2차원으로 배열하는 단계; 및
    (b) 배열된 외부호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브해서 상기 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생성해서 에러 정정 부호화된 데이터를 제공하는 단계를 포함하는 에러 정정 방법.
  2. 제1항에 있어서, 상기 (b) 단계에서는 상기 다분할 인터리브된 내부호 패리티의 수를 가변해서 에러 정정 능력을 조절하는 것을 특징으로 하는 에러 정정 방법.
  3. 제1항에 있어서, 상기 방법은
    (c) 각 제1 데이터 유닛의 마지막 행에 1행의 외부호 패리티를 배열하는 행 인터리브를 수행하는 단계를 더 포함하는 에러 정정 방법.
  4. 제3항에 있어서, 상기 (b) 단계에서 내부호 패리티 생성시 수행되는 내부호의 열 인터리브는 논리 인터리브이고, 상기 (c) 단계에서 수행되는 외부호의 행 인터리브는 물리 인터리브인 것을 특징으로 하는 에러 정정 방법.
  5. 제1항에 있어서, 상기 제1 데이터 유닛은 사용자 데이터 4096 바이트에 식별 정보와 CRC(Cyclic Redundancy Check)용 6바이트와 예비(reserved) 데이터 14 바이트를 덧붙이고, 이렇게 해서 얻어진 4116 데이터 바이트에 대해 4 바이트의 에러 검출 코드를 생성해서 부가하여 4120 바이트로 되어 있고, 515 바이트의 8행으로 되어 있는 섹터인 것을 특징으로 하는 에러 정정 방법.
  6. 제5항에 있어서, 상기 제2 데이터 유닛은 16개의 섹터로 구성된 에러 정정 코드(ECC) 블록인 것을 특징으로 하는 에러 정정 방법.
  7. 제1항에 있어서, 상기 (b) 단계에서는 5 웨이(way) 인터리브된 RS(103+C, 103, C+1)
    Figure 111999009812572-pat00021
    RS(144,128,17)의 에러 정정 부호화된 데이터를 생성하고, 여기서, 103+C는 행 방향의 전체 코드워드의 수이고, 103은 내부호의 코드워드의 수이고, C는 가변하는 내부호 패리티를 나타내고, C+1은 내부호 패리티에서 1을 더한 값이고, 144는 열 방향의 전체 코드워드의 수이고, 128은 외부호의 코드워드의 수이고, 17은 외부호 패리티에서 1을 더한 값인 것을 특징으로 하는 에러 정정 방법.
  8. 제7항에 있어서, 상기 (b) 단계는,
    (b1) 외부호에 대해 외부호 패리티를 생성하는 단계; 및
    (b2) 소정의 에러 정정 연산 범위를 넘는 각 행의 내부호에 대해 모듈로 연산해서 나머지가 0인 위치의 내부호에 대해 제1 내부호 패리티를 생성하고, 나머지가 1인 위치의 내부호에 대해 제2 내부호 패리티를 생성하고, 나머지가 2인 위치의 내부호에 대해 제3 내부호 패리티를 생성하고, 나머지가 3인 위치의 내부호에 대해 제4 내부호 패리티를 생성하고, 나머지가 4인 위치의 내부호에 대해 제5 내부호 패리티를 생성하는 단계를 포함하여,
    상기 제1 내지 제5 내부호 패리티도 인터리브되어 있고, 에러 정정 연산 범위를 넘는 에러 정정 부화화된 데이터를 에러 정정할 수 있는 것을 특징으로 하는 에러 정정 방법.
  9. 제7항에 있어서, 상기 방법은
    (c) 상기 에러 정정 부호화된 데이터를 변조하되, 동기 코드를 소정 주기로 삽입하는 단계를 더 포함하고,
    상기 동기 코드는 m 바이트(m=5*(103+C)/n, 여기서 n, m은 정수)마다 삽입하는 것을 특징으로 에러 정정 방법.
  10. 제3항에 있어서, 상기 방법은
    (d) 상기 제2 데이터 유닛내의 각 제1 데이터 유닛의 마지막 행을 모아서 외부호의 마지막에 배열하는 행 디인터리브를 수행하는 단계; 및
    (e) 다분할 인터리브된 내부호 패리티를 이용하여 상기 에러 정정 연산 범위 이내의 다분할 열 인터리브된 내부호를 에러 정정하고, 상기 외부호 패리티를 이용하여 외부호를 에러 정정하는 단계를 더 포함하는 에러 정정 방법.
  11. 고밀도 디스크 시스템에 있어서:
    기본 기록 단위인 제1 데이터 유닛을 생성하는 제1 데이터 유닛 생성기; 및
    소정수의 상기 제1 데이터 유닛을 모아서 제2 데이터 유닛을 생성하되, 외부 호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브해서 상기 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생성해서 에러 정정 부호화된 데이터를 제공하는 제2 데이터 유닛 생성기를 포함하는 에러 정정 장치.
  12. 제11항에 있어서, 상기 제2 데이터 유닛 생성기는 상기 다분할 인터리브된 내부호 패리티의 수를 가변해서 에러 정정 능력을 조절하는 것을 특징으로 하는 에러 정정 장치.
  13. 제11항에 있어서, 상기 제2 데이터 유닛 생성기는 5 웨이 인터리브 RS(103+C, 103, C+1)
    Figure 111999009812572-pat00022
    RS(144,128,17)의 에러 정정 부호화된 데이터를 생성하고, 여기서, 103+C는 행 방향의 전체 코드워드의 수이고, 103은 내부호의 코드워드의 수이고, C는 가변하는 내부호 패리티를 나타내고, C+1은 내부호 패리티에서 1을 더한 값이고, 144는 열 방향의 전체 코드워드의 수이고, 128은 외부호의 코드워드의 수이고, 17은 외부호 패리티에서 1을 더한 값인 것을 특징으로 하는 에러 정정 장치.
  14. 제11항에 있어서,
    상기 제2 데이터 생성기로부터 제공되는 각 제1 데이터 유닛의 마지막 행에 1행의 외부호 패리티를 배열하는 행 인터리버를 더 포함하는 에러 정정 장치.
  15. 제14항에 있어서, 상기 제2 데이터 유닛 생성기에서 내부호 패리티 생성시 수행되는 내부호의 열 인터리브는 논리 인터리브이고, 상기 행 인터리버에서 수행되는 외부호의 행 인터리브는 물리 인터리브인 것을 특징으로 하는 에러 정정 장치.
  16. 제14항에 있어서:
    상기 제2 데이터 유닛내의 각 제1 데이터 유닛의 마지막 행을 모아서 외부호의 마지막에 배열하는 행 디인터리버; 및
    다분할 인터리브된 내부호 패리티를 이용하여 상기 에러 정정 연산 범위 이내의 다분할 열 인터리브된 내부호를 에러 정정하고, 상기 외부호 패리티를 이용하여 외부호를 에러 정정하는 에러 정정 복호기를 더 포함하는 에러 정정 장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1019990034358A 1999-08-19 1999-08-19 에러 정정 방법과 장치 KR100611956B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990034358A KR100611956B1 (ko) 1999-08-19 1999-08-19 에러 정정 방법과 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990034358A KR100611956B1 (ko) 1999-08-19 1999-08-19 에러 정정 방법과 장치

Publications (2)

Publication Number Publication Date
KR20010018400A KR20010018400A (ko) 2001-03-05
KR100611956B1 true KR100611956B1 (ko) 2006-08-11

Family

ID=19607836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990034358A KR100611956B1 (ko) 1999-08-19 1999-08-19 에러 정정 방법과 장치

Country Status (1)

Country Link
KR (1) KR100611956B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382059B2 (en) 2013-07-03 2019-08-13 Samsung Electronics Co., Ltd. Transmitting apparatus, encoding method thereof, receiving apparatus, and decoding method thereof

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100598300B1 (ko) * 2000-02-14 2006-07-07 엘지전자 주식회사 차세대 고밀도 기록 매체를 위한 디지털 데이터의 오류정정 부호화 방법
KR100425294B1 (ko) * 2001-04-20 2004-03-30 삼성전자주식회사 광 정보저장매체, 및 그 데이터 기록장치
KR100856399B1 (ko) * 2002-01-23 2008-09-04 삼성전자주식회사 디코딩 방법 및 그 장치
EP1502356B1 (en) * 2002-05-08 2006-11-22 Thomson Licensing A method of soft-decision decoding of reed-solomon codes
KR100640601B1 (ko) 2004-10-05 2006-11-01 삼성전자주식회사 수직 자기 기록매체가 재생하는 코드 워드의 에러 이벤트발생 유무 검출방법 및 장치
US8826093B2 (en) * 2005-01-19 2014-09-02 Qualcomm Incorporated Power saving method for coded transmission
US10734016B2 (en) 2018-08-21 2020-08-04 Marvell Asia Pte, Ltd. Pulse-based writing for magnetic storage media
US11450348B2 (en) 2019-01-31 2022-09-20 Marvell Asia Pte, Ltd. Health management for magnetic storage media
CN116312657A (zh) * 2019-02-26 2023-06-23 马维尔亚洲私人有限公司 用于磁存储介质的码字交织

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087500A (ja) * 1994-06-27 1996-01-12 Hitachi Ltd 情報記録再生方法
JPH10188489A (ja) * 1996-12-25 1998-07-21 Sony Corp 光ディスク、光ディスク記録装置および光ディスク再生装置
JPH10334620A (ja) * 1997-06-02 1998-12-18 Hitachi Ltd 記録媒体の再生装置、記憶媒体の記録再生装置、記録媒体の書き込み装置、エラー訂正回路、エラー訂正符号生成方法、データ転送のエラー訂正方法、記憶媒体および記録媒体
KR19990034102A (ko) * 1997-10-28 1999-05-15 구자홍 광디스크의 에러정정방법 및 장치
KR100273811B1 (ko) * 1997-05-30 2000-12-15 모리시타 요이찌 자기 디스크장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087500A (ja) * 1994-06-27 1996-01-12 Hitachi Ltd 情報記録再生方法
JPH10188489A (ja) * 1996-12-25 1998-07-21 Sony Corp 光ディスク、光ディスク記録装置および光ディスク再生装置
KR100273811B1 (ko) * 1997-05-30 2000-12-15 모리시타 요이찌 자기 디스크장치
JPH10334620A (ja) * 1997-06-02 1998-12-18 Hitachi Ltd 記録媒体の再生装置、記憶媒体の記録再生装置、記録媒体の書き込み装置、エラー訂正回路、エラー訂正符号生成方法、データ転送のエラー訂正方法、記憶媒体および記録媒体
KR19990034102A (ko) * 1997-10-28 1999-05-15 구자홍 광디스크의 에러정정방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382059B2 (en) 2013-07-03 2019-08-13 Samsung Electronics Co., Ltd. Transmitting apparatus, encoding method thereof, receiving apparatus, and decoding method thereof

Also Published As

Publication number Publication date
KR20010018400A (ko) 2001-03-05

Similar Documents

Publication Publication Date Title
KR100517482B1 (ko) 곱셈 코드에 대한 동시 행/열 신드롬 발생기
KR100562832B1 (ko) 랜덤화된데이터내의에러를정정하기위한에러정정처리기및그방법
US7877662B2 (en) Reverse concatenation for product codes
US5991911A (en) Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US7383491B2 (en) Error correction method for high density disc
US6963296B2 (en) Recording method, recording apparatus, transmitting apparatus, reproducing method, reproducing apparatus, receiving apparatus, recording medium, and transmission medium
KR100611956B1 (ko) 에러 정정 방법과 장치
US20080235562A1 (en) Reverse concatenation for product codes
JP3696134B2 (ja) 高密度dvdにおける短バストエラー訂正のためのインターリービング方法
KR100739669B1 (ko) 광 정보저장 매체, 데이터 기록장치 및 데이터 기록방법
KR100606521B1 (ko) 고밀도 광 기록매체에서의 데이터 에러정정 코드 생성방법및 장치
KR100335438B1 (ko) 고밀도 디스크를 위한 에러 정정 코드 블록 구조와 그 에러 정정방법
JP3360630B2 (ja) 記録装置及び情報記録方法
KR910000533B1 (ko) 디지탈 오디오 테이프 레코더에 있어서 c2 엔코더 패리티 생성회로
JP3360681B2 (ja) 情報記録方法
JP3360631B2 (ja) 記録装置及び情報記録方法
KR100619085B1 (ko) 고밀도 디스크를 위한 에러 정정 장치 및 이를 구비하는광디스크 기록 장치
KR20010097263A (ko) 고밀도 디브이디에서 에러정정을 위한 인터리빙 방법
KR100619084B1 (ko) 고밀도 디스크를 위한 에러 정정 방법
JP3360629B2 (ja) 記録装置および情報記録方法
JPS63298776A (ja) エラ−訂正処理方式
JP2001155438A (ja) 情報記録フォーマット及び情報記録媒体

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
LAPS Lapse due to unpaid annual fee