KR20050055239A - Method and apparatus for correcting data error - Google Patents
Method and apparatus for correcting data error Download PDFInfo
- Publication number
- KR20050055239A KR20050055239A KR1020030088294A KR20030088294A KR20050055239A KR 20050055239 A KR20050055239 A KR 20050055239A KR 1020030088294 A KR1020030088294 A KR 1020030088294A KR 20030088294 A KR20030088294 A KR 20030088294A KR 20050055239 A KR20050055239 A KR 20050055239A
- Authority
- KR
- South Korea
- Prior art keywords
- error correction
- error
- data
- block
- correction block
- Prior art date
Links
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/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- 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/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B2020/1218—Formatting, 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/122—Burst cutting area [BCA]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 데이터 오류정정장치 및 방법에 관한 것으로서, 특히 광 기록 매체의 재생에 따른 데이터 오류정정장치 및 방법에 관한 것이다.The present invention relates to a data error correction apparatus and method, and more particularly, to a data error correction apparatus and method according to the reproduction of an optical recording medium.
본 발명에 따른 데이터 오류 정정 장치는 BCA 코드를 판독하여 디코딩하는 전처리부와, 오류정정블록을 포함하는 데이터를 저장하는 메모리와, 상기 데이터의 오류 정정을 상기 오류정정블록 단위로 행하고 오류가 정정되지 않은 적어도 하나 이상의 오류정정블록이 존재하는 경우 오류 정정이 되지 않은 오류정정블록에 대해서 선택적으로 오류 정정을 수행하는 오류정정부와, BCA 코드내에 오류가 존재하는지 여부를 판단하는 오류검출부가 포함되는 것을 특징으로 한다.The data error correcting apparatus according to the present invention includes a preprocessor for reading and decoding a BCA code, a memory for storing data including an error correction block, and performing error correction of the data in units of the error correction block and not correcting the error. If there is at least one error correction block that does not exist error correction for selectively performing an error correction for the error correction block that has not been corrected, and an error detection unit for determining whether there is an error in the BCA code It features.
Description
본 발명은 데이터 오류정정장치 및 방법에 관한 것으로서, 특히 광 기록 매체의 재생에 따른 데이터 오류정정장치 및 방법에 관한 것이다.The present invention relates to a data error correction apparatus and method, and more particularly, to a data error correction apparatus and method according to the reproduction of an optical recording medium.
최근 소프트웨어의 불법 복제와 같은 저작권 침해를 방지하기 위한 노력이 증가되고 있다. 특히, 광 기록 매체에 저장된 저작권은 그 복제가 용이하기 때문에 쉽게 복제를 할 수 없도록 하는 장치 및 방법들이 개발되고 있다.Recently, efforts to prevent copyright infringement such as illegal copying of software have been increasing. In particular, apparatuses and methods have been developed to make it impossible to easily copy a copyright stored in an optical recording medium because it is easy to copy.
이러한 대책의 일환으로 광 기록 매체의 표준을 보면, 일반 기록 방식과는 다르게 데이터를 기록하는 BCA(Burst Cutting Area)코드가 마련되어 있다.As a part of such countermeasures, the standard of an optical recording medium is provided with a BCA (Burst Cutting Area) code for recording data unlike a general recording method.
BCA코드는 도 1에 도시된 바와 같이 리드인 영역의 안쪽에 디스크의 중심으로부터 방사상으로 바코드의 형태로 기록되어 있으며, 디스크에 기록할 내용을 모두 기록한 후 추가적으로 기록한다.The BCA code is recorded in the form of a barcode radially from the center of the disc to the inside of the lead-in area as shown in FIG. 1 and additionally recorded after recording all the contents to be recorded on the disc.
상기 BCA코드는 페이즈 인코딩(phase encording)되어 있고, RZ 변환(Return to Zero modulation)되어 있는 각각의 비트 중 "1"인 부분을 의미한다.The BCA code means a portion that is "1" of each bit that is phase-encoded and RZ-converted.
상기 BCA코드는 프리앰블 필드(Preamble Field), 데이터 필드(Date Field), 포스트앰블 필드(Postamble Field)로 구성되고, 상기 각각의 필드들은 도 2와 도 3에 도시된 바와 같은 구조로 연결되어 있다.The BCA code is composed of a preamble field, a data field, and a postamble field, each of which is connected in a structure as shown in FIGS. 2 and 3.
상기 프리앰블 필드는 싱크 바이트와 연속된 4바이트의 00h로 이루어진다. 그리고, 싱크 바이트(SB(N)BCA)와 리싱크 바이트(RS(N)BCAi)는 4개의 정보데이터 앞에 삽입되며 일정한 패턴을 가지고 순차적으로 증가한다.The preamble field consists of 00h of 4 bytes consecutive to the sync byte. The sync byte SB (N) BCA and the sync byte RS (N) BCAi are inserted before four pieces of information data and sequentially increase with a predetermined pattern.
상기 데이터 필드는 프리앰블 필드에 이어지며, 16n-4 바이트의 정보 데이터(I0, I1,..I16n-5)와, 정보데이터 내의 오류 존재여부를 판단할 때 사용되는 4바이트의 오류검출코드(D0, D1, D2, D3)와, 16바이트의 오류정정코드(C 00, C01,..C33)로 이루어진다. n은 1이상 12이하의 정수이며, 리싱크바이트는 매 4바이트마다 입력된다.The data field follows the preamble field, and 16n-4 bytes of information data (I 0 , I 1 , .. I 16n-5 ), and 4 bytes of error detection used to determine whether an error exists in the information data. Code (D 0 , D 1 , D 2 , D 3 ) and 16-byte error correction codes (C 00 , C 01 , .. C 33 ). n is an integer of 1 or more and 12 or less, and a sinking byte is input every 4 bytes.
상기 데이터 필드의 뒤를 이어 포스트앰블이 연결되며, 상기 포스트앰블은 4바이트의 55h로 구성된다.Postambles are connected after the data field, and the postambles consist of 4 bytes of 55h.
1개의 오류정정블록은 52개의 바이트로 구성되며 BCA데이터의 열로 이루어지므로 BCA데이터 구조에서는 4개의 오류정정블록이 존재한다.One error correction block consists of 52 bytes and consists of BCA data strings, so there are four error correction blocks in the BCA data structure.
한편, 디스크로부터 판독된 데이터들은 저장공간에 그대로 저장되고, 오류가 있는 경우에는 오류정정이 가능한 범위내에서 오류를 정정하고, 정정한 데이터값을 원래 저장되어 있던 위치에 저장한다.On the other hand, the data read from the disk are stored in the storage space as is, and if there is an error, the error is corrected within the range in which the error can be corrected, and the corrected data value is stored in the original storage position.
4개의 오류정정블록 중 하나라도 오류정정을 하지 못한 블록이 존재하면 오류검출코드에 의해 판독된 데이터는 오류라고 판정되고 저장공간에 있는 데이터는 사용할 수 없게 된다.If any of the four error correction blocks does not have error correction, the data read by the error detection code is determined to be an error, and the data in the storage space cannot be used.
이 경우, 도 4에서와 같이 광 픽업의 위치를 변동하여 다시 데이터를 읽고 오류정정을 수행한다.(예를들어, 주사위치A에서 주사위치B로 변동) In this case, as shown in Fig. 4, the position of the optical pickup is changed, data is read again, and error correction is performed (for example, change from dice A to dice B).
이처럼 광 픽업의 위치를 바꾸어 다시 디코딩을 수행하는 이유는 BCA영역이 넓게 자리잡고 있으며 오류의 원인이 스크래치나 디펙트 또는 회로상의 글리치(glitch)등으로 판단되기 때문이다.The reason for changing the position of the optical pickup and performing the decoding again is that the BCA area is wide and the cause of the error is determined to be scratches, defects, or glitches on the circuit.
예를들어, 도 4와 같은 패턴으로 BCA코드가 존재한다고 가정하면 주사위치A에서는 오류가 발생하지만 광 픽업의 위치를 변경한 주사위치B에서는 오류가 나타나지 않는다. 따라서, 광 픽업의 위치를 조금 변화시켜 스크래치 등의 위치를 피하면 오류가 없는 데이터를 읽어낼 수 있다.For example, assuming that a BCA code exists in the pattern as shown in FIG. 4, an error occurs in the dice A, but an error does not appear in the dice B whose optical pickup has been changed. Therefore, if the position of the optical pickup is slightly changed to avoid the position of scratch or the like, data without error can be read.
그러나, 주사위치A로 판독할 수 없는 비트데이터가 있는 경우에 주사위치A에서 판독한 모든 비트데이터를 소거하고 주사위치B에서 판독한 결과만을 이용한다면 도 5와 같은 패턴으로 BCA코드가 존재하는 경우, 주사위치를 주사위치B로 변경하여도 오류가 존재할 것이고 그 결과도 역시 사용할 수 없는 데이터가 될 것이다.However, if there is bit data that cannot be read by the dice A, if all the bit data read by the dice A is erased and only the result read by the dice B is used, the BCA code exists in the pattern as shown in FIG. If you change the dice to Dice B, there will be an error and the result will be unusable data.
또한, BCA코드를 기록할 때에는 YAG레이저를 이용하여 기록하기 때문에 BCA영역의 양쪽 끝부분에서는 이러한 일이 빈번하게 발생된다.In addition, since the BCA code is recorded using a YAG laser, this happens frequently at both ends of the BCA area.
이러한 문제점을 해결하기 위해 디스크상의 일부에 기록되어 있는 BCA영역의 디코딩 과정에서 각각의 오류정정블록 중 하나라도 오류정정에 실패하였을 경우 저장되어 있던 모든 데이터를 소거하고 새로 데이터를 판독하여 오류를 정정하는 대신, 정확히 오류정정이 수행된 데이터를 높은 확률로 얻을 수 있는 방법이 제시되었다.In order to solve this problem, if any of the error correction blocks fails during the decoding of the BCA area recorded on a part of the disk, the error data is erased and new data is read to correct the error. Instead, a method that can obtain data with accurate error correction with high probability is presented.
일본특허공개공보 2000-132903에 보면, 각각의 오류정정블록의 정정 상태 지시 플래그를 데이터와 함께 저장하여 4개의 오류정정블록이 모두 올바르게 정정된 데이터가 아니라 할지라도 전체 데이터가 소거되는 것이 아니라, 올바르게 정정된 블록의 데이터는 다시 이용할 수 있는 방법이 제시되어 있다.According to Japanese Patent Laid-Open Publication No. 2000-132903, the correction status indication flag of each error correction block is stored together with the data so that even if all four error correction blocks are not correctly corrected data, the entire data is not erased. The data of the corrected block is presented again.
즉, 도 6에 도시된 구조를 이용하여 BCA코드를 판독하고 오류정정을 하고, 각각의 오류정정블록 내에 있는 데이터들과 정정 상태 지시 플래그를 함께 저장한다. 그리고, 오류검출코드에 의해 오류라고 판단될 경우 다시 BCA코드를 판독하고 오류정정과정을 반복하여 시행하여 마찬가지로 데이터들과 함께 정정 상태 지시 플래그를 저장한다.That is, the BCA code is read and error corrected using the structure shown in FIG. 6, and the data in each error correction block and the correction status indication flag are stored together. If it is determined that the error is detected by the error detection code, the BCA code is read again and the error correction process is repeated to store the correction status indication flag with the data.
2회의 과정을 시행하여 얻어진 데이터들에 대해 각각의 오류정정블록이 포함하고 있는 정정 상태 지시 플래그를 비교하여 실패를 나타내는 정정 상태 지시 플래그가 없는 오류정정블록을 선택하여 그 데이터들을 최종적으로 저장하고 BCA코드로 출력한다.Compare the correction status indication flag included in each error correction block with the data obtained by performing two processes, select the error correction block without the correction status indication flag indicating failure, and finally save the data and Output to code
2번째 과정에서도 정확히 정정된 데이터를 얻을 수 없을 경우 다시 동일한 과정을 반복하여 시행한다.If the corrected data cannot be obtained even in the second process, repeat the same process again.
그러나, 이러한 방식은 몇가지 문제점을 내포하고 있다.However, this approach has some problems.
우선, 도 5에 도시된 패턴의 경우 BCA 코드의 오류를 일으키는 원인이기는 하나 BCA영역 전체에 걸쳐 나타난다기 보다는 BCA영역의 끝부분에 나타나게 되는데, BCA영역의 중간위치로 광 픽업을 이동시키지 않는 한 계속하여 오류가 나타날 것이기 때문에 상기 오류정정방법으로는 많은 메모리가 필요하게 된다.First, the pattern shown in FIG. 5 causes errors in the BCA code, but appears at the end of the BCA area rather than throughout the BCA area, unless the optical pickup is moved to an intermediate position of the BCA area. Since an error will appear, the error correction method requires a lot of memory.
또한, BCA 코드를 판독하는 과정에서 도 5에 제시된 패턴의 왜곡보다는 글리치가 오류를 일으키는 더 큰 원인이 될 수 있다.In addition, in reading the BCA code, the glitches may cause a larger error than the distortion of the pattern shown in FIG. 5.
특히, 디스크상의 데이터가 기록된 경우의 BCA 코드는 도 7과 같이 기록된 데이터 내에 BCA 파형이 묻혀 있는 형태로 이루어져 있기 때문에 글리치에 의한 오류가 더욱 증가하게 된다. 글리치에 의한 오류는 BCA영역 전반에 걸쳐 나타나는 현상이기 때문에 기존에 제시된 방법으로는 오류정정을 할 경우 BCA 영역의 중간지역에 광 픽업이 위치한다고 하더라도 더욱 더 많은 저장공간을 필요로 하게 된다.In particular, the BCA code in the case where data on the disk is recorded has a form in which the BCA waveform is buried in the recorded data as shown in FIG. Since the error caused by the glitch is a phenomenon that occurs throughout the BCA area, the error correction method requires more storage space even if the optical pickup is located in the middle area of the BCA area.
광 디스크에 데이터를 기록하고 재생하는 과정에서 BCA코드를 사용하는 경우는 아주 적은데 그것을 위해 최소 원래 데이터의 적어도 2배 이상의 메모리를 할당하는 것은 전체 시스템 운영에서 매우 부적법하다.The use of BCA codes in the recording and playback of data on optical discs is very rare, and allocating at least twice as much memory as the original data for it is very unsuitable for the overall system operation.
본 발명은 상기한 문제점을 해결하기 위한 것으로서, BCA 코드를 판독하여 오류를 정정할 때 정확하게 오류정정이 된 데이터를 보다 높은 확률로 얻을 수 있는 데이터 오류 정정 장치 및 방법을 제공하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object thereof is to provide a data error correction apparatus and method which can accurately obtain error corrected data with a higher probability when reading an BCA code and correcting an error. .
또한, 본 발명은 BCA 코드를 디코딩하는 과정에서 필요한 메모리를 최소화할 수 있는 데이터 오류 정정 장치 및 방법을 제공하는 것을 그 목적으로 한다.In addition, an object of the present invention is to provide an apparatus and method for data error correction that can minimize the memory required in the process of decoding the BCA code.
본 발명에 따른 데이터 오류 정정 장치는 BCA 코드를 판독하여 디코딩하는 전처리부와, 오류정정블록을 포함하는 데이터를 저장하는 메모리와, 상기 데이터의 오류 정정을 상기 오류정정블록 단위로 행하고 오류가 정정되지 않은 적어도 하나 이상의 오류정정블록이 존재하는 경우 오류 정정이 되지 않은 오류정정블록에 대해서 선택적으로 오류 정정을 수행하는 오류정정부와, BCA 코드내에 오류가 존재하는지 여부를 판단하는 오류검출부가 포함되는 것을 특징으로 한다.The data error correcting apparatus according to the present invention includes a preprocessor for reading and decoding a BCA code, a memory for storing data including an error correction block, and performing error correction of the data in units of the error correction block and not correcting the error. If there is at least one error correction block that does not exist error correction for selectively performing an error correction for the error correction block that has not been corrected, and an error detection unit for determining whether there is an error in the BCA code It features.
또한, 상기 전처리부는 상기 오류정정부에서 적어도 하나 이상의 오류정정블록의 오류정정을 실패한 경우 BCA 코드의 판독을 반복하는 것을 특징으로 한다.The preprocessor may repeat reading the BCA code when the error correction fails at least one error correction block.
또한, 상기 전처리부는 BCA 코드의 판독이 반복됨에 따라 광 픽업의 주사위치를 변경하도록 하는 것을 특징으로 한다.In addition, the preprocessor is characterized in that to change the dice of the optical pickup as the reading of the BCA code is repeated.
또한, 상기 메모리는 오류정정블록을 포함하는 데이터와 상기 오류정정블록의 오류정정 상태를 표시하는 정정 상태 지시 수단이 함께 저장되는 것을 특징으로 한다.The memory may further include data including an error correction block and correction state indicating means for indicating an error correction state of the error correction block.
또한, 상기 메모리는 오류 정정이 되지 않은 오류정정블록에 대해서만 다시 쓰기가 가능한 것을 특징으로 한다.The memory may be rewritten only for an error correction block that has not been error corrected.
또한, 상기 오류정정부는 모든 오류정정블록에 대하여 오류 정정이 완료될 때까지 오류 정정이 되지 않은 오류정정블록의 오류정정을 반복하는 것을 특징으로 한다.The error correction unit may repeat error correction of the error correction block that is not corrected until the error correction is completed for all the error correction blocks.
또한, 상기 오류검출부는 데이터에 포함된 오류검출코드를 이용하여 오류를 검출하는 것을 특징으로 한다.The error detection unit may detect an error using an error detection code included in the data.
본 발명에 따른 데이터 오류 정정 방법은 디스크상의 BCA코드를 판독하여 디코딩하는 단계와, 상기 디코딩된 오류정정블록을 포함하는 데이터를 메모리에 저장하는 단계와, 상기 저장된 데이터를 오류정정블록 단위로 오류 정정을 수행하는 단계와, 상기 오류 정정 과정을 거친 데이터를 다시 메모리에 저장하는 단계와, 상기 데이터에 오류가 존재하는지 여부를 판단하는 단계와, 오류가 존재하는 경우 오류정정블록에 대하여 선택적으로 오류 정정을 수행하는 단계가 포함되는 것을 특징으로 한다.According to an embodiment of the present invention, a data error correction method includes reading and decoding a BCA code on a disk, storing data including the decoded error correction block in a memory, and correcting the stored data in an error correction block unit. Storing the data which has been subjected to the error correction process back to the memory; determining whether an error exists in the data; and optionally correcting the error correction block if the error exists. Characterized in that the step of performing.
또한, 상기 오류 정정을 수행하는 단계는 오류 정정이 수행된 데이터에 오류 정정의 성공 여부를 표시하는 단계가 더 포함되는 것을 특징으로 한다.The performing of the error correction may further include indicating whether the error correction is successful in the data on which the error correction has been performed.
또한, 상기 오류가 존재하는 오류정정블록에 대하여 선택적으로 오류 정정을 수행하는 단계는 모든 오류정정블록에 대하여 오류 정정이 완료될 때까지 계속하여 수행하는 것을 특징으로 한다.In addition, the step of selectively performing error correction on the error correction block in which the error exists is characterized in that to continue until the error correction is completed for all the error correction block.
또한, 상기 오류가 존재하는 오류정정블록에 대하여 선택적으로 오류정정을 수행하고 오류정정이 수행된 오류정정블록이 저장되었던 위치에 다시 쓰기방법으로 저장되는 것을 특징으로 한다.In addition, it is characterized in that the error correction block for the error correction block in which the error exists selectively stored in the rewrite method to the location where the error correction block in which the error correction was performed.
또한, 상기 디스크상의 BCA코드를 판독하여 디코딩하는 단계는 오류 정정이 반복됨에 따라 광 픽업의 주사위치가 변경되는 것을 특징으로 한다.In the reading and decoding of the BCA code on the disc, the dice of the optical pickup are changed as error correction is repeated.
이하, 첨부된 도면을 참조하여 본 발명에 따른 데이터 오류 정정 장치 및 방법에 대해 상세히 설명하도록 한다.Hereinafter, an apparatus and a method for correcting data error according to the present invention will be described in detail with reference to the accompanying drawings.
도 8은 본 발명에 따른 데이터 오류 정정 장치를 설명하는 도면이다.8 is a diagram illustrating a data error correction apparatus according to the present invention.
도 8을 참조하면, 본 발명은 디스크 상에서 BCA 코드를 판독하여 RZ 모듈레이션, 페이즈 인코딩되어 있는 신호를 디코딩하는 전처리부(Preprocessor)(10)와, RS복호를 수행하는 오류정정부(ECC)(12)와, BCA 코드내에 오류의 존재 여부를 판단하는 오류검출부(EDC)(13)와, 데이터를 저장하는 메모리(Memory)(11)와, 상기 전처리부(10), 오류정정부(12), 오류검출부(13) 및 메모리(11)를 제어하는 BCA 컨트롤러(14)가 포함된다.Referring to FIG. 8, the present invention reads a BCA code on a disc, and includes a preprocessor 10 for decoding a RZ modulation and phase encoded signal, and an error correction (ECC) 12 for performing RS decoding. ), An error detection unit (EDC) 13 for determining whether an error exists in the BCA code, a memory 11 for storing data, the preprocessor 10, an error correction unit 12, An error detection unit 13 and a BCA controller 14 for controlling the memory 11 are included.
우선 디스크상에서 판독된 BCA 코드는 전처리부(10)에 입력되고, 상기 전처리부(10)에서는 RZ 모듈레이션, 페이즈 인코딩되어있는 신호를 디코딩한다.First, the BCA code read on the disc is input to the preprocessor 10, and the preprocessor 10 decodes the RZ modulation and phase encoded signals.
이 때, 도 3에 도시된 고정된 싱크 패턴을 인식하여 싱크코드를 생성하고 이를 BCA 컨트롤러(14)에 보내 디코딩 시작 신호를 받은 후, 정보 데이터를 메모리(12)에 저장한다.At this time, after generating the sync code by recognizing the fixed sync pattern shown in FIG. 3 and sending it to the BCA controller 14 to receive the decoding start signal, the information data is stored in the memory 12.
저장이 완료되면 상기 오류정정부(12)는 상기 메모리(11)로부터 정보데이터를 오류정정블록 단위로 읽어 오류정정을 실행한다.When the storage is completed, the error correction unit 12 reads the information data from the memory 11 in error correction blocks and performs error correction.
각각의 오류정정블록 별로 정정이 끝나면 정정된 데이터를 다시 메모리(12)에 저장하고, 정정에 실패했을 경우에는 정정 상태 지시 플래그를 실패로 하여 원래 데이터를 그대로 유지한다.When the correction is completed for each error correction block, the corrected data is stored in the memory 12 again. If the correction fails, the correction status indication flag fails and the original data is maintained.
오류정정과정이 끝나면 오류정정코드를 제외한 나머지 BCA 코드를 오류검출부(13)로 입력시켜서 BCA 코드의 오류 존재 여부를 판단한다.After the error correction process, the remaining BCA code except the error correction code is input to the error detection unit 13 to determine whether the error of the BCA code.
이때, 오류 존재 여부를 BCA 컨트롤러(14)에 전송하고, 상기 BCA 컨트롤러(14)는 오류가 없는 경우 메모리(11)에 저장되어 있는 데이터를 BCA 코드로 출력하게 하고 BCA 디코딩 완료 신호를 출력한다.At this time, the presence or absence of an error is transmitted to the BCA controller 14, and if there is no error, the BCA controller 14 outputs the data stored in the memory 11 as a BCA code and outputs a BCA decoding completion signal.
오류가 있다고 판명될 경우에는 BCA 디코딩 완료 신호를 출력하지 않기 때문에 자동으로 반복 실행에 들어가도록 한다.If it turns out that there is an error, it does not output the BCA decoding completion signal, so it automatically enters the repetitive execution.
반복 실행의 과정에 있어서, 오류정정부(12)로부터 입력된 정정 상태 지시 플래그를 확인하여 판독을 반복해야 할 데이터의 메모리내 위치가 어디인지 계산을 하고 그에 해당하는 위치에 쓰기가능 신호를 주어서 그 부분만 메모리에 저장될 수 있도록 한다.In the process of repetitive execution, the correction status indication flag input from the error correction unit 12 is checked to calculate where the memory location of the data to be repeated is read and give a writable signal to the corresponding location. Only parts can be stored in memory.
또한, 정정 상태 지시 플래그를 Enable신호로 사용해서 오류정정이 정확하게 이루어진 오류정정블록 내의 데이터들은 전혀 손상되지 않도록 한다.In addition, the correction status indication flag is used as an enable signal so that data in the error correction block in which the error correction is correctly made is not damaged at all.
해당 데이터들에 대해 판독 및 저장이 완료되면 정정 상태 지시 플래그가 실패로 표시된 오류정정블록을 오류정정하고, 오류정정이 완료되면 이전에 저장되어 있던 정확히 오류정정이 이루어진 오류정정블록 내의 데이터들을 포함하여 오류검출코드를 통해 오류 존재 여부를 확인한다.When the reading and saving of the data are completed, error correction block indicating that the correction status indication flag is Failed, and when the error correction is completed, including the data in the error correction block in which the error correction was previously stored. Check the error detection code for the existence of an error.
오류가 없다고 판명되면 저장된 데이터를 BCA 코드로 출력하고 BCA 디코딩 완료 신호를 출력한다.If no error is found, the stored data is output as a BCA code and a BCA decoding completion signal is output.
만약 다시 오류가 있다고 판명될 경우 정정 상태 지시 플래그를 확인해서 위의 과정들을 오류가 없거나 반복회수의 제한이 될 때까지 반복한다.If it is found that there is an error again, check the correction status indication flag and repeat the above steps until there is no error or the number of repetitions is limited.
이러한 특징은 디스크 상의 수 트랙에 걸쳐 존재하는 BCA 코드의 특성상 도 5와 같은 패턴이 형성된 경우에 별도의 광 픽업의 움직임 없이 반복횟수를 증가시킴으로써 쉽게 오류를 정정할 수 있다. This feature can be easily corrected by increasing the number of repetitions without a separate optical pickup in the case where the pattern shown in FIG. 5 is formed due to the characteristics of the BCA code existing over several tracks on the disc.
반복회수 증가에 따른 시간 경과나 전력 소모보다는 광 픽업을 움직이는 데 필요한 시스템적 조작이 오히려 더 많은 시간이 필요하고 더 많은 전력을 소비하기 때문이다. 물론, 반복회수가 설정된 범위보다 증가되는 경우 광 픽업이 움직이도록 할 수 있다.This is because the systemic operations required to move the optical pickup require more time and consume more power than time and power consumption due to increased number of repetitions. Of course, the optical pickup can be moved when the number of repetitions is increased than the set range.
이와 같이 본 발명은 처음 판독 과정으로 입력된 데이터가 적어도 한 개 이상의 오류정정이 불가능한 오류정정블록을 갖고 있는 경우 처음에는 정확한 오류정정을 수행하지 못하지만 판독 과정을 반복해서 데이터를 입력함으로써 정확한 오류 정정이 가능하다.As described above, the present invention does not perform correct error correction at first when the data inputted during the first reading process has at least one error correction block that cannot be corrected. It is possible.
또한, 판독 과정이 반복될 때마다 메모리가 추가되는 것이 아니라 덮어쓰기의 형식으로 저장을 하기 때문에 반복 회수에 상관없이 항상 최소의 저장공간만을 이용한다.In addition, since the memory is not added every time the reading process is repeated, but stored in the form of overwriting, only the minimum storage space is used regardless of the number of times of repetition.
도 9는 본 발명에 따른 데이터 오류 정정 방법을 설명하는 흐름도이다.9 is a flowchart illustrating a data error correction method according to the present invention.
도 9를 참조하면, 본 발명에 따른 데이터 오류 정정 방법을 설명하면 다음과 같다.9, a data error correction method according to the present invention will be described.
먼저 디스크상에 BCA코드를 판독하여 디코딩을 수행하고 정보 데이터를 메모리에 저장한다.(S100)(S110)First, the BCA code is read on the disk to perform decoding, and the information data is stored in the memory (S100) (S110).
저장이 완료되면 메모리로부터 정보 데이터를 오류정정블록 단위로 읽어 오류 정정을 수행한다.(S120)When the storing is completed, error correction is performed by reading the information data from the memory in units of error correction blocks (S120).
각각의 오류정정블록에 대해 정정이 끝나면 정정된 데이터는 다시 메모리에 저장되고 정정에 실패했을 경우 정정 상태 지시 플래그를 실패로 표시하여 원래 데이터를 그대로 유지한다.(S130)When the correction is completed for each error correction block, the corrected data is stored in the memory again, and when the correction fails, the correction status indication flag is marked as failure to maintain the original data.
오류정정과정이 끝나면 상기 데이터에 대해 오류 존재 여부를 판단한다.(S140)After the error correction process is completed, it is determined whether an error exists with respect to the data (S140).
만약, 오류가 존재하게 되면 자동으로 정정 상태 지시 플래그가 실패로 표시된 오류정정블록에 대해서 오류정정을 수행한다.(S150)If an error exists, error correction is automatically performed on the error correction block indicated by the correction status indication flag as failure (S150).
그리고, 각각의 오류정정블록이 모두 정정된 경우 저장된 데이터를 BCA코드로 출력하고 BCA디코딩 완료 신호를 출력한다.(S160)When each error correction block is corrected, the stored data is output as a BCA code and a BCA decoding completion signal is output (S160).
본 발명은 BCA 코드를 판독하여 오류를 정정할 때 정확하게 오류정정이 된 데이터를 보다 높은 확률로 얻을 수 있는 데이터 오류 정정 장치 및 방법을 제공할 수 있다.The present invention can provide a data error correction apparatus and method capable of obtaining a higher probability of correctly corrected data when correcting an error by reading a BCA code.
또한, 본 발명은 BCA 코드를 디코딩하는 과정에서 필요한 메모리를 최소화할 수 있는 데이터 오류 정정 장치 및 방법을 제공할 수 있다.In addition, the present invention can provide a data error correction apparatus and method that can minimize the memory required in the process of decoding the BCA code.
도 1은 디스크상의 BCA코드를 설명하는 도면.1 is a diagram for explaining a BCA code on a disc.
도 2와 도 3은 BCA코드의 구조를 설명하는 도면.2 and 3 are diagrams for explaining the structure of a BCA code.
도 4와 도 5는 BCA코드의 오류에 의해 주사위치를 변경하는 것을 설명하는 도면.4 and 5 are diagrams for changing the dice due to an error of the BCA code.
도 6은 종래의 BCA코드의 오류정정과정에서 정정 상태 지시 플래그를 이용한 것을 설명하는 도면.6 is a view for explaining the use of the correction status indication flag in the error correction process of the conventional BCA code.
도 7은 데이터와 함께 BCA코드가 기록된 것을 설명하는 도면.Fig. 7 is a diagram for explaining that a BCA code is recorded together with data.
도 8은 본 발명에 따른 데이터 오류 정정 장치를 설명하는 도면.8 is a diagram illustrating a data error correction apparatus according to the present invention.
도 9는 본 발명에 따른 데이터 오류 정정 방법을 설명하는 흐름도.9 is a flowchart illustrating a data error correction method according to the present invention.
〈도면의 주요 부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>
10 ; 전처리부 11 ; 메모리 10; Pretreatment unit 11; Memory
12 ; 오류정정부 13 ; 오류검출부 12; Error correction 13; Error detector
14 ; BCA 컨트롤러14; BCA controller
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030088294A KR100641428B1 (en) | 2003-12-05 | 2003-12-05 | Method and apparatus for correcting data error |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030088294A KR100641428B1 (en) | 2003-12-05 | 2003-12-05 | Method and apparatus for correcting data error |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050055239A true KR20050055239A (en) | 2005-06-13 |
KR100641428B1 KR100641428B1 (en) | 2006-10-31 |
Family
ID=37250238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030088294A KR100641428B1 (en) | 2003-12-05 | 2003-12-05 | Method and apparatus for correcting data error |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100641428B1 (en) |
-
2003
- 2003-12-05 KR KR1020030088294A patent/KR100641428B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100641428B1 (en) | 2006-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100362567B1 (en) | Synchronous information detection method for decoding the information recorded in the burst cutting area | |
JP4268619B2 (en) | Recording medium, reproducing apparatus and recording apparatus | |
RU2299483C2 (en) | Optical information carrier, device and method for recording to it / reproducing from it and information carrier, readable by computer, on which method realization program is stored | |
JP2005285315A (en) | Method for writing rewritable optical disk | |
US7038991B1 (en) | Method and device for recording information in units | |
CZ20023691A3 (en) | Record carrier, a method for recording and reproduction of information as well as information record and reproducing apparatus | |
JP4854588B2 (en) | Codeword used in digital optical media and method for generating codeword | |
US6487155B1 (en) | Optical disc authentication using alternate data modulation encoding schemes | |
US20070074073A1 (en) | Detection system and method | |
US6768709B2 (en) | Hiding digital data in a digital audio or video carrier signal | |
KR100567361B1 (en) | Copyright protection method, reproduction method, reproduction apparatus, recording method and recording apparatus | |
KR100641428B1 (en) | Method and apparatus for correcting data error | |
US7145852B2 (en) | Method and apparatus for decoding encoded data around a linking area on an optical storage medium | |
EP1018731B1 (en) | Information recording method and apparatus | |
RU2256240C2 (en) | Optical disk and method for recording data onto said disk and/or reproduction of data from said disk | |
US7145856B2 (en) | Data recording device and controller for data recording device | |
KR20030091717A (en) | Decoding apparatus | |
JP2000132903A (en) | Apparatus and method for correcting data error | |
JP2003036608A (en) | Optical disk, optical disk device, error correction format and data recording/reproducing method | |
US7738339B2 (en) | Data recording devices and methods thereof | |
CN100411050C (en) | Data error correcting unit and method thereof | |
US20040179454A1 (en) | Method of recording data on recordable disk, method of protecting sync included in recorded data, information storage medium, and apparatus for reproducing data recorded on recordable disk | |
US6717899B1 (en) | Optical disc hidden data technique | |
US20050105440A1 (en) | Disk apparatus and disk reproducing method | |
KR100283247B1 (en) | Authenticity Detection / Replication Prevention Method and Apparatus for Optical Recording Media |
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 |