KR20060125692A - 오류 검출 장치, 및 오류 검출 방법 - Google Patents

오류 검출 장치, 및 오류 검출 방법 Download PDF

Info

Publication number
KR20060125692A
KR20060125692A KR1020067004014A KR20067004014A KR20060125692A KR 20060125692 A KR20060125692 A KR 20060125692A KR 1020067004014 A KR1020067004014 A KR 1020067004014A KR 20067004014 A KR20067004014 A KR 20067004014A KR 20060125692 A KR20060125692 A KR 20060125692A
Authority
KR
South Korea
Prior art keywords
error detection
data
error
calculation
detection code
Prior art date
Application number
KR1020067004014A
Other languages
English (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 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR20060125692A publication Critical patent/KR20060125692A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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
    • 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
    • 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/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension
    • 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/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code
    • G11B2020/184Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code using a cross-interleaved Reed Solomon [CIRC]
    • 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
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Abstract

본 발명의 오류 검출 방법은, 도 1에 도시하는 바와 같이, 연속성이 없는 배열로 입력되는 대상 부호열에 대하여 신드롬 연산을 행하는 동시에, 해당 연속성이 없는 배열로 입력되는 대상 부호열에 대하여, 해당 부호열의 배열이 연속성을 갖도록 데이터를 스킵시켜 해당 데이터 간의 연속성을 보정하면서 제 1 오류 검출 부호 연산을 행하고, 상기 신드롬 연산에 있어서 얻어진 신드롬에 근거하여, 상기 대상 부호열의 오류 데이터 위치 및 오류 데이터 수치를 계산하고, 해당 오류 데이터 위치 및 오류 데이터 수치를 바탕으로, 상기 대상 부호열 중의 상기 오류 데이터 위치에 대해서만 재차 제 2 오류 검출 부호 연산을 행하며, 해당 연산 결과를 이용하여, 상기 제 1 오류 검출 부호 연산에 의한 연산 결과를 갱신함으로써, 연속성이 없는 배열로 입력된 ECC 처리와 EDC 연산 처리를 동시에 실행한다.

Description

오류 검출 장치, 및 오류 검출 방법{ERROR DETECTION DEVICE AND ERROR DETECTION METHOD}
본 발명은, 오류 검출 장치 및 오류 검출 방법에 관한 것으로, 특히 오류 정정과 오류 검출을 동시에 실행하는 오류 검출 장치 및 오류 검출 방법에 관한 것이다.
디지털 데이터의 기록/재생을 행하는 시스템에서는, 재생 시 또는 기록 시에 데이터 중에 오류가 발생하는 경우가 있기 때문에, 그 오류를 정정하고, 행한 오류 정정이 정확한 것인지 여부를 판정하는 오류 검출을 행할 필요가 있다.
예컨대, 광 기록 매체인 DVD의 기록/재생에 있어서, 오류 정정은 ECC(Error Correcting Code), 오류 검출은 EDC(Enor Detecting Code)라고 불리는 방법이 이용된다.
상기 ECC는, 오류 정정 단위 블럭(이하, 「ECC 블럭」이라고 칭함.) 단위로 처리가 실행되어, 해당 ECC 블럭은, 도 11에 도시하는 바와 같이, 16 섹터로 구성되어 있다. 그리고, 상기 EDC는, 상기 ECC 블록 중의 섹터 단위로 그 처리가 실행 되는 것으로서, 1 섹터는 도 12에 나타내는 것과 같은 구성을 갖는다.
이하, 도 11∼도 14를 이용하여, ECC 복호의 개요를, 광 기록 매체인 DVD에 기록되어 있는 데이터를 오류 정정하는 경우를 예로 들어 설명한다.
우선, DVD에 기록되어 있는 데이터 부호를 오류 정정하는 경우, DVD로부터 판독한 ECC 부호화된 데이터 부호를 복호하고, 그 데이터에 대하여, 도 11에 나타내는 C1 방향 또는 C2 방향으로 오류 정정을 행한다. 이 때, ECC 복호한 데이터로부터 위치 다항식 및 수치 다항식을 생성하여, 이들의 근을 구하는 것에 의해, 오류 데이터 위치 및 오류 데이터 수치를 산출한다.
그리고, 1 ECC 블록 중의 부호열에 대하여, 상기 C1 방향 혹은 C2 방향으로 오류 정정을 행하였을 때, 그 데이터 중에 오류 정정 능력을 초과하는 오류가 존재한 경우에는, 그 오류 정정 능력을 초과하는 데이터 부호열을 도 13에 도시하는 바와 같이, 정정 불능 부호열로 하고, 이 정정 불능 부호열에 관한 정보를 소실 위치 정보로서 기억해 놓는다.
전술한 바와 같이 하여, 1 ECC 블록 중의 모든 부호열에 대하여, 도 11에 나타내는 C1 방향 또는 C2 방향으로 오류 정정이 완료한 후, 이번에는, 전회와 상이한 방향(C2 방향 또는 C1 방향)으로, 상기 소실 위치 정보를 이용하여, 상기 1 ECC 블록 중의 부호열에 대하여 오류 정정을 행한다.
상기 소실 위치 정보를 이용하여 오류 정정을 행하는 경우에는, 미리 오류 데이터 위치를 알 수 있기 때문에, 상기 다항식을 생성할 때에, 수치 다항식만을 구하면 되는 것으로 된다. 그 결과, 오류 정정 능력을 향상시킬 수 있다.
예컨대, 최초에, 도 13에 도시하는 바와 같이, 1 ECC 블록 중의 모든 부호열에 대하여 C1 방향으로 오류 정정을 행하였을 때, 1 ECC 블록 중의 50, 90, 130, 200행째가 정정 불능 부호열이었던 것으로 한다. 이 후, 도 14에 도시하는 바와 같이, 전회와 상이한 방향인 C2 방향으로 오류 정정을 행하는 것이지만, 이 때 상기 정정 불능 부호열을 나타내는 소실 위치 정보를 바탕으로, 1 ECC 블록 중의 50, 90, 130, 200 바이트째를 소실 위치 정보로 지정하여, 상기 C2 방향의 오류 정정 능력을 향상시킬 수 있다. 이 방법에 의해, 전송계에서 발생한 버스트 오류에 대하여 정정 능력을 떨어뜨리지 않고 오류 정정이 가능해진다.
그리고, 데이터 부호열에 대하여 오류 정정 및 오류 검출을 행하는 경우, 종래에 있어서는, 전술한 ECC 처리가 1 ECC 블록분 종료한 후에, 해당 1 ECC 블럭의 섹터 단위로 EDC 연산을 행하고 있었다.
이하, 도 14 및 도 15를 이용하여, EDC 연산의 개요에 대하여 설명한다. 도 15는 EDC 연산 회로의 구성 예를 나타내는 도면이며, 여기서는, 4 바이트 입력의 EDC 연산 회로를 나타낸다.
우선, EDC의 연산식은 하기와 같이 된다.
Figure 112006014178494-PCT00001
상기 EDC 연산식은, 도 15의 EDC 연산 회로에 도시되는 바와 같이, 32 비트 의 시프트 레지스터의, 0 비트째, 4 비트째, 31 비트째로의 입력에 EXOR 연산 회로가 배치되고, 해당 EXOR 연산 회로에서, 각각, 4 바이트의 최상위로부터의 비트 입력과 31 비트째, 3 비트째와 31 비트째, 및 30 비트째와 31 비트째의 EXOR이 연산된다.
이상에 나타낸 EDC 연산식, 혹은 도 ]5의 EDC 연산 회로로부터 이해할 수 있는 바와 같이, EDC 연산은 데이터의 기록 방향(도 11에 도시되는 C1 방향)에 따른 선형 연산이다.
그리고, 상기 도 12에 나타내는 것과 같은 구성을 갖는 1 섹터를, 데이터의 기록 방향, 즉 ID 영역, IEC 영역, RSV 영역, 사용자 데이터 영역, EDC 영역의 순서로, 각각 4 바이트마다, 도 15에 나타내는 EDC 연산 회로에 입력하면, 최종의 4 바이트인 EDC 영역을 입력한 후의 32 비트의 시프트 레지스터값이 EDC 연산 결과로 된다.
이와 같이, 종래에는 일반적으로, 오류 정정(ECC)을 행한 후에, 오류 검출(EDC)을 행하는 방법이 이용되고 있지만, 이 방법에서는, 오류 정정을 행하기 위한 1 단위인 ECC 블럭을 버퍼로부터 판독하여 오류 정정을 행한 후, 오류 검출을 행하기 위해서, 다시 ECC 블럭을 상기 버퍼로부터 판독하지 않으면 안 되기 때문에, 메모리 버퍼의 대역폭의 소비, 처리 시간의 비대화라는 문제가 발생한다.
이러한 메모리 버퍼의 대역폭의 소비, 혹은 처리 시간의 비대화의 문제를 해결하는 방법으로서는, ECC과 EDC의 양쪽 처리를, 버퍼로부터 ECC 블럭을 한번 판독하는 것만으로, 동시에 처리하는 것을 생각할 수 있다.
그러나, 상술한 바와 같이, EDC 연산 처리는 데이터의 기록 방향(도 11의 C1 방향)에 따른 선형 연산이기 때문에, 오류 정정 회로에 의해, 도 13에 도시하는 바와 같이 입력되는 데이터의 배열에 연속성이 있는, C1 방향으로 오류 정정을 행하는 경우에는, 해당 C1 방향의 ECC와, 상기 EDC 연산을 동시에 처리하는 것이 가능하지만, 도 14에 도시하는 바와 같이 입력되는 데이터의 배열에 연속성이 없는, C2 방향으로 오류 정정을 행하는 경우에는, 해당 C2 방향의 ECC와, 상기 EDC 연산을 동시 처리하는 것은 난이도가 높고, 이러한 동시 처리를 반도체에 실장하는 것은 곤란하다고 하는 문제가 있다.
본 발명은 상기 과제를 해결하기 위해서 행해진 것으로서, ECC 블럭의 오류 검출을 행하는 대상 부호열이 연속성이 없는 배열(도 11의 C2 방향)로 입력된 때에도, 오류 정정과 오류 검출을 동시에 실행할 수 있는 오류 검출 장치 및 오류 검출 방법을 제공하는 것을 목적으로 하는 것이다.
발명의 개시
본 발명의 오류 검출 장치는, 각각 매트릭스 형상의 데이터로 이루어지는 복수의 섹터에 의해 구성되는 대상 부호열에 대하여 신드롬 연산을 행하는 신드롬 연산기를 갖고, 해당 대상 부호열에 대하여 오류 정정 회로에 의한 오류 정정 처리를 행하는 동시에, 해당 대상 부호열에 대하여 상기 섹터 단위로 오류 검출을 행하는 오류 검출 장치로서, 상기 대상 부호열의 오류 검출 부호를 연산하는 오류 검출 부호 연산 회로와, 상기 대상 부호열이 연속성이 없는 배열로 입력되었을 때에, 해당 부호열의 배열을 연속시키도록 데이터를 스킵시켜 입력 데이터 간의 연속성을 보정하는 스킵 연산을 행하는 오류 검출 부호 스킵 연산 회로와, 상기 신드롬 연산과 동일한 시점에서 행해지는, 상기 오류 검출 부호 연산 회로 혹은 오류 검출 부호 스킵 연산 회로에 의한 제 1 오류 검출 부호 연산 처리를 제어하는 제 1 오류 검출 제어 회로와, 상기 오류 정정 처리 후에, 해당 오류 정정 처리로부터 얻어진 오류 데이터 위치 및 오류 데이터 수치를 바탕으로, 해당 오류 데이터 위치가 나타내는 데이터에 대해서만 실행하는 제 2 오류 검출 부호 연산 처리를 제어하는 동시에, 해당 제 2 오류 검출 부호 연산 처리에 의한 연산 결과를 바탕으로, 상기 제 1 오류 검출 부호 연산 처리의 연산 결과를 갱신하는 갱신 처리를 제어하는 제 2 오류 검출 제어 회로와, 상기 오류 검출 부호 연산 회로, 및 상기 오류 검출 부호 스킵 연산 회로에 의한 연산 결과를 유지하는 메모리를 구비하는 것이다.
이에 따라, ECC 블럭의 오류 검출을 행하는 대상 부호열이 연속성이 없는 배열로 입력된 때에도, 오류 정정과 오류 검출을 동시에 실행할 수 있다.
또한, 본 발명의 오류 검출 장치는, 상기 오류 검출 부호 스킵 연산 회로는, 전회까지 입력된 대상 부호열의 오류 검출 부호를 입력으로 하여, 해당 오류 검출 부호 스킵 연산 회로에 미리 설정된 스킵 연산을 행하는 것이다.
이에 따라, 간단한 처리로 스킵 연산이 실행할 수 있어, 오류 정정과 오류 검출의 동시 실행을, 반도체 회로에 실장 가능하게 한다.
또한, 본 발명의 오류 검출 장치는, 상기 메모리는, 상기 대상 부호열이 연속성이 있는 배열로 입력되었을 때에는, 상기 오류 검출 부호 연산 회로, 및 상기 오류 검출 부호 스킵 연산 회로에 의한 섹터 단위의 연산 결과를 유지하고, 상기 대상 부호열이 연속성이 없는 배열로 입력되었을 때에는, 상기 오류 검출 부호 연산 회로, 및 상기 오류 검출 부호 스킵 연산 회로에 의한 섹터마다의 도중 연산 결과를 유지하는 제 1 메모리와, 상기 제 1 메모리로부터 송신되는 연산 결과를, 상기 각 섹터마다 유지하는 제 2 메모리를 구비하는 것이다.
이에 따라, ECC 블럭의 오류 검출을 행하는 대상 부호열이 연속성이 없는 배열로 입력된 때에도, 섹터마다의 EDC 연산 결과를 얻을 수 있다.
또한, 본 발명의 오류 검출 장치는, 상기 제 1 메모리는, 상기 오류 검출 부호 연산 회로, 및 상기 오류 검출 부호 스킵 연산 회로에서 실행되는, 상기 제 1 오류 검출 부호 연산 처리에 의한 연산 결과를 유지하는 메모리와, 상기 제 2 오류 검출 부호 연산 처리에 의한, 상기 제 1 오류 검출 부호 연산 처리의 연산 결과를 갱신하는 차분 연산 결과를 유지하는 메모리를 포함하는 것이다.
이에 따라, 간단한 처리로 정확한 EDC 연산 결과를 얻는 것이 가능해져, 오류 정정과 오류 검출의 동시 실행을, 반도체 회로에 실장 가능하게 한다.
또한, 본 발명의 오류 검출 장치는, 상기 오류 검출 부호 스킵 연산 회로는, 상기 대상 부호열이 연속성이 없는 배열로 입력되었을 때, 해당 대상 부호열 중 상기 섹터의 비최종행에 있어서는, 일정한 바이트 수를 스킵시키는 스킵 연산을 행하고, 상기 대상 부호열 중 상기 섹터의 최종행에 있어서는, 해당 데이터가 존재하는 열 위치에 따른 바이트 수를 스킵시키는 개별의 스킵 연산을 행하는 것이다.
이에 따라, 상기 대상 부호열이 연속성이 없는 배열로 입력된 때에도, EDC 연산 처리를 행할 수 있어, 오류 정정과 오류 검출의 동시 실행을, 반도체 회로에 실장 가능하게 한다.
또한, 본 발명의 오류 검출 장치는, 상기 대상 부호열의 해당 스크램블 성분을 일괄 제거하는 스크램블 제거부를 포함하는 것이다.
이에 따라, 처리 자원을 최소화할 수 있다.
또한, 본 발명의 오류 검출 장치는, 상기 스크램블 제거부는, 상기 대상 부호열의 스크램블 성분을 제거하기 위한 데이터를 유지하는 테이블을 갖는 것이다.
이에 따라, 상기 대상 부호열의 스크램블 성분을 일괄 제거하는 것이 가능하게 된다.
또한, 본 발명의 오류 검출 방법은, 각각 매트릭스 형상의 데이터로 이루어지는 복수의 섹터에 의해 구성되는, 연속성이 없는 배열로 입력된 대상 부호열에 대하여 오류 정정 단위 블록 단위로 오류 정정을 행하는 동시에, 해당 연속성이 없는 배열로 입력되는 대상 부호열에 대하여 상기 섹터 단위로 오류 검출을 행하는 오류 검출 방법으로서, 상기 대상 부호열에 대하여 신드롬 연산을 행하는 신드롬 연산 단계와, 상기 신드롬 연산 단계와 동시에 행해지는, 해당 연속성이 없는 배열로 입력되는 대상 부호열에 대하여 오류 검출 부호 연산을 행하는 제 1 오류 검출 부호 연산 단계와, 상기 신드롬 연산 단계에서 얻어진 신드롬에 근거하여, 상기 대상 부호열의 오류 데이터 위치 및 오류 데이터 수치를 계산하여 오류 정정을 행하는 오류 정정 단계와, 상기 오류 정정 단계에서 얻어진 상기 오류 데이터 위치 및 오류 데이터 수치를 바탕으로, 상기 대상 부호열 중의 상기 오류 데이터 위치에 대 해서만 재차 오류 검출 부호 연산을 행하는 제 2 오류 검출 부호 연산 단계와, 상기 제 2 오류 검출 부호 연산 단계에 의한 연산 결과를 이용하여, 상기 제 1 오류 검출 부호 연산 단계에 의한 연산 결과를 갱신하는 갱신 단계를 포함하며, 상기 제 1 오류 검출 부호 연산 단계 및 제 2 오류 검출 연산 단계는. 상기 대상 부호열의 오류 검출 부호를 연산하는 오류 검출 부호 연산 단계와, 상기 연속성이 없는 배열로 입력된 대상 부호열의 배열을 연속시키도록 데이터를 스킵시켜 데이터 간의 연속성을 보정하는 스킵 연산을 행하는 오류 검출 부호 스킵 연산 단계를 포함하는 것이다.
이에 따라, ECC 블럭의 오류 검출을 행하는 대상 부호열이 연속성이 없는 배열로 입력된 때에도, 오류 정정과 오류 검출을 동시에 실행할 수 있다.
또한, 본 발명의 오류 검출 방법은, 상기 오류 검출 부호 스킵 연산 단계는, 전회까지 입력된 대상 부호열의 오류 검출 부호를 입력으로 하여, 미리 설정된 스킵 연산을 행하는 것이다.
이에 따라, 간단한 처리로 스킵 연산을 실행할 수 있어, 입력되는 데이터의 배열에 연속성이 없는 경우에도, 오류 정정과 오류 검출의 동시 실행을, 용이하게 실현할 수 있다.
또한, 본 발명의 오류 검출 방법은, 상기 오류 검출 부호 스킵 연산 단계는, 상기 대상 부호열 중 상기 섹터의 비최종행에 있어서는, 일정한 바이트 수를 스킵시키는 스킵 연산을 행하고, 상기 대상 부호열 중 상기 섹터의 최종행에 있어서는, 해당 데이터가 존재하는 열 위치에 따른 바이트 수를 스킵시키는 개별의 스킵 연산 을 행하는 것이다.
이에 따라, 상기 대상 부호열이 연속성이 없는 배열로 입력된 때에도, EDC 연산 처리를 행할 수 있어, 오류 정정과 오류 검출의 동시 실행을, 반도체 회로에 실장 가능하게 한다.
또한, 본 발명의 오류 검출 방법은, 상기 개별의 스킵 연산은, 상기 데이터가 존재하는 열 위치 중, 특정한 열 위치에서 실행되는 단계 연산의 연산 결과를 복수회 이용하여 실행하는 것이다.
이에 따라, 섹터 내의 오류 검출 연산 처리 단위 열에 대응한, 모든 스킵 연산 처리를 준비하지 않고, 별개로 존재하는 스킵 연산을 복수회 재이용할 수 있고, 이 결과, 처리 자원의 소비를 억제하는 것이 가능해진다.
또한, 본 발명의 오류 검출 방법은, 상기 갱신 단계와 동시에 행해지는, 상기 대상 부호열에 포함되는 스크램블 성분을 제거하는 스크램블 제거 단계를 포함하는 것이다.
이에 따라, ECC 처리 및 EDC 처리 후의 데이터로부터, 스크램블 성분을 제거할 수 있다.
또한, 본 발명의 오류 검출 방법은, 상기 스크램블 제거 단계는, 1 섹터의 모든 데이터가 입력된 후에, 해당 섹터의 모든 데이터의 스크램블 성분을 한번에 제거하는 것이다.
이에 따라, 스크램블 성분의 제거 처리에 필요한 처리 자원을 삭감할 수 있다.
또한, 본 발명의 오류 검출 방법은, 상기 스크램블 제거 단계는, 상기 대상 부호열의 스크램블 성분을 제거하기 위한 데이터를 유지하는 테이블을 이용하여 행해지는 것이다.
이에 따라, ECC 처리 및 EDC 처리 후의 데이터로부터, 모든 데이터의 스크램블 성분을 한번에 제거할 수 있다.
도 1은, 본 발명의 실시예 1에 있어서의 ECC 처리와 EDC 처리의 동시 실행하였을 때의 파이프라인 처리를 도시하는 도면이고.
도 2는, 본 발명의 실시예 1에 있어서의 오류 검출 회로의 구성을 도시하는 도면이며,
도 3은, 본 발명의 실시예 1에 있어서의 C2 방향 정정 시에 제 0 섹터에 있어서 데이터 입력 단위를 4 바이트로 하였을 때의 오류 정정 회로, 및 오류 검출 회로에 대한 데이터 입력 순서를 도시하는 도면이고,
도 4는, 본 발명의 실시예 1에 있어서의 오류 검출 회로에 있어서 C2 방향 정정 시의 제 1 EDC 연산 처리의 일련의 흐름을 나타내는 플로우차트이며,
도 5는, 본 발명의 실시예 1에 있어서의 오류 검출 회로의 C2 방향 정정 시에 있어서의 제 1 EDC 연산 처리의 데이터의 흐름을 도시하는 도면이고,
도 6은, 본 발명의 실시예 1에 있어서의 오류 검출 회로의 C2 방향 정정 시에 있어서의 제 2 EDC 연산 처리의 데이터의 흐름을 도시하는 도면이며,
도 7은, 본 발명의 실시예 1에 있어서의 오류 검출 회로의 오류 검출 부호 스킵 연산 회로에 있어서, 데이터를 168바이트 스킵시키는 EDC 스킵 연산 처리를 도시하는 도면이고,
도 8은, 본 발명의 실시예 1에 있어서의 오류 검출 회로의, 오류 검출 부호 스킵 연산 회로에 있어서, 데이터를 168바이트 스킵시키는 EDC 스킵 연산 처리의 분할 처리를 도시하는 도면이며,
도 9는, 본 발명의 실시예 1에 있어서의 대상 부호열이 입력될 때마다 스크램블 성분을 제거하는 경우의 오류 검출 회로의 구성도이고,
도 10은, 본 발명의 실시예 1에 있어서의 데이터 부호열이 입력될 때마다 스크램블 성분을 부가하는 경우의 오류 검출 회로의 구성도이며,
도 11은, DVD에 기록된 데이터를 오류 정정 단위 블럭(ECC 블럭)으로 나누었을 때의 1 ECC 블록 구성도이고,
도 12는, ECC 블록 상의 섹터의 구성을 도시하는 도면이며,
도 13은, ECC 블럭의 도 11에 나타내는 C1 방향에 대해서만 오류 정정 실시예를 도시하는 도면이고,
도 14는, ECC 블럭의 도 11에 나타내는 C2 방향에 대해서만 오류 정정 실시예를 도시하는 도면이며,
도 15는, 4 바이트 입력의 EDC 연산 회로를 도시하는 도면이다.
발명을 실시하기 위한 최선의 형태
(실시예 1)
이하, 본 실시예 1에 있어서의 오류 정정과 오류 검출을 동시 처리하는 개요를, 도 1을 이용하여 설명한다. 또, 본 실시예 1에 있어서는, 광 기록 매체인 DVD에 기록되어 있는 데이터를 오류 정정(ECC) 및 오류 검출(EDC)하는 경우를 예로 들어 설명한다. 또한, 오류 정정을 행하는 1 단위인 오류 정정 단위 블럭(이하, 「ECC 블럭」이라고 칭함.)은, 도 11에 도시하는 바와 같이, 16의 섹터로 구성되고, 1 섹터는, 도 12에 나타내는 구성을 갖는 것으로 한다.
도 1은, ECC 처리와 EDC 처리의 동시 실행에 있어서의 파이프라인 처리를 설명하는 도면이다.
ECC 처리와 EDC 처리를 동시 실행하는 경우, 우선, 단계 S10에 있어서, DVD로부터, 오류 정정 및 오류 검출을 행해야 할 대상 데이터 부호열을, 도 11에 도시되는 바와 같이, 1 ECC 블럭의 C1 방향 혹은 C2 방향으로 입력하여, ECC 처리의 신드롬 연산을 행한다. 이 신드롬 연산 결과는, 그 값이 "O"인 때 오류가 존재하지 않는 것을 나타내고, "0"이 아닐 때 오류가 존재하는 것을 나타낸다.
그리고, 상기 단계 S10과 동일한 파이프라인 처리 스테이지인 단계 S20에 있어서, 상기 단계 S10과 동일한 순서로 입력되는 데이터 부호열에 대하여, 제 1 EDC 연산을 실행하여, 섹터 단위마다 제 1 오류 검출 부호 연산 결과를 얻는다. 이 제 1 오류 검출 부호 연산 결과는, 입력된 데이터 부호열에 오류가 포함되어 있지 않는 경우에는 정상인 값으로 되고, 오류가 포함되어 있는 경우에는 부정한 값으로 된다.
그리고, 상기 단계 S10에 의해 얻어지는 신드롬 연산 결과가 "0"이고, 입력된 데이터 부호열에 오류가 존재하지 않는다고 판정된 경우에는, 단계 S30의 오류 정정 처리는 행해지지 않고, 일련의 처리를 종료한다. 그리고 이 경우, 상기 단계 S20에 있어서 얻어진 제 1 오류 검출 부호 연산 결과가, 당해 오류 검출 장치로부터 얻어지는 정확한 EDC 연산 결과로서 출력된다.
한편, 단계 S10에 의해 얻어지는 신드롬 연산 결과가 "0"으로 되지 않고, 입력된 데이터 부호열에 오류가 존재한다고 판정된 경우에는, 해당 데이터 부호열에 대하여 오류 정정 처리가 행해져, 오류 데이터 위치 및 오류 데이터 수치를 얻는다(단계 S30).
그리고, 단계 S40에 있어서, 상기 단계 S30에서 얻어진 오류 데이터 위치, 및 오류 데이터 수치를 바탕으로 하여, DVD로부터 입력되는 데이터 부호열 중, 해당 얻어진 오류 위치가 나타내는 데이터에 대해서만, 제 2 EDC 연산 처리를 실행하여, 제 2 오류 검출 부호 연산 결과를 얻는다. 이 때에 얻어지는 제 2 오류 검출 부호 연산 결과는, 해당 오류 검출 장치로부터 얻어지는 정확한 EDC 연산 결과와, 상기 단계 S20에서 얻어진 상기 제 1 오류 검출 부호 연산 결과와의 차분 정보이다.
따라서, 단계 S50에 있어서, 상기 단계 S40에서 얻어진 제 2 오류 검출 부호 연산 결과를 이용하여, 상기 단계 S20에서 얻어진 제 1 오류 검출 부호 연산 결과를 갱신하여, 그 갱신 후의 오류 검출 부호 연산 결과가, 당해 오류 검출 회로로부 터 얻어지는 정확한 EDC 연산 결과로서 출력된다.
또한, 상기 단계 S50과 동일한 파이프라인 처리 스테이지인 단계 S60에서, 스크램블 성분을 제거하기 위한 데이터를 유지하는 테이블을 이용하여, 입력되는 데이터 부호열의 스크램블 성분을 일괄로 제거하는 처리가 행해진다.
이상과 같은 일련의 처리를 행하는 것에 의해, ECC 처리와, EDC 처리, 및 입력되는 데이터 부호열의 스크램블 성분 제거 처리를, ECC 블럭을 버퍼로부터 한 번만 판독하는 것에 의해, 실행하는 것이 가능해진다.
또, 도 1에서는, 데이터 부호열의 스크램블 성분을, EDC 연산 처리 후에 일괄 제거하는 것으로 하여 설명하였지만, 상기 스크램블 성분을 EDC 연산 처리 후에 일괄 제거하는 것은 아니고, 단계 S20의 EDC 연산 처리 시, 상기 데이터 부호열이 입력될 때마다 제거하면서 연산 처리하도록 하더라도 좋다.
또한, 전술의 설명에서는, DVD에 기록되어 있는 데이터를 재생하는 경우를 예로 들어, 입력 데이터 부호열에 스크램블 성분이 포함하고 있는 경우를 상정하고 있지만, 입력 데이터 부호열에 스크램블 성분이 포함되어 있지 않는 경우도 있다. 예컨대, DVD에 데이터를 기록하는 경우에는, 입력 데이터에는 스크램블 성분은 포함되어 있지 않는다. 따라서 이 경우, 단계 S10의 신드롬 연산 처리 시, 상기 데이터 부호열이 입력될 때마다 스크램블 성분을 부가하면서 연산 처리한다. 또, 스크램블 성분을 데이터 부호열에 부가하는 경우는, 단계 S60에 나타내는 스크램블 제거와 같이 일괄해서 실행하는 것은 불가능하다.
다음에, ECC 처리와 EDC 처리의 동시 처리가 실행 가능한, 본 실시예 1에 있 어서의 오류 검출 회로의 구성에 대하여, 도 2를 이용하여 설명한다. 또, 여기서는, 도 1을 이용하여 설명한 바와 같이, 입력되는 데이터 부호열에 스크램블 성분이 포함되어, 해당 스크램블 성분을 일괄 제거하는 경우의 구성에 대하여 설명한다.
도 2는, 본 실시예 1에 따른 오류 검출 회로의 구성을 도시하는 도면이다.
본 실시예 1에 따른 오류 검출 회로(10)는, 상기 데이터 부호열에 대하여 신드롬 연산을 행하는 신드롬 연산기(21)를 갖는 오류 정정 회로(20)가 ECC 처리를 실시하는 것과 동시에, EDC 처리를 실시할 수 있는 것으로서, 도 2에 도시하는 바와 같이, 오류 검출 부호 연산 회로(111)와 오류 검출 부호 스킵 연산 회로(112)로 이루어지는 연산 회로(11)와, 제 1 오류 검출 부호 연산 결과 유지부(131)와 제 2 오류 검출 부호 연산 결과 유지부(132)로 이루어지는 제 1 메모리(13)와, 제 2 메모리(12)와, 제 1 오류 검출 제어 회로(141)와 제 2 오류 검출 제어 회로(142)로 이루어지는 제어 회로(14)로 구성된다. 그리고, 스크램블 제거부(15)는, 데이터 부호열의 스크램블 성분을 제거하는 것이다.
이하, 각 회로에 대하여 설명하면, 상기 제어 회로(14)는, 해당 오류 검출 회로(10)에 입력되는 데이터 부호열에 대하여 오류 검출을 행할 때에, 해당 오류 검출 회로(1O)를 제어하는 것이고, 상기 제 1 오류 검출 제어 회로(141)는, 상기 오류 정정 회로(20) 내의 신드롬 연산기(21)에 있어서의 상기 데이터 부호열에 대한 신드롬 연산과 동시에 행하여지는 제 1 EDC 연산 처리(도 1의 단계 S20)를 제어하고, 상기 제 2 오류 검출 제어 회로(142)는, 상기 오류 정정 회로(20)에 의한 오 류 정정 처리 후의 제 2 EDC 연산 처리, 및 상기 제 1 EDC 연산 결과의 갱신 처리(도 1의 단계 S40, S50)를 제어한다.
그리고, 상기 연산 회로(11)는, 상기 제어 회로(14)의 제어 하, 입력되는 상기 데이터 부호열에 대하여 오류 검출 연산을 행하는 것이며, 상기 오류 검출 부호 연산 회로(111)는, 상기 데이터 부호열이 도 11의 C1 방향, 즉, 연속성이 있는 배열로 입력되었을 때에, 해당 데이터 부호열의 오류 검출 부호를 임의의 데이터마다(여기서는 4 바이트마다) 연산하는 것이며, 상기 오류 검출 부호 스킵 연산 회로(112)는, 상기 데이터 부호열이 도 11의 C2 방향, 즉, 연속성이 없는 배열로 입력된 경우에, 해당 입력 데이터에 연속성을 갖게 하도록, 데이터를 스킵시켜 입력 데이터 간의 연속성을 보정하는 스킵 연산을 행한다.
그리고, 상기 제 1 메모리(13)는, 상기 연산 회로(11)에 있어서 얻어진 도중 연산 결과를 유지해 가는 것이며, 상기 제 1 오류 검출 부호 연산 결과 유지부(131)는, 상기 제 1 오류 검출 제어 회로(141)의 제어 하에서 행해지는 제 1 EDC 연산(도 1의 단계 S20)에서 얻어진 연산 결과를 유지하는 것이고, 상기 제 2 오류 검출 부호 연산 결과 유지부(132)는, 상기 제 2 오류 검출 제어 회로(142)의 제어 하에서 행해지는 제 2 EDC 연산(도 1의 단계 S40)에서 얻어진 연산 결과, 즉, 상기 제 1 EDC 연산 처리에 의한 연산 결과를 갱신하기 위한 차분 정보를 유지하는 것이다.
그리고, 상기 제 2 메모리(12)는, 상기 제 1 메모리(l3)로부터 출력된 연산 결과를 섹터마다 유지하는 것이고, 상기 제 2 EDC 연산 처리 후에, 상기 제 1 EDC 연산 결과가 상기 제 2 EDC 연산 결과에 의해 갱신되어, 해당 제 2 메모리(12)에는, 정확한 EDC 연산 결과가 유지된다.
이하, ECC 처리와 EDC 처리의 동시 실행 처리 동작을 설명한다.
우선, 오류 정정 회로(20)에서, 대상 데이터 부호열이 도 11의 C1 방향으로 정정 처리되는 경우, 오류 정정 회로(20) 및 오류 검출 회로(10)에 대하여, DVD로부터, 오류 정정 및 오류 검출을 해야되는 데이터 부호열이, 도 11의 C1 방향을 따라서, 연속성이 있는 배열로, 1 ECC 블럭분 입력된다. 데이터 부호열이 입력되면, 오류 정정 회로(20)에서는, 신드롬 연산기(21)에 있어서 ECC 처리의 신드롬 연산이 행해지는(도 1의 단계 S10) 동시에, 오류 검출 회로(10)에서는, 연산 회로(11)의 오류 검출 부호 연산 회로(111)에서, 제 1 오류 검출 제어 회로(141)의 제어 하, 제 1 EDC 연산이 행해져(도 1의 단계 S20), 섹터 단위마다 제 1 오류 검출 부호 연산 결과가 얻어진다. 이 제 1 오류 검출 부호 연산 결과는, 제 1 메모리(13)의 제 1 오류 검출 부호 연산 결과 유지부(131)에 유지된다.
한편, 오류 정정 회로(20)에서, 대상 데이터 부호열이 도 11의 C2 방향으로 정정 처리되는 경우에는, 오류 정정 회로(20) 및 오류 검출 회로(10)에 대하여, DVD로부터, 오류 정정 및 오류 검출을 해야되는 데이터 부호열이, 도 11의 C2 방향을 따라서, 연속성이 없는 배열로, 1 ECC 블록분 입력된다.
구체적으로는, 오류 정정 회로(20) 및 오류 검출 회로(10)에 대하여 입력되는 데이터 부호열은, 도 3에 도시하는 바와 같이 된다. 도 3은, 본 실시예 1에 있어서의 1 ECC 블럭의 제 0 섹터의 데이터 부호열에 대하여 C2 방향으로 오류 정정 처리될 때의, 오류 정정 회로 및 오류 검출 회로에 대한 데이터 부호열의 데이터 입력 순서 및 EDC 연산 순서를 도시하는 도면이다.
이러한 연속성이 없는 배열로 데이터 부호열이 입력되면, 오류 정정 회로(20) 내의 신드롬 연산기(21)에서, 신드롬 연산이 실행되는 동시에(도 1의 단계 S10), 오류 검출 회로(10) 내의 연산 회로(11)의 오류 검출 부호 스킵 연산 회로(112)에서, 제 1 오류 검출 제어 회로(141)의 제어 하, 제 1 EDC 연산 처리가 행해진다.
이하, 오류 정정 회로에서 C2 방향 정정 시에 동시에 EDC 연산 처리를 행하는 경우에 대하여, 도 4 및 도 5를 참조하면서 설명한다.
도 4는, 본 실시예 1에 있어서의 오류 검출 회로에 데이터 부호열이 연속성이 없는 배열로 입력되었을 때의, 제 1 EDC 연산 처리를 나타내는 플로우차트도, 도 5는, 제 1 EDC 연산 처리 시의 데이터의 흐름을 도시하는 도면이다.
도 4에 도시하는 바와 같이, 제 1 EDC 연산 처리가 개시되면, 우선, 제 1 오류 검출 제어 회로(141) 내에 유지되어 있는 섹타 내 행수 카운터 "ROW"와, 섹터 내 열수 카운터 "COL"를 초기화한다(단계 S201, S202). 그리고, 제 1 메모리(13) 내의 제 1 오류 검출 부호 연산 결과 유지부(131)의 값(이하, 「"TMP_EDC_VAL_1"」이라고 칭함.), 및 제 2 메모리(12)의 값(이하, 「"EDC_VAL"」이라고 칭함.)를 초기화한다(단계 S203, S204).
이 후, 오류 검출 회로(10) 및 오류 정정 회로(20)에 있어서, 상기 데이터 부호열을 4 바이트 수신한다. 이 수신한 데이터는, 도 3에 나타내는 "0"번째의 데 이터이다(단계 S205).
그리고, 수신한 데이터에 대하여, 오류 검출 부호 연산 회로(111)에 있어서, 후술하는 4 바이트 입력의 EDC 연산 처리를 행하고(단계 S206), 그 연산 결과와, "TMP_EDC_VAL_1"의 EXOR을 취한 값을, 재차 "TMP_EDC_VAL_1"로 유지한다(단계 S207).
이상과 같이 하여 "0"번째의 데이터의 EDC 연산이 종료 후, 다음에 입력되는 데이터 부호열은, 도 3에 나타내는 "1"번째의 데이터이다. 이 다음에 입력되는 "1"번째의 데이터는, 도 3으로부터 명백한 바와 같이, 먼저 입력된 "0"번째의 데이터와 데이터의 배열에 연속성을 갖지 않는다.
데이터의 배열에 연속성이 있는지 여부는, 상기 제 1 오류 검출 제어 회로(141)에서, 현재 처리 중인 섹터 내 행수 카운터 "ROW"을 판정하여, 해당 섹터 내 행수 카운터 "ROW"가, 섹터 내 최종행인 "11"이 아니면, 데이터에 연속성이 없다고 판단한다(단계 S208).
그리고, 상기 제 1 오류 검출 제어 회로(141)에서, 데이터에 연속성이 없다고 판단되면, "0"번째의 데이터와 "1"번째의 데이터 간의 연속성을 보정하기 위해서, 상기 제 1 오류 검출 제어 회로(141)의 제어 하, 상기 연산 회로(11) 내의 오류 검출 부호 스킵 연산 회로(112)에 의해서, 168 바이트 스킵 EDC 스킵 연산 처리를 행한다(단계 S209). 이 처리의 상세에 대해서는 후술한다.
그리고, 이 오류 검출 부호 스킵 연산 회로(112)에 의해 얻은 스킵 연산 결과와, 상기 "TMP_EDC_VAL_1"의 EXOR를 취한 값을, 재차 "TMP_EDC_VAL_1"로 유지한 다(단계 S210).
이 후, 상기 제 1 오류 정정 검출 제어 회로(141)는, 섹터 내 행수 카운터"ROW"를 1 증분하여(단계 S211), 다음 행의 EDC 연산 처리로 이행한다.
이상의 처리를, 상기 섹터 내 행수 카운터 "ROW"가 섹터 내 최종행인 "11"이 될 때까지 반복한다.
단계 S208에 있어서, 상기 섹터 내 행수 카운터 "ROW"가 "11"이 된 경우에는, 도 3에 나타내는 "11"번째, 또는 "219"번째,... "8539"번째의 데이터 입력에 대응한 4 바이트 입력의 EDC 연산 처리가 종료하고 있는 상태로 된다.
그리고, 상기 섹터 내 열수 카운터 "COL"가 "42"가 될 때까지, "COL"의 값마다 상기 오류 검출 부호 스킵 연산 회로(l12)에서 실행하는 EDC 스킵 연산 처리는 상이하기 때문에, 상기 섹터 내 행수 카운터 "ROW"가 "11"이 될 때마다, 상기 제 1 오류 검출 제어 회로(141)에 의해, 현재의 섹터 내 열수 카운터 "COL"의 값에 대응한 개별의 처리(도 4의 단계 S213 참조)로 되도록 제어된다.
예컨대, 단계 S213의 시점에서, 현재 상기 섹터 내 열수 카운터 "COL"가 "1", 즉, 도 3에 나타내는 "219"번째의 데이터까지 EDC 연산 처리가 종료하고 있는 상태이면, 해당 "219"번째의 데이터와, 도 3에 나타내는 섹터의 최종 데이터이며 EDC 영역인 "8747"번째의 데이터까지의 차분은 164 바이트이기 때문에, 상기 제 1 오류 검출 제어 회로(141)는, 상기 오류 검출 부호 스킵 연산 회로(112)에 있어서, 164 바이트 스킵시키는 EDC 스킵 연산 처리를 행하도록 제어한다. 또한, 상기 단계 S213 시점에서, 상기 섹터 내 열수 카운터 "COL"가 "41", 즉, 도 3에 나타내는 "8539"번째의 데이터까지의 EDC 연산 처리가 종료하고 있는 상태이면, 해당 "8539"번째의 데이터와, 도 3에 나타내는 최종 데이터이며 EDC 영역인 "8747"번째의 데이터까지의 차분은 4 바이트이기 때문에, 상기 제 1 오류 검출 제어 회로(141)는, 상기 오류 검출 부호 스킵 연산 회로(112)에서, 4 바이트 스킵시키는 EDC 스킵 연산 처리를 행하도록 제어한다.
그리고, 상기 섹터 내 열수 카운터 "CC1L"값마다 상이한, 상기 오류 검출 부호 스킵 연산 회로(112)에 의한 스킵 연산 결과와, "TMP_EDC_VAL_1"와의 EXOR를 취한 값을, 재차 "TMP_EDC_VAL_1"로 유지한다(단계 S214).
이 시점에서, 제 1 메모리(13) 내의, 제 1 오류 검출 부호 연산 결과 유지부(131)("TMP_EDC_VAL_1")에는, 섹터 내 1열분의 연산 결과가 유지된 것으로 되기 때문에, 도 5에 도시하는 바와 같이, 제 1 에러 제어 회로(141)에 의해, 이 유지된 연산값을 제 2 메모리(12)("EDC_VAL")에 출력하고, 해당 제 2 메모리(12) 내의 대응하는 섹터 레지스터에 출력하여 유지한다. 즉, "EDC_VAL"과 "TMP_EDC_VAL_1"와의 EXOR를 취한 값을, 재차 "EDC_VAL"로 유지한다(단계 S215). 예컨대, 현재 제 0 섹터 내의 "COL"가 "1", 즉, 도 3에 나타내는 "219"번째의 데이터까지의 EDC 연산이 종료하고, "TMP_EDC_VAL_1"에는, 도 3의 "208"번째∼"219"번째의 데이터까지의 EXOR를 취한 값이 유지되어 있는 경우, 도 5에 도시하는 바와 같이, 이 값을 "EDC_VAL" 내의 제 0 섹터 레지스터에 출력한다.
이 후, "ROW"을 초기화하여(단계 S216), "COL"을 1 증분한다(단계 S217).
한편, 상기 단계 S208에서 "ROW"가 "11"이고, 상기 단계 S212에서 "COL"이 "42"이었던 경우에는, 도 3에 나타내는 "8747"번째의 데이터 입력에 대응한 4 바이트 입력 EDC 연산 처리가 종료한 상태이기 때문에, "EDC_VAL"와 "TMP_EDC_VAL_1"와의 EXOR를 취한 값을, 재차 "EDC_VAL"로 유지하여(단계 S218), "ROW" 및 "COL"을 초기화하여(단계 S219, S220), 처리를 종료한다.
이상의 단계에 의해, 도 3에 나타내는 ECC 블록 내 제 0 섹터의 제 1 EDC 연산 결과가 모두 구해져서, 처리를 종료한다.
이와 같이 하여, 상기 단계 S20에서, 1 ECC 블록 내의 16 섹터 전부에 대한 제 1 EDC 연산 처리가 종료한 후, 상기 단계 S10에서, 상기 오류 정정 회로(20)에 있어서의 신드롬 연산값이 "0"이 아니고, 오류가 포함되어 있는 것이라고 판단된 경우에는, 오류 정정 처리가 실시된다(도 1의 단계 S30). 또, 상기 신드롬 연산값이 "0"의 경우에는, 여기서 일련의 처리는 종료되어, 상기 제 1 EDC 연산 결과가, 오류 검출 회로(10)로부터 얻어지는 정확한 EDC 연산 결과로서 출력된다.
그리고, 상기 오류 정정 회로(20)에 있어서의 신드롬 연산값이 "0"이 아니었던 경우에는, 상기 단계 S30의 오류 정정 처리에서 얻어진 오류 데이터 위치 및 오류 데이터 수치를 이용하여, 해당 오류 데이터 위치가 나타내는 개소만 제 2 EDC 연산 처리가 행해진다.
이 제 2 EDC 연산 처리에 대해서는, 제 2 오류 검출 제어 회로(142)의 제어 하, 상술한 제 1 EDC 연산 처리와 마찬가지로, 연산 회로(11) 내의 오류 검출 부호 연산 회로(111) 및 오류 검출 부호 스킵 연산 회로(112)에 의해서, 제 2 EDC 연산 처리가 행해진다. 단, 입력되는 상기 데이터 부호열 중, 상기 단계 S30의 오류 정 정 회로(20)에 의한 오류 정정 처리에서 얻어진 오류 데이터 위치가 나타내는 데이터에 대해서만 실행한다. 이 제 2 EDC 연산 결과는, 도 6의 제 2 EDC 연산 처리 시의 데이터 흐름에 도시되는 바와 같이, 제 1 메모리(13) 내의 제 2 오류 검출 부호 연산 결과 유지부(132)(이하, "TMP_EDC_VAL_2"라 칭함.)에 유지된다. 이 "TMP_EDC_VAL_2"에 유지되는 값은, 상술한 바와 같이, 당해 오류 검출 회로(10)로부터 얻어질 것인 정확한 EDC 연산 결과와, 실제로 상기 단계 S20의 제 1 EDC 연산 처리에 의해 얻어져, 현재 "EDC_VAL"(제 2 메모리(12))에 유지되고 있는 제 1 오류 검출 부호 연산 결과와의 차분 정보이다.
따라서, 상기 단계 S30의 오류 정정 회로(20)에 의한 오류 정정 처리에서 얻어진 상기 오류 데이터 위치에 대하여, 제 2 EDC 처리가 종료 후(도 1의 단계 S40), 상기 제 2 오류 검출 제어 회로(142)는, 도 6에 도시하는 바와 같이, 상기 "TMP_EDC_VAL_2"와, 상기 "EDC_VAL"의 EXOR를 취하는 것에 의해, 상기 "EDC_VAL"의 값을 갱신하여, 정확한 오류 검출 부호 연산 결과를 얻는다(도 1의 단계 S50).
그리고, 제 2 메모리(12)에 유지된 정확한 오류 검출 부호 연산 결과를 얻는 동시에, 상기 스크램블 제거부(l5)에서, 스크램블 성분의 일괄 제거 처리를 행한다(도 1의 단계 S60). 이 처리는, 상기 스크램블 제거부(15) 내에, 스크램블 성분을 제거하기 위한 데이터를 유지하는 테이블을 마련해 두고, 해당 테이블을 이용하여 EDC 연산 처리 후의 데이터 부호열의 스크램블 성분을 일괄로 제거한다.
단, 상술한 바와 같이, 이 스크램블 성분의 제거 처리는, 도 1의 단계 S20의 EDC 연산 처리 시, 상기 데이터 부호열이 입력될 때마다 스크램블 성분을 제거하면 서 연산 처리하도록 하더라도 좋다. 이 경우의 구성은, 도 9에 도시하는 바와 같이 오류 검출 회로(10)의 전단에 스크램블 제거부(15)를 마련하면 좋다. 또한, 입력 데이터 부호열에 스크램블 성분이 포함되어 있지 않는 경우에는, ECC 처리를 행하기 위해서 해당 데이터 부호열에 스크램블 성분을 부가할 필요가 있기 때문에, 도 10에 도시하는 바와 같이, 오류 정정 회로(20)의 전단에 스크램블 성분을 부가하는 스크램블 부가부를 마련하고, 도 1의 단계 S10의 오류 정정 회로에 의한 신드롬 연산 처리 시, 상기 데이터 부호열이 입력될 때마다 스크램블 성분을 부가하면서 연산 처리하도록 하면 좋다.
여기서, 오류 검출 회로(10)에 있어서, 오류 검출 부호 연산 처리를 행할 때에, 2개의 메모리, 즉, "TMP_EDC_VAL_1"(제 1 메모리(13)) 및 "EDC_VAL"(제 2 메모리(12))를 사용하는 이유를 이하에 나타낸다.
도 3에 도시하는 바와 같이, 대상으로 되는 데이터 부호열이 연속성이 없는 배열(도 11의 C2 방향)로 오류 검출 회로(10)에 입력될 때, 1 ECC 블럭의 제 0 섹터의 "COL"가 "1"의 열에 있어서의, 상기 오류 검출 회로(10)에 대한 데이터 입력순서는, "0"번째, `"1"번째, "2"번째, ... "11"번째의 데이터까지 입력된 후, 제 0 섹터의 "208"번째의 데이터가 아니라, 제 1 섹터의 데이터인 "12"번째, "13"번째,...롸 같이 연속하여 입력되어 버린다. 즉, 도 3에 나타내는 제 0 섹터의 "208"번째의 데이터가 입력되는 것은, 도 11에 나타내는 1 ECC 블록 최종 섹터인 제 15 섹터 최종행의 "191"번째의 데이터까지 입력하고, C2 패리티 데이터인 최종행의 "207"번째의 데이터가 입력된 후로 된다.
따라서, 상기 오류 검출 회로(10)에, 도 11의 C2 방향으로 데이터가 입력떠는 경우, 각 섹터의 l열마다의 EDC 연산 결과밖에 얻어지지 않기 때문에, 전회 입력된 데이터를 바탕으로 각 섹터마다의 1열의 EDC 스킵 연산을 행한 결과를 유지하는 메모리가, 제 0 섹터로부터 제 15 섹터의 모든 열 위치("COL"가 1로부터 42까지)에서 필요하게 되고, 또한, 해당 각 섹터마다의 각 열의 EDC 연산 결과를, 전회 얻어진 연산 결과에 가산하면서 유지하기 위한 메모리가, 제 0 섹터로부터 제 15 섹터의 각 섹터마다, 개별로 사용할 수 있도록 할 필요가 있다.
따라서, 본 실시예 1에서는, 각 섹터 내의 1열분의 EDC 연산 결과를, 제 1 메모리(13)에 유지하면서 EXOR를 취하는 것에 의해 얻어지고, 1열분의 EDC 연산 결과가 얻어질 때마다, 상기 제 1 메묘리(13)의 값을, 제 2 메모리(12) 내에 마련된 대응하는 섹터마다의 레지스터에 유지한 후, 상기 제 1 메모리(13) 내의 값을 리세트하여, 상기 제 1 메모리를, 다음 섹터의 1열분의 EDC 연산 결과를 얻기 위해서 사용할 수 있도록 한 것이다.
다음에, 상술한 오류 검출 부호 연산 회로(111)에 있어서의 EDC 연산 처리, 및 오류 검출 부호 단계 연산 회로(112)에 있어서의 EDC 스킵 연산 처리의 상세에 대하여, 도 15를 참조하면서 설명한다.
도 15에 도시하는 바와 같이, EDC 연산 회로는 32 비트의 시프트 레지스터로 구성되기 때문에, 32 비트 모두에 0이 존재하는 EDC 연산 회로에 대하여, 임의의 비트값을 EDC 연산 회로에 입력한 후의 EDC 연산 결과인 32 비트의 시프트 레지스터값은, 32 비트 중의 각 비트에 대하여, 임의의 비트값을 입력하기 전의 각 비트 간의 관계식으로 표현할 수 있다.
예컨대, 0의 값인 1 비트가 도 15의 EDC 연산 회로에 입력된 경우, 32 비트중의 각 비트값은, 0의 값인 1 비트가 입력되기 전의 32 비트 각각의 상태를 Bit'로서 아래와 같이 나타낼 수 있다.
Figure 112006014178494-PCT00002
상술한 1 비트 스킵 연산 처리식은, 전회에 EDC 연산 회로에 대하여 입력된 데이터와, 새롭게 EDC 연산 회로에 대하여 입력된 데이터 사이의 차분이 1 비트인 때에 이용하는, 연산 회로(11) 내의 오류 검출 부호 연산 회로(111)의 연산 처리식이다.
또한, 도 4에 나타내는 단계 S209 이외에, 데이터의 연속성을 유지하기 위해서, 데이터를 168 바이트 스킵시키는 EDC 스킵 연산 처리를 생각할 때, 32 비트 전부에 0이 존재하는 도 15에서 나타내는 EDC 연산 회로에 대하여, 모두 0의 값인 1344 비트(168 바이트)가 입력된 후의 EDC 연산 결과인 32 비트의 시프트 레지스터값은, 0의 값인 1 비트가 입력되기 전의 32 비트 각각의 상태를 Bit'로서 아래와 같이 나타낼 수 있다.
Figure 112006014178494-PCT00003
상술한 168 바이트 스킵 연산 처리식은, 전회에 EDC 연산 회로에 대하여 입력된 데이터와, 새롭게 EDC 연산 회로에 대하여 입력된 데이터 사이의 차분이 168 바이트인 때에 이용하는, 연산 회로(11) 내의 오류 검출 부호 스킵 연산 회로(112) 의 하나의 연산 처리식이다. 그리고, 도 4의 단계 S213에 있어서는, 각 "COL" 값에 따른 스킵 연산 처리를 행할 필요가 있고, 이 각 "COL"값에 따른 스킵 연산 처리식에 대해서도, 상기 168 바이트 스킵 연산 처리식과 마찬가지로 하여 얻을 수 있고, 도 4에 있어서의 단계 S213에서는, 각 "COL"값에 따른 스킵 연산 처리식을 42가지 준비하면 되는 것으로 된다.
또, 상술한 바와 같이 도 4에 있어서의 단계 S213의 처리를 위해, "COL" 값에 따른 스킵 연산 처리식을 전부 42가지 준비하는 것은 아니고, 상기 스킵 연산을 분할하여 처리하도록 하면, 상기 단계 S213에 있어서의 단계 수를 삭감하는 것이 가능해진다.
이하, 스킵 연산 처리를 분할 처리에 의해 실행하는 경우에 대하여, 도 7의 168 바이트 스킵시키는 EDC 스킵 연산 처리의 설명도, 및 도 8의 168 바이트 스킵시키는 EDC 스킵 연산 처리를 분할하여 실행하는 경우의 설명도를 이용하여 설명한다.
도 7에 도시하는 바와 같이, 도 3에 나타내는 "COL"가 "0"인 경우에는, "ROW"이 "11"의 시점에서 l68 바이트 스킵시키는 EDC 스킵 연산을 행할 필요가 있다. 이와 같이, 섹터 중의 모든 EDC 연산을 행하기 위해서는, EDC 스킵 연산 처리는 "COL"이 "0"으로부터 "41"까지의 42가지에 대해 준비해 둘 필요가 있어, 처리 연산을 크게 소비해 버린다.
여기서, 예컨대, 데이터를 168 바이트 스킵시키는 EDC 스킵 연산 처리를 행하는 것과, 28 바이트 스킵시키는 EDC 스킵 연산 처리를 6회 실행하는 것이 등가로 된다. 이것을 이용하여, 단계 S213에 있어서, 42가지의 스킵 연산 처리식을 개별적으로 준비하는 것은 아니고, 예컨대, 데이터를 168 바이트 스킵시키는 EDC 스킵 연산 처리를, 도 8에 도시하는 바와 같이, 별개로 존재하는, 데이터를 28 바이트 스킵시키는 EDC 스킵 연산 처리를 6회 재이용하는 방법으로 변경한다. 또, 데이터를 168 바이트 스킵시키는 경우, 예컨대, 4 바이트 스킵시키는 EDC 스킵 연산 처리를 42회 재이용하는 것도 생각할 수 있지만, 이와 같이 하면 이번에는 처리 시간이 대폭 걸어져 버린다고 하는 문제가 발생하기 때문에, 다른 연산 처리 결과를 재이용하는 경우에는, 그 스킵 연산에 걸리는 처리 시간과, 준비하는 연산 처리에 필요한 처리 자원을 겸하여 정하는 것이 좋다.
이상과 같이, 본 실시예 1에 의하면, 입력된 데이터 부호열에 대하여, 입력 데이터 단위 바이트에 대응한 제 1 EDC 연산 처리를 행하여, 그 연산 결과를 제 1 메모리(13) 내의 제 1 오류 검출 부호 연산 결과 유지부(131)에 유지한 후에, 해당 제 1 오류 검출 부호 연산 결과 유지부(131)의 값과, 다음에 입력되는 데이터까지의 차분 바이트 수의 EDC 스킵 연산 처리의 연산 결과의 EXOR를 취하는 것을 반복하도록 하였기 때문에, EDC 연산 처리를 행할 때에, 입력되는 데이터가 논리적인 연속성이 없는 방향(도 11의 C2 방향)이더라도, EDC 연산 처리를 실행하는 것이 가능해져, 상기 ECC 및 EDC의 양 처리의 반도체 집적 회로의 실장을 실현할 수 있다. 또한, 이에 따라, ECC 처리와 EDC 처리를 동시 실시가 가능해지기 때문에, ECC 블럭을 버퍼로부터 한번 판독하는 것만으로 양 처리를 실행할 수 있어, ECC 처리를 위해 버퍼로부터 판독한 1 ECC 블럭을, ECC 처리 후에 재차 판독하여 EDC 연산 처 리를 행할 필요가 없어져서, 메모리 버퍼의 대역폭의 소비, 및 처리 시의 비대화를 저감할 수 있다.
또한, 상기 연산 회로(11) 내의 오류 검출 부호 스킵 연산 회로(112)에 있어서의, EDC 스킵 연산 처리를, 분할 처리 방법을 이용하여 실행하면, 섹터 내의 EDC 처리 단위열에 대응한, 모든 EDC 스킵 연산 처리를 준비하지 않고, 별개로 존재하는 EDC 스킵 연산 처리를 복수회 재이용할 수 있고, 이 결과, 처리 자원의 소비를 억제하는 것이 가능해진다.
또, 전술한 설명에 있어서는, 데이터에 논리적인 연속성이 없는 C2 방향의 ECC 처리와 EDC 연산 처리를 동시 실행하는 경우의 EDC 연산 처리에 대하여 상술하였지만, 본 실시예 1에 따른 오류 검출 회로(10)에 있어서, 데이터에 논리적인 연속성이 있는 C1 방향의 ECC 처리와 EDC 연산 처리를 동시 실행하는 것도 가능하다. 이 경우 제 1 EDC 연산 처리는, 상술한 C2 방향의 처리와는 달리, 스킵 연산을 행할 필요가 없기 때문에, 연산 회로(11) 내의 오류 검출 부호 연산 회로(111)만을 사용하여, 연산 처리 단위(여기서는 4 바이트)마다 얻어진 연산 결과를 제 1 메모리(l3) 내의 제 1 오류 검출 부호 연산 결과 유지부(131)에 유지해 가고, 1 섹터의 EDC 연산 처리가 종료 후, 상기 제 1 오류 검출 부호 연산 결과 유지부(131)에 유지한 연산 결과를, 제 2 메모리(12) 내의 대응하는 섹터 레지스터에 유지하여, 다음 섹터의 EDC 연산 처리로 이행하는 처리를 반복한다. 그리고, 제 2 EDC 연산 처리는, 상술한 C2 방향의 처리와 마찬가지로 상기 오류 검출 회로(20)에서 얻어진 오류 데이터 위치 및 오류 데이터 수치를 바탕으로, 입력되는 데이터 부호열 중, 상기 오류 데이터 위치의 데이터에 대해서만 재차 EDC 연산 처리를 행하여, 얻어진 연산 결과를 제 1 메모리(13) 내의 제 2 오류 검출 부호 연산 결과 유지부(132)에 유지하고, 해당 제 2 EDC 처리가 종료 후, 그 시점에서 제 2 메모리(l2)에 유지되어 있는 제 1 EDC 연산 결과를, 상기 제 2 오류 검출 부호 연산 결과 유지부(132)에 유지된 연산 결과를 이용하여 갱신해서, 정확한 EDC 연산 결과를 얻는다.
본 발명의 오류 검출 장치 및 오류 검출 방법은, ECC 복호화된 디지털 데이터를 고 배속으로 기록 또는 재생하는 광 디스크 기록 재생 장치에 있어서, 데이터를 기록 재생할 때에, 오류 정정 및 오류 검출을 동시 처리시킬 때에 유용하다.

Claims (14)

  1. 각각 매트릭스 형상의 데이터로 이루어지는 복수의 섹터에 의해 구성되는 대상 부호열에 대하여 신드롬 연산(syndrome calculation)을 행하는 신드롬 연산기를 갖고, 해당 대상 부호열에 대하여 오류 정정 회로에 의한 오류 정정 처리를 행하는 동시에, 해당 대상 부호열에 대하여 상기 섹터 단위로 오류 검출을 행하는 오류 검출 장치로서,
    상기 대상 부호열의 오류 검출 부호를 연산하는 오류 검출 부호 연산 회로와,
    상기 대상 부호열이 연속성이 없는 배열로 입력되었을 때에, 해당 부호열의 배열을 연속시키도록 데이터를 스킵시켜 데이터 간의 연속성을 보정하는 스킵 연산을 행하는 오류 검출 부호 스킵 연산 회로와,
    상기 신드롬 연산과 동일한 시점에서 행해지는, 상기 오류 검출 부호 연산 회로 혹은 오류 검출 부호 스킵 연산 회로에 의한 제 1 오류 검출 부호 연산 처리를 제어하는 제 1 오류 검출 제어 회로와,
    상기 오류 정정 처리 후에, 해당 오류 정정 처리로부터 얻어진 오류 데이터 위치 및 오류 데이터 수치를 바탕으로, 해당 오류 데이터 위치가 나타내는 데이터에 대해서만 실행하는 제 2 오류 검출 부호 연산 처리를 제어함과 아울러, 해당 제 2 오류 검출 부호 연산 처리에 의한 연산 결과를 바탕으로, 상기 제 1 오류 검출 부호 연산 처리의 연산 결과를 갱신하는 갱신 처리를 제어하는 제 2 오류 검출 제 어 회로와,
    상기 오류 검출 부호 연산 회로, 및 상기 오류 검출 부호 스킵 연산 회로에 의한 연산 결과를 유지하는 메모리
    를 구비하는 것을 특징으로 하는 오류 검출 장치.
  2. 제 1 항에 있어서,
    상기 오류 검출 부호 스킵 연산 회로는, 전회까지 입력된 대상 부호열의 오류 검출 부호를 입력으로 하여, 해당 오류 검출 부호 스킵 연산 회로에 미리 설정된 스킵 연산을 행하는 것을 특징으로 하는 오류 검출 장치.
  3. 제 1 항에 있어서,
    상기 메모리는, 상기 대상 부호열이 연속성이 있는 배열로 입력되었을 때에는, 상기 오류 검출 부호 연산 회로, 및 상기 오류 검출 부호 스킵 연산 회로에 의한 섹터 단위의 연산 결과를 유지하고, 상기 대상 부호열이 연속성이 없는 배열로 입력되었을 때에는, 상기 오류 검출 부호 연산 회로, 및 상기 오류 검출 부호 스킵 연산 회로에 의한 섹터마다의 도중 연산 결과를 유지하는 제 1 메모리와,
    상기 제 1 메모리로부터 송신되는 연산 결과를, 상기 각 섹터마다 유지하는 제 2 메모리를 구비하는 것을 특징으로 하는 오류 검출 장치.
  4. 제 1 항에 있어서,
    상기 제 1 메모리는, 상기 오류 검출 부호 연산 회로, 및 상기 오류 검출 부호 스킵 연산 회로에서 실행되는, 상기 제 1 오류 검출 부호 연산 처리에 의한 연산 결과를 유지하는 메모리와, 상기 제 2 오류 검출 부호 연산 처리에 의한, 상기 제 1 오류 검출 부호 연산 처리의 연산 결과를 갱신하는 차분 연산 결과를 유지하는 메모리를 포함하는 것을 특징으로 하는 오류 검출 장치.
  5. 제 1 항에 있어서,
    상기 오류 검출 부호 스킵 연산 회로는, 상기 대상 부호열이 연속성이 없는 배열로 입력되었을 때, 해당 대상 부호열 중 상기 섹터의 비최종행에 있어서는, 일정한 바이트 수를 스킵시키는 스킵 연산을 행하고, 상기 대상 부호열 중 상기 섹터의 최종행에 있어서는, 해당 데이터가 존재하는 열 위치에 따른 바이트 수를 스킵시키는 개별의 스킵 연산을 행하는 것을 특징으로 하는 오류 검출 장치.
  6. 제 1 항에 있어서,
    상기 대상 부호열의 해당 스크램블 성분을 일괄 제거하는 스크램블 제거부를 포함하는 것을 특징으로 하는 오류 검출 장치.
  7. 제 6 항에 있어서,
    상기 스크램블 제거부는, 상기 대상 부호열의 스크램블 성분을 제거하기 위한 데이터를 유지하는 테이블을 갖는 것을 특징으로 하는 오류 검출 장치.
  8. 각각 매트릭스 형상의 데이터로 이루어지는 복수의 섹터에 의해 구성되는, 연속성이 없는 배열로 입력된 대상 부호열에 대하여 오류 정정 단위 블록 단위로 오류 정정을 행하는 동시에, 해당 연속성이 없는 배열로 입력되는 대상 부호열에 대하여 상기 섹터 단위로 오류 검출을 행하는 오류 검출 방법으로서,
    상기 대상 부호열에 대하여 신드롬 연산을 행하는 신드롬 연산 단계와,
    상기 신드롬 연산 단계와 동시에 행해지는, 해당 연속성이 없는 배열로 입력되는 대상 부호열에 대하여 오류 검출 부호 연산을 행하는 제 1 오류 검출 부호 연산 단계와,
    상기 신드롬 연산 단계에서 얻어진 신드롬에 근거하여, 상기 대상 부호열의 오류 데이터 위치 및 오류 데이터 수치를 계산하여 오류 정정을 행하는 오류 정정 단계와,
    상기 오류 정정 단계에서 얻어진 상기 오류 데이터 위치 및 오류 데이터 수치를 바탕으로, 상기 대상 부호열 중의 상기 오류 데이터 위치에 대해서만 재차 오류 검출 부호 연산을 행하는 제 2 오류 검출 부호 연산 단계와,
    상기 제 2 오류 검출 부호 연산 단계에 의한 연산 결과를 이용하여, 상기 제 1 오류 검출 부호 연산 단계에 의한 연산 결과를 갱신하는 갱신 단계를 포함하며,
    상기 제 1 오류 검출 부호 연산 단계 및 제 2 오류 검출 연산 단계는,
    상기 대상 부호열의 오류 검출 부호를 연산하는 오류 검출 부호 연산 단계와,
    상기 연속성이 없는 배열로 입력된 대상 부호열의 배열을 연속시키도록 데이터를 스킵시켜 데이터 간의 연속성을 보정하는 스킵 연산을 행하는 오류 검출 부호 스킵 연산 단계를 포함하는 것을 특징으로 하는 오류 검출 방법.
  9. 제 8 항에 있어서,
    상기 오류 검출 부호 스킵 연산 단계는, 전회까지 입력된 대상 부호열의 오류 검출 부호를 입력으로 하여, 미리 설정된 스킵 연산을 행하는 것을 특징으로 하는 오류 검출 방법.
  10. 제 8 항에 있어서,
    상기 오류 검출 부호 스킵 연산 단계는, 상기 대상 부호열 중 상기 섹터의 비최종행에 있어서는, 일정한 바이트 수를 스킵시키는 스킵 연산을 행하고, 상기 대상 부호열 중 상기 섹터의 최종행에 있어서는, 해당 데이터가 존재하는 열 위치 에 따른 바이트 수를 스킵시키는 개별의 스킵 연산을 행하는 것을 특징으로 하는 오류 검출 방법.
  11. 제 10 항에 있어서,
    상기 개별의 스킵 연산은, 상기 데이터가 존재하는 열 위치 중, 특정한 열 위치에서 실행되는 스텝 연산의 연산 결과를 복수회 이용하여 실행하는 것을 특징으로 하는 오류 검출 방법.
  12. 제 8 항에 있어서,
    상기 갱신 단계와 동시에 행해지는, 상기 대상 부호열에 포함되는 스크램블 성분을 제거하는 스크램블 제거 단계를 포함하는 것을 특징으로 하는 오류 검출 방법.
  13. 제 12 항에 있어서,
    상기 스크램블 제거 단계는, 1 섹터의 모든 데이터가 입력된 후에, 해당 섹터의 모든 데이터의 스크램블 성분을 한번에 제거하는 것을 특징으로 하는 오류 검출 방법.
  14. 제 12 항에 있어서,
    상기 스크램블 제거 단계는, 상기 대상 부호열의 스크램블 성분을 제거하기 위한 데이터를 유지하는 테이블을 이용하여 행해지는 것을 특징으로 하는 오류 검출 방법.
KR1020067004014A 2003-08-29 2004-08-19 오류 검출 장치, 및 오류 검출 방법 KR20060125692A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00307509 2003-08-29
JP2003307509 2003-08-29

Publications (1)

Publication Number Publication Date
KR20060125692A true KR20060125692A (ko) 2006-12-06

Family

ID=34269441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067004014A KR20060125692A (ko) 2003-08-29 2004-08-19 오류 검출 장치, 및 오류 검출 방법

Country Status (6)

Country Link
US (1) US7478311B2 (ko)
EP (1) EP1662668A4 (ko)
JP (1) JP4237757B2 (ko)
KR (1) KR20060125692A (ko)
CN (1) CN100472973C (ko)
WO (1) WO2005022755A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4620541B2 (ja) 2005-08-04 2011-01-26 ルネサスエレクトロニクス株式会社 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置
WO2007088822A1 (ja) * 2006-01-31 2007-08-09 Matsushita Electric Industrial Co., Ltd. 情報記録再生方法
KR20080082386A (ko) * 2007-03-08 2008-09-11 삼성전자주식회사 에러 판별 장치 및 방법
JP5768654B2 (ja) * 2011-10-25 2015-08-26 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414719A (en) * 1992-04-24 1995-05-09 Sharp Kabushiki Kaisha Operating circuit for galois field
JP2999881B2 (ja) 1992-05-12 2000-01-17 シャープ株式会社 リードソロモン符号の復号装置
EP0620654B1 (en) * 1993-03-31 1998-11-18 Kabushiki Kaisha Toshiba Circuit for performing the Euclidian algorithm in decoding of arithmetical codes
JP3233502B2 (ja) 1993-08-06 2001-11-26 株式会社東芝 復号化装置
US5457702A (en) * 1993-11-05 1995-10-10 The United States Of America As Represented By The Secretary Of The Navy Check bit code circuit for simultaneous single bit error correction and burst error detection
JPH07230388A (ja) 1994-02-21 1995-08-29 Fujitsu Ltd 誤り訂正方法及び装置
JP3234130B2 (ja) * 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
FR2735889B1 (fr) * 1995-06-22 1997-09-05 Sgs Thomson Microelectronics Circuit de calcul de syndrome
JPH113573A (ja) * 1997-04-15 1999-01-06 Mitsubishi Electric Corp 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置
US6048090A (en) * 1997-04-23 2000-04-11 Cirrus Logic, Inc. Error correction and concurrent verification of a product code
US5920578A (en) * 1997-04-23 1999-07-06 Cirrus Logic, Inc. Method and apparatus for efficiently processing a multi-dimensional code
JP3190853B2 (ja) * 1997-05-23 2001-07-23 エヌイーシーマイクロシステム株式会社 誤り訂正処理方法及びその装置
JP3272317B2 (ja) 1999-01-21 2002-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 誤り検出装置およびその方法
JP2001023316A (ja) * 1999-07-05 2001-01-26 Hitachi Ltd ディジタルデータ再生方法及びディジタルデータ再生回路並びに誤り検出方法
US6772385B2 (en) * 2000-01-31 2004-08-03 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JP3306413B2 (ja) * 2000-01-31 2002-07-24 三洋電機株式会社 誤り訂正装置および誤り訂正方法
US6732325B1 (en) * 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage

Also Published As

Publication number Publication date
CN1842966A (zh) 2006-10-04
EP1662668A1 (en) 2006-05-31
JPWO2005022755A1 (ja) 2006-11-02
US7478311B2 (en) 2009-01-13
JP4237757B2 (ja) 2009-03-11
CN100472973C (zh) 2009-03-25
EP1662668A4 (en) 2008-02-27
US20070033506A1 (en) 2007-02-08
WO2005022755A1 (ja) 2005-03-10

Similar Documents

Publication Publication Date Title
KR100856399B1 (ko) 디코딩 방법 및 그 장치
KR100685360B1 (ko) 회로 규모를 억제하며 고속의 오류 정정을 행하는 것이 가능한 오류 정정 장치 및 복호 장치
US20080152131A1 (en) Data transfer device
KR20060125692A (ko) 오류 검출 장치, 및 오류 검출 방법
JP3306413B2 (ja) 誤り訂正装置および誤り訂正方法
JP3245290B2 (ja) 復号方法とその装置
JP4171688B2 (ja) 光ディスクシステムにおけるワード単位のデータスクランブリング/デスクランブリング装置及びその方法
JP2008146828A (ja) 光ディスク装置のエンコードデータ符号回路
KR100561982B1 (ko) 오류 정정 부호 발생 회로 및 그 방법
JPWO2004109694A1 (ja) インタリーブデータに対する誤り訂正方法および装置
KR19980065723A (ko) 디지탈 비디오 디스크 시스템의 데이타 처리 방법 및 장치
JP2005216477A (ja) 選択的なpo補正を利用したdvdデコーディング方法及び装置
JP5419653B2 (ja) 記録装置及び記録方法
US20090052658A1 (en) Descrambling circuit, error detection code calculating circuit and scrambling circuit
JP3126973B2 (ja) 誤り訂正処理装置
WO2019030860A1 (ja) 誤り検出用冗長ビットの生成方法および装置
JP2004173199A (ja) 巡回符号を用いた誤り訂正回路
JP2008112522A (ja) 誤り検出装置および誤り検出方法
KR20000062472A (ko) 에러 검출 장치 및 그 방법
EP1816648A1 (en) Disc signal evaluation device and disc signal evaluation method
JPS63255876A (ja) 符号誤り検出方法
US6581083B1 (en) Syndrome generator and method for generating syndromes in a video/audio processing system
JP2006269063A (ja) インタリーブデータに対する誤り訂正方法および装置
JP2622383B2 (ja) ロングディスタンスコードの誤り訂正装置
WO2007088822A1 (ja) 情報記録再生方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid