KR20010083258A - Method for correcting errors of digital data - Google Patents
Method for correcting errors of digital data Download PDFInfo
- Publication number
- KR20010083258A KR20010083258A KR1019990056280A KR19990056280A KR20010083258A KR 20010083258 A KR20010083258 A KR 20010083258A KR 1019990056280 A KR1019990056280 A KR 1019990056280A KR 19990056280 A KR19990056280 A KR 19990056280A KR 20010083258 A KR20010083258 A KR 20010083258A
- Authority
- KR
- South Korea
- Prior art keywords
- syndrome
- error
- digital data
- error correction
- calculated
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2921—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
본 발명은, 디브이디(DVD: Digital Versatile Disc)와 같은 디스크 기록매체에 기록된 신호를 독출하여, 원래의 디지털 데이터로 복조하는 경우, 상기 복조된 디지털 데이터에 존재하는 에러를 정정하여 에러가 존재하지 않는 정상적인 디지털 데이터가 출력되도록 하는 디지털 데이터의 에러정정 방법에 관한 것이다.According to the present invention, when a signal recorded on a disc recording medium such as a DVD (Digital Versatile Disc) is read out and demodulated to original digital data, an error does not exist by correcting an error present in the demodulated digital data. The present invention relates to an error correction method of digital data that causes normal digital data to be output.
우선, 디지털 데이터의 에러정정 단위인 ECC(Error Correction Code) 블록, 특히 디브이디 포맷에 따른 ECC 블록은, 도 1에 도시한 바와 같이, 172 바이트의 이너 데이터와 10 바이트의 이너 패리티(PI: Parity Inner)가 연속되는 182 바이트의 수평 RS(Reed Solomon) 코드와, 192 바이트의 아우터 데이터와 16 바이트의 아우터 패리티(PO: Parity Outer)가 연속되는 208 바이트의 수직 RS 코드의 곱에 해당하는 총 37,586 바이트의 크기를 갖는다.First, an ECC (Error Correction Code) block, which is an error correction unit of digital data, particularly an ECC block according to the DVD format, has 172 bytes of inner data and 10 bytes of inner parity (PI: Parity Inner). ) A total of 37,586 bytes corresponding to the product of 182 consecutive horizontal RS (Reed Solomon) codes, 192 bytes of outer data and 16 bytes of outer parity (PO: Outer Parity Outer). Has the size of.
따라서, 하나의 ECC 블록을 임시 저장하기 위해서는, ECC 블록의 크기에 해당하는 37,586 바이트의 메모리가 필요하게 되며, 또한 연속적으로 복조 출력되는 디지털 데이터를 수신하여, ECC 블록 단위로 에러정정하기 위해서는, 적어도 2 개의 ECC 블록을 임시 저장할 수 있어야 하므로, 상기 37,586 바이트의 메모리 두 개 즉. 75,172 바이트에 해당하는 대용량의 메모리가 필요하게 된다.Therefore, in order to temporarily store one ECC block, a memory of 37,586 bytes corresponding to the size of the ECC block is required, and in order to receive digital data continuously demodulated and output and to correct errors in units of ECC blocks, at least The two ECC blocks must be temporarily stored, so that the 37,586 bytes of memory are two. You will need 75,172 bytes of large memory.
이에 따라, 최근에는 에러정정에 필요한 메모리의 크기를 줄일 수 있는 다양한 에러정정 방법들이 관련업체들로부터 속속 제안되고 있는 데, 이와 같이 제안된 에러정정 방법에 대해, 이하 첨부된 도면을 참조로 상세히 설명한다.Accordingly, recently, various error correction methods that can reduce the size of the memory required for error correction have been proposed from the related companies one after another, the error correction method proposed as described above in detail with reference to the accompanying drawings. do.
먼저, 도 2는 전술한 바와 같이 최근에 제안된 디지털 데이터의 에러정정 방법이 적용되는 광디스크 장치의 일부 구성을 도시한 것으로, 상기 광디스크 장치는, 디브이디와 같은 디스크 기록매체로부터 독출되어 복조 출력되는 디지털 데이터의 에러를 정정하는 에러정정부(2); 상기 복조된 디지털 데이터를 임시 저장하는 ECC 버퍼(3); 상기 디지털 데이터에 포함된 아우터 패리티(PO)를 임시 저장하는 PO 버퍼(4); 상기 복조된 디지털 데이터를 수신함과 아울러 상기 에러정정부(2), ECC 버퍼(3) 및 PO 버퍼(4)들간에 데이터 입출력을 제어하여, 에러정정된 정상적인 디지털 데이터를 출력하는 RAM 제어부(1)를 포함하여 구성되는 데, 상기 에러정정부(2)는, 상기 디지털 데이터에 포함 전송되는 패리티를 분리 검출하여, 디지털 데이터의 에러여부 및 그 에러정보를 제공하는 신드롬(Syndrome)을 계산하는 신드롬 계산부(21); 상기 신드롬 계산부(21)로부터 계산 출력되는 신드롬에 근거하여, 에러 값 및 그 에러 위치를 계산하는 에러 값/위치 계산부(22); 상기 에러 값/위치 계산부(22)에 의해 계산 출력되는 에러 값 및 에러 위치에 따라, 상기 ECC 버퍼(3)에 임시 저장된 디지털 데이터의 에러를 정정하는 ECC 부(23); 그리고 상기 신드롬 계산부(21)에서 계산되는 신드롬 값을 임시 저장하는 신드롬 버퍼(24)를 포함하여 구성된다.First, FIG. 2 illustrates a part of an optical disk apparatus to which the error correction method of the recently proposed digital data is applied as described above. The optical disk apparatus is a digital readout and demodulated output from a disk recording medium such as a DVD. An error correcting unit 2 for correcting an error of data; An ECC buffer (3) for temporarily storing the demodulated digital data; A PO buffer (4) for temporarily storing outer parity (PO) included in the digital data; The RAM control unit 1 which receives the demodulated digital data and controls data input / output between the error correction unit 2, the ECC buffer 3, and the PO buffer 4, and outputs error corrected normal digital data. Wherein the error correction unit 2 separately detects and transmits parity included in the digital data, and calculates a syndrome for providing an error of the digital data and providing the error information. Part 21; An error value / position calculation section 22 for calculating an error value and its error position based on the syndrome calculated and output from the syndrome calculation section 21; An ECC unit (23) for correcting an error of digital data temporarily stored in the ECC buffer (3) according to the error value and the error position calculated and output by the error value / position calculation unit (22); And a syndrome buffer 24 for temporarily storing the syndrome value calculated by the syndrome calculator 21.
상기와 같이, 구성되는 광디스크 장치에서의 에러정정 방법은, 우선 디브이디와 같은 디스크 기록매체로부터 독출되어 복조 출력되는 디지털 데이터가, 상기 RAM 제어부(1)로 입력되면, 상기 RAM 제어부(1)에서는, 상기 ECC 버퍼(3)와 PO 버퍼(4)를 제어하여, 입력 수신되는 디지털 데이터와, 아우터 패리티를 각각 분리 저장하게 되는 데, 예를 들어, 상기 ECC 버퍼(3)는 각각 2,236 바이트의 크기를 갖는 두 개의 SRAM(31,32)으로 구성되어, 아우터 패리티를 제외한 디지털 데이터를 임시 저장하게 되며, 상기 PO 버퍼(4)는 각각 2,752 바이트의 크기를 갖는 두 개의 SRAM(41,42)으로 구성되어, 상기 아우터 패리티를 임시 저장하게 된다.As described above, the error correction method in the optical disk device is configured, first, when the digital data read out from the disk recording medium such as DVD and demodulated output is input to the RAM control unit 1, the RAM control unit 1, The ECC buffer 3 and the PO buffer 4 are controlled to separately store input and received digital data and outer parity. For example, the ECC buffer 3 has a size of 2,236 bytes, respectively. It consists of two SRAMs (31, 32) having a temporary storage of digital data excluding outer parity, the PO buffer 4 is composed of two SRAMs (41, 42) each having a size of 2,752 bytes The outer parity is temporarily stored.
한편, 상기 에러정정부(2)에 포함된 신드롬 계산부(21)에서는, 상기 RAM 제어부(1)를 통해 수신되는 디지털 데이터에 포함된 패리티를 분리 검출하여, 디지털 데이터의 에러여부 및 에러정보를 제공하는 신드롬을 계산하게 되며, 상기 계산된 신드롬 값은, 각각 2,752 바이트의 크기를 갖는 두 개의 SRAM(241,242)으로 구성되는 신드롬 버퍼(24)에 임시 저장된 후, 상기 에러 값/위치 계산부(22)로 전송된다.On the other hand, the syndrome calculator 21 included in the error correction unit 2 detects parity included in the digital data received through the RAM control unit 1 and detects the error and error information of the digital data. The calculated syndrome is calculated, and the calculated syndrome value is temporarily stored in a syndrome buffer 24 including two SRAMs 241 and 242 each having a size of 2,752 bytes, and then the error value / position calculator 22 Is sent).
상기 에러 값/위치 계산부(22)에서는, 수신되는 신드롬 값에 근거하여, 디지털 데이터의 에러 값 및 그 에러위치를 계산한 후, 계산된 에러 값 및 에러 위치를 상기 ECC 부(23)로 전송하게 되는 데, 상기와 같이 계산된 에러 값 및 에러위치는, 상기 ECC 버퍼(3)에 임시 저장된 디지털 데이터의 에러 값 및 에러위치가 되므로, 상기 ECC 부(23)에서는, 상기 RAM 제어부(1)를 통해 ECC 버퍼(2)에 임시 저장된 디지털 데이터를 독출한 후, 상기 에러 값 및 에러 위치에 근거하여, 디지털 데이터에 존재하는 에러를 정정하게 되므로, 상기 RAM 제어부(1)에서는, 에러정정된 정상적인 디지털 데이터를 출력하게 된다.The error value / position calculation unit 22 calculates an error value of the digital data and its error position based on the received syndrome value, and then transmits the calculated error value and the error position to the ECC unit 23. The error value and the error position calculated as described above become the error value and error position of the digital data temporarily stored in the ECC buffer 3, and therefore, in the ECC unit 23, the RAM control unit 1 After reading the digital data temporarily stored in the ECC buffer 2 through the data, the error existing in the digital data is corrected based on the error value and the error position. Output digital data.
따라서, 전술한 바와 같이, 각각 2,236 바이트의 크기를 갖는 두 개의 SRAM(31,32)으로 구성되는 ECC 버퍼(3)와, 각각 2,752 바이트의 크기를 갖는 두 개의 SRAM(41,42)으로 구성되는 PO 버퍼(4), 그리고 각각 2,752 바이트의 크기를 갖는 두 개의 SRAM(241,242)으로 구성되는 신드롬 버퍼(24)의 메모리 용량, 즉 15,480 바이트의 메모리만을 사용하여 에러정정을 수행할 수 있게 되므로, 에러정정을 위한 메모리 용량을 크게 줄일 수 있게 된다.Thus, as described above, an ECC buffer 3 consisting of two SRAMs 31, 32 each having a size of 2,236 bytes, and two SRAMs 41, 42 each having a size of 2,752 bytes, Since error correction can be performed using only the memory capacity of the syndrome buffer 24 composed of the PO buffer 4 and the two SRAMs 241 and 242 each having a size of 2,752 bytes, that is, 15,480 bytes of memory. The memory capacity for correction can be greatly reduced.
그러나, 상기와 같이 복조 출력되는 디지털 데이터, 특히 ECC 블록에 해당되는 디지털 데이터는, 도 3에 도시한 바와 같이, 총 16 개의 단위 섹터로 구성되는 것으로, 하나의 단위 섹터에는 하나의 이너 패리티를 포함하는 12 개의 데이터 프레임마다 1 프레임의 아우터 패리티가 인터리브(Interleave)되어 수신되기 때문에, 상기 아우터 패리티를 구분 저장하기 위한 PO 버퍼(4)가 반드시 필요하게 되므로, 에러정정의 고배속 처리를 위한 집적회로(IC) 설계를 크게 제한시키게 되는 문제점이 있었다.However, as described above, the demodulated and output digital data, particularly the digital data corresponding to the ECC block, is composed of a total of 16 unit sectors, and one unit sector includes one inner parity as shown in FIG. 3. Since outer parity of one frame is received after interleaving for every 12 data frames, a PO buffer 4 for distinguishing and storing the outer parity is necessary, so that an integrated circuit for high-speed processing of error correction may be performed. There was a problem that greatly limited the design of the IC.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 창작된 것으로서, 디브이디(DVD)와 같은 디스크 기록매체로부터 독출 복조되는 디지털 데이터의 에러정정을 위해 사용되는 아우터 패리티 저장용 버퍼의 사용을 배제시킬 수 있도록 하는 디지털 데이터의 에러정정 방법을 제공하는 데, 그 목적이 있는 것이다.Accordingly, the present invention was created to solve the above problems, and can eliminate the use of an outer parity storage buffer used for error correction of digital data read and demodulated from a disc recording medium such as a DVD. It is an object of the present invention to provide an error correction method for digital data.
도 1은 에러정정(ECC) 블록의 구성을 도시한 것이고,1 shows the configuration of an error correction (ECC) block,
도 2는 종래의 제안된 에러정정 방법이 적용되는 광디스크 장치의 일부 구성을 도시한 것이고,2 illustrates a part of an optical disk apparatus to which the conventionally proposed error correction method is applied.
도 3은 에러정정 블록단위의 디지털 데이터를 도시한 것이고,3 shows digital data in error correction block units;
도 4는 본 발명에 따른 에러정정 방법이 적용되는 광디스크 장치의 일부 구성을 도시한 것이고,4 shows a part of an optical disk apparatus to which the error correction method according to the present invention is applied;
도 5는 단위섹터에 해당하는 이너(Inner) 데이터 및 아우터(Outer) 데이터를 도시한 것이고,FIG. 5 illustrates inner data and outer data corresponding to a unit sector.
도 6은 본 발명에 따른 플랙션널 아우터 신드롬을 계산하기 위한 일부 하드웨어의 일부 구성을 도시한 것이다.FIG. 6 illustrates some configurations of some hardware for calculating the fractional outer syndrome according to the present invention.
※ 도면의 주요부분에 대한 부호의 설명※ Explanation of code for main part of drawing
1,11 : RAM 제어부 2,12 : 에러정정부1,11 RAM control unit 2,12 Error correction
3,13 : ECC 버퍼 4 : 아우터 패리티 버퍼3,13: ECC buffer 4: outer parity buffer
5,15 : 에러정정부 21,121 : 신드롬 계산부5,15: error correction 21,121: syndrome calculation unit
22,122 : 에러 값/위치 계산부 23,124 : ECC 부22,122: Error value / position calculation unit 23,124: ECC unit
상기와 같은 목적을 달성하기 위한 본 발명에 따른 디지털 데이터의 에러정정 방법은, 아우터 패리티가 인터리빙된 에러정정 단위블록을 에러정정하는 방법에 있어서, 에러정정 단위블록을 구성하는 다수의 프레임 중 일부 프레임을 수신하여 아우터 신드롬을 산출하는 1단계; 다음에 수신되는 일부 프레임의 아우터 신드롬을 산출하고, 이에 근거하여 상기 산출된 아우터 신드롬을 정정하는 2단계; 에러정정 단위블록의 전체 수신시까지, 상기 2단계를 반복 수행하는 3단계; 및 상기 정정된 아우터 신드롬을 사용하여 아우터 에어정정을 수행하는 4단계를 포함하여 이루어지는 것을 특징으로 한다.The error correction method of digital data according to the present invention for achieving the above object, in the method for error correction of the error correction unit block interleaved outer parity, some of the plurality of frames constituting the error correction unit block Receiving the first step of calculating the outer syndrome; Calculating an outer syndrome of some frames received next, and correcting the calculated outer syndrome based on the outer syndrome; 3 steps of repeating the above step 2 until the entire reception of the error correction unit block; And four steps of performing outer air correction using the corrected outer syndrome.
이하, 본 발명에 따른 디지털 데이터의 에러정정 방법에 대해, 첨부된 도면을 참조로 상세히 설명한다.Hereinafter, an error correction method of digital data according to the present invention will be described in detail with reference to the accompanying drawings.
우선, 도 4는 본 발명에 따른 디지털 데이터의 에러정정 방법이 적용되는 광디스크 장치의 일부 구성을 도시한 것으로, 도 2를 참조로 전술한 바와 같이, 디브이디와 같은 디스크 기록매체로부터 독출되어 복조 출력되는 디지털 데이터의 에러를 정정하는 에러정정부(12); 상기 복조된 디지털 데이터를 임시 저장하는 ECC 버퍼(13); 상기 복조된 디지털 데이터를 수신함과 아울러 상기 에러정정부(12) 및 ECC 버퍼(13)간에 데이터 입출력을 제어하여, 에러정정된 정상적인 디지털 데이터를 출력하는 RAM 제어부(11)를 포함하여 구성되는 데, 상기 에러정정부(12)는, 상기 디지털 데이터에 포함 전송되는 패리티를 분리 검출하여, 디지털 데이터의 에러여부 및 그 에러정보를 제공하는 신드롬(Syndrome)을 계산하는 신드롬 계산부(121); 상기 신드롬 계산부(121)로부터 계산 출력되는 신드롬에 근거하여, 에러 값 및 그 에러 위치를 계산하는 에러 값/위치 계산부(122); 상기 에러 값/위치 계산부(122)에 의해 계산 출력되는 에러 값 및 에러 위치에 따라, 상기 ECC 버퍼(13)에 임시 저장된 디지털 데이터의 에러를 정정하는 ECC 부(123); 그리고 상기 신드롬 계산부(21)에서 계산되는 신드롬 값을 임시 저장하는 신드롬 버퍼(124)를 포함하여 구성된다.First, FIG. 4 shows a part of an optical disk apparatus to which the error correction method of digital data according to the present invention is applied. As described above with reference to FIG. An error correcting unit 12 for correcting an error of digital data; An ECC buffer (13) for temporarily storing the demodulated digital data; And a RAM control unit 11 for receiving the demodulated digital data and controlling data input / output between the error correction unit 12 and the ECC buffer 13 to output error corrected normal digital data. The error correction unit 12 includes: a syndrome calculation unit 121 for separately detecting parity transmitted in the digital data and calculating a syndrome for providing an error of digital data and providing the error information; An error value / position calculation unit 122 for calculating an error value and an error position thereof based on the syndrome calculated and output from the syndrome calculation unit 121; An ECC unit (123) for correcting an error of digital data temporarily stored in the ECC buffer (13) according to the error value and the error position calculated and output by the error value / position calculation unit (122); And a syndrome buffer 124 for temporarily storing the syndrome value calculated by the syndrome calculator 21.
한편, 상기 신드롬 계산부(121)는, 상기 RAM 제어부(11)를 통해 수신되는 디지털 데이터 중 이너 데이터, 특히 이너 패리티(PI)에 대한 신드롬을 계산하는 이너 신드롬 계산부(1211); 상기 RAM 제어부(11)를 통해 수신되는 디지털 데이터 중 아우터 데이터, 특히 아우터 패리티(PO)에 대한 신드롬을 계산하는 아우터 신드롬 계산부(1212); 상기 계산된 이너 신드롬 및 아우터 신드롬을 단위섹터별로 선택 출력시키는 먹스(1213); 및 상기 계산된 아우터 신드롬을 임시 저장하는 신드롬 버퍼(124)를 포함하여 구성되는 데, 상기와 같이, 구성되는 본 발명에 따른 광디스크 장치에서의 에러정정 방법, 특히 상기 RAM 제어부(11)를 통해 수신되는 디지털 데이터에 포함된 이너 패리티와 아우터 패리티를 구분하여, 각각에 해당하는 신드롬을 계산함으로써, 도 2를 참조로 전술한 바 있는 PO 버퍼(4)의 사용을 배제시킬 수 있도록 하는 에러정정 방법에 대해 상세히 설명하면 다음과 같다.On the other hand, the syndrome calculation unit 121, the inner syndrome calculation unit 1211 for calculating the syndrome for the inner data, in particular the inner parity (PI) of the digital data received through the RAM control unit 11; An outer syndrome calculator 1212 that calculates a syndrome for outer data, in particular, outer parity PO, among digital data received through the RAM controller 11; A mux 1213 for selectively outputting the calculated inner syndrome and outer syndrome for each sector; And a syndrome buffer 124 for temporarily storing the calculated outer syndrome, which is received as described above through an error correction method in the optical disk device according to the present invention, in particular through the RAM controller 11. In the error correction method for distinguishing the inner parity and the outer parity included in the digital data to calculate the syndrome corresponding to each, it is possible to eliminate the use of the PO buffer 4 described above with reference to FIG. The detailed description is as follows.
먼저, 상기 이너 신드롬 계산부(1211)에서는, 상기 RAM 제어부(11)를 통해 ECC 블록의 이너 데이터 및 이너 패리티를 수신하여, 상기 이너 패리티에 대한 신드롬을 계산하고, 계산된 이너 신드롬을 상기 에러 값/위치 계산부(122)로 출력하여, 상기 ECC 부(123)에 의한 에러정정 즉, 이너 데이터에 대한 에러정정 동작이 수행되도록 하는 데, 상기와 같이 에러정정된 이너 데이터는, 도 5의 (a)에 도시한 바와 같이, 상기 RAM 제어부(11)에 내장된 내부 메모리에 13 개의 이너 프레임, 즉 하나의 단위 섹터로 임시 저장된다. 참고로, 상기 RAM 제어부(11)에는 하나의 단위섹터에 해당하는 2,236 바이트의 크기를 갖는 두 개의 내부 메모리가 내장되어 있다.First, the inner syndrome calculation unit 1211 receives inner data and inner parity of an ECC block through the RAM controller 11, calculates a syndrome for the inner parity, and calculates the calculated inner syndrome as the error value. The error correction operation by the ECC unit 123, that is, the error correction operation on the inner data, is performed to the position calculation unit 122. The inner data corrected as described above is illustrated in FIG. As shown in a), 13 inner frames, that is, one unit sector, are temporarily stored in the internal memory built into the RAM control unit 11. For reference, the RAM controller 11 includes two internal memories having a size of 2,236 bytes corresponding to one unit sector.
한편, 상기 RAM 제어부(11)에서는, 상기와 같이 13 개의 이너 프레임으로 구성되는 단위섹터에 해당하는 아우터 데이터 및 아우터 패리티를, 다음 단위섹터가 또다시 입력완료 되기 전에 상기 아우터 신드롬 계산부(1212)로 전송 출력하게 된다.On the other hand, the RAM control unit 11, the outer syndrome calculation unit 1212 before the next unit sector is completed again, the outer data and outer parity corresponding to the unit sector consisting of 13 inner frames as described above The output will be sent to.
이에 따라, 상기 아우터 신드롬 계산부(121)에서는, 상기 아우터 패리티에 대한 신드롬을 계산하게 되는 데, 이때 계산되는 아우터 신드롬은 부분적으로 연속 계산되는 플랙션널(Fractional) 아우터 신드롬으로 계산되어, 상기 신드롬 버퍼(124)에 구성된 SRAM(1241)에 순차적으로 갱신 저장된다.Accordingly, the outer syndrome calculation unit 121 calculates a syndrome for the outer parity, wherein the calculated outer syndrome is partially calculated as a fractional outer syndrome that is continuously calculated, and the syndrome buffer is calculated. It is sequentially updated and stored in the SRAM 1241 constituted at 124.
즉, 도 5의 (b)에 도시한 바와 같이, 13개의 심볼이 각각 존재하는 172개의 아우터 프레임에 대한 플랙션널 아우터 신드롬을 계산하고, 계산된 플랙션널 아우터 신드롬을 상기 신드롬 버퍼의 SRAM(1241)에 순차적으로 갱신 저장하는 동작을 반복 수행함으로써, 하나의 ECC 블록인 16개 단위섹터에 해당하는 완전한 아우터 신드롬을 계산 출력하게 되는 데, 상기 신드롬 버퍼(124)를 구성하는 또다른 SRAM(1242)에는, 상기와 같은 동작을 반복 수행하여 이미 계산된 완전한 아우터 신드롬이 저장되어 있으므로, 이를 상기 에러 값/위치 계산부(122)로 출력하여, 상기 ECC 부(123)에 의한 에러정정 즉, 아우터 데이터에 대한 에러정정 동작이 수행되도록 한다.That is, as shown in (b) of FIG. 5, the fractional outer syndrome for the 172 outer frames in which 13 symbols are present is calculated, and the calculated fractional outer syndrome is converted into the SRAM 1241 of the syndrome buffer. By sequentially repeating the operation of updating and storing the data, the complete outer syndrome corresponding to 16 unit sectors, which is one ECC block, is calculated and outputted. In another SRAM 1242 constituting the syndrome buffer 124, Since the complete outer syndrome is calculated by repeating the above operation, it is output to the error value / position calculation unit 122, and the error correction by the ECC unit 123 is performed. Allow error correction to be performed.
한편, 상기 아우터 신드롬 계산부(1211)로 수신되는 아우터 데이터를 다항식으로 표현하면 다음과 같다.On the other hand, the outer data received by the outer syndrome calculation unit 1211 is expressed as a polynomial as follows.
즉, 상기 다항식들을 산술식으로 간단히 표현하면 다음 식 1과 같이 된다.That is, if the polynomials are simply expressed as arithmetic expressions, the following equation 1 is obtained.
----------------------------- 식 1 ----------------------------- Equation 1
{ R}_{k } : k 번째 심볼(Symbol){R} _ {k}: kth symbol
{ x}^{i } : i 번째 위치{x} ^ {i}: i th position
상기와 같은 산술식으로 표현되는 아우터 데이터에 대한 각각의 아우터 신드롬 즉, 16 개의 플랙션널 아우터 신드롬은, 도 6에 도시한 바와 같이, 구성되는 16 개의 하드웨어 구성에 의해 계산될 수 있는 데, 상기 각각의 하드웨어에 의한 계산되는 플랙션널 아우터 신드롬에 대해 설명하면, 다음과 같다.Each outer syndrome, that is, 16 fractional outer syndromes for the outer data represented by the above arithmetic expression, may be calculated by 16 hardware configurations, as shown in FIG. The fractional outer syndrome calculated by the hardware is described as follows.
먼저, 1 번째 단위섹터에 해당하는 데이터의 입력이 완료되면, 13 개의 심볼로 구성된 172 개의 아우터 프레임으로부터, 다음 식 2와 같이, 각 프레임에 대한 16개의 플랙션널 아우터 신드롬이 구해지고, 이와 같이 구해진 플랙션널 아우터 신드롬은, 상기 신드롬 버퍼(124)에 구성된 SRAM(1241)에 저장된다.First, when input of data corresponding to the first unit sector is completed, 16 fractional outer syndromes for each frame are obtained from the 172 outer frames composed of 13 symbols, as shown in Equation 2 below. The fractional outer syndrome is stored in the SRAM 1241 configured in the syndrome buffer 124.
------------------------------ 식 2 ------------------------------ Equation 2
m = 0,1,2 ... 15m = 0,1,2 ... 15
: 1 번째 섹터에 대한 m 번째 신드롬 값 : Mth syndrome value for the first sector
a : GF(28)의 원시원a is the source of GF (2 8 )
GF(28) : 갈루아(Galoa) 필드GF (2 8 ): Galoa field
이후, 2 번째 단위섹터에 해당하는 데이터의 입력이 완료되면, 전술한 바와 같이, 13 개의 심볼로 구성된 172 개의 아우터 프레임으로부터, 다음 식 3과 같이, 각 프레임에 대한 16개의 플랙션널 아우터 신드롬이 구해지고, 이와 같이 구해진 플랙션널 아우터 신드롬은, 다음 식 4와 같이, 이전에 계산 저장된 1 번째 단위섹터에 대한 플랙션널 아우터 신드롬과 같이 계산되어 갱신 저장된다.Then, when input of data corresponding to the second unit sector is completed, as described above, 16 fractional outer syndromes for each frame are obtained from 172 outer frames composed of 13 symbols, as shown in Equation 3 below. The calculated outer syndrome is thus calculated and updated as the fractional outer syndrome for the first unit sector previously calculated and stored, as shown in Equation 4 below.
------------------------------ 식 3 ------------------------------ Expression 3
------------------------ 식 4 ------------------------ Expression 4
m = 0,1,2 ... 15m = 0,1,2 ... 15
이후, 상기와 같은 동작을 반복 수행하게 되는 데, 마지막 16 번째 단위섹터에 해당하는 데이터의 입력 완료에 의해 계산되는 마지막 플랙션널 아우터 신드롬을 이전에 저장된 아우터 신드롬과 같이 계산하여 갱신하게 되면, 다음 식 5와 같은 완전한 아우터 신드롬이 계산된다.Subsequently, the above operation is repeated. When the last fractional outer syndrome calculated by the completion of input of data corresponding to the last 16th sector is calculated and updated as previously stored outer syndrome, the following equation is obtained. A complete outer syndrome such as 5 is calculated.
----------- 식 5 ----------- Equation 5
결국, 상기와 같이 계산 및 갱신된 완전한 아우터 신드롬이, 상기 에러 값/위치 계산부(122)로 출력되므로, 상기 에러 값/위치 계산부(122)에서는, 상기 아우터 신드롬 값에 근거하여 에러 값 및 그 에러 위치를 계산하고, 상기 ECC 부(123)에서는, 상기 에러 값 및 에러 위치에 따라, ECC 버퍼(13)에 임시 저장된 디지털 데이터의 에러를 정정하게 되어, 상기 RAM 제어부(11)에서는, 에러정정된 정상적인 디지털 데이터를 출력하게 된다.As a result, since the complete outer syndrome calculated and updated as described above is output to the error value / position calculating unit 122, the error value / position calculating unit 122 determines the error value and the value based on the outer syndrome value. The error position is calculated, and the ECC unit 123 corrects an error of digital data temporarily stored in the ECC buffer 13 in accordance with the error value and the error position, and the RAM control unit 11 generates an error. The corrected digital data is output.
상기와 같이 이루어지는 본 발명에 따른 디지털 데이터의 에러정정 방법은, 디브이디(DVD)와 같은 디스크 기록매체로부터 독출 복조되어, 수신되는 디지털 데이터에 포함된 이너 패리티와 아우터 패리티를 구분하여, 각각에 해당하는 신드롬을 계산함으로써, 디지털 데이터의 에러정정을 위해 사용되는 아우터 패리티 저장용 버퍼의 사용을 배제시킬 수 있게 되어, 에러정정의 고배속 처리를 위한 집적회로(IC) 설계를 가능하게 하는 매우 유용한 발명인 것이다.The error correction method of digital data according to the present invention as described above reads and demodulates from a disc recording medium such as a DVD, and distinguishes inner parity and outer parity included in the received digital data, respectively. By calculating the syndrome, it is possible to eliminate the use of the outer parity storage buffer used for error correction of digital data, which is a very useful invention that enables the design of an integrated circuit (IC) for high-speed processing of error correction.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990056280A KR100589814B1 (en) | 1999-12-09 | 1999-12-09 | Method for correcting errors of digital data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990056280A KR100589814B1 (en) | 1999-12-09 | 1999-12-09 | Method for correcting errors of digital data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010083258A true KR20010083258A (en) | 2001-09-01 |
KR100589814B1 KR100589814B1 (en) | 2006-06-14 |
Family
ID=19624648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990056280A KR100589814B1 (en) | 1999-12-09 | 1999-12-09 | Method for correcting errors of digital data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100589814B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100604934B1 (en) * | 2004-01-31 | 2006-07-28 | 삼성전자주식회사 | Digital video disc decoding device and error correction method |
US7543218B2 (en) | 2004-01-31 | 2009-06-02 | Samsung Electronics Co., Ltd. | DVD decoding method and apparatus using selective po-correction |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3863252B2 (en) * | 1996-11-15 | 2006-12-27 | 富士通株式会社 | Error correction method, error correction device, data reading device, and data mapping method |
EP0911982A1 (en) * | 1997-10-21 | 1999-04-28 | Deutsche Thomson-Brandt Gmbh | Reed Solomon error correction with shared memory approach |
KR19990049147A (en) * | 1997-12-12 | 1999-07-05 | 구자홍 | Error correction method |
KR100265769B1 (en) * | 1998-05-19 | 2000-09-15 | 윤종용 | Error correction device in an optical disc system and error correction method therefor |
-
1999
- 1999-12-09 KR KR1019990056280A patent/KR100589814B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100604934B1 (en) * | 2004-01-31 | 2006-07-28 | 삼성전자주식회사 | Digital video disc decoding device and error correction method |
US7543218B2 (en) | 2004-01-31 | 2009-06-02 | Samsung Electronics Co., Ltd. | DVD decoding method and apparatus using selective po-correction |
Also Published As
Publication number | Publication date |
---|---|
KR100589814B1 (en) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101433620B1 (en) | Decoder for increasing throughput using double buffering structure and pipelining technique and decoding method thereof | |
KR100415136B1 (en) | Meth0d and apparatus for c0rrecting data errors | |
US6639865B2 (en) | Memory device, method of accessing the memory device, and reed-solomon decoder including the memory device | |
AU604836B2 (en) | Method and apparatus for error correction | |
EP0340139A2 (en) | Fast processor for multi-bit error correction codes | |
US6041431A (en) | Method and apparatus for performing error correction code operations | |
US20010014960A1 (en) | Error-correcting device and decoder enabling fast error correction with reduced circuit scale | |
JPH0831806B2 (en) | Error correction method | |
JP2000004170A (en) | Method and device for correction and inspection | |
KR100305973B1 (en) | Data error correcting method and apparatus | |
JP2000195193A (en) | Error correction decoding device | |
KR100738170B1 (en) | Error correction device | |
US7509558B2 (en) | Error correction method for reed-solomon product code | |
KR100589814B1 (en) | Method for correcting errors of digital data | |
US6924754B2 (en) | Iterative decoding method and iterative decoding apparatus | |
US20040030985A1 (en) | Cross interleave reed-solomon code correction | |
US20040078746A1 (en) | Error correction method and reproduction apparatus | |
JP4355018B2 (en) | Method for controlling error correction processing apparatus | |
JPH05218883A (en) | Decoder circuit | |
US7213190B2 (en) | Data processing apparatus and method | |
KR100691065B1 (en) | Method and apparatus for generating error correction codes for data recorded on high density optical medium and correcting error using the codes | |
KR100207492B1 (en) | Method for testing error correction and apparatus therefor | |
JP3583905B2 (en) | Error correction device | |
US6687870B1 (en) | Method and apparatus for interleaving for information transmission or storage applications | |
KR0141826B1 (en) | Error correction method of compression data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |