KR100738170B1 - 오류 정정 장치 - Google Patents

오류 정정 장치 Download PDF

Info

Publication number
KR100738170B1
KR100738170B1 KR1020000069794A KR20000069794A KR100738170B1 KR 100738170 B1 KR100738170 B1 KR 100738170B1 KR 1020000069794 A KR1020000069794 A KR 1020000069794A KR 20000069794 A KR20000069794 A KR 20000069794A KR 100738170 B1 KR100738170 B1 KR 100738170B1
Authority
KR
South Korea
Prior art keywords
circuit
error correction
data
error
memory
Prior art date
Application number
KR1020000069794A
Other languages
English (en)
Other versions
KR20010051884A (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 KR20010051884A publication Critical patent/KR20010051884A/ko
Application granted granted Critical
Publication of KR100738170B1 publication Critical patent/KR100738170B1/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
    • 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/1555Pipelined decoder implementations
    • 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/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm
    • 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/158Finite field arithmetic processing
    • 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/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

  • 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)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

오류 정정 회로(6)는 버퍼 메모리(5)에 저장된 적부호 블록화된 PI 계열의 라인 부호에 대하여 오류 정정을 행하는 제1 오류 정정 연산 회로(9)와, PO 계열의 라인 부호에 대하여 오류 정정을 행하는 제2 오류 정정 연산 회로(10)를 포함한다. 제1 오류 정정 회로의 정정 완료 데이터는 제2 오류 정정 연산 회로(10)의 제2 신드롬 계산 회로(13)에 전송되고, 제2 신드롬 계산 회로(13)는 신드롬의 계산 도중 경과를 기억하는 기억 소자(13bn)를 포함하고, 정정 완료의 PI 계열 라인 데이터가 입력될때마다 기억 소자(13bn)로부터 대응하는 데이터를 판독하여 신드롬을 연산하고 그 값을 기억 소자(13bn)에 기억되어 있는 오래된 데이터에 오버라이트한다.
디지털 데이터 전송, 오류 정정, 리드 솔로몬 부호, 버퍼 메모리

Description

