KR20060112222A - 오류 정정 장치 - Google Patents

오류 정정 장치 Download PDF

Info

Publication number
KR20060112222A
KR20060112222A KR1020060037052A KR20060037052A KR20060112222A KR 20060112222 A KR20060112222 A KR 20060112222A KR 1020060037052 A KR1020060037052 A KR 1020060037052A KR 20060037052 A KR20060037052 A KR 20060037052A KR 20060112222 A KR20060112222 A KR 20060112222A
Authority
KR
South Korea
Prior art keywords
error
unit
row
error correction
code
Prior art date
Application number
KR1020060037052A
Other languages
English (en)
Other versions
KR100699385B1 (ko
Inventor
신이찌로 도미사와
Original Assignee
산요덴키가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 산요덴키가부시키가이샤 filed Critical 산요덴키가부시키가이샤
Publication of KR20060112222A publication Critical patent/KR20060112222A/ko
Application granted granted Critical
Publication of KR100699385B1 publication Critical patent/KR100699385B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • 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/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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/10527Audio or video recording; Data buffering arrangements
    • 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/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

적어도 2조의 오류 정정 부호를 조합시켜 구성되는 블록 부호의 오류 정정 처리를 효율적으로 실시하고, 또한, 회로 규모의 증대를 억제하는 것을 과제로 한다. 이를 해결하기 위해, 제1 및 제2 오류 정정 부호를 부여하여 구성된 블록 부호의 오류 정정을 행하는 오류 정정 장치에서, 버퍼 메모리에 수신한 블록 부호를 저장하는 것과 병행하여, 행 단위로 제1 오류 정정 부호에 기초하는 신드롬 연산을 행하여, 각 행의 오류의 유무의 판별 결과를 생성하는 신드롬 연산부와, 해당 판별 결과를 버퍼링하는 버퍼링부와, 버퍼 메모리로부터 판독한 블록 부호의 각 열의 제2 오류 정정 부호와 버퍼링된 해당 판별 결과에 기초하여 정정 처리를 행하는 정정 처리부를 갖는다. 혹은, 전술한 버퍼링부를, 신드롬 연산부에서 생성된 판별 결과를 버퍼 메모리에 전송하는 버퍼 전송부와, 버퍼 메모리로부터 해당 판별 결과를 판독하여 버퍼링하는 버퍼링부로 치환한다.
광 픽업, RF 앰프, 리드 채널 회로, 동기 검출 회로, 복조 회로, 호스트 I/F 회로, 호스트 컴퓨터, 마이크로컴퓨터 I/F 회로

Description

오류 정정 장치{ERROR CORRECTION DEVICE}
도 1은 본 발명에 따른 오류 정정 장치를 가진 광 디스크 재생 시스템의 구성을 도시하는 도면.
도 2는 본 발명의 제1 실시예에 따른 오류 정정 장치의 구성을 도시하는 도면.
도 3은 본 발명의 제1 실시예에 따른 오류 정정 장치의 처리의 흐름을 도시하는 플로우차트.
도 4는 본 발명의 제1 실시예에 따른 오류 정정 장치의 처리의 흐름을 도시하는 타이밍차트.
도 5는 본 발명의 제1 실시예에 따른 비트맵형의 에러 플래그 버퍼링부의 구성을 도시하는 도면.
도 6은 본 발명의 제1 실시예에 따른 비트맵형의 에러 플래그 버퍼링부의 시프트 레지스터의 상태를 도시하는 도면.
도 7은 본 발명의 제1 실시예에 따른 비트맵형의 에러 플래그 버퍼링부의 처리의 흐름을 도시하는 타이밍차트.
도 8은 본 발명의 제1 실시예에 따른 포인터형의 에러 플래그 버퍼링부의 구성을 도시하는 도면.
도 9는 본 발명의 제1 실시예에 따른 포인터형의 에러 플래그 버퍼링부의 RAM과 카운터의 상태를 도시하는 도면.
도 10은 본 발명의 제2 실시예에 따른 오류 정정 장치의 구성을 도시하는 도면.
도 11은 본 발명의 제2 실시예에 따른 오류 정정 장치의 처리의 흐름을 도시하는 플로우차트.
도 12는 본 발명의 제2 실시예에 따른 오류 정정 장치의 처리의 흐름을 도시하는 타이밍차트.
도 13은 본 발명의 제2 실시예에 따른 오류 정정 장치의 버퍼 메모리에의 액세스 상황을 도시하는 타이밍차트.
도 14는 본 발명의 제2 실시예에 따른 비트 맵형의 에러 플래그 버퍼 전송부의 구성을 도시하는 도면.
도 15는 본 발명의 제2 실시예에 따른 포인터형의 버퍼 전송부의 구성을 도시하는 도면.
도 16은 DVD 규격의 데이터 섹터의 포맷을 설명하기 위한 도면.
도 17은 DVD 규격의 ECC 블록의 포맷을 설명하기 위한 도면.
도 18은 DVD 규격의 ECC 블록의 포맷을 설명하기 위한 도면.
도 19는 종래의 오류 정정 장치를 가진 광 디스크 재생 시스템의 구성을 도시하는 도면.
도 20은 종래의 오류 정정 장치의 처리의 흐름을 도시하는 플로우차트.
도 21은 종래의 PI/PO 오류 정정 처리의 흐름을 도시하는 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
1 : 광 디스크
2 : 광 픽업
3 : RF 앰프
4 : 신호 처리 장치
5 : 버퍼 메모리
6 : 마이크로컴퓨터
7 : 호스트 컴퓨터
10, 47, 50 : 오류 정정 장치
11 : 복호화 장치
40 : 리드 채널 회로
42 : 동기 검출 회로
43 : 복조 회로
46 : 메모리 I/F 회로
48 : 마이크로컴퓨터 I/F 회로
49 : 호스트 I/F 회로
51 : 내부 버스
101, 105, 471, 477, 501, 508 : 버퍼 전송부
102 : PI/PO 오류 정정 처리부
104, 476, 507 : EDC 디코더
473, 503 : PI 신드롬 연산부
474, 480, 505 : 에러 플래그 버퍼링부
504, 511 : 에러 플래그 버퍼 전송부
4731, 5111 : 에러 카운터
4741 : 제1 시프트 레지스터
4742 : 제2 시프트 레지스터
4743, 4744 : AND 소자
4745 : 셀렉터
475, 506 : PO 소실 정정 처리부
479, 510 : 오류 정정 시퀀스 제어부
5101 : PI 라인 카운터
4801 : 제1 RAM
4802 : 제2 RAM
4803 : 제1 카운터 레지스터
4804 : 제2 카운터 레지스터
4805 : 스위칭 제어부
5041 : 시프트 레지스터
5042, 5112 : 어드레스 생성 회로
[특허 문헌 1] 일본 특개평 11-41113호 공보
[비특허 문헌 1] 에토우 요시즈미·가네코 도시노부, 「오류 정정 부호와 그 응용」, 제1판 제8쇄, 주식회사 오옴사, 2004년 2월 25일 p.183-188
본 발명은, 오류 정정 장치에 관한 것이다.
오류 정정 기술은, 통신 시스템/방송 시스템/기록 시스템 등의 시스템의 신뢰성 향상에 불가결한 기술이며, 또한, 기록 시스템에서는, 음성 기록이나 화상 기록의 고밀도화의 기본 기술로 되어 있다. 오류 정정 기술의 중핵으로 되는 오류 정정 부호로서는, 지금까지 수많은 연구가 이루어져, 여러 가지의 것이 제안되어 있다.
오류 정정 부호의 체계로서는, 우선, 블록 부호와 컨볼루션 부호로 크게 분류되고, 또한, 블록 부호는 선형 부호와 비선형 부호로 분류되고, 또한, 선형 부호는 순회 부호와 비순회 부호로 분류된다. 또한, 이들 부호 혹은 동일 종류의 부호를 적어도 2개 조합함으로써 오류 정정 능력을 더욱 향상시킨 것으로서 곱셈 부호와 연접 부호로 분류된다. 예를 들면, DVD 규격 등의 광 디스크 기록이나 디지털 VTR 등에 이용되는 리드 솔로몬 곱셈 부호는, 부합어가 갈로아체라고 불리는 특수한 원으로 구성되는 리드 솔로몬 부호(전술한 순회 부호의 하나)를 2조 조합한 곱셈 부호이며, 주로 버스트 오류에 유효하다.
이하, 오류 정정 부호의 일례로서의 리드 솔로몬 곱셈 부호에 기초한 DVD 규격에 준거한 부호화 처리에 대하여, 도 16, 도 17, 도 18을 기초로 설명한다.
광 디스크에의 기록 대상으로 되는 기록 데이터는, 도 16에 도시하는 2048 바이트마다 분할된다. 이 분할된 데이터는 「메인 데이터」라고 불리며, 그 선두에는 12바이트의 「헤더」가 부여된다. 이 헤더는, 4바이트의 ID(Identification Code)와, 그 ID에 대한 2바이트의 오류 검출 부호 IED(Id Error Detection Code)와, 카피 프로텍트 정보 등의 6바이트의 예약 데이터 CPM(Copyright Management Code)에 의해서 구성된다. 또한, 메인 데이터의 말미에는 4바이트의 EDC(Error Detection Code)가 부여된다. 이 EDC는, 헤더가 부여된 메인 데이터에 대한 오류 검출 부호이다.
메인 데이터에 헤더 및 EDC가 부여된 총 2064바이트의 데이터는, 도 17에 도시하는 바와 같이, 172바이트 단위로 구획된 172바이트(열)×12행의 「데이터 섹터」로서 구분된다. 또한, 데이터 섹터 중의 메인 데이터 2048 바이트에 대해서는, 헤더에 포함되는 스크램블 키의 정보에 기초하여, 예를 들면 PN(Pseudo random Noise)계열 가산에 의한 스크램블 처리가 실시된다.
16개의 데이터 섹터가 집약되어 172바이트×192행의 행렬(이하, 「데이터 섹터군」이라고 칭함)이 형성된다. 또한, 데이터 섹터군의 각 열에는 16행분의 PO 부호(Outer Code Parity)가 부여되고, 또한, 데이터 섹터군의 각 행에는 10바이트분의 PI 부호(Inner Code Parity)가 부여된다. 또한, PO 부호 및 PI 부호로서는, 일반적으로, 리드 솔로몬 부호가 채용된다. 즉, PO 부호 및 PI 부호가 부여된 182 바이트(열)×208행의 블록 부호는, 「ECC 블록」이라고 불리는 리드 솔로몬 곱셈 부호이다.
또한, 도 18에 도시하는 바와 같이, 16행의 PO 부호가, 1행마다 PI 부호가 부여된 각 데이터 섹터 후에 순차적으로 배치되도록, ECC 블록 내에서의 인터리브(행 교체)가 행해진다. 여기서, 1개의 데이터 섹터에 10바이트분의 PI 부호와 1행의 P0 부호가 부여된 182바이트×13행의 데이터는, 「기록 섹터」로서 취급된다. 그리고, 16개의 기록 섹터에 의해서 구성된 1블록 단위분의 ECC 블록에 대하여, 8-16 변조나 NRZI 변환 등이 실시된 후, 광 디스크에의 기록이 행해지게 된다.
다음으로, ECC 블록의 수신 재생측의 복호화 처리, 특히, 오류 정정 처리에 대하여, 도 19, 도 20, 도 21을 기초로 설명한다.
도 19는, 광 디스크 재생 시스템의 개략적인 구성을 도시하는 도면이다. 광 디스크 재생 시스템은, DVD 매체 등의 광 디스크(1)에 기록된 정보(ECC 블록)를 광학적으로 판독하는 광 픽업(2)과, 광 픽업(2)에서 판독된 정보에 기초하여, 2치화나 동기 클럭 추출 등의 아날로그 신호 처리를 행하는 프론트엔드 처리부(9), 아날로그 처리가 실시된 데이터에 기초하여 8/16 복조나 오류 정정 처리 등의 복호화 처리를 행하는 복호화 장치(11), 복호화 장치(11)에 있어서의 처리의 과정에서의 작업용 메모리로 되는 버퍼 메모리(5), 복호화 장치(11)에 의해서 복호화된 후의 데이터를 수신하는 호스트 컴퓨터(7)에 의해서 구성된다. 또한, 복호화 장치(11)는, 오류 정정 장치(10)를 갖고 있고, 오류 정정 장치(10)는, 에러 플래그 버퍼 전송부(101), PI/PO 오류 정정 처리부(102), EDC 디코더(104), 버퍼 전송부(105)에 의해서 구성된다.
또한, 오류 정정 장치(10)에 있어서의 종래의 오류 정정 처리의 흐름은, 도 20의 플로우차트에 도시하는 바와 같이, 다음과 같이 된다. 우선, 8/16 복조가 실시된 ECC 블록 분의 재생 데이터 DIN이, 버퍼 전송부(101)에 있어서의 버퍼링을 거친 후에, 버퍼 메모리(5)에 모두 저장된다(S200). 그리고, 버퍼 메모리(5)에 저장된 재생 데이터 DIN에 대하여 디인터리브 처리가 실시된다.
다음으로, PI/PO 오류 정정 처리부(102)는, 버퍼 메모리(5)에 저장된 재생 데이터 DIN을, ECC 블록의 행 단위로 판독하고(S201), ECC 블록의 각 행의 재생 데이터 DIN마다 부여되는 PI 부호에 기초하여 검출 정정 처리(이하, PI 검출 정정 처리)를 실행한다(S202). 또한, 이 때, PI/PO 오류 정정 처리부(102)는, 재생 데이터 DIN 내에서 PI 검출 정정 처리를 실시한 심볼(비트)의 위치 정보를, 소실 플래그로서 내부의 레지스터 등에 저장해 둔다. 그리고, PI 검출 정정 처리 후의 재생 데이터 DIN'가, 버퍼 메모리(5)에 저장된다.
다음으로, PI/PO 오류 정정 처리부(102)는, 버퍼 메모리(5)에 저장된 재생 데이터 DIN'를, ECC 블록의 열 단위로 판독하고(S203), ECC 블록의 각 열의 재생 데이터 DIN'마다, 그것에 부여되는 PO 부호에 기초하여 검출 정정 처리(이하, PO 검출 정정 처리)를 실행한다(S204). 또한, 이 때에, PI 오류 정정 처리시의 소실 플래그를 이용하여 소실 정정 처리(이하, PO 소실 정정 처리)를 실행하는 것도 가능하다. 그리고, PO 검출 정정 처리 또는 PO 소실 정정 처리 후의 재생 데이터 DIN"가, 버퍼 메모리(5)에 저장된다.
다음으로, EDC 디코더(104)는, 버퍼 메모리(5)에 저장된 재생 데이터 DIN"를 데이터 섹터 단위로 판독하고, 그것에 부여되는 EDC에 기초하여 오류 검출을 실행한다. 또한, 그 후, 버퍼 메모리(5)에 저장된 재생 데이터 DIN"에 디스크램블 처리가 실시된다. 그리고, 버퍼 전송부(105)는, 버퍼 메모리(5)로부터 판독한 재생 데이터 DIN"를 재생 데이터 DOUT로서 호스트 컴퓨터(7)에 전송한다.
여기서, 전술한 PI/PO 검출 정정 처리의 일반적인 처리의 흐름을, 예를 들면, 이하에 기재하는 비특허 문헌 1을 참조하여 도 21에 도시해 둔다. 또한,이하에 기재하는 특허 문헌 1에 있어서도, PI/PO 검출 정정 처리 및 PO 소실 정정 처리의 내용이 개시되어 있다. 도 21에 도시하는 바와 같이, PI/P0 검출 정정 처리는, 오류의 유무를 검증하기 위한 신드롬 연산(S210), 오류가 발생한 심볼 위치(이하, 오류 위치)를 얻기 위한 오류 위치 다항식의 도출(S211), 오류 위치 다항식에 소정의 갈로아체를 정의하는 원시 다항식의 원을 대입함으로써 얻어지는 오류 위치의 계산(S212), 신드롬과 오류 위치와 소정의 갈로아체를 정의하는 원시 다항식의 원에 기초하여 얻어지는 오류의 값(크기)의 계산(S213), 그리고, 최종적인 오류의 정정(S214)의 순으로 행해진다. 또한, 전술한 소실 플래그는, 오류 위치의 계산(S212)에서 얻어지게 된다.
그런데, 적어도 2조의 오류 정정 부호를 조합한 블록 부호(ECC 블록 등)에 대한 종래의 오류 정정 처리의 시퀀스에서는, 각각의 오류 정정 부호에 기초하는 오류 정정 처리시마다, 작업용 메모리로서의 버퍼 메모리에의 액세스가 행해져 있 었다. 예를 들면, 도 20의 S201, S203에 도시하는 바와 같이, PI 검출 정정 처리와, PO 검출 정정 처리 또는 PO 소실 정정 처리의 양쪽의 단계에서, ECC 블록의 전체 데이터를 버퍼 메모리로부터 판독하고 있었다. 이러한 버퍼 메모리에의 액세스는, 오류 정정 처리 전체의 고속화로의 보틀넥으로 되어 있고, 나아가서는, 종래의 오류 정정 장치를 내장한 시스템 전체의 가일층의 고속화에 지장을 초래할 우려가 있었다. 예를 들면, 차세대 광 디스크로서 최근 주목받고 있는 HDDVD(High Definition DVD) 등에서는, 광 디스크로부터의 재생 데이터의 데이터 전송 속도로서, 가일층의 고속화가 요청되고 있다. 그러나, 종래의 오류 정정 장치의 구조로는, 그 재생 데이터의 고속의 데이터 전송을 하지 못할 우려가 있었다. 또한, 재생 데이터의 고속의 데이터 전송을 실현하기 위해, PI/P0의 오류 정정 처리부를 별개의 회로로서 설치하고, 각각의 처리를 병렬로 행하는 것이 고려된다. 그러나, 이 경우에는, 회로 규모가 증대한다는 문제가 발생한다.
전술한 과제를 해결하기 위한 주된 본 발명은, 2차원 배열시킨 데이터에 행 방향의 제1 오류 정정 부호 및 열 방향의 제2 오류 정정 부호를 부여하여 구성된 블록 부호를 수신하여 오류 정정 처리를 행하는 오류 정정 장치에 있어서, 상기 수신한 블록 부호를 저장하는 버퍼 메모리와, 상기 수신한 블록 부호의 행 단위로, 상기 제1 오류 정정 부호에 기초하는 신드롬 연산을 행하고, 상기 블록 부호의 각 행에 있어서의 오류의 유무의 판별 결과를 생성하는 신드롬 연산부와, 상기 판별 결과를 버퍼링하는 버퍼링부와, 상기 버퍼 메모리로부터 판독된 상기 블록 부호의 각 열에 부여되는 상기 제2 오류 정정 부호와, 상기 버퍼링부에 있어서 버퍼링된 상기 판별 결과에 기초하여 정정 처리를 행하는 정정 처리부를 갖는다.
또한, 전술한 과제를 해결하기 위한 그 밖의 주된 본 발명은, 2차원 배열시킨 데이터에 행 방향의 제1 오류 정정 부호 및 열 방향의 제2 오류 정정 부호를 부여하여 구성된 블록 부호를 수신하여 오류 정정 처리를 행하는 오류 정정 장치에 있어서, 상기 수신한 블록 부호를 저장하는 버퍼 메모리와, 상기 수신한 블록 부호의 행 단위로, 상기 제1 오류 정정 부호에 기초하는 신드롬 연산을 행하고, 상기 블록 부호의 각 행에 있어서의 오류의 유무의 판별 결과를 생성하는 신드롬 연산부와, 상기 판별 결과를 버퍼링함과 함께 상기 버퍼 메모리에 전송하는 버퍼 전송부와, 상기 버퍼 메모리로부터 판독한 상기 판별 결과를 버퍼링하는 버퍼링부와, 상기 버퍼 메모리로부터 판독된 상기 블록 부호의 각 열에 부여되는 상기 제2 오류 정정 부호와, 상기 버퍼링부에 있어서 버퍼링된 상기 판별 결과에 기초하여 정정 처리를 행하는 정정 처리부를 갖는다.
<실시예>
<광 디스크 재생 시스템의 구성>
도 1은, 본 발명에 따른 『오류 정정 장치』를 포함한 시스템의 일례로서의 광 디스크 재생 시스템의 구성을 도시하는 도면이다. 또한, 본 실시예의 광 디스크 재생 시스템으로서는, DVD 재생 시스템인 것으로 하여 설명한다. 따라서, 본 실시예의 광 디스크 재생 시스템에서는, 2차원 배열시킨 데이터 섹터군에 대하여 행 방향의 PI 부호(『제1 오류 정정 부호』) 및 열 방향의 PO 부호(『제2 오류 정 정 부호』를 조합한 리드 솔로몬 곱셈 부호에 기초하는 1블록 단위의 재생 데이터(『블록 부호』)를 수신하여 오류 정정 처리를 행한다. 물론, 본 발명에 따른 광 디스크 재생 시스템으로서는, CD 재생 시스템이나 HDDVD 재생 시스템으로 해도 된다.
광 디스크(1)는, DVD±R/RW, DVD-RAM, DVD-ROM 등의 DVD 매체이며, 도 18에 도시한 ECC 블록의 데이터 포맷에 따라서 정보가 기록되어 있다. 또한, 각종 프리포맷 방식에 있어서, ECC 블록, ECC 블록을 구성하는 16개의 데이터 섹터, 데이터 섹터를 구성하는 26개의 프레임, 각각의 선두를 나타내는 각종 싱크 신호 SYNC가, 광 디스크(1)에 미리 기록된다.
광 픽업(2)은, 광 디스크(1)에 대하여 레이저 빔을 조사하여 그 반사광을 수광함으로써, 광 디스크(1)에 기록된 정보를 광학적으로 판독하는 것이다.
RF 앰프(3)는, 광 픽업(2)에서 판독된 정보를 증폭하는 앰프이다. 또한, RF 앰프(3)에는, 일반적으로, 그 이득을 자동 조정하기 위한 AGC(Automatic Gain Control) 기능이 설치된다.
신호 처리 장치(4)는, RF 앰프(3)의 출력에 대하여 광 디스크 재생에 따른 각종 신호 처리를 실행하는 것으로, 1 또는 복수의 반도체 집적 회로로서 제공된다.
버퍼 메모리(5)는, 본 발명에 따른 오류 정정 처리의 실행 과정의 작업용 메모리로서 설치되는, 신호 처리 장치(4)의 외장 메모리이다. 즉, 버퍼 메모리(5)에는, 본 발명에 따른 오류 정정 처리를 실행하기 위해, RF 앰프(3)의 출력에 따른 오류 정정 처리 대상의 데이터가 1블록 단위로 저장된다. 또한, 버퍼 메모리(5)로서는, 일반적으로 DRAM 등이 채용된다.
마이크로컴퓨터(6)는, 광 디스크 재생 시스템 전체의 제어를 담당하는 시스템 컨트롤러이다.
리드 채널 회로(40)는, RF 앰프(3)의 출력을 2치화함과 함께 기준 클럭 신호를 생성하는 것이다. 또한, DVD-ROM 규격이나 차세대의 HDDVD 규격 등의 경우, 리드 채널 회로(40)는, PRML(Partial Response Maximum Likelihood) 방식에 기초하여, PR 등가 처리나 비터비 복호 처리를 아울러 실행한다.
동기 검출 회로(42)는, 리드 채널 회로(40)에 있어서 생성된 2치화 신호 및 기준 클럭 신호에 기초하여 전술한 싱크 신호 SYNC를 생성하는 것이다. 또한, 싱크 신호 SYNC는, 오류 정정 회로(47,50)에 송신된다.
복조 회로(43)는, 동기 검출 회로(42)를 통한 2치화 신호에 대하여 8/16 변조의 복조 처리를 실시한 8/16 복조 데이터(이하, 재생 데이터 DIN이라고 칭함)를 생성하는 것이다. 또한, 재생 데이터 DIN은, 내부 버스(51)를 통하여 오류 정정 장치(47, 50)에 송신한다.
오류 정정 장치(47, 50)는, 재생 데이터 DIN에 대하여 오류 정정 처리를 행한다. 오류 정정 처리 후의 재생 데이터 DIN(이하, 재생 데이터 DOUT)는, 후술하는 호스트 I/F 회로(49)를 통하여 호스트 컴퓨터(7)에 송신된다. 또한, 오류 정정 장치(47, 50)의 내부 구성 및 동작의 상세에 대해서는 후술한다.
메모리 액세스 제어 회로(45)는, 오류 정정 장치(47, 50)로부터의 버퍼 메모 리(5)에의 액세스 요구에 따라서, 버퍼 메모리(5)에 따른 리드/라이트 커맨드나 어드레스 등을 생성하는 것이다.
메모리 I/F 회로(46)는, 메모리 액세스 제어 회로(45)를 통한 오류 정정 장치(47, 50)와 버퍼 메모리(56) 사이를 통신 가능하게 접속시키기 위한 통신 인터페이스 회로이다. 메모리 I/F 회로(46)로서는, 예를 들면, 3선식 시리얼 인터페이스가 채용된다.
마이크로컴퓨터 I/F 회로(48)는, 신호 처리 장치(4)와 마이크로 컴퓨터(6) 사이를 통신 가능하게 접속하기 위한 통신 인터페이스 회로이다. 마이크로컴퓨터 I/F 회로(48)로서는, 예를 들면, UART(Universal Asynchronous Receiver and Transmitter), 3선식 시리얼 인터페이스, I2C 버스 인터페이스 등이 채용된다.
호스트 I/F 회로(49)는, 신호 처리 장치(4)와 호스트 컴퓨터(7) 사이를 통신 가능하게 접속하기 위한 통신 인터페이스 회로이다. 호스트 I/F 회로(49)로서는, ATAPI(Attachment Packet Interface)가 일반적으로 채용된다.
<제1 실시예: 오류 정정 장치>
본 발명의 제1 실시예에 따른 『오류 정정 장치(47)』에 대하여, 도 3을 적절하게 참조하면서, 도 2에 기초하여 설명한다. 또한, 설명의 형편 상, 후술하는 PI 신드롬 연산 전에 통상 실시되는 디인터리브 처리, 및, 후술하는 오류 검출 처리 후에 통상 실시되는 디스크램블 처리의 설명은 생략한다.
버퍼 전송부(471)는, 복조 회로(43)로부터 내부 버스(51)를 통하여 수신한 1블록 단위분의 재생 데이터 DIN(이하, ECC 블록)를 버퍼링하고, 메모리 액세스 제 어 회로(45) 및 메모리 I/F 회로(46)를 통하여 버퍼 메모리(5)에 전송한다. 이 결과, 버퍼 메모리(5)에는, ECC 블록이 기입된다(S300). 또한, 버퍼 전송부(471)는, 버퍼 메모리(5)에의 ECC 블록의 전송과 병행하여, 동일한 ECC 블록을, PI 신드롬 연산부(473)에 대하여 전송한다.
PI 신드롬 연산부(473)는, 버퍼 전송부(471)로부터 전송된 ECC 블록에 대하여, 각 행에 부여되는 PI 부호에 기초한 신드롬 연산(이하, PI 신드롬 연산)을 순차적으로 행한다(S301). 즉, PI 신드롬 연산은, 버퍼 메모리(5)에의 ECC 블록의 기입과 병행하여 행해진다.
PI 신드롬 연산의 예로서는, 예를 들면, 부호 길이가 "8"이고 또한 정보 수가 "4"인 (8, 4) 리드 솔로몬 부호인 경우로 하고, ECC 블록의 임의 행의 재생 데이터 DIN를 (D3, D2, D1, D0, P3, P2, P1, P0: 단, D3∼D0은 심볼, P3∼P0은 PI 부호)로 표현한 경우에는, 다음의 수학식 1∼4로 정의되는 신드롬 S0∼S3이 연산된다. 또한, αn(자연수)은, 갈로아체 GF(23)를 정의하는 원시 다항식의 원이다.
Figure 112006028798408-PAT00001
Figure 112006028798408-PAT00002
Figure 112006028798408-PAT00003
Figure 112006028798408-PAT00004
여기서, 심볼 D3∼D0에 있어서 오류가 발생하고 있지 않은 경우, 신드롬 S0∼S3은 모두 "0"으로 된다. 한편, 심볼 D3∼D0에 있어서 오류가 발생한 경우, 신드롬 S0∼S3은 "0"과는 다른 값이 얻어진다. 예를 들면, 심볼 D2에 e2의 크기의 오류가 가해진 경우, 신드롬 S0은 e2로 되고, 신드롬 S1은 α6·e2로 되고, 신드롬 S2는 α12·e2로 되고, 신드롬 S3은 α18·e2로 된다.
PI 신드롬 연산부(473)는, 미리 정의해 둔 PI 신드롬 연산의 결과에 따라서, ECC 블록의 각 행마다, 오류가 발생하고 있는지의 여부를 판별하는 것이 가능하게 된다. 그리고, PI 신드롬 연산부(473)은, 이 오류의 유무를 판별한 결과를 나타내는 에러 플래그(ERF)를, ECC 블록의 각 행마다 순차적으로 생성한다(S302). 또한, 에러 플래그(ERF)는, 후술하는 PO 소실 정정 처리에서 이용되는 것인데, 종래의 소실 정정 처리에서 이용된 소실 플래그와는 내용이 상이한 것이다. 즉, 종래의 소실 플래그는, 도 21에 있어서 나타낸 오류 위치 다항식의 도출(S211) 및 오류 위치의 계산(S212)을 거쳐 얻어지지만, 본 발명에 따른 에러 플래그(ERF)는, 단순하게 PI 신드롬 연산의 결과만으로 얻어진다.
에러 플래그 버퍼링부(474)(『버퍼링부』)는, 복수의 비트맵 레지스터로 주로 구성되며, PI 신드롬 연산부(473)에 있어서 순차적으로 생성된 ECC 블록 전체행 분의 에러 플래그(ERF)를 버퍼링한다(S303). 또한, 비트맵 레지스터는, 소정 비트 수 분의 1비트 기억 소자의 집합체로서, ECC 블록 전체행 분의 ERF가 해당 1비트 기억 소자 각각에 비트맵 형상으로 기억된다. 또한, 본 실시예에서는, 비트맵 레지스터로서, ECC 블록 전체행 분의 에러 플래그(ERF)를 시프트 동작으로 저장하는 시프트 레지스터를 채용한다. 또한, 시프트 레지스터 이외에도, 비트맵 레지스터로서, ECC 블록 전체행 분의 에러 플래그(ERF)를 랜덤 액세스로 저장시키는 RAM을 채용해도 된다. 이하에서는, 비트맵 레지스터를 이용하여 에러 플래그(ERF)를 버퍼링하는 방식의 것을, 「비트맵형」이라고 칭한다.
또한, 에러 플래그 버퍼링부(474)의 다른 실시예로서, 에러 플래그 버퍼링부(480)(『버퍼링부』)는, 복수의 RAM(『에러 행 포인터 저장용 메모리』)로 주로 구성되며, PI 신드롬 연산부(473)에 있어서 순차적으로 생성된 에러 플래그(ERF) 중, 오류 있음을 나타내는 에러 플래그(ERF)에 대응한 ECC 블록 행을 나타내는 PI 에러 라인 넘버(ELN)(『에러 행 포인터』)를 버퍼링한다. 이하에서는, RAM 등을 이용하여 PI 에러 라인 넘버(ELN)를 버퍼링하는 방식의 것을, 「포인터형」이라고 칭한다.
PO 소실 정정 처리부(475)는, 버퍼 메모리(5)에 기입해 둔 ECC 블록을 메모리 액세스 제어 회로(45) 및 메모리 I/F 회로(46)를 통하여 열 단위로 판독한다(S304). 그리고, PO 소실 정정 처리부(475)는, ECC 블록의 각 열에 부여되는 PO 부호와, 에러 플래그 버퍼링부(474)에 있어서 버퍼링해 둔 ECC 블록 전체행 분의 에러 플래그(ERF), 혹은, 에러 플래그 버퍼링부(480)에 있어서 버퍼링해 둔 1블록 분의 PI 에러 라인 넘버(ELN)에 기초하여, ECC 블록을 열 단위로 소실 정정 처리( 이하, PO 소실 정정 처리)를 행한다(S305). 그리고, PO 소실 정정 처리 후의 ECC 블록이, 버퍼 메모리(5)에 재차 기입된다.
상세하게 설명하면, PO 소실 정정 처리부(475)는, PI 신드롬 연산의 결과인 ECC 블록 전체행 분의 에러 플래그(ERF) 혹은 1블록 분의 PI 에러 라인 넘버(ELN)를 참조하여, ECC 블록의 1열분인 208bits의 재생 데이터 DIN 중, 오류 있음을 나타내는 에러 플래그(ERF)에 대응한 행의 비트를, 소실 정정 위치로 간주한다. 즉, 소실 정정 위치를, 오류 위치 다항식의 도출이나 오류 위치의 계산을 하지 않고 미리 알고 있는 상태로 된다. 따라서, PO 소실 정정 처리부(475)는, ECC 블록 전체행 분의 에러 플래그(ERF) 혹은 1블록 분의 PI 에러 라인 넘버(ELN)에 기초하여, 오류의 값의 계산과, 그 오류의 값을 이용한 오류 정정만을 실행하면 되게 된다. 예를 들면, 전술한 예를 이용하여 설명하면, 오류의 값 E2는, 수학식 1의 신드롬 S0만을 연산하면 얻어진다. 또한, 오류 정정은, 오류 있음을 나타내는 에러 플래그(ERF)에 대응한 심볼 D2의 값으로부터 오류의 값 E2를 빼면 실시할 수 있다.
EDC 디코더(476)는, 버퍼 메모리(5)로부터 PO 소실 정정 처리 후의 ECC 블록을 판독하여 각 데이터 섹터에 부여되는 EDC에 기초하여 오류 검출 처리를 행함으로써, PO 소실 정정 처리의 오정정을 검증한다. 또한, 그 검증 결과는, 버퍼 메모리(5)에 기입된다.
버퍼 전송부(477)는, 버퍼 메모리(5)로부터 PO 소실 정정 처리 후의 ECC 블록을 판독하고, 재생 데이터 DOUT로서 호스트 I/F 회로(49)를 통하여 호스트 컴퓨터(7)에 전송한다.
오류 정정 시퀀스 제어부(479)는, 동기 검출 회로(42)에 있어서 생성된 싱크 신호 SYNC에 기초하여 ECC 블록이나 데이터 섹터의 선두를 식별함으로써, 각 처리부(471, 473, (474, 480), 475, 476, 477)에 대하여, 본 발명에 따른 오류 정정 처리의 시퀀스 제어를 행하는 것이다. 또한, 도 4에 도시하는 바와 같이, 상기한 각 처리부에 있어서의 처리는 동기한다.
도 4는, 오류 정정 장치(47)의 오류 정정 처리의 타이밍차트이다. 또한, (a)는 버퍼 전송부(471)로부터 버퍼 메모리(5)에의 라이트 처리의 흐름을 나타내고, (b)는 PI 신드롬 연산부(473)에 있어서의 에러 플래그(ERF)의 생성 처리의 흐름을 나타내고, (c)는 PO 소실 정정 처리부(475)에 있어서의 PO 소실 정정 처리 및 EDC 디코더(476)의 오류 검출 처리를 일체화한 디코드 처리의 흐름을 나타내고, (d)는 버퍼 전송부(477)에 있어서의 버퍼 메모리(5)로부터 버퍼 전송부(477)에의 디코드 처리 후의 리드 처리의 흐름을 나타내는 것이다.
우선, 시각 T0으로부터 T1까지의 1블록 기간, 버퍼 전송부(471)로부터 버퍼 메모리(5)에의 ECC 블록0의 기입과, PI 신드롬 연산부(473)에 있어서의 ECC 블록0의 에러 플래그(ERF)의 생성이 병렬화 처리된다.
시각 T1로부터 T2까지의 1블록 기간, 버퍼 전송부(471)로부터 버퍼 메모리(5)에의 ECC 블록1의 기입과, PI 신드롬 연산부(473)에 있어서의 ECC 블록1의 에러 플래그(ERF)의 생성이 병렬화 처리된다. 또한, PO 소실 정정 처리부(475) 및 EDC 디코더(476)에 있어서 ECC 블록0의 디코드 처리가 행해진다.
시각 T2로부터 T3까지의 1블록 기간, 버퍼 전송부(471)로부터 버퍼 메모리 (5)에의 ECC 블록2의 기입과, PI 신드롬 연산부(473)에 있어서의 ECC 블록2의 에러 플래그(ERF)의 생성이 병렬화 처리된다. 또한, PO 소실 정정 처리부(475) 및 EDC 디코더(476)에 있어서 ECC 블록1의 디코드 처리가 행해진다. 또한, 버퍼 메모리(5)로부터 버퍼 전송부(477)에의 ECC 블록0의 리드 처리가 행해진다.
시각 T3 이후도, 시각 T2로부터 T3까지의 1블록 기간과 마찬가지의 처리가 행해진다.
이와 같이, 오류 정정 장치(47)는, PO 소실 정정 처리부(475)에서는 버퍼 메모리(5)에의 액세스를 행하지만, PI 신드롬 연산부(473)에서는 버퍼 메모리(5)에의 액세스를 행하지 않는다. 즉, 도 19에 도시한 종래의 오류 정정 장치(10)가, PI 검출 정정 처리와 PO 검출 정정 처리(또는 PO 소실 정정 처리)마다 버퍼 메모리(5)에 액세스를 행하는 것과 대비했을 때, 본 발명에 따른 오류 정정 장치(47)에서는, 오류 정정 처리 전체를 통한 버퍼 메모리(5)에의 액세스 횟수가 감소한다. 따라서, 본 발명에 따른 오류 정정 처리는, 광 디스크 재생에 있어서 요청되는 데이터 전송 속도에 추종할 수 있고, 버퍼 메모리(5)에의 액세스에 수반하는 대기 시간도 없어, 리얼타임 처리를 용이하게 실현할 수 있다.
또한, PI 신드롬 연산부(473)에서는, 버퍼 전송부(471)로부터 버퍼 메모리(5)에의 ECC 블록의 기입 처리와 병행하여, PI 신드롬 연산 처리를 실행한다. 즉, 도 19에 도시한 종래의 버퍼 전송부(101)에 있어서의 버퍼 메모리(5)에의 ECC 블록의 기입 처리와 종래의 PI 오류 정정 처리부(102)에 있어서의 PI 검출 정정 처리가 축차 처리되는 것과 대비했을 때, 본 발명에서는, 버퍼 전송부(471)에 있어서의 버 퍼 메모리(5)에의 ECC 블록의 기입 처리와 PI 신드롬 연산부(473)에 있어서의 PI 신드롬 연산 처리의 각 처리가 병렬화 처리되므로, 오류 정정 처리 전체를 통한 고속화가 도모된다.
또한, PI 신드롬 연산부(473)에서는, PI 신드롬 연산만을 실행한다. 즉, 도 19에 도시한 종래의 PI 오류 정정 처리부(102)가, 도 21에 도시한 바와 같이, 신드롬 연산(S210) 이외에, 오류 위치 다항식의 도출(S211), 오류 위치의 계산(S212), 오류의 값의 계산(S213), 오류의 정정(S214)의 수순에 따른 것과 대비했을 때, 본 발명에 따른 PI 신드롬 연산부(473)에서는 PI 신드롬 연산만을 실행하기 때문에, 오류 정정 처리 전체를 통한 처리 부하가 경감됨과 함께 고속화가 도모된다. 또한, 종래의 PI 오류 정정 처리부(102)와 대비하여, 본 발명에 따른 PI 신드롬 연산부(473)의 회로 규모는 감소한다.
또한, PO 소실 정정 처리부(475)에서는, PI 신드롬 연산부(473)에서 생성된 에러 플래그(ERF)를 참조하여, PO 소실 정정 처리를 실행한다. 즉, 오류 위치를 미리 알고 있는 것에 수반하여 검출 정정 처리보다도 2배의 정정 능력이 있는 것이 알려져 있는 소실 정정 처리를 실행한다. 따라서, 본 발명에 따른 오류 정정 처리는, 적절한 품질의 오류 정정 능력을 확보하면서, 광 디스크(1)로부터의 재생 데이터 DIN이 고속인 데이터 전송 속도에 추종할 수 있어, 리얼타임 처리를 용이하게 실현할 수 있다.
=== 비트맵형의 에러 플래그 버퍼링부===
비트맵형의 에러 플래그 버퍼링부(474)의 구성 및 동작에 대하여, 도 6, 도 7을 적절하게 참조하면서, 도 5에 기초하여 설명한다.
제1 시프트 레지스터(4741) 및 제2 시프트 레지스터(4742)는, PI 신드롬 연산부(473)로부터, ECC 블록 전체행 분(208 bits)의 에러 플래그(ERF)(도 7의 (a) 참조)와, ECC 블록 각 행의 에러 플래그(ERF)와 동기한 ECC 블록 각 행을 식별하기 위한 PI 라인 타이밍 신호 LT(도 7의 (b) 참조)를 수신한다.
그리고, 제1 시프트 레지스터(4741) 및 제2 시프트 레지스터(4742)는, PI 라인 타이밍 신호 LT를 시프트 클럭 신호로서 이용함으로써, ECC 블록 전체행 분의 에러 플래그(ERF)를 버퍼링한다. 또한, ECC 블록 전체행 분의 에러 플래그(ERF)가 버퍼링된 경우, 제1 시프트 레지스터(4741) 및 제2 시프트 레지스터(4742)는, 각각에 저장된 ECC 블록 전체행 분의 에러 플래그(ERF)를, 제1 시프트 출력 SA(도 7의 (c) 참조), 제2 시프트 출력 SB(도 7의 (d) 참조)로서 셀렉터(4745)에 송신한다.
도 6은, 제1 시프트 레지스터(4741) 및 제2 시프트 레지스터(4742)에 대하여, ECC 블록 전체행 분의 에러 플래그(ERF)가 버퍼링된 상태를 나타내는 것이다. 또한, 도 6에서는, PI 신드롬 연산의 결과, ECC 블록의 100행째와 198행째에 오류가 발생한 예를 도시하고 있다. 이 경우, PO 소실 정정 처리부(475)에서는, ECC 블록의 100행째의 198행째에 관한 PO 소실 정정을 실시하게 된다.
그런데, 본 실시예에서는, 제1 시프트 레지스터(4741) 및 제2 시프트 레지스터(4742)를 2조 설치하고 있지만, 2조에 한정되는 것은 아니고, 3조 이상 설치해도 된다. 시프트 레지스터의 개수를 늘릴수록, 시프트 레지스터에의 에러 플래그(ERF)의 버퍼링 처리와 PO 소실 정정 처리의 괴리에 여유가 생긴다.
AND 소자(4743, 4744)는, 본 발명에 따른 『스위칭 제어부』의 일 실시예이다. AND 소자(4743, 4744)는, 오류 정정 시퀀스 제어부(479)로부터 시프트 인에이블 신호 SEN과 스위치 명령 SW를 수신하여 각각의 AND 연산을 행한다. 또한, AND 소자(4743)의 출력은 제1 시프트 레지스터(4741)에 있어서의 인에이블 신호로서 취급되고, AND 소자(4744)의 출력은 제2 시프트 레지스터(4742)의 인에이블 신호로서 취급된다.
여기서, 시프트 인에이블 신호 SEN과 스위치 명령 SW가 "H, L"인 경우, AND 소자(4743, 4744)의 각 출력이 "H, L"로 되고, 제1 시프트 레지스터(4741)가 시프트 동작 가능한 Enable 상태, 제2 시프트 레지스터(4742)가 시프트 동작 불가인 Disable 상태로 된다. 또한, 시프트 인에이블 신호 SEN과 스위치 명령 SW가 "H, H"인 경우, AND 소자(4743, 4744)의 각 출력이 "H, L"로 되고, 제1 시프트 레지스터(4741)가 Disable 상태, 제2 시프트 레지스터(4742)가 Enable 상태로 된다. 또한, 시프트 인에이블 신호 SEN이 "L"인 경우, 스위치 명령 SW에 상관없이, 제1 및 제2 시프트 레지스터(4741, 4742)는 모두 Disable 상태로 된다. 이와 같이, AND 소자(4743, 4744)에 의해서, 제1 및 제2 시프트 레지스터(4741, 4742)의 인에이블 상태가, 상보적으로 절환된다.
셀렉터(4745)는, 오류 정정 시퀀스 제어부(479)로부터 수신하는 스위치 명령 SW(도 7의 (e) 참조)를 셀렉터 제어 신호로서 이용함으로써, 제1 시프트 레지스터(4741)로부터 수신하는 제1 시프트 출력 SA, 혹은, 제2 시프트 레지스터(4742)로부터 수신하는 제2 시프트 출력 SB의 한쪽을 선택하여, PO 소실 정정 처리부(475)로 출력한다(도 7의 (f) 참조). 이 결과, PO 소실 정정 처리부(475)는, 셀렉터(4745)에서 선택 출력된 제1 시프트 출력 SA 또는 제2 시프트 출력 SB를 참조하여 PO 소실 정정 처리를 실행한다.
즉, AND 소자(4743, 4744)는, 제1 시프트 레지스터(4741) 및 제2 시프트 레지스터(4742) 각각을, 신드롬 연산부(473)로부터의 ECC 블록 전체행 분의 에러 플래그(ERF)의 버퍼링용과, 소실 정정 처리부(475)에 있어서의 소실 정정 처리용으로 축차 절환한다. 이 결과, ECC 블록 전체행 분의 에러 플래그(ERF)의 버퍼링 처리와, PO 소실 정정 처리가, 파이프 라인 처리된다.
이와 같이, 비트맵형의 에러 플래그 버퍼링부(474)는, ECC 블록 전체행 분의 에러 플래그의 버퍼링 처리와, PO 소실 정정 처리를 파이프 라인 처리시킴으로써, 본 발명에 따른 오류 정정 처리 전체의 고속화가 도모된다.
=== 포인터형의 에러 플래그 버퍼링부===
포인터형의 에러 플래그 버퍼링부(480)의 구성 및 동작에 대하여, 도 9를 적절하게 참조하면서, 도 8에 기초하여 설명한다.
에러 플래그 버퍼링부(480)는, PI 신드롬 연산부(473)로부터, ECC 블록 각 행의 에러 플래그와, 각 에러 플래그(ERF)에 대응하는 ECC 블록의 행을 나타내는 포인터인 PI 라인 넘버(LN)와, ECC 블록 전체 행 중, 에러 카운터(4731)에 의해서 오류 있음의 행 수를 카운트한 에러 카운트값(EC)을 수신한다.
그리고, 에러 플래그 버퍼링부(480)는, PI 신드롬 연산부(473)로부터 수신한 1개의 에러 플래그(ERF)가 오류 있음을 나타내는 경우, 그 에러 플래그(ERF)에 동 기하여 수신한 에러 카운트값(EC)을 라이트 어드레스로 해서, 마찬가지로 그 에러 플래그(ERF)에 동기하여 수신한 PI 라인 넘버(LN), 즉, 오류 있음만을 나타내는 PI 에러 라인 넘버(ELN)(『에러 행 포인터』)를, 제1 RAM(4801) 및 제2 RAM(4802)에 버퍼링한다.
또한, 에러 플래그 버퍼링부(480)는, PO 소실 정정 처리부(475)에 있어서의 PO 소실 정정 처리의 실행 타이밍에서, 제1 RAM(4801) 또는 제2 RAM(4802)에 대한 리드 명령 PR과 리드 어드레스 RA를 PO 소실 정정 처리부(475)로부터 수신한다. 이 결과, 제1 RAM(4801) 또는 제2 RAM(4802)에 버퍼링된 PI 에러 라인 넘버(ELN)가 판독되어, PO 소실 정정 처리부(475)에 송신된다. 이 결과, PO 소실 정정 처리부(475)는, 에러 플래그 버퍼링부(480)로부터 수신한 PI 에러 라인 넘버(ELN)를 참조하면서 PO 소실 정정 처리를 실행한다.
여기서, 제1 RAM(4801) 및 제2 RAM(4802)은, 본 발명에 따른 『에러 행 포인터 저장용 메모리』의 일 실시예이며, PI 에러 라인 넘버(ELN)의 버퍼링을 하는 메모리이다. 또한, ECC 블록 전체 행 중 "16" 행을 초과하는 오류가 발생한 경우, 소실 정정이 불가능하다는 것이 알려져 있다. 따라서, 제1 RAM(4801) 및 제2 RAM(4802)의 기억 용량은, 「16bits×PI 에러 라인 넘버(ELN)의 비트수(예를 들면, 8bits)」이면 충분하다.
그런데, 본 실시예에서는, 제1 RAM(4801) 및 제2 RAM(4802)을 2조 설치하고 있지만, 2조에 한정되는 것은 아니며, 3조 이상 설치해도 된다. RAM의 개수를 늘릴수록, RAM에의 PI 에러 라인 넘버(ELN)의 버퍼링 처리와 PO 소실 정정 처리의 괴 리에 여유가 생긴다.
제1 카운터 레지스터(4803), 제2 카운터 레지스터(4804)는, 각각, 제1 RAM(4801), 제2 RAM(4802)에 기입된 PI 에러 라인 넘버(ELN)의 개수를 나타내는, 에러 카운트값(EC)을 저장하는 것이다. 즉, 이 에러 카운트값(EC)은, 제1 RAM(4801), 제2 RAM(4802)의 전체 어드레스 중, 어느 라이트 어드레스까지 PI 에러 라인 넘버(ELN)가 기입되어 있는지를 식별함과 함께, Empty 영역의 선두 어드레스를 나타내는 것이다. 그리고, 이 카운트값이, 소실 정정 가능한 최대 카운트값 "16"에 도달한 경우, 에러 플래그 버퍼링(480)은, 제1 RAM(4801), 제2 RAM(4802)에의 PI 에러 라인 넘버(ELN)의 기입을 금지한다.
여기서, 도 9는, 제1 RAM(4801), 제2 RAM(4802)에 PI 에러 라인 넘버(ELN)가 기입된 상태와, 이 경우의 제1 카운터 레지스터(4803)와 제2 카운터 레지스터(4804)의 상태를 나타내는 것이다. 또한, 도 9에 도시하는 예에서는, ECC 블록 전체 행 중, 1행째, 100행째, 198행째의 합계 3행에 오류가 발생한 예를 나타내고 있다. 이 경우, 제1 RAM(4801), 제2 RAM(4802)은, 어드레스0∼2까지의 구획 영역에 PI 에러 라인 넘버(ELN)가 기입되어 있고, 어드레스3~15까지의 구획 영역은 Empty 영역이다. 또한, 제1 카운터 레지스터(4803)와 제2 카운터 레지스터(4804)에 저장되는 에러 카운트값(EC)은 "3"이며, Empty 영역의 선두 어드레스를 나타내게 된다.
스위칭 제어부(4805)는, 오류 정정 시퀀스 제어부(479)로부터 수신한 스위치 명령 SW에 기초하여, 제1 RAM(4801) 또는 제2 RAM(4802)의 한쪽을 PI 신드롬 연산부(473)와 접속시키고, 다른 쪽을 PO 소실 정정 처리부(475)와 접속시키기 위한 제 어를 행한다. 즉, 스위칭 제어부(4805)는, 제1 RAM(4801), 제2 RAM(4802) 각각을, PI 에러 라인 넘버(ELN)의 버퍼링용과, PO 소실 정정 처리용으로 절환한다.
이 결과, PI 에러 라인 넘버(ELN)의 버퍼링 처리와, PO 소실 정정 처리가 파이프라인 처리되어, 본 발명에 따른 오류 정정 처리 전체의 고속화가 도모된다. 또한, 포인터형의 에러 플래그 버퍼링부(480)는, 비트맵형의 에러 플래그 버퍼링부(474)와 대비하여, 회로 규모가 감소한다.
<제2 실시예: 오류 정정 장치>
본 발명의 제2 실시예에 따른 『오류 정정 장치(50)』에 대하여, 도 11을 적절하게 참조하면서, 도 10에 기초하여 설명한다. 또한, 설명의 형편 상, 전술한 본 발명의 제1 실시예에 따른 오류 정정 장치(47)와 마찬가지로, PI 신드롬 연산 전에 통상 실시되는 디인터리브 처리, 및, 오류 검출 처리 후에 통상 실시되는 디스크램블 처리의 설명은 생략한다.
본 발명의 제2 실시예에 따른 오류 정정 장치(50)는, 본 발명의 제1 실시예에 따른 오류 정정 장치(47)와 대비하여, 에러 플래그 버퍼 전송부(504, 511)와, 에러 플래그 버퍼링부(505)만이 다르다.
에러 플래그 버퍼 전송부(504)(『버퍼 전송부』)는, 복수의 시프트 레지스터(『비트맵 레지스터』)로 주로 구성된 비트맵형의 것이며, PI 신드롬 연산부(503)에 있어서 순차적으로 생성된 에러 플래그(ERF)를 버퍼링한다. 또한, 버퍼 전송부(511)는, 복수의 RAM으로 주로 구성된 포인터형의 것이며, PI 신드롬 연산부(503)에 있어서 순차적으로 생성된 에러 플래그(ERF) 중, 오류 있음을 나타내는 에 러 플래그에 대응한 ECC 블록 행을 나타내는 PI 에러 라인 넘버(ELN)(『에러 행 포인터』)를 버퍼링한다. 그리고, 에러 플래그 버퍼 전송부(504, 511)는, 에러 플래그(ERF) 혹은 PI 에러 라인 넘버(ELN)가, 버퍼 메모리(5)의 데이터 비트 폭을 소정의 자연수배한 분 버퍼링되었을 때에(S113), 버퍼 메모리(5)에 버퍼 전송한다(S114).
에러 플래그 버퍼링부(505)(『버퍼링부』)는, 버퍼 메모리(5)로부터 판독한 ECC 블록 전체행 분의 에러 플래그(ERF) 혹은 1블록 분의 PI 에러 라인 넘버(ELN)를 버퍼링하는 것이다(S115). 또한, 에러 플래그 버퍼링부(505)는, 본 발명에 따른 제1 실시예의 에러 플래그 버퍼링부(474, 480)와 마찬가지로, 비트맵형 혹은 포인터형으로서 구성된다.
또한, 에러 플래그 버퍼 전송부(504, 511)에 의해서, ECC 블록 전체행 분의 에러 플래그(ERF) 혹은 1블록 분의 PI 에러 라인 넘버(ELN)가 일단 버퍼 메모리(5)에 기입된다. 이 때문에, 도 12에 도시하는 바와 같이, 버퍼 전송부(501) 및 PI 신드롬 연산부(503)에 있어서의 각 처리와, PO 소실 정정 처리부(506), EDC 디코더(507) 및 버퍼 전송부(508)에 있어서의 각 처리가, 비동기의 관계로 된다.
도 12는, 오류 정정 장치(50)의 오류 정정 처리의 타이밍차트이다. 또한, (a), (b), (c), (d)의 설명은, 도 4와 마찬가지이다.
우선, 시각 T0으로부터 T1까지의 1블록 기간, 버퍼 전송부(501)로부터 버퍼 메모리(5)에의 ECC 블록0의 기입과, PI 신드롬 연산부(503)에 있어서의 ECC 블록0의 에러 플래그(ERF)의 생성이 병렬화 처리된다.
시각 T1로부터 T3까지의 1블록 기간, 버퍼 전송부(501)로부터 버퍼 메모리(5)에의 ECC 블록1의 기입과, PI 신드롬 연산부(503)에 있어서의 ECC 블록1의 에러 플래그(ERF)의 생성이 병렬화 처리된다.
또한, 시각 T1로부터 T3까지의 1블록 기간 사이의 시각 T2까지, 에러 플래그 버퍼링부(505)에서는, ECC 블록0 전체행 분의 에러 플래그0 혹은 ECC 블록0의 PI 에러 라인 넘버(ELN)의 버퍼링이 완료하고 있다.
따라서, 시각 T2에서는, 시각 T3에 있어서의 버퍼 전송부(501)로부터 버퍼 메모리(5)에의 ECC 블록2의 기입과 PI 신드롬 연산부(503)에 있어서의 에러 플래그(ERF) 생성을 대기하지 않고, PO 소실 정정 처리부(475) 및 EDC 디코더(476)에 있어서 ECC 블록0의 디코드 처리가 비동기로 행해진다. 그리고, ECC 블록0의 디코드 처리가 종료하는 시각 T4에서는, PO 소실 정정 처리부(475) 및 EDC 디코더(476)에 있어서 다음의 ECC 블록1에 대한 디코드 처리가 행해짐과 함께, 버퍼 메모리(5)로부터 버퍼 전송부(508)로의 ECC 블록0의 판독이 행해진다.
도 13은, 각 처리부(501, 503, (504, 511), 505, 506, 507, 508)에 의한 버퍼 메모리(5)에의 액세스 상황을 나타내는 것이다. 또한, (a)는 버퍼 전송부(501)로부터 버퍼 메모리(5)에의 ECC 블록의 라이트 액세스를 나타내고, (b)는 버퍼 전송부(504, 511)로부터 버퍼 메모리(5)에의 에러 플래그(ERF)(혹은 PI 에러 라인 넘버(ELN))의 라이트 액세스를 나타내고, (c)는 PO 소실 정정 처리부(506) 및 EDC 디코더(507)에 있어서의 디코드 처리에 수반하는 버퍼 메모리(5)에의 ECC 블록의 리드/라이트 액세스를 나타내고, (d)는 버퍼 전송부(508)로부터 버퍼 메모리(5)에의 ECC 블록의 리드 액세스를 나타내고, (e)는 오류 정정 처리 전체의 버퍼 메모리(5)에의 토탈 액세스를 나타내는 것이다.
에러 플래그 버퍼 전송부(504, 511)는, 도 13의 (b), (e)에 도시하는 바와 같이, 버퍼 전송부(501)로부터 버퍼 메모리(5)에 ECC 블록이 기입되는 틈틈이, 혹은, 후술하는 PO 소실 정정 처리부(506)가 PO 소실 정정 처리시, 버퍼 메모리(5)로부터 ECC 블록의 각 열을 판독하는 틈틈이, 버퍼링된 에러 플래그(ERF)를 버퍼 메모리(5)에 버퍼 전송하는 것으로 한다. 이 결과, 각 처리부(501, (504, 511), 506, 507, 508) 사이에 있어서, 버퍼 메모리(5)에의 각 액세스가 충돌하지 않고 효율적으로 행해지게 된다.
=== 비트맵형===
비트맵형의 버퍼 전송부(504)의 구성 및 동작에 대하여, 도 14에 기초하여 설명한다.
시프트 레지스터(5041)는, PI 신드롬 연산부(503)으로부터, ECC 블록 전체행 분(208bits)의 에러 플래그(ERF)를 수신한다.
어드레스 생성 회로(5402)는, PI 라인 카운터(5101)에 의해서 카운트 생성된 PI 라인 넘버 LN에 기초하여, 버퍼 메모리(5)에 저장할 에러 플래그(ERF)의 어드레스 정보를 생성하고, 메모리 액세스 제어 회로(45)에 전송한다. 이 결과, 시프트 레지스터(5401)로부터 출력된 에러 플래그(ERF)가, 메모리 액세스 제어 회로(45) 및 메모리 I/F 회로(46)를 통하여, 어드레스 생성 회로(5402)에 있어서 생성된 어드레스 정보에 기초하여, 버퍼 메모리(5)에 버퍼 전송된다.
그런데, 에러 플래그 버퍼링부(505)도 또한 마찬가지로, 비트맵형으로 하는 것이 가능하다. 또한, 이 경우의 구성은, 도 5에 도시한 본 발명의 제1 실시예에 따른 에러 플래그 버퍼링부(474)의 구성과 마찬가지이므로, 설명을 생략한다.
=== 포인터형===
포인터형의 버퍼 전송부(511)의 구성 및 동작에 대하여, 도 15에 기초하여 설명한다.
버퍼 전송부(511)는, PI 신드롬 연산부(503)로부터, ECC 블록의 각 행의 에러 플래그(ERF)를 수신하고, 오류 정정 시퀀스 제어부(510)의 PI 라인 카운터(5101)로부터, 각 에러 플래그(ERF)에 대응한 ECC 블록의 행을 나타내는 포인터인 PI 라인 넘버(LN)를 수신한다. 또한, 수신한 에러 플래그(ERF) 및 PI 라인 넘버(LN)는, 메모리 액세스 제어 회로(45)에 전송된다.
에러 카운터(5111)는, PI 신드롬 연산부(503)로부터 수신한 에러 플래그(ERF)의 오류 있음의 횟수(이하, 에러 카운트값(EC))를 카운트하여 메모리 액세스 제어 회로(45)에 전송한다.
어드레스 생성 회로(5402)는, PI 라인 카운터(5101)로부터 수신한 PI 라인 넘버(LN)에 기초하여, 버퍼 메모리(5)에 저장시키는 PI 에러 라인 넘버(ELN)의 어드레스 정보를 생성하여, 메모리 액세스 제어 회로(45)에 전송한다.
이와 같이, 메모리 액세스 제어 회로(45)는, 에러 플래그 버퍼 전송부(511)로부터, 에러 플래그(ERF), PI 라인 넘버(LN), 에러 카운트값(EC), 어드레스 정보를 수신한다. 그리고, 메모리 액세스 제어 회로(45)는, 수신한 에러 플래그(ERF) 가 오류 있음을 나타내는 경우, 그 에러 플래그와 동기하여 수신한 PI 라인 넘버(LN)(PI 에러 라인 넘버(ELN)(『에러 행 포인터』)) 및 어드레스 정보를, 메모리 I/F 회로(45)에 전송한다. 이 결과, 메모리 액세스 제어 회로(45)로부터 전송된 PI 에러 라인 넘버(ELN)가, 메모리 I/F(46)를 통하여, 어드레스 생성 회로(5402)에 있어서 생성된 어드레스 정보에 기초하여, 버퍼 메모리(5)에 기입된다.
또한, 메모리 액세스 제어 회로(45)는, 1블록 분의 에러 플래그(ERF)에 대응한 모든 PI 에러 라인 넘버(ELN)가 버퍼 메모리(5)에 기입된 후, 에러 카운터(511)에서 카운트된 에러 카운트값(EC)을, 전술한 바와 마찬가지로, 버퍼 메모리(5)에 기입한다. 이 버퍼 메모리(5)에 기입된 에러 카운트값(EC)은, 전술한 제1 실시예에 있어서의 에러 카운터(4731)의 에러 카운트값(EC)과 마찬가지로, 에러 버퍼링부(505)의 제어에 이용할 수 있다.
그런데, 에러 플래그 버퍼링부(505)도 또한 마찬가지로, 포인터형으로서 실시하는 것이 가능하다. 또한, 이 경우의 구성은, 도 8에 도시한 본 발명의 제1 실시예에 따른 에러 플래그 버퍼링(480)의 구성과 마찬가지이므로, 설명을 생략한다.
이상, 본 발명의 실시예에 대하여 설명했지만, 전술한 실시예는, 본 발명의 이해를 용이하게 하기 위한 것으로, 본 발명을 한정하여 해석하기 위한 것은 아니다. 본 발명은, 그 취지를 일탈하지 않고, 변경/개량될 수 있음과 함께, 그 등가물도 포함된다.
본 발명에 따르면, 적어도 2조의 오류 정정 부호를 조합해서 구성되는 블록 부호의 오류 정정 처리를 효율적으로 실시하는 것이 가능하고, 또한, 회로 규모의 증대를 억제한 오류 정정 장치를 제공할 수 있다.

Claims (8)

  1. 2차원 배열시킨 데이터에 행 방향의 제1 오류 정정 부호 및 열 방향의 제2 오류 정정 부호를 부여하여 구성된 블록 부호를 수신하여 오류 정정 처리를 행하는 오류 정정 장치로서,
    상기 수신한 블록 부호를 저장하는 버퍼 메모리와,
    상기 수신한 블록 부호의 행 단위로, 상기 제1 오류 정정 부호에 기초하는 신드롬 연산을 행하고, 상기 블록 부호의 각 행에서의 오류의 유무의 판별 결과를 생성하는 신드롬 연산부와,
    상기 판별 결과를 버퍼링하는 버퍼링부와,
    상기 버퍼 메모리로부터 판독된 상기 블록 부호의 각 열에 부여되는 상기 제2 오류 정정 부호와, 상기 버퍼링부에서 버퍼링된 상기 판별 결과에 기초하여 정정 처리를 행하는 정정 처리부
    를 갖는 것을 특징으로 하는 오류 정정 장치.
  2. 제1항에 있어서,
    상기 판별 결과는, 상기 블록 부호의 각 행에서의 오류의 유무를 플래그로 표현한 에러 플래그이고,
    상기 버퍼링부는,
    상기 블록 부호의 전체행 분의 상기 에러 플래그를 버퍼링하는 복수의 비트 맵 레지스터와,
    상기 복수의 비트맵 레지스터 각각을, 상기 신드롬 연산부에 접속할지, 상기 정정 처리부에 접속할지를 절환하기 위한 제어를 행하는 스위칭 제어부를 갖는 것을 특징으로 하는 오류 정정 장치.
  3. 제1항에 있어서,
    상기 판별 결과는, 상기 블록 부호의 각 행 중 오류 있음의 행을 나타내는 에러 행 포인터이고,
    상기 버퍼링부는,
    상기 신드롬 연산부 및 상기 정정 처리부를 액세스 가능하고, 상기 에러 행 포인터를 버퍼링하는 복수의 에러 행 포인터 저장용 메모리와,
    상기 복수의 에러 행 포인터 저장용 메모리 각각을, 상기 신드롬 연산부에 접속할지, 상기 정정 처리부에 접속할지를 절환하기 위한 제어를 행하는 스위칭 제어부를 갖는 것을 특징으로 하는 오류 정정 장치.
  4. 제3항에 있어서,
    상기 버퍼링부는,
    상기 에러 행 포인터 저장용 메모리에 버퍼링된 상기 에러 행 포인터의 개수를 카운트하는 에러 카운터를 설치한 것을 특징으로 하는 오류 정정 장치.
  5. 2차원 배열시킨 데이터에 행 방향의 제1 오류 정정 부호 및 열 방향의 제2 오류 정정 부호를 부여하여 구성된 블록 부호를 수신하여 오류 정정 처리를 행하는 오류 정정 장치로서,
    상기 수신한 블록 부호를 저장하는 버퍼 메모리와,
    상기 수신한 블록 부호의 행 단위로, 상기 제1 오류 정정 부호에 기초하는 신드롬 연산을 행하고, 상기 블록 부호의 각 행에서의 오류의 유무의 판별 결과를 생성하는 신드롬 연산부와,
    상기 판별 결과를 버퍼링함과 함께 상기 버퍼 메모리에 전송하는 버퍼 전송부와,
    상기 버퍼 메모리로부터 판독한 상기 판별 결과를 버퍼링하는 버퍼링부와,
    상기 버퍼 메모리로부터 판독된 상기 블록 부호의 각 열에 부여되는 상기 제2 오류 정정 부호와, 상기 버퍼링부에서 버퍼링된 상기 판별 결과에 기초하여 정정 처리를 행하는 정정 처리부
    를 갖는 것을 특징으로 하는 오류 정정 장치.
  6. 제5항에 있어서,
    상기 판별 결과는, 상기 블록 부호의 각 행에서의 오류의 유무를 플래그로 표현한 에러 플래그이고,
    상기 버퍼 전송부는,
    상기 블록 부호의 상기 에러 플래그를 저장하는 복수의 비트맵 레지스터와,
    상기 에러 플래그를 상기 버퍼 메모리에 기입하기 위한 어드레스를 생성하는 어드레스 생성 회로를 갖는 것을 특징으로 하는 오류 정정 장치.
  7. 제5항에 있어서,
    상기 판별 결과는, 상기 블록 부호의 각 행 중 오류 있음의 행을 나타내는 에러 행 포인터이고,
    상기 버퍼 전송부는,
    상기 에러 행 포인터를 상기 버퍼 메모리에 기입하기 위한 어드레스를 생성하는 어드레스 생성 회로를 갖는 것을 특징으로 하는 오류 정정 장치.
  8. 제7항에 있어서,
    상기 버퍼 전송부는,
    상기 에러 행 포인터의 개수를 카운트하는 에러 카운터를 설치한 것을 특징으로 하는 오류 정정 장치.
KR1020060037052A 2005-04-26 2006-04-25 오류 정정 장치 KR100699385B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005128053A JP2006309820A (ja) 2005-04-26 2005-04-26 誤り訂正装置
JPJP-P-2005-00128053 2005-04-26

Publications (2)

Publication Number Publication Date
KR20060112222A true KR20060112222A (ko) 2006-10-31
KR100699385B1 KR100699385B1 (ko) 2007-03-26

Family

ID=37195377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060037052A KR100699385B1 (ko) 2005-04-26 2006-04-25 오류 정정 장치

Country Status (5)

Country Link
US (1) US20060259850A1 (ko)
JP (1) JP2006309820A (ko)
KR (1) KR100699385B1 (ko)
CN (1) CN1855282A (ko)
TW (1) TW200641815A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046542B2 (en) * 2007-11-21 2011-10-25 Micron Technology, Inc. Fault-tolerant non-volatile integrated circuit memory
TWI397061B (zh) * 2010-05-06 2013-05-21 Nat Univ Chin Yi Technology Method of Correcting Errors for Symmetrical Product Codes
US9021328B2 (en) * 2013-01-15 2015-04-28 International Business Machines Corporation Shared error protection for register banks
US9041428B2 (en) 2013-01-15 2015-05-26 International Business Machines Corporation Placement of storage cells on an integrated circuit
US9201727B2 (en) 2013-01-15 2015-12-01 International Business Machines Corporation Error protection for a data bus
US20140201599A1 (en) * 2013-01-15 2014-07-17 International Business Machines Corporation Error protection for integrated circuits in an insensitive direction
US9043683B2 (en) * 2013-01-23 2015-05-26 International Business Machines Corporation Error protection for integrated circuits
US11538546B2 (en) * 2019-12-16 2022-12-27 Micron Technology, Inc. Data compression for global column repair
RU2738789C1 (ru) * 2019-12-31 2020-12-16 Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М.Штеменко" Министерства обороны Российской Федерации Способ и устройство защиты данных, передаваемых с использованием блочных разделимых кодов, от имитирующих действий злоумышленника

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239863B2 (ja) * 1998-11-27 2001-12-17 日本電気株式会社 データ復号処理装置および方法
CN1286275C (zh) * 1999-11-24 2006-11-22 三洋电机株式会社 纠错装置
JP3954803B2 (ja) 2001-03-22 2007-08-08 三洋電機株式会社 エラー訂正装置
US7600177B2 (en) * 2005-02-08 2009-10-06 Lsi Corporation Delta syndrome based iterative Reed-Solomon product code decoder

Also Published As

Publication number Publication date
US20060259850A1 (en) 2006-11-16
CN1855282A (zh) 2006-11-01
TW200641815A (en) 2006-12-01
JP2006309820A (ja) 2006-11-09
KR100699385B1 (ko) 2007-03-26

Similar Documents

Publication Publication Date Title
KR100699385B1 (ko) 오류 정정 장치
US7370259B2 (en) Data processing method and apparatus, recording medium, reproducing method and apparatus using the same method
US6397366B1 (en) Data transmission system, data recording and reproducing apparatus and recording medium each having data structure of error correcting code
CN1779838B (zh) 执行可变数量的纠错重复的数字信号处理方法和装置
KR100265769B1 (ko) 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법
US20050229070A1 (en) Method of detecting error location, and error detection circuit, error correction circuit, and reproducing apparatus using the method
KR100402373B1 (ko) 오류정정코드의데이터구조를구비한,데이터전송시스템,데이터기록과재생장치및기록매체
KR20000023004A (ko) 디스크 재생 장치에 적용되는 에러 검출 회로
KR100360406B1 (ko) 광디스크 신호 재생용 디지털신호 처리장치 및 이를구비한 광디스크 플레이어
KR100315768B1 (ko) 고속의 데이타재생을 위한 메모리액세스방법 및 이를 채용한dvd시스템
JP2006164377A (ja) ディジタルデータ記録装置および記録再生装置
JP2010176715A (ja) データ記録方法、データ再生装置、データ記録装置及び記録再生装置
JP2005209310A (ja) デインターリーブ方法、デインターリーブ回路、および情報再生装置
JP2003203420A (ja) デジタル情報記録再生装置

Legal Events

Date Code Title Description
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