[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20010018400A - Error correciton method and apparatus thereof and error correction structure - Google Patents

Error correciton method and apparatus thereof and error correction structure Download PDF

Info

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

Links

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

PURPOSE: Error correcting method, device, and structure are provided to multi-divide after column interleaving inner codes exceeding error correct operation range and to correct error in a Galois field by generating interleaved inner code parity. CONSTITUTION: Error correct codes are arranged in two-dimension to generate a second data unit for correcting error by collecting first data units as a basic unit. Outer code parity is generated for the arranged outer code. Inner codes exceeding a specific error correct operation range are column interleaved for multi divided into inner codes within the error correct operation range. Then, interleaved inner code parity is generated for the interleaved inner code to supply error corrected data. Herein, error correcting capacity is adjusted by varying number of inner code parity. Thus, error correction is performed in a Galois field GF(2¬8) regardless of length of data over 256 bytes.

Description

에러 정정 방법과 장치 및 에러 정정 구조{Error correciton method and apparatus thereof and error correction structure}Error correction method and apparatus and error correction structure

본 발명은 에러 정정 분야에 관한 것으로, 특히 고밀도 기록 매체를 위한 에러 정정 방법과 장치 및 다분할 인터리브된 내부호를 위한 패리티의 수를 가변시켜 에러 정정 능력을 조절하는 에러 정정 구조에 관한 것이다.TECHNICAL FIELD The present invention relates to the field of error correction, and more particularly, to an error correction method and apparatus for a high density recording medium, and an error correction structure for adjusting error correction capability by varying the number of parities for multi-segmented interleaved internal code.

대용량 정보를 기록, 재생 및 소거하는 기술로서 상 변환 방식의 기록 매체가 많이 알려져 있다. 이러한 기록 매체의 물리적인 원리는 기록막의 상태를 기록 펄스로 결정상과 비정질상으로 변화시키고, 결정상의 상태를 "1"(또는 "0")로 읽고, 비정질상의 상태를 "0"(또는 "1")으로 읽음으로서 데이터를 판독하게 된다. 이때, 지터 등에 의한 랜덤 에러와 디스크 결함등에 의한 버스트 에러 등이 발생하는 데 이를 정정하기 위해서 리드-솔로몬(Reed-Solomon:RS) 코드가 사용된다. 종래의 데이터 구조는 적부호(product code) 및 LDC(Long Distance Code)가 있으며, ECC 블록 크기로 0.5KB, 1KB, 32KB의 3가지가 사용되고 있다.As a technique for recording, reproducing, and erasing a large amount of information, a recording medium of a phase conversion method is known. The physical principle of such a recording medium is to change the state of the recording film into a crystalline phase and an amorphous phase with a recording pulse, read the crystalline phase as "1" (or "0"), and read the amorphous phase as "0" (or "1"). By reading), you read data. At this time, a random error due to jitter and a burst error due to a disk defect or the like occur. To correct this, a Reed-Solomon (RS) code is used. Conventional data structures include a product code and a long distance code (LDC), and three types of 0.5 KB, 1 KB, and 32 KB are used as ECC block sizes.

즉, 광 디스크의 대표적인 예인 CD(Compact Disc)는 섹터 크기가 2킬로바이트("KB")이고, 에러 정정 코드("ECC") 블록의 구조는 도 1의 (a)에 도시된 바와 같이 0.5KB의 RS(28,24,5)RS(32,28,5)를 사용하고 있다.That is, a compact disc (CD), which is a representative example of an optical disc, has a sector size of 2 kilobytes ("KB"), and the structure of an error correction code ("ECC") block is 0.5 KB as shown in Fig. 1A. RS (28,24,5) RS (32, 28, 5) is used.

기록용 광 디스크인 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)를 사용하고 있다.A write-write optical disk (Phase-write Dual) or MOD (Magnetic Optical Disc) uses LDC, and one sector has 0.5 KB (= 0.5 KB / sector), and is shown in FIG. As shown, the structure of the ECC block uses 5 way interleaved RSs 120, 104, and 17.

2KB/sector와 32KB/ECC block의 DVD-RAM(Digital Versatile Disc-Random Access Memory)의 ECC 블록 구조는 도 1의 (c)에 도시된 바와 같이 적부호인 RS(182,172,11)RS(208,192,17)를 사용하고 있다.The ECC block structure of the Digital Versatile Disc-Random Access Memory (DVD-RAM) of 2 KB / sector and 32 KB / ECC block is RS (182, 172, 11), which is indicated by an appropriate symbol, as shown in FIG. RS (208, 192, 17) is used.

즉, 내부호 패리티(PI)로서 행(row)방향으로 172 바이트의 데이터에 대해 10 바이트의 에러 정정용 패리티를 부가하고, 외부호 패리티(PO)로서 열(column) 방향으로 192 바이트의 데이터에 대해 16 바이트의 에러 정정용 패리티를 부가하여 ECC 블록을 구성하고 있다.That is, 10 bytes of error correction parity is added to 172 bytes of data in the row direction as the inner code parity (PI), and 192 bytes of data in the column direction as the outer code parity (PO). An ECC block is formed by adding 16 bytes of error correction parity.

한편, DVD 보다 고밀도 기록 및 재생을 위한 고밀도(High Density:HD) 디스크("HD-DVD")에 작은 흠집이 생겼을 때 이것으로 인한 데이터의 손실의 크기는 일반적인 DVD보다는 커질 수밖에 없다. 이러한 데이터 손실을 보완할 수 있는 것이 에러 정정 기술인데 이것의 적용 방법에 따라서 기록되는 사용자 데이터의 양과 기록 및 재생시 사용자 데이터의 신뢰성에 큰 영향을 준다. 따라서, DVD에 적용했던 에러 정정 방법을 그대로 HD-DVD에 적용하면 재생되는 데이터의 신뢰도가 많이 저하된다.On the other hand, when a small scratch occurs on a High Density (HD) disc (" HD-DVD ") for higher density recording and playback than a DVD, the size of data loss due to this is inevitably larger than that of a general DVD. It is an error correction technique that can compensate for such data loss, and according to its application method, it greatly affects the amount of user data recorded and the reliability of user data during recording and playback. Therefore, if the error correction method applied to the DVD is applied to the HD-DVD as it is, the reliability of the reproduced data is much lowered.

즉, 고밀도 광 디스크 기록재생장치에서 1회 기록 단위(섹터)를 DVD와 동일한 2KB로 하였을 때 DVD와 동일한 연집 에러 정정 능력을 갖기 위해서는 도 1의 (c)에 도시된 바와 같은 구조로는 블록 크기 또는 리던던시(패리티 등)를 증가시키지 않는 한 불가능하다.That is, in the high density optical disc recording / reproducing apparatus, when the recording unit (sector) is set to 2 KB equal to DVD, in order to have the same collection error correction capability as that of DVD, the structure as shown in FIG. Or unless redundancy (parity, etc.) is increased.

따라서, 고밀도 광 디스크 기록재생장치에서 DVD와 동일한 연집 에러 능력을 갖기 위해서는 ECC 블록을 크게 해야 하는 데 도 1의 (c)에 도시된 ECC 블록 구조로는 제대로 에러 정정을 수행하지 못하는 문제점이 있었다. 그 이유는 에러 정정 연산 범위(갈와 장(Galois Field) GF(28) 연산에서 연산 범위는 RS 코드의 ECC 블록의 길이가 256 바이트 이내어야 함)를 넘어서면 즉, 256 바이트 이상의 데이터 길이를 갖는 ECC 블록 구조에서는 에러 위치를 구할 수가 없기 때문이다.Therefore, in order to have the same error density as the DVD in the high-density optical disc recording / reproducing apparatus, the ECC block must be large, but there is a problem that the error correction cannot be performed properly with the ECC block structure shown in FIG. The reason is that if the error correction operation range is exceeded (in Galois Field GF (2 8 ) operation, the operation range must be within 256 bytes of ECC block length of RS code), that is, the data length is 256 bytes or more. This is because an error position cannot be obtained from the ECC block structure.

상기한 문제점을 해결하기 위하여, 본 발명의 목적은 소정의 에러 정정 연산 범위를 넘는 내부호에 대해 열 인터리브해서 다분할하고, 다분할 인터리브된 내부호 패리티를 생성하여 갈와 장 GF(28)에서 에러 정정을 수행할 수 있는 에러 정정 방법을 제공하는 데 있다.In order to solve the above problem, an object of the present invention is to interleave and multiply by interleaving an inner code over a predetermined error correction operation range, and to generate a multi-segmented interleaved inner code parity in gal and long GF ( 28 ). An object of the present invention is to provide an error correction method capable of performing error correction.

본 발명의 다른 목적은 소정의 에러 정정 연산 범위를 넘는 내부호에 대해 열 인터리브해서 다분할하고, 다분할 인터리브된 내부호 패리티를 생성하여 갈와 장 GF(28)에서 에러 정정을 수행할 수 있는 에러 정정 장치를 제공하는 데 있다.It is another object of the present invention to perform an interpolation by internally interleaving an internal call over a predetermined error correction operation range, to generate a multi-division interleaved internal call parity, and to perform error correction in gal and long GF ( 28 ). An error correction apparatus is provided.

본 발명의 또 다른 목적은 다분할 인터리브된 내부호를 위한 가변되는 내부호 패리티를 가지는 고밀도 기록 매체를 위한 에러 정정 구조를 제공하는 데 있다.It is still another object of the present invention to provide an error correction structure for a high density recording medium having variable internal call parity for multipart interleaved internal calls.

상기한 목적을 달성하기 위하여, 본 발명에 의한 에러 정정 방법은 기본 기록 단위인 제1 데이터 유닛이 소정수 모아 에러 정정을 위한 제2 데이터 유닛을 생성하기 위해서 소정의 에러 정정 코드를 2차원으로 배열하는 단계 및 배열된 외부호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브하면서 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생성해서 에러 정정 부호화된 데이터를 제공하는 단계를 포함함을 특징으로 하고 있다.In order to achieve the above object, the error correction method according to the present invention arranges a predetermined error correction code in two dimensions in order to generate a second data unit for error correction by collecting a predetermined number of first data units which are basic recording units. Generating an outer code parity for the arranged outer code, splitting into an inner code within an error correction operation range while thermally interleaving for an inner code exceeding a predetermined error correction operation range, and interleaving an interleaved inner code. And generating error-encoded data by multiplying interleaved inner code parity.

상기한 다른 목적을 달성하기 위하여, 본 발명에 의한 에러 정정 장치는 고밀도 디스크 시스템에 있어서: 기본 기록 단위인 제1 데이터 유닛을 생성하는 제1 데이터 유닛 생성기 및 소정수의 제1 데이터 유닛을 모아서 제2 데이터 유닛을 생성하되, 외부호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브해서 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생성해서 에러 정정 부호화된 데이터를 제공하는 제2 데이터 유닛 생성기를 포함함을 특징으로 하고 있다.In order to achieve the above another object, an error correction apparatus according to the present invention is a high density disk system comprising: a first data unit generator for generating a first data unit which is a basic recording unit and a predetermined number of first data units; Generate two data units, generate an outer code parity for the outer code, thermally interleave for an inner code that exceeds a predetermined error correction operation range, and divide into an inner code within an error correction operation range, And a second data unit generator for generating a multiplexed interleaved inner code parity for the inner code and providing error corrected encoded data.

상기한 또 다른 목적을 달성하기 위하여, 본 발명에 의한 에러 정정 구조는 기본 기록 단위인 제1 데이터 유닛을 소정수 모여 생성되는 에러 정정을 위한 제2 데이터 유닛 구조에 있어서: 소정의 에러 정정 코드가 2차원으로 배열되고, 행 방향의 외부호에 대하여 외부호 패리티가 부가되고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 다분할 열 인터리브해서, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티가 부가되어 있는 것을 특징으로 하고 있다.In order to achieve the above another object, the error correction structure according to the present invention is a second data unit structure for error correction generated by gathering a predetermined number of first data units which are basic recording units. Multi-column interleaved for multi-column interleaved by multi-column interleaving for inner-codes that are arranged in two dimensions and added to outer-code parity for row-oriented outer-codes, and exceeding a predetermined error correction operation range. Inner parity is added.

도 1의 (a) 내지 (c)는 종래의 ECC 블록들을 보인 도면이다.1 (a) to (c) are diagrams showing conventional ECC blocks.

도 2는 본 발명에 의한 ECC 블록내의 각 섹터의 데이터 구조의 일 예이다.2 is an example of the data structure of each sector in an ECC block according to the present invention.

도 3은 본 발명에 의한 ECC 블록의 데이터 구조의 일 예이다.3 is an example of a data structure of an ECC block according to the present invention.

도 4는 본 발명의 일 실시예에 따른 5 웨이 인터리브된 내부호 패리티를 설명하기 위한 ECC 블록의 데이터 구성을 보인 도면이다.4 is a diagram illustrating a data configuration of an ECC block for explaining 5-way interleaved inner code parity according to an embodiment of the present invention.

도 5는 본 발명이 적용되는 광 기록재생장치의 블록도이다.5 is a block diagram of an optical recording and reproducing apparatus to which the present invention is applied.

도 6은 본 발명의 ECC 블록을 생성하기 위해 필요한 갈와 장 곱셈용 룩업 테이블이다.6 is a lookup table for gal and long multiplication required to generate an ECC block of the present invention.

도 7은 도 5에 도시된 DSP 엔코더내의 에러 정정 부호기의 상세 블록도이다.FIG. 7 is a detailed block diagram of an error correction encoder in the DSP encoder shown in FIG.

도 8은 도 5에 도시된 DSP 디코더내의 에러 정정 복호기의 상세 블록도이다.8 is a detailed block diagram of an error correction decoder in the DSP decoder shown in FIG.

도 9는 본 발명의 이해를 돕기 위하여 랜덤 에러를 위한 에러 입/출력 관계를 보인 도면이다.9 is a diagram illustrating an error input / output relationship for random errors in order to help understanding of the present invention.

이하, 첨부된 도면을 참조하여 본 발명에 의한 에러 정정 방법과 장치 및 에러 정정 구조의 바람직한 실시예를 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described a preferred embodiment of the error correction method and apparatus and error correction structure according to the present invention.

상 변환 방식이 재기록 가능한 DVD-RAM의 디스크로 채택되고, 기록 용량이 4.7GB(Giga Bytes)인 DVD-RAM이 상용화되고 있다. 최근에는 1520GB급의 HD-RAM이 개발중이다. DVD 보다 34배의 기록 용량을 달성하기 위한 방법으로 얇은 입사 보호막의 광 디스크와 청색 레이저, 고 개구수(numerical aperture)의 대물 렌즈 등이 제안되고 있다.A phase conversion method is adopted as a disc of a rewritable DVD-RAM, and a DVD-RAM having a recording capacity of 4.7 GB (Giga Bytes) is commercially available. 15 recently 20GB HD-RAM is under development. 3 than DVD As a method for achieving four times the recording capacity, an optical disk of a thin incident protective film, a blue laser, an objective lens having a high numerical aperture, and the like have been proposed.

본 발명에서는 고밀도화에 따른 에러 바이트수의 증가에 의한 정정 능력의 감소를 방지하기 위해 ECC 블록의 크기를 64KB로 하고, 그에 따른 문제점(에러 정정 연산 범위 초과에 따른 에러 위치 불검출)을 해결하기 위하여 멀티웨이(multiway: 일명 다분할(mult divided)라고 함) 내부호 패리티 인터리브 방식을 내부호에 도입한다.In the present invention, the size of the ECC block is 64 KB in order to prevent a decrease in the correction capability due to the increase in the number of error bytes due to the increase in density, and in order to solve the problem (error location detection due to exceeding the error correction operation range), Introduces a parway interleaving method to the internal calls.

도 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 데이터 유닛 구조는 행 방향으로 1035 바이트를 가지고, 열 방향으로 8행을 가지는 4KB의 섹터이다.FIG. 2 is an example of a data structure of a sector (also referred to as a "first data unit") constituting an ECC block according to the present invention. In FIG. 6 bytes for Cyclic Redundancy Code (CCR) and 14 bytes of reserved data are added, and 4 bytes of Error Detection Code (EDC) are added to the 4116 data bytes obtained in this manner to add a 4120 byte first. Create a data unit. That is, the first data unit structure is 103 in the row direction. It is a 4KB sector with 5 bytes and 8 rows in the column direction.

도 3은 본 발명에 의한 ECC 블록(일명 "제2 데이터 유닛"라고 함)의 데이터 구조의 일 예로서, ECC 블록은 16개의 섹터(SECTOR 1SECTOR 16)를 모아서 16행(rows)의 외부호 패리티(PO)와 5C(C는 가변되는 내부호 패리티)열(columns)의 내부호 패리티(PI)를 생성한다. 내부호 패리티 정정 능력을 향상시키고 에러 정정 연산 범위를 넘는 내부호의 에러를 검출하기 위해서 내부호 패리티 열 인터리빙(column interleaving) 방법이 적용된다.3 is an example of a data structure of an ECC block (also referred to as a “second data unit”) according to the present invention. The ECC block includes 16 sectors (SECTOR 1). SECTOR 16) to collect 16 rows of outer arc parity (PO) and 5 An internal call parity (PI) of C (C is a variable internal call parity) column is generated. In order to improve the inner code parity correction capability and detect an error of the inner code beyond the error correction operation range, an inner code parity column interleaving method is applied.

도 4는 본 발명의 일 실시예에 따른 5 웨이 인터리브된 내부호 패리티를 설명하기 위한 ECC 블록의 데이터 구성을 보인 도면으로서, Bi,j,k에서 i는 행 인덱스(row index)로서 0에서부터 143까지이고, j는 열 인덱스(column index)로서 0에서부터 110까지이고, k는 인터리브 인덱스(interleave index)로서 0에서부터 4까지이다. 여기서, C는 8바이트이다.4 is a diagram illustrating a data structure of an ECC block for describing 5-way interleaved internal code parity according to an embodiment of the present invention, wherein i in j, j, k is a row index from 0 to 0; Up to 143, j is from 0 to 110 as a column index, and k is from 0 to 4 as an interleave index. Where C is 8 bytes.

즉, 128 바이트의 외부호에 대해서 16바이트의 외부호 패리티를 생성하고, 에러 정정 연산 범위를 넘는 데이터를 길이를 갖는 1035 바이트의 내부호에 대해서 논리(logical) 열 인터리브해서 제1, 제2, 제3, 제4 및 제5 인터리브된 내부호 패리티(PI1,PI2,PI3,PI4,PI5)를 생성하고, 이를 5 웨이 인터리브된 내부호 패리티라고 한다.That is, a 16-byte outer code parity is generated for an outer code of 128 bytes, and data having a length exceeding the error correction operation range is 103. Logical column interleaving for the 5 byte inner code to generate the first, second, third, fourth and fifth interleaved inner code parity (PI1, PI2, PI3, PI4, PI5), which is 5 It is called way interleaved inner code parity.

즉, 각 행의 내부호에 대해 모듈로 연산해서 나머지가 0인 위치 즉, 인터리브 인덱스가 "0"인 위치 (B0,0,0,B0,1,0,...,B0,102,0,B1,0,0,B1,1,0,...,B1,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,...,B1,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,...,B1,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,...,B1,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,...,B1,102,4,...,B142,0,4,B142,1,4,...,B142,102,4)의 내부호에 대해 제5 내부호 패리티(PI5)를 생성하여 내부호 방향으로 에러 정정 연산 범위(예를 들어 GF(28)의 연산 범위는 에러 정정 블록의 길이가 256 바이트 이내어야 함)를 넘는 데이터 길이를 갖더라도 에러 정정할 수 있다.That is, modulo operation for each inner row of each row, where the remainder is zero, that is, the position where the interleaved index is "0" (B 0,0,0 , B 0,1,0 , ..., B 0,102, 0 , B 1,0,0 , B 1,1,0 , ..., B 1,102,0 , ..., B 142,0,0 , B 142,1,0 , ..., B 142,102, A first inner code parity (PI1) is generated for the inner code of 0 ), and a modulo operation is performed on the inner code of each row, where the remainder is 1, that is, the position where the interleaved index is "1" (B 0,0 , 1 , B 0,1,1 , ..., B 0,102,1 , B 1,0,1 , B 1,1,1 , ..., B 1,102,1 , ..., B 142,0 Create a second inner code parity (PI2) for the inner arcs of , 1 , B 142,1,1 , ..., B 142,102,1 ), and modulate the inner arcs of each row Position, that is, the position where the interleaved index is "2" (B 0,0,2 , B 0,1,2 , ..., B 0,102,2 , B 1,0,2 , B 1,1,2 , For the inner arc of ..., B 1,102,2 , ..., B 142,0,2 , B 142,1,2 , ..., B 142,102,2 ) Create, modulo for the inner arc of each row, and rest 3 Interleaving index "3" position (B 0,0,3, B 0,1,3, ... , B 0,102,3, B 1,0,3, B 1,1,3, ... Generate a fourth internal call parity (PI4) for the internal calls of , B 1,102,3 , ..., B 142,0,3 , B 142,1,3 , ..., B 142,102,3 , Modulo operation on each row of each row, where the remainder is 4, that is, the position where the interleaved index is "4" (B 0,0,4 , B 0,1,4 , ..., B 0,102,4 , B 1,0,4 , B 1,1,4 , ..., B 1,102,4 , ..., B 142,0,4 , B 142,1,4 , ..., B 142,102,4 ) Generate a fifth inner code parity (PI5) for the inner code of to determine the error correction operation range (for example, the operation range of GF (2 8 ) should be within 256 bytes in length). Even if the data length is over, error correction can be performed.

도 5는 본 발명이 적용되는 광 기록재생장치(일명 DVD 레코더라고도 함)를 설명하기 위한 블록도로서, 크게 기록과 재생 동작을 수행한다. 기록시에는 아날로그/디지털 변환기(ADC, 102), DSP(Digital Signal Processor) 엔코더(104), 기록 보상기(106) 및 광파워 제어기(108)에 의해 입력되는 비디오 신호 및 오디오 신호를 광 디스크(110)에 기록한다. 재생시는 광 검출기(112), 재생 증폭기(114), 재생 등화기(116), 동기 복원기(118), DSP 디코더(120) 및 디지털/아날로그 변환기(DAC, 122)에 의해 광 디스크(110)로부터 읽혀진 데이터를 원래의 비디오 신호 및 오디오 신호로 재생해서 출력한다.Fig. 5 is a block diagram for explaining an optical recording and reproducing apparatus (also called a DVD recorder) to which the present invention is applied, and performs recording and reproduction operations largely. When recording, the video and audio signals input by the analog-to-digital converter (ADC) 102, the digital signal processor (DSP) encoder 104, the recording compensator 106, and the optical power controller 108 are output to the optical disc 110. ). At the time of reproduction, the optical disc 110 by the optical detector 112, the reproduction amplifier 114, the reproduction equalizer 116, the synchronous decompressor 118, the DSP decoder 120 and the digital-to-analog converter (DAC, 122). The data read out from the original video signal and audio signal are reproduced and output.

기록시, ADC(102)는 기록하고자 하는 아날로그 신호인 비디오 신호와 오디오 신호를 디지털 신호로 변환하고, DSP 엔코더(104)는 ADC(102)를 통해 제공되는 2진 정보("1", "0")로 이루어지는 입력 데이터 비트열을 내부에 구성된 스크램블러를 이용하여 랜덤 데이터로 변환하고, 내부에 구성된 에러 정정 부호기에 의해 랜덤화된 데이터를 소정의 에러 정정 코드를 위해 2차원으로 배열하고, 2차원으로 배열된 에러 정정 코드에 외부호 패리티와 내부호 패리티를 삽입하여 ECC 블록 데이터를 제공하고, 내부에 구성된 변조기는 소정의 변조 체계에 의해 에러 정정 부호화된 데이터를 기록 부호열로 변환하고 동기 코드를 삽입한다. 여기서, 동기 코드 삽입은 m바이트(=5*(103+C)/n(n,m은 정수))마다 삽입한다. 기록 보상기(106)는 기록 밀도 특성을 개선하고, 재생시의 파형 간섭을 적게 하기 위해 기입 펄스의 보상을 수행한다. 광파워 제어기(108)는 보상된 기입 펄스를 광신호로 변환하여 광 디스크(110)에 기록한다.During recording, the ADC 102 converts the video and audio signals, which are analog signals to be recorded, into digital signals, and the DSP encoder 104 provides binary information ("1", "0") provided through the ADC 102. Converts the input data bit stream consisting of ") into random data using an scrambler configured therein, and arranges data randomized by an error correction encoder configured therein in two dimensions for a predetermined error correction code, and two dimensions. The external code parity and the internal code parity are inserted into the error correction codes arranged in order to provide ECC block data, and the internally configured modulator converts the error correction coded data into a recording code string by a predetermined modulation scheme and converts the synchronization code. Insert it. Here, the synchronization code insertion is inserted every m bytes (= 5 * (103 + C) / n (n, m is an integer)). The write compensator 106 compensates for the write pulse in order to improve the recording density characteristic and to reduce the waveform interference during reproduction. The optical power controller 108 converts the compensated write pulse into an optical signal and writes it to the optical disk 110.

재생시, 광 검출기(112)는 광 디스크(110)로부터 반사되는 광 신호를 전류 신호로 변환하고, 재생 증폭기(114)는 전류 신호로 변환된 재생 신호를 증폭하고, 재생 등화기(116)는 재생 신호의 왜곡(distortion) 및 잡음을 제거한 후 파형 정형을 하며, 동기 복원기(118)는 재생 등화기(116)로부터 제공되는 재생 신호로부터 동기 신호와 재생 데이터를 복원한다. DSP 디코더(120)의 내부에 구성된 검출기는 동기 복원기(118)에서 발생되는 동기 신호를 이용하여 정하여진 시간대, 즉 검출 윈도우(Detection Window)내에 광의 재생 펄스의 천이(transition)가 존재하는지의 여부를 검출하고, 내부에 구성된 복조기는 검출된 부호열을 데이터 비트열로 복조하고, 내부에 구성된 에러 정정 복호기는 복조된 데이터의 에러를 정정한다. DAC(122)는 복조된 데이터 비트열을 아날로그 비디오 신호 및 오디오 신호로 변환하여 출력한다.In reproduction, the photo detector 112 converts the optical signal reflected from the optical disk 110 into a current signal, the reproduction amplifier 114 amplifies the reproduction signal converted into the current signal, and the reproduction equalizer 116 The waveform shaping is performed after distortion and noise of the reproduction signal are removed, and the synchronization restorer 118 recovers the synchronization signal and the reproduction data from the reproduction signal provided from the reproduction equalizer 116. The detector configured inside the DSP decoder 120 determines whether there is a transition of the reproduction pulse of the light in a time zone determined by using the synchronization signal generated from the synchronization restorer 118, that is, a detection window. Is detected, and the demodulator configured to demodulate the detected code string into a data bit string, and the error correction decoder configured therein corrects an error of the demodulated data. The DAC 122 converts the demodulated data bit string into an analog video signal and an audio signal and outputs the analog video signal and the audio signal.

도 5에 도시된 DSP 엔코더(104) 내부의 에러 정정 부호기에서 수행되는 ECC 엔코딩에 대해 도 6을 결부시켜 설명하기로 한다.The ECC encoding performed by the error correction encoder inside the DSP encoder 104 shown in FIG. 5 will be described with reference to FIG. 6.

8비트 단위의 데이터 코드워드에 대해 GF(28) 원시 다항식을 사용하여 에러 정정 코드를 발생시키기 위해 다음 수학식 1의 원시 다항식(Primitive Polynomial)을 사용하고, 갈와 장 곱셈을 위해 도 6에 도시된 바와 같은 룩업테이블(Look Up Table)을 이용한다.To generate an error correction code using GF (2 8 ) primitive polynomials for 8-bit data codewords, the primitive polynomial of Equation 1 is used, and is shown in FIG. 6 for gal and long multiplication. Use a Look Up Table as shown.

GF(28)의를 생성하기 위한 원시 다항식은 다음과 같이 주어진다.Of GF (2 8 ) The raw polynomial for generating is given by

여기서,는 위 식의 근이다.here, Is the root of the above equation.

본 발명에서 사용되는 적부호의 ECC 블록 레이아웃은 다음 수학식 2와 같다.The ECC block layout of the appropriate sign used in the present invention is shown in the following equation (2).

여기서, 103+C는 행 방향의 전체 코드워드의 수이고, 103은 내부호의 코드워드의 수이고, C+1은 내부호 패리티에서 1을 더한 값이고, C는 내부호 패리티를 나타낸다. 144는 열 방향의 전체 코드워드의 수이고, 128은 외부호의 코드워드의 수이고, 17은 외부호 패리티에서 1을 더한 값이다.Here, 103 + C is the total number of codewords in the row direction, 103 is the number of codewords in the inner code, C + 1 is the sum of the inner code parity plus 1, and C is the inner code parity. 144 is the total number of codewords in the column direction, 128 is the number of codewords in the outer code, and 17 is 1 plus the outer code parity.

위 수학식 2에 도시된 ECC 블록 레이아웃에 따라 다음 수학식 3과 수학식 4에 도시된 나눗셈 다항식(Division Polynomial)을 계산하여 룩업테이블로 구성될 수 있는 메모리에 저장해서 메모리에 저장된 데이터를 사용하여 외부호 패리티와 내부호 패리티를 생성한다.According to the ECC block layout shown in Equation 2 above, the division polynomials shown in Equations 3 and 4 are calculated, and stored in a memory that can be composed of a lookup table, and then using the data stored in the memory. Generate outer code parity and inner code parity.

한편, 에러 정정 부호기의 상세 블록도는 도 7에 도시되어 있으며, 사용자 데이터를 섹터(4096 바이트) 단위로 변환하고, 16 섹터로 구성된 ECC 블록 데이터 구조에서 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브를 수행해서 다분할하여 GF(28)의 에러 정정 연산 범위를 초과하지 않는 내부호 패리티를 생성한다.On the other hand, a detailed block diagram of the error correction encoder is shown in FIG. 7, for converting user data into sectors (4096 bytes) and for internal codes exceeding the range of error correction operations in an ECC block data structure consisting of 16 sectors. Column interleaving is performed to generate the inner code parity that does not exceed the error correction operation range of the GF (2 8 ).

먼저, 제1 데이터 유닛 생성기(202)는 도 2에 도시된 바와 같이 섹터 데이터와 ID가 주어지고, 이 ID에서 CRC가 생성되고, 예비 데이터 14바이트가 덧붙여지며, 주 데이터(main data)와 EDC(4 바이트)로 되어 있는 섹터 구조의 데이터를 생성한다.First, the first data unit generator 202 is given sector data and an ID as shown in FIG. 2, a CRC is generated from this ID, 14 bytes of spare data are appended, main data and an EDC. Generate a sector structure data of (4 bytes).

에러 정정 코드 생성기(204)는 제1 데이터 유닛 발생기(202)에서 생성된 8비트 단위의 데이터 코드워드를 수학식 1에 도시된 원시 다항식을 사용하여 제2 데이터 유닛 구조의 2차원 배열을 만든 다음 에러 정정 코드를 생성시킨다. 여기서, 제1 LUT(206)는 도 6에 도시된 갈와 장 곱셈을 위한 룩업 테이블이다. 에러 정정 코드를 위한 갈와 장 계산을 위한 덧셈은 XOR(Exclusive OR) 연산이 사용되고 두 번째 연산인 내적을 계산하기 위하여 제1 LUT(206)를 이용하여 곱셈을 계산한다.The error correction code generator 204 uses the raw polynomial shown in Equation 1 to generate the two-dimensional array of the second data unit structure from the 8-bit data codeword generated by the first data unit generator 202. Generate an error correction code. Here, the first LUT 206 is a lookup table for gal and field multiplication shown in FIG. 6. Addition for gal and long calculations for error correction codes is performed using an exclusive OR (XOR) operation and multiplication is calculated using the first LUT 206 to calculate the second product, the dot product.

제2 LUT(210)는 수학식 2에 도시된 바와 같은 ECC 블록 레이아웃에 따라 수학식 4에 도시된 외부호 패리티를 위한 나눗셈용 다항식을 계산한 값들이 저장되고, 제3 LUT(214)는 수학식 2에 도시된 바와 같은 ECC 블록 레이아웃에 따라 수학식 3에 도시된 내부호 패리티를 위한 나눗셈용 다항식을 계산한 값들이 저장되어 있다. 여기서, 제1 내지 제3 LUT가 별개로 구성되어 있지만 제1 내지 제3 LUT를 가지는 하나의 메모리로 구성될 수 있다.The second LUT 210 stores values obtained by calculating the division polynomial for the outer code parity shown in Equation 4 according to the ECC block layout as shown in Equation 2, and the third LUT 214 stores the equation. According to the ECC block layout as shown in Equation 2, values obtained by calculating a division polynomial for the internal parity parity shown in Equation 3 are stored. Here, although the first to third LUTs are configured separately, they may be configured as one memory having the first to third LUTs.

외부호 패리티 생성기(208)는 제2 LUT(210)를 이용하여 외부호 패리티를 생성해서 생성된 외부호 패리티를 에러 정정 코드 생성기(204)로부터 제공되는 에러 정정 코드에 부가시킨다. 내부호 패리티 생성기(212)는 제3 LUT(214)를 이용하여 5 웨이 인터리브된 내부호 패리티를 생성해서, 생성된 5 웨이 인터리브된 내부호 패리티를 외부호 패리티 생성기(208)로부터 제공되는 외부호 패리티가 부가된 오류 정정 코드에 부가시켜서 에러 정정 코드 생성을 완료한다. 행 인터리버(216)는 16행의 PO 패리티를 16개의 각 섹터의 마지막 행에 덧붙이는 행 인터리빙(row-interleaving)을 수행한다. 행 인터리브된 데이터는 섹터별로 변조되어 픽업을 통해서 디스크에 기록된다. 여기서, 내부호를 위한 열 인터리빙은 논리 인터리빙에 해당하고, 외부호를 위한 행 인터리빙은 물리(physical) 인터리빙에 해당한다. 에러 정정 코드 생성기(204) 내지 내부호 패리티 생성기(212)를 제2 데이터 유닛 생성기로 지칭할 수 있다.The outer code parity generator 208 generates the outer code parity using the second LUT 210 and adds the generated outer code parity to the error correction code provided from the error correction code generator 204. The inner code parity generator 212 generates a 5-way interleaved inner code parity using the third LUT 214, and outputs the generated 5-way interleaved inner code parity from the outer code parity generator 208. Parity is added to the added error correction code to complete the error correction code generation. The row interleaver 216 performs row interleaving to add 16 rows of PO parity to the last row of 16 sectors. Row interleaved data is modulated sector by sector and recorded on the disc through pickup. Here, column interleaving for an inner call corresponds to logical interleaving, and row interleaving for an outer call corresponds to physical interleaving. The error correction code generator 204 to internal call parity generator 212 may be referred to as a second data unit generator.

다음, 도 5에 도시된 DSP 디코더(120)내의 에러 정정 복호기에서 수행되는 ECC 디코딩 과정을 도 8을 결부시켜 설명하기로 한다.Next, the ECC decoding process performed by the error correction decoder in the DSP decoder 120 shown in FIG. 5 will be described with reference to FIG. 8.

소실(erasure)이 없는 경우, 에러수의 2배의 미지수(즉, 에러값과 위치)를 구하는 수학식 5에 도시된 다원 다차 연립 방정식을 풀면 에러를 정정할 수 있다. 이에 대해서 설명하기로 한다.In the absence of erasure, the error can be corrected by solving the polynomial multiple-order simultaneous equation shown in Equation 5, which obtains an unknown value twice (that is, an error value and a position) twice the number of errors. This will be described.

여기서, Xi는 i번째 에러 위치()를 나타내고, 에러 수를 ne, 패리티 수를 np, 에러 위치를 li, 에러값을 ei라고 할 때, 피터슨 직접 해(Peterson direct solution)로 풀면 23바이트 에러 정정까지 가능하고, 데이터 정정 처리 속도를 고려하면 2바이트 에러 정정까지만 가능하다. 에러의 위치를 찾기 위해서 유클리드 알고리즘(Modified Euclid Algorithm)이 사용되는 데, 내부호 패리티 수의 반까지의 에러 위치 다항식을 구할 수 있고, 치엔 검색 알고리즘을 사용하여 에러 위치를 구한 다음 역행렬을 계산하여 구해진 에러 위치의 에러를 정정한다. 외부호 정정 복호화시에는 내부호 정정 복호화시 검출된 에러 위치를 참조하여 외부호 패리티 수만큼의 정정(소실(erasure) 정정 이라고 함)이 가능하다.Where X i is the i th error position ( ), The error number is n e , the parity number is n p , the error location is l i , and the error value is e i . Up to 3 byte error correction is possible, and considering the data correction processing speed, only up to 2 byte error correction is possible. Modified Euclid Algorithm is used to find the location of the error. It can find the error location polynomial up to half the number of inner parity parity, calculate the error location using Chien search algorithm and calculate the inverse matrix. Correct the error at the error location. In outer code correction decoding, as much as the number of outer code parity can be corrected (referred to as erasure correction) by referring to an error position detected in inner code correction decoding.

도 8은 도 5에 도시된 DSP 디코더(120) 내부의 에러 정정 복호기의 블록도로서, 행 디인터리버(302)는 디스크에서 픽업에 의해 읽혀진 부호열의 섹터 데이터로부터 각 섹터의 마지막 줄에 삽입된 외부호 패리티를 모아서 행 인터리브하기 전과 같이 ECC 블록의 마지막에 배열한다.FIG. 8 is a block diagram of an error correction decoder inside the DSP decoder 120 shown in FIG. 5, in which the row deinterleaver 302 is inserted into the last row of each sector from sector data of a code string read by a pickup from a disc. Call parity is collected and arranged at the end of the ECC block as before row interleaving.

신드롬(syndrome) 연산기(304)는 디인터리버(302)로부터 제공되는 행 디인터리브된 데이터를 외부호 패리티 수만큼의 신드롬 데이터를 생성하는 데 이 신드롬 연산을 하면 에러의 유무가 확인된다. 즉, 신드롬이 모두 "0"이면 에러가 없다고 판정하고 에러 정정을 완료한다. 만약 신드롬이 있으면, 수정 유클리드 알고리즘을 사용하는 유클리드 연산기(306)에서 에러 위치 다항식을 구한다. 여기서, 유클리드 알고리즘 외에도 벌레캄프-마세이(Berlekamp-Massey) 알고리즘이 사용되기도 한다. 에러 위치 검출기(308)에서 유클리드 연산기(306)에서 구해진 에러 위치 다항식으로부터 치엔 검색 알고리즘을 통해 에러 위치를 구하고, 에러 정정기(310)에서 수학식 5를 이용하여 에러 위치에 대한 역행렬을 계산하여 행렬 연산을 통해 에러를 정정한다.The syndrome operator 304 generates the syndrome data of the row deinterleaved data provided from the deinterleaver 302 as much as the outer code parity number. When this syndrome operation is performed, the presence of an error is confirmed. That is, if the syndromes are all "0", it is determined that there is no error and the error correction is completed. If there is a syndrome, the error position polynomial is obtained at the Euclidean operator 306 using the modified Euclidean algorithm. Here, in addition to the Euclidean algorithm, the Berlekamp-Massey algorithm is also used. The error position detector 308 obtains the error position from the error position polynomial obtained by the Euclidean operator 306 through the Chien search algorithm, and calculates an inverse matrix for the error position using the equation 5 in the error corrector 310. Use the to correct the error.

유클리드 연산기(306), 치엔 검색기(308), 에러 정정기(310) 대신에 신드롬 연산기(304)로부터 제공되는 결과가 에러가 있는 경우(신드롬이 "0"이 아닌 경우)에는 피터선의 직접 해를 사용하거나 포니(forney) 알고리즘을 사용하여 에러를 정정하는 에러 정정기가 구성될 수 있다.If the result provided by the syndrome operator 304 instead of the Euclidean operator 306, the Chien searcher 308, or the error corrector 310 is in error (if the syndrome is not "0"), the direct solution of Petersen is used. Or an error corrector that corrects the error using a forney algorithm.

본 발명은 적부호의 특징인 내부호 정정, 외부호 정정이 반복 수행될 수 있다. 외부호 정정과 두 번째 내부호 정정부터는 에러 위치를 알고 있기 때문에 소실(erasure) 정정이 가능하다.In the present invention, inner code correction and outer code correction, which are features of an appropriate code, may be repeatedly performed. Since the error call is known from the outer call correction and the second inner call correction, erasure correction is possible.

도 9는 본 발명의 이해를 돕기 위하여 ECC 블록 데이터 구조에 대한 시뮬레이션 결과로서, 랜덤 에러(+24% 전파(propagation))에 대해 에러 입/출력을 보이고 있으며, 가로 축은 입력 에러이고, 세로 축은 출력 에러를 나타낸다. 내부호 패리티의 수를 증가시킴에 따라 랜덤 에러(random error)에 대한 정정 능력이 향상되고 있음을 알 수 있다. 즉, 입력 에러(ECC 복호전)가 커지면 출력 에러(ECC 복호 후)가 커짐을 알 수 있고, 가변되는 내부호 패리티의 수(Npi, 도면에는 내부호 패리티의 수가 4,6,8인 경우로 도시되어 있음)에 따라 에러 정정 능력을 조절할 수 있음을 알 수 있다.9 is a simulation result of the ECC block data structure for the purpose of understanding the present invention, and shows error input / output for a random error (+ 24% propagation), the horizontal axis is an input error, and the vertical axis is an output. Indicates an error. It can be seen that as the number of internal call parities increases, the ability to correct random errors is improved. In other words, when the input error (before ECC decoding) becomes large, the output error (after ECC decoding) becomes large, and the number of variable inner code parities (Npi, in the figure, is 4, 6, 8). It can be seen that the error correction capability can be adjusted according to the "

본 발명은 고밀도화로 인한 정정 능력의 감소를 방지하고, 특히 청색 레이저를 사용할 15GB20GB급 광 디스크 시스템에 적합하다.The present invention prevents the reduction of the correction ability due to the high density, and especially 15GB to use the blue laser Suitable for 20GB optical disk system.

본 발명은 에러 정정 범위를 초과하는 내부호를 다분할 인터리브하여 갈와 장 연산 범위 이내에서 에러 위치 검출을 가능하게 하고, 에러 전파나 작은 버스트 에러에 대한 정정 능력을 강화하고 있다. 또한, 내부호 패리티 수가 가변이므로 전반적인 에러 정정 능력의 조절을 가능하게 한다.The present invention divides and interleaves an internal code exceeding an error correction range to enable error position detection within a gal and long calculation range, and enhances error propagation and correction ability for small burst errors. In addition, since the number of internal call parity is variable, it is possible to adjust the overall error correction capability.

본 발명은 선밀도를 2배로 하여도 정정 능력을 유지할 수 있으므로 ECC 블록의 크기를 2배(64KB/1 ECC 블록)로 한다. 행 디인터리빙이 이루어지면 별도로 열 디인터리빙하지 않고도 섹터내에서 내부호의 에러 정정과 열 디인터리빙이 완료되므로 물리 인터리빙/디인터리빙시에 외부호 패리티 부분의 정정 능력의 감소를 방지할 수 있다. 외부호 패리티의 부과율이 높아 버스트 에러에 강한 장점을 제공한다.In the present invention, since the correction capability can be maintained even when the linear density is doubled, the size of the ECC block is doubled (64KB / 1 ECC block). When row deinterleaving is performed, error correction of the inner code and column deinterleaving are completed in the sector without separate column deinterleaving, thereby preventing the reduction of the correction capability of the outer code parity portion during physical interleaving / deinterleaving. The high rate of external call parity provides a strong advantage against burst errors.

본 발명은 에러 정정 연산 범위를 초과하지 않도록 다분할 인터리브된 내부호를 위한 다분할 인터리브된 내부호 패리티의 수를 가변할 수 있게 함으로써 원하는 정정 능력의 ECC 블록 데이터 구조를 제공할 수 있고, 에러 정정 지연 시간을 줄이고, 버스트 및 랜덤 에러 정정 능력을 향상시키는 효과가 있다.The present invention can provide an ECC block data structure of a desired correction capability by allowing the number of multiplexed interleaved inner code parities for a multiplexed interleaved inner code not to exceed the range of error correction operations, thereby providing error correction. There is an effect of reducing delay time and improving burst and random error correction capability.

Claims (20)

(a) 기본 기록 단위인 제1 데이터 유닛을 소정수 모아 에러 정정을 위한 제2 데이터 유닛을 생성하기 위해서 소정의 에러 정정 코드를 2차원으로 배열하는 단계; 및(a) arranging a predetermined error correction code in two dimensions to collect a predetermined number of first data units which are basic recording units and generate a second data unit for error correction; And (b) 배열된 외부호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브해서 상기 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생성해서 에러 정정 부호화된 데이터를 제공하는 단계를 포함하는 에러 정정 방법.(b) generate an outer code parity for the arranged outer code, thermally interleave for an inner code exceeding a predetermined error correction operation range, and divide into an inner code within the error correction operation range; Generating multi-segmented interleaved inner code parity for the call to provide error corrected encoded data. 제1항에 있어서, 상기 (b) 단계에서는 상기 다분할 인터리브된 내부호 패리티의 수를 가변해서 에러 정정 능력을 조절하는 것을 특징으로 하는 에러 정정 방법.2. The error correction method of claim 1, wherein in the step (b), the error correction capability is adjusted by varying the number of the interleaved interleaved inner code parities. 제1항에 있어서, 상기 방법은The method of claim 1 wherein the method is (c) 각 제1 데이터 유닛의 마지막 행에 1행의 외부호 패리티를 배열하는 행 인터리브를 수행하는 단계를 더 포함하는 에러 정정 방법.(c) performing row interleaving, arranging one row outer code parity in the last row of each first data unit. 제3항에 있어서, 상기 (b) 단계에서 내부호 패리티 생성시 수행되는 내부호의 열 인터리브는 논리 인터리브이고, 상기 (c) 단계에서 수행되는 외부호의 행 인터리브는 물리 인터리브인 것을 특징으로 하는 에러 정정 방법.4. The error correction of claim 3, wherein the column interleaving of the inner code performed when generating the inner code parity in step (b) is logical interleaving, and the row interleaving of the outer code performed in step (c) is physical interleaving. Way. 제1항에 있어서, 상기 제1 데이터 유닛은 사용자 데이터 4096 바이트에 식별 정보와 CRC(Cyclic Redundancy Check)용 6바이트와 예비(reserved) 데이터 14 바이트를 덧붙이고, 이렇게 해서 얻어진 4116 데이터 바이트에 대해 4 바이트의 에러 검출 코드를 생성해서 부가하여 4120 바이트로 되어 있고, 515 바이트의 8행으로 되어 있는 섹터인 것을 특징으로 하는 에러 정정 방법.The data unit of claim 1, wherein the first data unit adds 4096 bytes of user data to identification data, 6 bytes for cyclic redundancy check (CRC), and 14 bytes of reserved data, and 4 bytes for 4116 data bytes thus obtained. And a sector having 4120 bytes and 8 rows of 515 bytes by generating and adding an error detection code. 제5항에 있어서, 상기 제2 데이터 유닛은 16개의 섹터로 구성된 에러 정정 코드(ECC) 블록인 것을 특징으로 하는 에러 정정 방법.6. The method of claim 5, wherein said second data unit is an error correction code (ECC) block consisting of sixteen sectors. 제1항에 있어서, 상기 (b) 단계에서는 5 웨이(way) 인터리브된 RS(103+C, 103, C+1)RS(144,128,17)의 에러 정정 부호화된 데이터를 생성하고, 여기서, 103+C는 행 방향의 전체 코드워드의 수이고, 103은 내부호의 코드워드의 수이고, C는 가변하는 내부호 패리티를 나타내고, C+1은 내부호 패리티에서 1을 더한 값이고, 144는 열 방향의 전체 코드워드의 수이고, 128은 외부호의 코드워드의 수이고, 17은 외부호 패리티에서 1을 더한 값인 것을 특징으로 하는 에러 정정 방법.4. The method of claim 1, wherein in step (b), 5-way interleaved RS (103 + C, 103, C + 1). Generate error correction encoded data of RS (144, 128, 17), where 103 + C is the total number of codewords in the row direction, 103 is the number of codewords in the inner code, and C is a variable inner code parity. Where C + 1 is 1 plus internal code parity, 144 is the total number of codewords in the column direction, 128 is the number of codewords in outer code, and 17 is 1 plus external code parity. Error correction method. 제7항에 있어서, 상기 (b) 단계는,The method of claim 7, wherein step (b), (b1) 외부호에 대해 외부호 패리티를 생성하는 단계; 및(b1) generating outer code parity for the outer call; And (b2) 소정의 에러 정정 연산 범위를 넘는 각 행의 내부호에 대해 모듈로 연산해서 나머지가 0인 위치의 내부호에 대해 제1 내부호 패리티를 생성하고, 나머지가 1인 위치의 내부호에 대해 제2 내부호 패리티를 생성하고, 나머지가 2인 위치의 내부호에 대해 제3 내부호 패리티를 생성하고, 나머지가 3인 위치의 내부호에 대해 제4 내부호 패리티를 생성하고, 나머지가 4인 위치의 내부호에 대해 제5 내부호 패리티를 생성하는 단계를 포함하여,(b2) Modulo operation is performed on the inner arc of each row that exceeds the predetermined error correction operation range to generate the first inner arc parity for the inner arc of the position where the remainder is 0, and to the inner arc of the position where the remainder is 1. Generate a second inner arc parity for the second inner arc parity, generate a third inner arc parity for the inner position at rest 2, and generate a fourth inner arc parity for the inner position at rest 3, Generating a fifth inner arc parity for an inner arc at position four; 상기 제1 내지 제5 내부호 패리티도 인터리브되어 있고, 에러 정정 연산 범위를 넘는 에러 정정 부화화된 데이터를 에러 정정할 수 있는 것을 특징으로 하는 에러 정정 방법.And the first to fifth internal code parity are also interleaved, and error correction hatched data exceeding an error correction operation range can be error corrected. 제7항에 있어서, 상기 방법은The method of claim 7, wherein the method is (c) 상기 에러 정정 부호화된 데이터를 변조하되, 동기 코드를 소정 주기로 삽입하는 단계를 더 포함하고,(c) modulating the error correction coded data, and inserting a synchronization code at a predetermined period; 상기 동기 코드는 m 바이트(m=5*(103+C)/n, 여기서 n, m은 정수)마다 삽입하는 것을 특징으로 에러 정정 방법.And the synchronization code is inserted every m bytes (m = 5 * (103 + C) / n, where n and m are integers). 제3항에 있어서, 상기 방법은The method of claim 3, wherein the method (d) 상기 제2 데이터 유닛내의 각 제1 데이터 유닛의 마지막 행을 모아서 외부호의 마지막에 배열하는 행 디인터리브를 수행하는 단계; 및(d) performing a row deinterleave where the last row of each first data unit in the second data unit is collected and arranged at the end of the outer code; And (e) 다분할 인터리브된 내부호 패리티를 이용하여 상기 에러 정정 연산 범위 이내의 다분할 열 인터리브된 내부호를 에러 정정하고, 상기 외부호 패리티를 이용하여 외부호를 에러 정정하는 단계를 더 포함하는 에러 정정 방법.(e) error correcting a multi-segment column interleaved inner code within the error correction operation range using multi-segmented interleaved inner code parity, and error correcting an outer code using the outer code parity. Error correction method. 고밀도 디스크 시스템에 있어서:In a high density disk system: 기본 기록 단위인 제1 데이터 유닛을 생성하는 제1 데이터 유닛 생성기; 및A first data unit generator for generating a first data unit that is a basic recording unit; And 소정수의 상기 제1 데이터 유닛을 모아서 제2 데이터 유닛을 생성하되, 외부호에 대하여 외부호 패리티를 생성하고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 열 인터리브해서 상기 에러 정정 연산 범위 이내의 내부호로 다분할하고, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티를 생성해서 에러 정정 부호화된 데이터를 제공하는 제2 데이터 유닛 생성기를 포함하는 에러 정정 장치.A predetermined number of first data units are collected to generate a second data unit, generating an outer code parity for an outer call, and interleaving a column for an inner code that exceeds a predetermined error correction operation And a second data unit generator for dividing into an inner code within the plurality of inner codes and generating a multi-segmented interleaved inner code parity for the multi-segmented interleaved inner code to provide error-correction encoded data. 제11항에 있어서, 상기 제2 데이터 유닛 생성기는 상기 다분할 인터리브된 내부호 패리티의 수를 가변해서 에러 정정 능력을 조절하는 것을 특징으로 하는 에러 정정 장치.12. The error correcting apparatus of claim 11, wherein the second data unit generator adjusts an error correction capability by varying the number of the multipart interleaved inner code parities. 제11항에 있어서, 상기 제2 데이터 유닛 생성기는 5 웨이 인터리브 RS(103+C, 103, C+1)RS(144,128,17)의 에러 정정 부호화된 데이터를 생성하고, 여기서, 103+C는 행 방향의 전체 코드워드의 수이고, 103은 내부호의 코드워드의 수이고, C는 가변하는 내부호 패리티를 나타내고, C+1은 내부호 패리티에서 1을 더한 값이고, 144는 열 방향의 전체 코드워드의 수이고, 128은 외부호의 코드워드의 수이고, 17은 외부호 패리티에서 1을 더한 값인 것을 특징으로 하는 에러 정정 장치.12. The apparatus of claim 11, wherein the second data unit generator is a 5-way interleaved RS (103 + C, 103, C + 1). Generate error correction encoded data of RS (144, 128, 17), where 103 + C is the total number of codewords in the row direction, 103 is the number of codewords in the inner code, and C is a variable inner code parity. Where C + 1 is 1 plus internal code parity, 144 is the total number of codewords in the column direction, 128 is the number of codewords in outer code, and 17 is 1 plus external code parity. Error correction device. 제11항에 있어서,The method of claim 11, 상기 제2 데이터 생성기로부터 제공되는 각 제1 데이터 유닛의 마지막 행에 1행의 외부호 패리티를 배열하는 행 인터리버를 더 포함하는 에러 정정 장치.And a row interleaver for arranging the outer code parity of one row in the last row of each first data unit provided from the second data generator. 제14항에 있어서, 상기 제2 데이터 유닛 생성기에서 내부호 패리티 생성시 수행되는 내부호의 열 인터리브는 논리 인터리브이고, 상기 행 인터리버에서 수행되는 외부호의 행 인터리브는 물리 인터리브인 것을 특징으로 하는 에러 정정 장치.15. The error correcting apparatus of claim 14, wherein the column interleaving of the inner code performed when generating the inner code parity in the second data unit generator is logical interleaving, and the row interleaving of the outer code performed in the row interleaver is physical interleaving. . 제14항에 있어서:The method of claim 14 wherein: 상기 제2 데이터 유닛내의 각 제1 데이터 유닛의 마지막 행을 모아서 외부호의 마지막에 배열하는 행 디인터리버; 및A row deinterleaver for collecting the last row of each first data unit in the second data unit and arranging at the end of the outer code; And 다분할 인터리브된 내부호 패리티를 이용하여 상기 에러 정정 연산 범위 이내의 다분할 열 인터리브된 내부호를 에러 정정하고, 상기 외부호 패리티를 이용하여 외부호를 에러 정정하는 에러 정정 복호기를 더 포함하는 에러 정정 장치.An error correction decoder for error correcting a multi-segment column interleaved inner code within the error correction operation range using multi-part interleaved inner code parity, and error correcting an outer code using the outer code parity. Correction device. 기본 기록 단위인 제1 데이터 유닛을 소정수 모여 생성되는 에러 정정을 위한 제2 데이터 유닛 구조에 있어서:In the second data unit structure for error correction generated by collecting a predetermined number of first data units which are basic recording units: 소정의 에러 정정 코드가 2차원으로 배열되고, 행 방향의 외부호에 대하여 외부호 패리티가 부가되고, 소정의 에러 정정 연산 범위를 초과하는 내부호에 대하여 다분할 열 인터리브해서, 다분할 인터리브된 내부호에 대하여 다분할 인터리브된 내부호 패리티가 부가되어 있는 것을 특징으로 하는 에러 정정 구조.A predetermined error correction code is arranged in two dimensions, an outer code parity is added to the outer code in the row direction, and a multi-part interleaved interleaved for the internal code exceeding a predetermined error correction arithmetic operation. An error correction structure, characterized in that multi-part interleaved inner-call parity is added to the call. 제17항에 있어서, 상기 제1 데이터 유닛은 사용자 데이터 4096 바이트에 식별 정보와 CRC(Cyclic Redundancy Check)용 6바이트와 예비(reserved) 데이터 14 바이트를 덧붙이고, 이렇게 해서 얻어진 4116 데이터 바이트에 대해 4 바이트의 에러 검출 코드를 생성해서 부가하여 4120 바이트로 되어 있고, 515 바이트의 8행으로 되어 있는 섹터인 것을 특징으로 하는 에러 정정 구조.18. The apparatus of claim 17, wherein the first data unit adds 4096 bytes of user data to the identification information, 6 bytes for a cyclic redundancy check (CRC), and 14 bytes of reserved data, and 4 bytes for the 4116 data bytes thus obtained. And a sector having 4120 bytes and 8 rows of 515 bytes by generating and adding an error detection code. 제18항에 있어서, 상기 제2 데이터 유닛은 16개의 섹터로 구성된 에러 정정 코드(ECC) 블록인 것을 특징으로 하는 에러 정정 구조.19. The error correction structure of claim 18, wherein the second data unit is an error correction code (ECC) block consisting of 16 sectors. 제17항에 있어서, 5 웨이 인터리브 RS(103+C, 103, C+1)RS(144,128,17)의 데이터 구조를 가지고, 여기서, 103+C는 행 방향의 전체 코드워드의 수이고, 103는 내부호의 코드워드의 수이고, C는 가변하는 내부호 패리티를 나타내고, C+1은 내부호 패리티에서 1을 더한 값이고, 144는 열 방향의 전체 코드워드의 수이고, 128는 외부호의 코드워드의 수이고, 17은 외부호 패리티에서 1을 더한 값인 것을 특징으로 하는 에러 정정 구조.18. The method of claim 17, wherein the 5-way interleaved RS (103 + C, 103, C + 1) Has the data structure of RS (144,128,17), where 103 + C is the total number of codewords in the row direction, 103 is the number of codewords in the inner code, C is the variable inner code parity, and C + 1 is 1 in internal parity parity, 144 is the total number of codewords in column direction, 128 is the number of codewords in outer code, and 17 is 1 in external parity parity. rescue.
KR1019990034358A 1999-08-19 1999-08-19 Error correction method and apparatus thereof KR100611956B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990034358A KR100611956B1 (en) 1999-08-19 1999-08-19 Error correction method and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990034358A KR100611956B1 (en) 1999-08-19 1999-08-19 Error correction method and apparatus thereof

Publications (2)

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

Family

ID=19607836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990034358A KR100611956B1 (en) 1999-08-19 1999-08-19 Error correction method and apparatus thereof

Country Status (1)

Country Link
KR (1) KR100611956B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425294B1 (en) * 2001-04-20 2004-03-30 삼성전자주식회사 optical information recording medium and data recording apparatus thereon
KR100598300B1 (en) * 2000-02-14 2006-07-07 엘지전자 주식회사 Coding method for correcting error of digital data in high density disc
KR100856399B1 (en) * 2002-01-23 2008-09-04 삼성전자주식회사 Decoding method and apparatus therefor
KR100931138B1 (en) * 2005-01-19 2009-12-10 콸콤 인코포레이티드 Power saving method for coded transmission
KR100970223B1 (en) * 2002-05-08 2010-07-16 톰슨 라이센싱 A method of soft-decision decoding of reed-solomon codes, and reed-solomon codeword decoder and computer program product
US7827470B2 (en) 2004-10-05 2010-11-02 Regents Of The University Of Minnesota Method of detecting error event in codeword reproduced by perpendicular magnetic recording medium and apparatus using the same
CN113474838A (en) * 2019-02-26 2021-10-01 马维尔亚洲私人有限公司 Codeword interleaving for magnetic storage media
US11450348B2 (en) 2019-01-31 2022-09-20 Marvell Asia Pte, Ltd. Health management for magnetic storage media
US11557316B2 (en) 2018-08-21 2023-01-17 Marvell Asia Pte Ltd. Pulse-based writing for magnetic storage media

Families Citing this family (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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2856072B2 (en) * 1994-06-27 1999-02-10 株式会社日立製作所 Information recording method, information reproducing method and information reproducing apparatus
JPH10188489A (en) * 1996-12-25 1998-07-21 Sony Corp Optical disk, optical disk recorder, and optical disk reproducer
JPH10334607A (en) * 1997-05-30 1998-12-18 Matsushita Electric Ind Co Ltd Magnetic disk device
JPH10334620A (en) * 1997-06-02 1998-12-18 Hitachi Ltd Recording medium reproducing apparatus, recording medium recording/reproducing apparatus, recording medium writing apparatus, error correcting circuit, error correcting code generating method, data transfer error correcting method, storage medium and recording medium
KR100236441B1 (en) * 1997-10-28 1999-12-15 구자홍 Error correction method and apparatus in a photo disc

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100598300B1 (en) * 2000-02-14 2006-07-07 엘지전자 주식회사 Coding method for correcting error of digital data in high density disc
KR100425294B1 (en) * 2001-04-20 2004-03-30 삼성전자주식회사 optical information recording medium and data recording apparatus thereon
KR100856399B1 (en) * 2002-01-23 2008-09-04 삼성전자주식회사 Decoding method and apparatus therefor
KR100970223B1 (en) * 2002-05-08 2010-07-16 톰슨 라이센싱 A method of soft-decision decoding of reed-solomon codes, and reed-solomon codeword decoder and computer program product
US7827470B2 (en) 2004-10-05 2010-11-02 Regents Of The University Of Minnesota Method of detecting error event in codeword reproduced by perpendicular magnetic recording medium and apparatus using the same
KR100931138B1 (en) * 2005-01-19 2009-12-10 콸콤 인코포레이티드 Power saving method for coded transmission
US11557316B2 (en) 2018-08-21 2023-01-17 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
CN113474838A (en) * 2019-02-26 2021-10-01 马维尔亚洲私人有限公司 Codeword interleaving for magnetic storage media
CN113474838B (en) * 2019-02-26 2023-04-21 马维尔亚洲私人有限公司 Method, apparatus and system on chip for improving data reliability of magnetic storage medium

Also Published As

Publication number Publication date
KR100611956B1 (en) 2006-08-11

Similar Documents

Publication Publication Date Title
KR100517482B1 (en) Concurrent row/column syndrome generator for a product code
KR100562832B1 (en) An error correction processor for correction errors in randomized data and the method thereof
US7877662B2 (en) Reverse concatenation for product codes
US5991911A (en) Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US7408863B2 (en) Digital signal processing method, data recording and reproducing apparatus, and data recording medium that are resistant to burst errors
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 (en) Error correction method and apparatus thereof
US7873894B2 (en) Reverse concatenation for product codes
JP3696134B2 (en) Interleaving method for short bust error correction in high density DVD
KR100739669B1 (en) Optical medium for storing information, data recording apparatus and data recording method thereof
KR100606521B1 (en) Method and apparatus for generating error correction codes for data recorded on high density optical medium
KR100335438B1 (en) Error correction code block structure for high density disc and error correction method therefor
KR910000533B1 (en) C2 encoder parity generating circuit for digital audio tape recorder
JP3360681B2 (en) Information recording method
KR100619085B1 (en) Error correcting apparatus for high dencity disc and optical disk recording apparatus for the same
KR100619084B1 (en) Error correcting method for high dencity disc
JP3360631B2 (en) Recording device and information recording method
KR20010097263A (en) Interleaving method for error correction control in the high density DVD
JP2001155438A (en) Information recording format and information recording medium

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