오류 정정 장치{ERROR CORRECTION DEVICE}
도 1은 본 발명의 실시예 1의 오류 정정 장치를 이용한 광 디스크 재생 시스템의 구성을 나타내는 개략 블록도.
도 2는 실시예 1에서의 적부호 블록의 설명도.
도 3은 실시예 1에서의 오류 정정 회로(6)의 구성을 나타내는 개략 블록도.
도 4는 실시예 1에서의 제1 신드롬 계산 회로(12)의 개략을 나타내는 블록도.
도 5는 실시예 1에서의 제2 신드롬 계산 회로(13)의 개략을 나타내는 블록도.
도 6은 도 3에 도시한 오류 정정 회로(6)의 동작을 설명하기 위한 플로우차트.
도 7은 오류 정정 회로(10)가 적부호 블록 Dk(k : 자연수)를 순차 처리하는 과정을 나타내는 개념도.
도 8은 실시예 2에서의 오류 정정 회로(20)의 구성을 나타내는 개략 블록도.
도 9는 실시예 2에서의 제2 오류 정정 연산 회로(10)의 개략을 나타내는 블록도.
도 10은 실시예 2의 오류 정정 회로(20)가 적부호 블록 Dk(k : 자연수)를 순 차 처리하는 과정을 나타내는 개념도.
도 11은 실시예 3에서의 오류 정정 회로(30)의 구성을 나타내는 블록도.
도 12는 실시예 3에서의 오류 정정 회로(30)의 동작을 설명하기 위한 타이밍차트.
도 13은 적부호가 디지털 데이터에 부가된 상태를 모식적으로 나타내는 도면.
도 14는 제1 종래의 오류 정정 장치에서의 오류 정정 처리에서의 데이터의 전송 경로를 간단하게 나타낸 블록도.
도 15는 일반적인 오류 정정 회로의 개략을 나타내는 블록도.
도 16은 제2 종래예에서의 오류 정정 장치의 개략을 나타내는 블록도.
<도면의 주요 부분에 대한 부호의 설명>
1: 광 디스크
2: 판독 2진화 회로
3: 서보 제어 회로
4: 복조 디포맷 회로
5: 버퍼 메모리
6: 오류 정정 회로
8: 컨트롤러
본 발명은 오류 정정 장치에 관한 것으로, 특히, 적(積)부호 블록화된 데이터에 대하여 각 방향의 부호의 오류 정정을 순차 행하는 오류 정정 장치에 관한 것이다.
디지털 전송 시스템, 컴퓨터의 주변 장치 등과 같이 디지털 데이터를 전송하는 환경에서는 디지털 데이터 전송의 신뢰성의 향상을 도모하기 위해서 일반적으로 오류 정정 부호가 이용되고 있다. 특히 최근에는 디지털 데이터의 수신 재생측에서의 데이터 처리 능력의 향상에 따라, 고도의 정정 능력을 갖는 오류 정정 부호가 이용되고 있다.
이러한 오류 정정 부호의 대표적인 것으로서, 부호 길이·중복도가 큰 장거리 코드의 적부호가 있다.
도 13은 이러한 적부호가 디지털 데이터(정보 심볼)에 부가되는 상태를 모식적으로 나타낸 도면이다.
도 13을 참조하여, 적부호는 일반적으로, 종횡의 다른 방향의 오류 정정 부호를 조합한 것이다. 보다 특정적으로는 정보 심볼의 세로 방향에 대하여 부가된 외부호의 패리티 PO와, 정보 심볼 및 패리티 PO의 가로 방향에 대하여 부가된 내부호의 패리티 PI로 구성된다.
각각의 오류 정정 부호로서는 바이트 단위의 오류 정정이 가능한 리드·솔로몬 부호(이하, RS 부호라고 부른다)가 이용되는 경우가 많다. 도 13의 예에서는 PO 방향의 오류 정정 부호는 부호 길이 n0(=208), 정보 길이 k0(=192), 최소 거리 d0(=10)의 RS 부호이며, PI 방향의 오류 정정 부호는 부호 길이 ni(=182), 정보 길이 ki(=172), 최소 거리 di(=11)의 RS 부호이다.
또, 여기서 di≥2ti+1, d0≥2t0+1의 관계가 성립되어 있는 것으로 한다(ti, t0은 정정 가능한 오류수).
이와 같이 2개의 방향의 RS 오류 정정 부호가 부가되며 또한 적부호 블록화된 데이터의 수신 재생 장치가 디코드(오류 정정)할 때에는 일반적으로, 각 방향의 부호의 오류 정정이 반복된다.
도 14는 이러한 제1 종래의 오류 정정 장치에서의 오류 정정 처리에서의 데이터의 전송 경로를 간단하게 나타낸 블록도이다.
도 14를 참조하여 예를 들면, DVD 등으로부터 판독된 디지털 데이터는 데이터 버스(51)를 통하여, 도 13에 도시한 바와 같이 적부호 블록화되어 일단 버퍼 메모리(52)에 축적된다. 버퍼 메모리(52)에는 복수의 적부호 블록을 한번에 축적하기 위해서, 4Mbit 이상의 대용량이 이용되는 것이 일반적이다. 따라서, 버퍼 메모리(52)로서는 대용량, 소면적 및 저비용이라는 이유에서부터 주로 다이나믹형 랜덤 액세스 메모리(이하, DRAM이라고 부른다)나 동기형 다이나믹형 랜덤 액세스 메모리(이하, SDRAM이라고 부른다) 등이 이용된다.
그리고, 버퍼 메모리(52)로부터 데이터가 순차 판독되어 오류 정정 회로(53)로 각 방향의 부호의 오류 정정이 행해진다. 리드·솔로몬 부호를 이용한 오류 정 정을 행하기 위해서는 다음 4개의 순서가 일반적이다.
(1) 수신 데이터로부터 신드롬을 계산한다.
(2) 신드롬으로부터 오류 위치 다항식, 오류 평가 다항식을 구한다.
(3) 오류 위치 다항식으로부터 오류 위치를 구한다.
(4) 오류 위치 다항식, 오류 평가 다항식 및 오류 위치에서 오류 수치를 구하여 정정한다.
정정 능력이 큰 리드·솔로몬 부호에 의한 오류 정정에서는 상술한 순서 (2)에서 신드롬으로부터 오류 위치 다항식, 오류 평가 다항식을 구하는 수법 중 하나로서, 2개의 다항식의 최대 공약수를 구하는 유클리드 상호 제거를 응용한 유클리드 알고리즘이 알려져 있다.
도 15는 이러한 오류 정정 회로(53)의 구성을 나타내는 개략 블록도이다. 오류 정정 회로(53)는 입력 데이터로부터 신드롬을 계산하기 위한 신드롬 계산 회로(54)와, 신드롬으로부터 오류 위치 다항식, 오류 평가 다항식을 구하기 위한 유클리드 실행 회로(55)와, 오류 위치 다항식, 오류 평가 다항식으로부터 오류 위치, 오류 수치를 구하는 체인 검색 실행 회로(56)와, 오류 위치, 오류의 수치에 의해 정정을 행하는 정정 회로(57)로 구성된다.
예를 들면, 도 13의 적부호 블록에서 가로 방향의 PI 계열의 데이터에 대한 신드롬 계산, 유클리드법에 의한 오류 위치 다항식과 오류 수치 다항식의 계산 및 체인(chien) 검색법에 의한 오류 위치와 값의 계산이 행해지며, 버퍼 메모리(52) 상에서 오류가 정정된다.
그 후, 세로 방향의 PO 계열의 데이터에 대한 신드롬 계산, 유클리드법에 의한 오류 위치 다항식과 오류 수치 다항식의 계산 및 체인 검색법에 의한 오류 위치와 값의 계산이 행해져서 버퍼 메모리(52) 상에서 오류가 정정된다.
이러한 처리를 각 계열에 대하여 반복함으로써, 정보 심볼 내의 오류 부호가 정정되게 된다. 일반적으로, 이 오류 정정 처리의 반복 횟수가 많을수록 정정 가능한 오류 부호의 수가 많아진다.
도 14에 도시한 예에서는 버퍼 메모리(52)는 다이나믹형 랜덤 액세스 메모리(DRAM) 등을 포함한다. 버퍼 메모리(52)는 가로 방향의 PI 계열의 데이터를 액세스하는 경우에는 버스트 액세스가 되어 고속으로 데이터를 판독할 수 있다. 그러나, 세로 방향의 PO 계열의 데이터를 액세스하는 경우에는 랜덤 액세스를 필요로 하기 때문에, 데이터의 판독에 시간이 걸리고, 그 결과, 오류 정정 속도가 저하한다는 문제가 있다.
도 16은 이러한 문제에 대처하기 위한 제2 종래의 오류 정정 장치의 구성을 설명하기 위한 개략 블록도이다.
도 16에 도시한 바와 같이 이 제2 종래의 오류 정정 장치에는 세로, 가로 중 어느 한 방향의 데이터에도 고속 액세스가 가능한 스태택형 랜덤 액세스 메모리(이하, SRAM으로 부른다)로 이루어지는 기억 소자(58)를 부가된다. 버퍼 메모리(52)에서의 가로 방향의 PI 계열의 데이터의 액세스 시에 이 기억 소자(58)에 적부호 블록의 모든 데이터를 기입한다. 즉, 세로 방향의 PO 계열의 데이터의 액세스는 이 기억 소자(58)에 기억된 적부호 블록에 대하여 행하도록 함으로서, 세로 방향의 PO 계열의 데이터의 액세스도 고속으로 행할 수 있도록 하는 것이 제안되고 있다.
그러나 도 16에 도시한 종래예에 있어서는 SRAM으로 이루어지는 기억 소자(58)의 용량이 방대해지며 그 결과, 회로 면적 및 소비 전력이 증대한다는 새로운 문제가 있다.
본 발명의 목적은 기억 소자의 용량의 증가를 억제한 데다가 고속의 오류 정정 처리를 행할 수 있는 오류 정정 장치를 제공하는 것이다.
본 발명은 요약하면 오류 정정 장치에 있어서, 제1 기억 회로와, 제1 오류 정정 연산 회로와, 제2 오류 정정 연산 회로를 포함한다.
제1 기억 회로는 다른 방향의 오류 정정 부호가 부가된 적부호 블록을 기억한다. 제1 오류 정정 연산 회로는 적부호 블록에서의 제1 방향으로 배열된 데이터를 제1 기억 수단으로부터 받아서 제1 방향에 관해서 오류 정정 처리를 행한다. 제2 오류 정정 연산 회로는 제1 오류 정정 수단으로 정정된 데이터를 제1 오류 정정 수단으로부터 받아서 적부호 블록에서의 제2 방향으로 배열된 데이터에 대한 오류 정정을 위한 처리를 축차 행한다.
따라서, 본 발명에 따르면 회로 면적 및 소비 전력의 증가를 억제하면서 고 속의 오류 정정 처리를 행할 수 있는 오류 정정 장치를 제공하는 것이 가능해진다.
<제1 실시예>
본 발명을 구체화한 제1 실시예를 도면에 기초하여 설명한다. 단, 종래예와 마찬가지의 구성 부분에는 동일한 부호를 이용하여 그 상세한 설명을 생략한다.
도 1은 본 발명에 따른 오류 정정 장치를 이용한 광 디스크 재생 시스템의 구성을 나타내는 개략 블록도이다. 즉, 도 1은 DVD(Digital Video Disc) 등의 광 디스크에 대한 정보 재생 시스템의 일례를 나타낸 것이다.
도 1에서 광 디스크(1)로부터 판독된 신호는 판독 2진화 회로(2)에 의해서 디지털 신호로 변환된 후, 복조·디포맷 회로(4)로 제공되며, 도 13에 도시하는 형태의 적부호 블록화된 데이터에 복조된다.
여기서 도 2는 실시예 1의 적부호 블록의 구성을 나타내는 도면이다. 도 2에 도시한 바와 같이 실시예 1의 적부호 블록은 행방향(가로 방향)으로 182B의 데이터(COL181 ∼ COL0)와 열방향(가로 방향)에 208B의 데이터(ROW0 ∼ ROW207)로 이루어진다. 즉, 실시예 1의 적부호 블록은 172B(bytes)열×192행의 정보 데이터에 가로 방향의 10B(bytes)열×208행의 패리티 PI와 세로 방향의 172열×16B(bytes)행의 패리티 PO를 부가함으로써 구성되어 있다.
다시 도 1로 되돌아가서, 이 도 2에 도시한 형태의 1블록분의 데이터는 SDRAM으로 이루어진 버퍼 메모리(5)에 저장된다. 따라서, 버퍼 메모리(5)도 가로 방향의 PI 계열의 데이터를 액세스하는 경우에는 버스트 액세스가 되어 고속으로 데이터를 판독할 수 있다.
한편, 서보 제어 회로(3)는 복조·디포맷 회로(4)의 출력에 기초하여, 광 디스크(1)의 드라이브 기구(도시하지 않음)를 서보 제어한다. 복조·디포맷 회로(4) 및 서보 제어 회로(3)의 동작은 컨트롤러(8)에 의해서 제어된다.
컨트롤러(8)는 또한 버퍼 메모리(5)에 저장된 1 블록분의 데이터에 대한 디코드(오류 정정) 명령을 오류 정정 회로(6)에 제공한다. 오류 정정 회로(6)는 이 명령에 따라서, 오류 정정 처리를 버퍼 메모리(5)에 저장되어 있는 데이터에 실시하고, 컨트롤러(8)로 처리의 종료를 알린다. 오류 정정 회로(6)의 동작은 컨트롤러(8)에 의해 제어된다.
도 3은 도 1에 도시한 오류 정정 회로(6)의 구성을 상세하게 나타내는 블록도이다.
도 3에서 오류 정정 회로(6)는 제1 오류 정정 연산 회로(9)와, 제2 오류 정정 연산 회로(10)와, 데이터 버스(11)를 포함하고 있다. 제1 오류 정정 연산 회로(9)는 버퍼 메모리(5)에 저장되며 또한 적부호 블록화되어 있는 데이터에 대하여 가로 방향(PI 계열)의 라인의 부호에 대하여 오류 정정을 행한다. 제2 오류 정정 연산 회로(10)는, 제1 오류 정정 연산 회로(9)에 의해 정정된 적부호 블록의 세로 방향(PO 계열)의 라인의 부호에 대하여 오류 정정을 행한다. 데이터 버스(11)는 이들 버퍼 메모리(5), 제1 오류 정정 연산 회로(9) 및 제2 오류 정정 연산 회로(10) 간에 데이터의 교환을 행하기 위하여 설치된다.
제1 오류 정정 연산 회로(9)는 도 15에 도시한 오류 정정 회로(53)의 구성에 있어서, 신드롬 계산 회로(54) 대신에 제1 신드롬 계산 회로(12)를 설치한 것으로, 그 외의 유클리드 실행 회로(55), 체인 검색 실행 회로(56) 및 정정 회로(57)의 구성은 마찬가지이다.
도 4는 제1 신드롬 계산 회로(12)의 구성을 나타내는 블록도이다.
오류를 포함하고 있는 부호열의 수신 다항식(부호 다항식 : code polynomial)인 y(x)를
y(x)=ym-1xm-1+ym-2xm-2+ … …y1x+y0
으로 한다. 단, m은 수신 다항식의 항수이다. 예를 들면, 도 2에 도시하는 적부호 블록에서는 PI 계열의 라인의 부호에 대하여 오류 정정을 행하는 경우, m=182가 되며, PO 계열의 라인의 부호에 대하여 오류 정정을 행하는 경우, m=208이 된다.
잘 알려져 있듯이 수신 다항식 y(x)가 상기한 바와 같이 나타나는 경우, 신드롬은 이하의 수학식 1에 제공된다.
Figure 112000024747918-pat00001
단, t : 정정 가능한 오류수, α : 원시 다항식(생성 다항식)의 근이다.
이 신드롬의 계산식을 회로에서 실현한 것이 제1 신드롬 계산 회로(12)이다. 단, 이 경우 상기 수학식 1 중에서는 단순한 합 연산이 아니라 배타적 논리합 연산을 행한다.
도 4를 참조하여 제1 신드롬 계산 회로(12)는 배타적 논리합 회로(12ai ; i=0 ∼ n-1)와 레지스터(12bi)와 승산기(12ci)를 포함하는 회로를 원시 다항식의 근 α0, α, … αj, …αn-1에 각각 대응하여 n개 포함되어 있다. 여기에서 원시 다항식은 계속하는 n개의 수 0 ∼ (n-1)을 각각 누승을 갖는 α0, α, … αj, …αn-1을 근으로 한다.
즉, α0에 대응하여 설치된 배타적 논리합 회로(12a0)는 데이터 y181 ∼ y0을 순차 한쪽 입력으로 받아서, 레지스터(12b0)는 배타적 논리합 회로(12a0)의 출력을 받아서 유지한다. 승산기(12c0)는 레지스터(12b0)의 출력에 α0을 승산하고, 배타적 논리합 회로(12a0)의 다른쪽 입력에 제공한다. 근 α 외의 누승에 대해서도 마찬가지의 회로가 설치된다.
예를 들면, 실시예 1과 같은 DVD 포맷에서는 10B의 패리티 PI를 부가하는 것이 정해져 있기 때문에, n=10(0 ∼ 9)이며, 수학식 1에서의 j는 0, …, 9에 각각 상당한다.
다시, 도 3을 참조하여 제2 오류 정정 연산 회로(10)는 도 15에 도시한 오류 정정 회로(53)의 구성에서 신드롬 계산 회로(54) 대신에 제2 신드롬 계산 회로(13)를 설치한 것으로 그 외의 유클리드 실행 회로(55), 체인 감지 실행 회로(56) 및 정정 회로(57)의 구성은 동일하다.
도 5는 제2 오류 정정 연산 회로(10)에서의 제2 신드롬 계산 회로(13)의 구성을 나타내는 블록도이다.
제2 신드롬 계산 회로(13)는 수학식 1의 신드롬 계산을 실현한다는 기능을 포함하는 점에서는 제1 신드롬 계산 회로(12)와 마찬가지이다.
도 5를 참조하여 제2 신드롬 계산 회로(13)는 배타적 논리합 회로(13an)와 기억 소자(13bn)와 승산기(13cn)로 이루어지는 회로를 n개 포함하고 있다. 배타적 논리합 회로(13ai ; i=0 ∼ n-1)와 기억 소자(13bi)를 승산기(13ci)를 포함하는 회로를 원시 다항식의 근 α의 누승의 α0, … αj, … αn-1에 각각 대응하여 n개 포함하고 있다.
즉, α0에 대응하여 설치된 배타적 논리합 회로(13a0)는 데이터 y181 ∼ y10을 순차 한쪽 입력으로 받아서 기억 소자(13b0)는 배타적 논리합 회로(13a0)의 출력을 받아서 유지한다. 승산기(13c0)는 기억 소자(13b0)의 출력에 α0을 승산하고, 배타적 논리합 회로(13a)의 다른쪽 입력에 제공한다. 근α의 다른 누승에 대해서도 마찬가지의 회로가 설치된다. 기억 소자(13b0)에는 신드롬 계산 도중 경과의 값을 축차 기억하고 또한 어드레스 신호에 따라서 랜덤하게 액세스 가능한 것으로 예를 들면 스태틱형 반도체 기억 장치(이하, SRAM)로 이루어진다. 근 α의 다른 누승에 대해서도 마찬가지의 회로가 설치된다.
예를 들면, 실시예 1과 같은 DVD 포맷으로는 16B의 PO 패리티를 부가하는 것이 정해지고 있기 때문에, 제2 신드롬 계산 회로(13)에서는 n=16(0 ∼ 15)으로, 수학식 1에서의 j는, 0, …, 15에 각각 상당한다.
도 6은 도 3에 도시한 오류 정정 회로(6)의 동작을 설명하기 위한 플로우차트이다.
이하에서는, 상술한 바와 같은 구성에 기초하는 오류 정정 회로(6)의 오류 정정 동작을 도 3 및 도 6에 따라서 설명한다.
컨트롤러(8)로부터 디코드 명령이 오류 정정 회로(6)로 주어지면, 오류 정정 회로(6)는 적부호 블록화된 1블록분의 데이터에 대한 오류 정정 처리를 개시한다(스텝 S100).
오류 정정 처리가 개시되면, 우선, 이하에 설명하는 플로우에 따라서, 버퍼 메모리(5)로부터 제1 오류 정정 연산 회로(9)에, 도 2에서의 ROW0의 PI 계열의 라인 데이터가 전송되며, 제1 오류 정정 연산 회로(9)에 의해, PI 계열의 라인 부호에 대한 오류 정정 연산이 실행된다.
즉, 도 3에 도시한 버퍼 메모리(5)로부터, 도 2에 도시하는 적부호 블록의 PI 계열의 라인마다 데이터 yi(i=181 ∼ 0)가 순차 배타적 논리합 회로(12an : n=0 ∼ 9)에 입력되며(스텝 S102), 그 연산 결과가 일단 레지스터(12bn ; n=0 ∼ 9)에 축적된다. 그리고, 레지스터(12bn)에서 축적된 데이터에 대하여, 승산기(12cn ; n=0 ∼ 9)에 의해 αn(n=0 ∼ 9)이 승산되며, 그 결과와 다음의 데이터 y(i-1)가 배타적 논리합 회로(12n)에서 연산된다. 이것을 반복함으로써 신드롬이 계산된다(스텝 S104).
신드롬을 계산한 후는 유클리드 실행 회로(55)에 의해, 신드롬으로부터 오류 위치 다항식, 오류 평가 다항식을 구하고(스텝 S106), 체인 검색 실행 회로(56)에 의해, 오류 위치 다항식, 오류 평가 다항식으로부터 오류 위치, 오류 수치를 구한다(스텝 S108).
그리고, 버퍼 메모리(5)에 기억되어 있는 원 데이터(정정 전의 데이터)가 판독되며(스텝 S110), 계속해서 배타적 논리합 회로를 포함하는 정정 회로(57)에 의해서, 버퍼 메모리(5)로부터 판독된 원 데이터(정정 전의 데이터)에 대한 정정 연산이 행해진다(스텝 S112). 그 정정 후의 데이터가 데이터 버스(11)를 통하여 버퍼 메모리(5)에 전송되어 버퍼 메모리(5)에 저장된다(스텝 S114).
한편, 정정 회로(57)로부터의 정정 완료의 데이터는 버퍼 메모리(5)에 전송되는 것과 동시에 제2 오류 정정 연산 회로(10)의 제2 신드롬 계산 회로(13)에 전송되어 제2 신드롬 계산이 실시된다(스텝 S116).
이 스텝 S116에서는 제1 오류 정정 연산 회로(9)로부터, 정정 후의 PI 계열의 라인 데이터 yi(i=181 ∼ 10)가 순차 배타적 논리합 회로(13an ; n=0 ∼ 15)에 입력되며, 그 연산 결과가 기억 소자(13bn ; n=0 ∼ 15)에 축적된다. 다만, ROW0의 PI 계열 라인 데이터에 대해서는 그 이전에 기억 소자(13bn ; n=0 ∼ 15)에 축적된 데이터가 존재하지 않으므로, 그대로의 값이 기억 소자(13bn)에 축적되게 된다.
즉, 스텝 S116에서는 도 2에서의 ROW0의 PI 계열 라인 데이터가 제2 신드롬 계산 회로(13)에 입력되며, 172B의 데이터가 기억 소자(13bn)에 기억된다.
다음에, 처리가 도 2에 도시한 최종행인 ROW207까지 행해진 것이 판정된다(스텝 S118).
상술한 처리에서는, ROW0에 대응한 처리가 종료하고 있는 것뿐이기 때문에 처리는 다시 스텝 S102로 복귀한다.
따라서, 스텝 S102에 있어서, 버퍼 메모리(5)로부터, ROW1의 PI 계열 라인 데이터가 전송되며, 제1 오류 정정 연산 회로(9)에 의해, PI 계열의 라인의 부호에 대한 오류 정정 연산이 실행되며, 스텝 S114에서 정정 완료의 데이터가 데이터 버스(11)를 통하여 버퍼 메모리(5)에 전송되어, 버퍼 메모리(5) 상에서 오류가 정정된다.
스텝 S114에서 제1 오류 정정 연산 회로(9)의 정정 완료 데이터는 버퍼 메모리(5)에 전송되는 것과 동시에, 제2 오류 정정 연산 회로(10)의 제2 신드롬 계산 회로(13)에 전송된다. 여기서, 도 3에 도시하는 제2 신드롬 계산 회로(13)는 우선, ROW1의 PI 계열 라인 데이터에서의 y(181)가 입력되면, 기억 소자(13bn)에 기억되어 있는 y181(ROW0의 PI 계열 라인 데이터)을 판독하여 승산기(13cn ; n=0 ∼ 15)에 전송하고, 승산기(13bn)에 의해 αn(n=0 ∼ 15)을 승산하고, 그 결과와 상기 ROW1의 PI 계열 라인 데이터에서의 y181을 배타적 논리합 회로(13an)에서 연산하고, 그 값을 기억 소자(13bn)에 기억되어 있는 y181에 대응하는 데이터에 오버라이트한다.
이하, 마찬가지로, ROW1의 PI 계열 라인 데이터 yi가 입력될 때마다 기억 소자(13bn)에서부터 대응하는 데이터를 판독하여 배타적 논리합 회로(13an)에서 연산하고, 그 값을 기억 소자(13bn)에 기억되어 있는 yi에 대응하는 데이터에 오버라이트한다. 이와 같이, 기억 소자(13bn)에서는 새로운 데이터를 순차 오버라이트할 뿐이기 때문에, 172B(=182B-10B)×n(=16)의 데이터를 기억하는 만큼의 매우 적은 기억 용량을 포함하는 것만으로 좋다.
또, 이 제2 신드롬 계산 회로(13)에 의한 처리가 특허 청구의 범위의 란에 기재한 「오류 정정을 위한 처리」에 상당한다.
이상의 스텝 S102 ∼ S116의 동작을 도 2에서의 ROW207까지 반복하여 행함으로써, 적부호 블록에서의 PI 계열의 전 라인의 부호에 대한 오류 정정 연산이 종료함과 함께, PO 계열의 전 라인의 부호에 대한 신드롬 계산이 종료한다.
신드롬을 계산한 후는 유클리드 실행 회로(55)에 의해 신드롬으로부터 오류 위치 다항식, 오류 평가 다항식을 구하고(스텝 S120), 체인 검색 실행 회로(56)에 의해, 오류 위치 다항식, 오류 평가 다항식으로부터 오류 위치, 오류 수치를 구한다(스텝 S122).
그리고, 버퍼 메모리(5)로부터 해당하는 부호 데이터를 판독하고(스텝 S124), 배타적 논리합 회로를 포함하는 정정 회로(57)에 의해서 이것을 정정한 후(스텝 S126),다시 버퍼 메모리(5)에 기입한다(스텝 S128).
도 7은 오류 정정 회로(10)가 적부호 블록 Dk(k : 자연수)를 순차 처리하는 과정을 나타내는 개념도이다.
실시예 1의 오류 정정 회로(10)에서는 적부호 블록 Dk에 대한 제1 오류 정정 연산 및 제2 신드롬 계산 회로(13)의 처리가 종료하고 또한 제2 유클리드 계산, 제2 체인 검색, 제2 오류 정정 연산까지가 종료하고나서, 다음의 적부호 블록 D(k+l)에 대한 제1 오류 정정 연산 및 제2 신드롬 계산 회로(13)의 처리가 개시된다.
이상 설명한 본 실시예 1의 오류 정정 장치에 있어서는 이하와 같이 작용 효과를 발휘할 수 있다.
(1) 기억 소자(13bn)는 신드롬의 계산 도중 경과를 기억하는 것으로, 새로운 데이터가 입력될 때마다 순차 오버라이트하도록 구성하고 있으므로, 매우 적은 기억 용량을 가질 수 있고, 회로 면적 및 소비 전력의 증가를 억제할 수 있다.
예를 들면, DVD 포맷으로 1 블록분 PO 방향의 신드롬 계산에 필요한 것 데이터량을 계산한 경우, 도 13에 도시하는 기억 소자(58)에 있어서는,
8bit×208×172=약 286kbit
이며, 이에 대하여, 본 실시예 1의 기억 소자(13bn)에서 있어서는,
172×8bit×16=약 22kbit
이며, 기억 소자(13bn)로서 종래의 약 1/10의 기억 용량으로 해결된다.
(2) 제1 오류 정정 연산 회로(9)의 정정 완료 데이터를, 버퍼 메모리(5)에 전송하는 것과 동시에 제2 오류 정정 연산 회로(10)의 제2 신드롬 계산 회로(13)에 전송하도록 구성하였으므로, 버퍼 메모리(5)로의 액세스 횟수가 감소하고, 그 만큼 오류 정정 처리의 고속화를 실현할 수 있다.
예를 들면, PI 방향의 1라인분 데이터를 1회의 버스트 액세스로 전부 판독하고, PO 방향의 1라인분의 데이터는 1회에 1바이트씩 판독하여, 오류 정정 시의 기록 및 판독은 1 바이트씩 행하고, 액세스에 요하는 시간을 4 사이클로 하고, 오류수가 PI, PO 각각의 방향으로 800개라고 가정한 경우, 도 7에 도시하는 회로에 있어서는, 각 처리에 필요한 사이클 수는 이하와 같아진다.
PI 방향의 판독에 필요한 사이클수(PIR)
PIR=(182+4)×208=38688 사이클
PI 방향의 오류 정정에 필요한 사이클수(PIE)
PIE=800×(1+4)=4000 사이클
PO 방향의 판독에 필요한 사이클수(POR)
POR=(1+4)×208×172=178880 사이클
PO 방향의 오류 정정에 필요한 사이클수(POE)
POE=800×(1+1+4)=4800 사이클
따라서, 합계 226, 368 사이클을 필요로 한다.
이에 대하여, 본 실시예 1의 오류 정정 장치에 있어서는 POR이 불필요(제로)해지기 때문에, 합계 47, 488 사이클이 되며 단시간에 처리를 행할 수 있다.
<실시예 2>
이하, 본 발명에 따른 실시예 2를 도면에 기초하여 설명한다.
도 8은 본 발명의 실시예 2에서의 오류 정정 회로(20)의 구성을 상세하게 나타내는 블록도이다. 또한, 도 9는 실시예 2의 제2 오류 정정 연산 회로(10)의 구성을 설명하기 위한 개략 블록도이다.
실시예 2의 오류 정정 회로(20)에서의 제2 오류 정정 연산 회로(10)가 실시예 1의 제2 오류 정정 연산 회로(10)와 다른 것은 실시예 2의 제2 오류 정정 연산 회로(10)에서는 도 9에 도시한 바와 같이 제2 신드롬 계산 회로(13)와 유클리드 실행 회로(55) 간에 기억 소자(21)를 설치한 것만으로, 그 외의 구성은 실시예 1의 제2 오류 정정 연산 회로(10)의 구성과 마찬가지이다.
또, 기억 소자(21)는 특히 한정되지 않았지만, 예를 들면, SRAM으로 이루어지는 것으로 할 수 있다. 또한, 이 기억 소자(21)는, 도 2에 도시한 적부호 블록에 대하여 제2 신드롬 계산 회로(13)가 계산한 신드롬을 보유하는 것이 가능한 만큼의 기억 용량을 갖게 한다.
즉, 실시예 2에 있어서는 도 6에 도시한 실시예 1의 처리 플로우에 있어서, 적부호 블록 Dk에 대하여 제2 신드롬 계산 회로(13)로 계산한 신드롬을 기억 소자(21)에 일시적으로 보유시킨 뒤에, 이 기억 소자(21)에 보유된 데이터(신드롬)에 기초하여, 유클리드법에 의한 오류 위치 다항식과 오류 수치 다항식의 계산(스텝 S120) 및 체인 검색법에 의한 오류 위치와 오류 수치의 계산이 행해져서(스텝 S122), 정정 회로(57)에 의해, 버퍼 메모리(52)로부터 해당하는 부호 데이터를 판독하고(스텝 S124), 이것을 정정한 후(스텝 S126), 다시 버퍼 메모리(5)에 기입한다(스텝 S 128).
그리고, 이 스텝 S120 ∼ S128의 처리를 행하고 있는 동안, 제2 신드롬 계산 회로(13)에서는 다음의 적부호 블록 D(k+1)에 대한 신드롬의 계산을 행한다.
도 10은 실시예 2의 오류 정정 회로(20)가 적부호 블록 Dk(k : 자연수)를 순차 처리하는 과정을 나타내는 개념도이다.
도 10에서, 예를 들면, 구간 PA에서는 기억 소자(21)에 기억된 적부호 블록 Dk에 대한 제2 신드롬 계산의 결과의 판독→제2 유클리드 계산→제2 체인 검색→제2 오류 정정이라는 처리와, 적부호 블록 Dk+1에 대한 제2 신드롬 계산 처 리를 병렬하여 행하는 것이 가능하다.
또, 기억 소자(21)가 2 뱅크 구성이면, 예를 들면, 적부호 블록 Dk에 대한 신드롬의 판독과, 적부호 블록 Dk+1에 대한 신드롬의 기록을 또한 병렬하여 행하는 것도 가능하다.
즉, 실시예 2에서는 k번째의 적부호 블록 Dk에 대한 PO 방향의 오류 정정을 행하고 있는 동안, (k+1)번째의 적부호 블록 D(k+1)에 대한 PO 방향의 신드롬을 병행하여 계산시킬 수 있으므로, 실시예 1 보다도 더 고속으로 오류 정정 처리를 행할 수 있다.
<실시예 3>
본 발명을 구체화한 실시예 3을 도면에 기초하여 설명한다.
도 11은 실시예 3에서의 오류 정정 회로(30)의 구성을 상세하게 나타내는 블록도이다.
실시예 3이 실시예 1과 다른 것은 버퍼 메모리(5)와 제1 오류 정정 연산 회로(9) 간에 기억 소자(31)를 설치한 것만으로, 그 외의 구성은 실시예 1의 오류 정정 회로(10)의 구성과 마찬가지이다. 또한, 기억 소자(31)의 내부는 4개의 뱅크(32a ∼ 32d)로 구분되며, 각 뱅크는 서로 독립적으로 데이터의 기록 및 판독이 가능한 것으로 한다. 여기서, 기억 소자(31)는 특히 한정되지 않았지만, 예를 들면, 4 뱅크 구성의 SRAM으로 이루어지는 것으로 할 수 있다.
도 11에 도시한 바와 같은 구성으로 함으로써, 실시예 3의 오류 정정 회로(30)는 컨트롤러(8)의 제어에 따라서, 적부호 블록화된 1블록분의 데이터를 1 라인분의 데이터 단위마다, 제1 오류 정정 연산 회로(9)에서 파이프 라인 처리한다고 하는 특징을 갖는다.
도 12는 오류 정정 회로(30)의 동작을 설명하기 위한 개념도이다.
이하, 도 11 및 도 12를 참조하여 오류 정정 회로(30)의 동작을 설명한다.
컨트롤러(8)로부터 디코드 명령이 오류 정정 회로(30)로 제공되면, 오류 정정 회로(30)는 적부호 블록화된 1 블록분의 데이터에 대한 오류 정정 처리를 개시한다.
우선, 스테이지(1)에서는 버퍼 메모리(5)로부터 기억 소자(31)의 뱅크(32a)에 도 2에서의 ROW0의 PI 계열 라인 데이터가 전송된다.
다음의 스테이지(2)에서는 이하의 동작이 병행 처리된다.
i) 버퍼 메모리(5)로부터 기억 소자(31)의 뱅크(32b)에 도 2에서의 ROW1의 PI 계열 라인 데이터가 전송된다.
ii) 뱅크(32a)에서부터 제1 신드롬 계산 회로(12)에 ROW0의 PI 계열 라인 데이터가 전송되며, 실시예 1과 마찬가지로 신드롬의 계산이 행해진다.
다음의 스테이지(3)에서는 이하의 동작이 병행 처리된다.
iii) 버퍼 메모리(5)로부터 기억 소자(31)의 뱅크(32c)에 도 2에서의 ROW2의 PI 계열 라인 데이터가 전송된다.
iv) 뱅크(32b)에서부터 제1 신드롬 계산 회로(12)에 ROW1의 PI 계열 라인 데이터가 전송되어 신드롬의 계산이 행해진다.
v) 제1 신드롬 계산 회로(12)로부터 유클리드 실행 회로(55)에 ROW0의 PI 계 열의 라인 데이터의 신드롬이 전송되어 오류 위치 다항식, 오류 평가 다항식이 구해진다.
다음의 스테이지(4)에서는 이하의 동작이 병행 처리된다.
vi) 버퍼 메모리(5)로부터 기억 소자(31)의 뱅크(32d)에 도 2에서의 ROW3의 PI 계열 라인 데이터가 전송된다.
vii) 뱅크(32c)에서부터 제1 신드롬 계산 회로(12)에 ROW2의 PI 계열 라인 데이터가 전송되어 신드롬의 계산이 행해진다.
viii) 제1 신드롬 계산 회로(12)로부터 유클리드 실행 회로(55)에 ROW1의 PI 계열의 라인 데이터의 신드롬이 전송되어 오류 위치 다항식, 오류 평가 다항식이 구해진다.
ix) 유클리드 실행 회로(55)로부터 체인 검색 실행 회로(56)에 ROW0의 PI 계열 라인 데이터의 오류 위치 다항식, 오류 평가 다항식이 전송되며, 오류 위치, 오류 수치가 구해지며 또한 기억 소자(31)의 뱅크(32c)로부터 데이터가 판독되어 정정 회로(57)에 의해 정정이 행해진다.
다음의 스테이지(5)에서는 이하의 동작이 병행 처리된다.
x) 버퍼 메모리(5)로부터 기억 소자(31)의 뱅크(32a)에 도 2에서의 ROW4의 PI 계열 라인 데이터가 전송된다.
xi) 뱅크(32d)에서부터 제1 신드롬 계산 회로(12)에 ROW3의 PI 계열 라인 데이터가 전송되어 신드롬의 계산이 행해진다.
xii) 제1 신드롬 계산 회로(12)로부터 유클리드 실행 회로(55)에 ROW2의 P I 계열 라인 데이터의 신드롬이 전송되어, 오류 위치 다항식, 오류 평가 다항식이 구해진다.
xiii) 유클리드 실행 회로(55)로부터 체인 검색 실행 회로(56)에 ROW1의 PI 계열 라인 데이터의 오류 위치 다항식, 오류 평가 다항식이 전송되어, 오류 위치, 오류 수치가 구해지며 또한 기억 소자(31)의 뱅크(32b)로부터 데이터가 판독되어 정정 회로(57)에 의해 정정이 행해진다.
또, 정정 회로(57)로부터의 정정 완료 데이터는 버퍼 메모리(5)에 전송되는 것과 동시에 제2 오류 정정 연산 회로(10)의 제2 신드롬 계산 회로(13)에 전송된다.
그 이후의 제2 오류 정정 연산 회로(10)의 동작은 도 6에 도시한 실시예 1에서의 스텝 S116 ∼ 스텝 S128의 동작과 마찬가지이다.
또, 스테이지(6) 이후도, 상기 스테이지(5)와 마찬가지로, PI 계열 라인 데이터를 단위로서 파이프 라인 처리가 행해진다.
이상과 같이, 실시예 3에서는 4개의 뱅크(32a ∼ 32d)를 갖는 기억 소자(31)에 필요한 데이터를 포함함으로써, 버퍼 메모리(5)에 빈번하게 액세스하지 않고, 파이프 라인 처리를 효율적으로 동작시킬 수 있다. 그 결과, 보다 고속의 오류 정정 처리를 행할 수 있다.
또, 실시예 3에 있어서는 4단 파이프 라인 동작을 행하게 하였지만, 이에 한정되지 않고 파이프 라인의 단수 및 기억 소자(31) 내의 뱅크 수는 오류 정정 회로(30)의 사양에 따라 적절하게 결정된다.
또한, 제2 실시예와 마찬가지로, 또한 기억 소자(21)를 설치하는 구성으로 해도 된다.
또한, 제1 오류 정정 연산 회로(9)뿐만아니라 제2 오류 정정 연산 회로(10)에서의 처리도 포함시킨 파이프 라인 제어를 행해도 된다.
본 발명의 오류 정정 장치에서, 기억 소자는 신드롬의 계산 도중 경과를 기억하여, 새로운 데이터가 입력될 때마다 순차 오버라이트하도록 구성하고 있으므로, 매우 적은 기억 용량을 가질 수 있고, 회로 면적 및 소비 전력의 증가를 억제할 수 있다. 또한, 제1 오류 정정 연산 회로의 정정 완료 데이터를, 버퍼 메모리)에 전송하는 것과 동시에 제2 오류 정정 연산 회로의 제2 신드롬 계산 회로에 전송하도록 구성하였으므로, 버퍼 메모리로의 액세스 횟수가 감소하고, 그 만큼 오류 정정 처리의 고속화를 실현할 수 있다.

Claims (17)

  1. 오류 정정 장치에 있어서,
    다른 방향의 오류 정정 부호가 부가된 적(積)부호 블록을 기억하는 제1 기억 회로와,
    상기 적부호 블록에서의 제1 방향으로 배열된 데이터를 상기 제1 기억 회로로부터 받아서, 상기 제1 방향에 관하여 오류 정정 처리를 행하는 제1 오류 정정 연산 회로와,
    상기 제1 오류 정정 연산 회로에 의해 정정된 데이터를 상기 제1 오류 정정 연산 회로로부터 받아서, 상기 적부호 블록에서의 제2 방향으로 배열된 데이터에 대한 오류 정정을 위한 처리를 축차로 행하는 제2 오류 정정 연산 회로
    를 포함하는 것을 특징으로 하는 오류 정정 장치.
  2. 제1항에 있어서,
    상기 제1 오류 정정 연산 회로는, 상기 적부호 블록의 제1 방향으로 배열된 데이터를 포함하는 단위 블록마다 오류 정정 처리를 행하고,
    상기 제2 오류 정정 연산 회로는, 상기 제1 오류 정정 연산 회로에 의해 정정된 상기 단위 블록마다의 데이터를 순차로 받아서, 상기 적부호 블록의 제2 방향으로 배열된 데이터에 대한 오류 정정을 위한 처리를 상기 단위 블록에 포함되는 데이터마다 분할하여 행하는 것을 특징으로 하는 오류 정정 장치.
  3. 제2항에 있어서,
    상기 제2 방향으로 배열된 데이터에 대한 오류 정정을 위한 처리는 상기 제2 방향으로 배열된 데이터에 대한 신드롬 계산 처리를 포함하고,
    상기 제2 오류 정정 연산 회로는, 상기 단위 블록에 포함되는 데이터마다 분할하고 또한 상기 제2 방향에 대하여 적산함으로써, 상기 신드롬 계산 처리를 행하는 적을 특징으로 하는 오류 정정 장치.
  4. 제3항에 있어서,
    상기 제1 오류 정정 연산 회로는 정정한 데이터를 상기 제1 기억 회로에 송출함과 함께, 상기 제2 오류 정정 연산 회로에도 송출하는 것을 특징으로 하는 오류 정정 장치.
  5. 제2항에 있어서,
    상기 제2 오류 정정 연산 회로는, 상기 제2 방향으로 배열되는 데이터로 이루어지는 부호의 원시 다항식의 복수의 근에 각각 대응하여 설치되는 복수의 적산 회로를 포함하고,
    상기 각 적산 회로는,
    상기 제1 오류 정정 연산 회로에 의해 정정된 상기 단위 블록 내의 데이터를 순차로 한쪽 입력으로 받는 배타적 논리합 연산 회로와,
    상기 단위 블록 내에서의 데이터의 위치에 따라서, 상기 배타적 논리합 연산 회로의 출력을, 각각 다른 어드레스에 저장하는 제2 기억 회로와,
    상기 배타적 논리합 연산 회로의 한쪽 입력으로 제공되는 입력 데이터의 상기 단위 블록 내의 위치에 대응하고 또한 상기 제2 기억 회로에 이미 저장되어 있는 기억 데이터와, 상기 복수의 근 중 대응하는 근을 승산하여, 상기 배타적 논리합 연산 회로의 다른쪽 입력으로 제공하는 승산 회로
    를 포함하는 것을 특징으로 하는 오류 정정 장치.
  6. 제5항에 있어서,
    상기 제2 기억 회로는, 상기 배타적 논리합 연산 회로의 출력을, 상기 단위 블록 내에서의 데이터의 위치에 따른 각각 다른 어드레스에 오버라이트하여 저장하는 것을 특징으로 하는 오류 정정 장치.
  7. 제5항에 있어서,
    상기 제1 오류 정정 연산 회로는, 정정한 데이터를 상기 제1 기억 회로에 송출함과 함께, 상기 제2 오류 정정 연산 회로에도 송출하는 것을 특징으로 하는 오류 정정 장치.
  8. 제5항에 있어서,
    상기 오류 정정 부호는 리드·솔로몬 부호인 것을 특징으로 하는 오류 정정 장치.
  9. 제2항에 있어서,
    상기 제1 기억 회로는, 상기 적부호 블록에서의 제1 방향으로 배열된 데이터에 대하여 버스트 액세스가 가능하며, 상기 적부호 블록에서의 제2 방향으로 배열된 데이터에 대하여 랜덤 액세스가 가능한 것을 특징으로 하는 오류 정정 장치.
  10. 제2항에 있어서,
    상기 제1 오류 정정 연산 회로는, 상기 적부호 블록에서의 제1 방향으로 배열된 데이터의 신드롬을 계산하는 제1 신드롬 계산 회로를 포함하고,
    상기 제2 오류 정정 연산 회로는, 상기 제1 오류 정정 연산 회로에 의해 정정된 상기 단위 블록마다의 데이터를 순차로 받아서, 상기 단위 블록에 포함되는 데이터마다 분할하고 또한 상기 제2 방향에 대하여 적산함으로써, 상기 제2 방향으로 배열된 데이터에 대한 신드롬 계산 처리를 행하는 제2 신드롬 계산 회로를 포함하는 것을 특징으로 하는 오류 정정 장치.
  11. 제10항에 있어서,
    상기 제1 신드롬 계산 회로는, 상기 제1 방향으로 배열되는 데이터로 이루어지는 부호의 원시 다항식의 복수의 근에 각각 대응하여 설치되는 복수의 제1 적산 회로를 포함하고,
    각 상기 제1 적산 회로는,
    상기 제1 기억 회로에서부터 판독된 상기 단위 블록 내의 데이터를 순차로 한쪽 입력으로 받는 제1 배타적 논리합 연산 회로와,
    상기 제1 배타적 논리합 연산 회로의 출력을 저장하는 제2 기억 회로와,
    상기 제2 기억 회로에 이미 저장되어 있는 기억 데이터와 상기 복수의 근 중 대응하는 근을 승산하고, 상기 제1 배타적 논리합 연산 회로의 다른쪽 입력으로 제공하는 제1 승산 회로를 포함하는 것을 특징으로 하는 오류 정정 장치.
  12. 제10항에 있어서,
    상기 제2 신드롬 계산 회로는, 상기 제2 방향으로 배열되는 데이터로 이루어지는 부호의 원시 다항식의 복수의 근에 각각 대응하여 설치되는 복수의 제2 적산 회로를 포함하고,
    각 상기 제2 적산 회로는,
    상기 제1 오류 정정 연산 회로에 의해 정정된 상기 단위 블록 내의 데이터를 순차 한쪽 입력으로 받는 제2 배타적 논리합 연산 회로와,
    상기 단위 블록 내에서의 데이터의 위치에 따라서, 상기 제2 배타적 논리합 연산 회로의 출력을, 각각 다른 어드레스에 저장하는 제3 기억 회로와,
    상기 제2 배타적 논리합 연산 회로의 한쪽 입력으로 제공되는 입력 데이터의 상기 단위 블록 내의 위치에 대응하고 또한 상기 제3 기억 회로에 이미 저장되어 있는 기억 데이터와 상기 복수의 근 중 대응하는 근을 승산하여, 상기 제2 배타적 논리합 연산 회로의 다른쪽 입력에 제공하는 제2 승산 회로
    를 포함하는 것을 특징으로 하는 오류 정정 장치.
  13. 제12항에 있어서,
    상기 제3 기억 회로는, 상기 제2 배타적 논리합 연산 회로의 출력을 상기 단위 블록 내에서의 데이터의 위치에 따른 각각 다른 어드레스에 오버라이트하여 저장하는 것을 특징으로 하는 오류 정정 장치.
  14. 제10항에 있어서,
    상기 제2 오류 정정 연산 회로는,
    상기 제2 신드롬 계산 회로에 의한 상기 적부호 블록마다의 제2 방향 신드롬 계산 결과를 일시적으로 보유하는 제4 기억 회로를 더 포함하는 것을 특징으로 하는 오류 정정 장치.
  15. 제14항에 있어서,
    상기 제2 오류 정정 연산 회로는,
    상기 제4 기억 회로에 저장된 제2 방향의 신드롬 계산 결과에 기초하여, 상기 제2 방향에 대한 상기 적부호 블록의 오류 위치 및 오류 수치의 검출과 오류 정정을 행하기 위한 제2 방향 정정 회로를 더 포함하고,
    상기 제1 오류 정정 연산 회로는 상기 제2 방향 정정 회로의 연산 처리와 병 행하여, 다음의 적부호 블록에 대한 오류 정정 처리를 행하는 것을 특징으로 하는 오류 정정 장치.
  16. 제15항에 있어서,
    상기 제1 오류 정정 연산 회로는, 정정한 데이터를 상기 제1 기억 회로에 송출함과 함께, 상기 제2 신드롬 계산 회로에도 송출하는 것을 특징으로 하는 오류 정정 장치.
  17. 제10항에 있어서,
    상기 제1 기억 회로에서부터 상기 제1 오류 정정 연산 회로에 이르는 데이터의 전송 경로 도중에, 상기 제1 오류 정정 연산 회로에서 정정 처리를 행하게 하기 위한 데이터를 각각 기억하는 복수의 기억 영역을 포함한 제5 기억 회로와,
    상기 제5 기억 회로에 기억된 데이터에 대한 상기 제1 오류 정정 연산 회로에서의 오류 정정 처리를 상기 단위 블록마다 파이프 라인 처리하도록 제어하기 위한 제어 수단
    을 더 포함하는 것을 특징으로 하는 오류 정정 장치.
KR1020000069794A 1999-11-24 2000-11-23 오류 정정 장치 KR100738170B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP33224599 1999-11-24
JP1999-332245 1999-11-24
JP2000-151769 2000-05-23
JP2000151769 2000-05-23

Publications (2)

Publication Number Publication Date
KR20010051884A KR20010051884A (ko) 2001-06-25
KR100738170B1 true KR100738170B1 (ko) 2007-07-10

Family

ID=26574137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000069794A KR100738170B1 (ko) 1999-11-24 2000-11-23 오류 정정 장치

Country Status (4)

Country Link
US (1) US6802040B1 (ko)
EP (1) EP1104114A3 (ko)
KR (1) KR100738170B1 (ko)
CN (1) CN1286275C (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206798A (ja) * 2002-12-25 2004-07-22 Ricoh Co Ltd 光ディスク装置のエンコードデータ符号回路
US7206993B2 (en) * 2003-03-12 2007-04-17 Matsushita Electric Industrial Co., Ltd. Method and device for decoding Reed-Solomon code or extended Reed-Solomon code
EP1460542B1 (en) * 2003-03-19 2018-10-31 Micron Technology, INC. Integrated memory system comprising at least a non-volatile memory and an automatic error corrector
CN100530980C (zh) 2003-07-09 2009-08-19 汤姆森特许公司 里德-所罗门乘积码的错误校正方法
EP1569348A1 (en) 2004-02-13 2005-08-31 Alcatel Iterative multidimensional decoding
JP2006190346A (ja) * 2004-12-28 2006-07-20 Toshiba Corp エラー訂正処理装置及びエラー訂正処理方法
CN100347677C (zh) * 2005-01-10 2007-11-07 中国航天时代电子公司第七七一研究所 空间计算机抗单粒子翻转的存储器纠检错与自动回写方法
JP2006309820A (ja) * 2005-04-26 2006-11-09 Sanyo Electric Co Ltd 誤り訂正装置
EP1946318A2 (en) * 2005-10-31 2008-07-23 Nxp B.V. System and method for optical disc encoding/decoding
US9450614B2 (en) 2013-09-13 2016-09-20 Rambus Inc. Memory module with integrated error correction
US10853170B2 (en) * 2018-09-06 2020-12-01 Texas Instruments Incorporated ECC protected storage
JP7367495B2 (ja) * 2019-11-29 2023-10-24 富士通株式会社 情報処理装置および通信ケーブルログ情報採取方法
US11770138B2 (en) * 2020-04-08 2023-09-26 Intel Corporation Encoder and decoder of forward error correction (FEC) codec

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0821493A1 (fr) * 1996-07-23 1998-01-28 STMicroelectronics S.A. Système de correction d'erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux
WO1999048097A1 (en) * 1998-03-18 1999-09-23 Stmicroelectronics S.R.L. Reed-solomon decoding of data read from dvd or cd supports
JPH11282703A (ja) * 1998-03-27 1999-10-15 Nec Corp 誤り訂正装置及び誤り訂正方法
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2605270B2 (ja) 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
JP2605271B2 (ja) 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
JP2714129B2 (ja) 1989-04-28 1998-02-16 キヤノン株式会社 符号伝送方法
JPH08125549A (ja) 1994-10-26 1996-05-17 Hitachi Ltd 誤り訂正復号回路とそれを使用するディジタル通信装置及びディジタル記録装置
JP3863252B2 (ja) 1996-11-15 2006-12-27 富士通株式会社 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法
JPH113573A (ja) 1997-04-15 1999-01-06 Mitsubishi Electric Corp 拡大リードソロモン符号の誤り訂正復号方法と誤り訂正復号装置、1次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置、および2次伸長拡大リードソロモン符号の誤り訂正方法と誤り訂正装置
US5920578A (en) 1997-04-23 1999-07-06 Cirrus Logic, Inc. Method and apparatus for efficiently processing a multi-dimensional code
JPH11112358A (ja) 1997-09-30 1999-04-23 Fujitsu Ltd データの誤り訂正方法及び誤り訂正装置
KR100279522B1 (ko) * 1997-11-20 2001-03-02 니시무로 타이죠 카피 방지장치 및 이와 같은 카피 방지장치에 사용되는 정보 기록매체
JP3165099B2 (ja) * 1998-02-05 2001-05-14 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 誤り訂正方法及びシステム
JPH11232039A (ja) 1998-02-10 1999-08-27 Hitachi Ltd デジタルデータ再生装置
EP1146515A1 (en) 1998-02-25 2001-10-17 Matsushita Electric Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
JP2000010807A (ja) 1998-06-25 2000-01-14 Hitachi Ltd ディジタルデータ再生装置
JP3342422B2 (ja) 1998-09-29 2002-11-11 三洋電機株式会社 誤り訂正方法およびその装置
JP2000114983A (ja) 1998-09-30 2000-04-21 Sanyo Electric Co Ltd 誤り訂正方法およびその装置
JP3214478B2 (ja) 1998-12-28 2001-10-02 日本電気株式会社 誤り訂正復号装置
EP1160989A4 (en) 1999-03-01 2005-10-19 Fujitsu Ltd TURBO DECODING DEVICE
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
US6772390B2 (en) 2000-11-30 2004-08-03 Quantum Corporation Erasure correction for ECC entities

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0821493A1 (fr) * 1996-07-23 1998-01-28 STMicroelectronics S.A. Système de correction d'erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
WO1999048097A1 (en) * 1998-03-18 1999-09-23 Stmicroelectronics S.R.L. Reed-solomon decoding of data read from dvd or cd supports
JPH11282703A (ja) * 1998-03-27 1999-10-15 Nec Corp 誤り訂正装置及び誤り訂正方法

Also Published As

Publication number Publication date
EP1104114A2 (en) 2001-05-30
KR20010051884A (ko) 2001-06-25
US6802040B1 (en) 2004-10-05
EP1104114A3 (en) 2004-02-11
CN1308414A (zh) 2001-08-15
CN1286275C (zh) 2006-11-22

Similar Documents

Publication Publication Date Title
KR100415136B1 (ko) 에러정정방법,에러정정장치,데이터판독장치,및데이터맵핑방법
US5642367A (en) Finite field polynomial processing module for error control coding
US6639865B2 (en) Memory device, method of accessing the memory device, and reed-solomon decoder including the memory device
US5157669A (en) Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors
US5027357A (en) ECC/CRC error detection and correction system
KR100517482B1 (ko) 곱셈 코드에 대한 동시 행/열 신드롬 발생기
US4142174A (en) High speed decoding of Reed-Solomon codes
US7600177B2 (en) Delta syndrome based iterative Reed-Solomon product code decoder
US5631914A (en) Error correcting apparatus
KR100738170B1 (ko) 오류 정정 장치
US6041431A (en) Method and apparatus for performing error correction code operations
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
US6279135B1 (en) On-the-fly row-syndrome generation for DVD controller ECC
US7624330B2 (en) Unified memory architecture for recording applications
US20070061688A1 (en) Decoding error correction codes using a modular single recursion implementation
EP0905911A2 (en) Data error correcting method and apparatus
US7823049B2 (en) Methods and apparatuses for generating parity symbols for data block
JP3306413B2 (ja) 誤り訂正装置および誤り訂正方法
US7774676B2 (en) Methods and apparatuses for generating error correction codes
JP3609714B2 (ja) 誤り訂正装置
JP2662472B2 (ja) 誤り訂正処理用シンドローム演算回路
JP3275697B2 (ja) 記録再生装置
US20070067702A1 (en) Method and apparatus for syndrome generation
US7213190B2 (en) Data processing apparatus and method
JP2005216477A (ja) 選択的なpo補正を利用したdvdデコーディング方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee