KR100509137B1 - 에러 정정 장치 - Google Patents
에러 정정 장치 Download PDFInfo
- Publication number
- KR100509137B1 KR100509137B1 KR10-2002-0015244A KR20020015244A KR100509137B1 KR 100509137 B1 KR100509137 B1 KR 100509137B1 KR 20020015244 A KR20020015244 A KR 20020015244A KR 100509137 B1 KR100509137 B1 KR 100509137B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- error correction
- read
- dram
- codewords
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2921—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
랜덤 액세스 메모리에 기억된 데이터로부터 부호어를 구성하는 심볼을 판독하여 에러 검출이나 에러 정정을 행하는 경우에 있어서, 이들 에러 검출이나 에러 정정에 관한 처리를 보다 고속으로 행할 수 있는 에러 정정 장치를 제공한다. DRAM으로부터 부호어 데이터의 판독 시에, 행 어드레스를 지정한 후, 인접한 4개의 열 어드레스를 순차 지정함으로써(도 5의 (b)), 4개의 부호어가 병렬적으로 판독된다(도 5의 (e)). 이렇게 해서 판독된 데이터 d0, d1, d2, d3은 연산 회로 S00 및 S10과, S01 및 S11과, S02 및 S12와, S03 및 S13에서 각각 신드롬이 계산된다.
Description
본 발명은 에러 정정 장치에 관한 것으로, 자세히는 랜덤 액세스 메모리로 이루어지는 버퍼 메모리에 비축된 데이터에 대하여 신드롬 계산을 행함으로써 에러 정정을 행하는 에러 정정 장치에 관한 것이다.
도 8에, CD-ROM(Compact Disc ROM)의 데이터 포맷의 일례를 나타낸다. 도 8의 (a)에 도시된 바와 같이, 2352 바이트로 이루어지는 1 섹터의 데이터에는 12 바이트의 동기 데이터를 비롯하여, 4 바이트의 헤더, 2048 바이트의 사용자 데이터, 4 바이트의 EDC(Error Detection Code: 오류 검출 부호) 데이터, 8 바이트의 ZERO 데이터, 276 바이트의 ECC(Error Correction Code: 오류 정정 부호) 데이터가 포함되어 있다.
이들 각 데이터 중, 12 바이트의 동기 데이터를 제외한 데이터에는 상기 ECC에 의한 에러 정정이 적용된다. 이하, 이 에러 정정에 대하여 상술한다.
에러 정정에 있어서는, 이 동기 데이터를 제외한 2340 바이트의 데이터가 도 8의 (b)에 도시된 바와 같이, 그 선두부터 각 1 바이트마다 LS 바이트와 MS 바이트로 분할된다. 이에 따라, 각각 1170 바이트로 이루어지는 LS 바이트(도 8의 (c)) 및 MS 바이트(도 8의 (d))의 데이터가 생성된다. 또한, 이들 LS 바이트 및 MS 바이트로 이루어지는 각 1170 바이트의 데이터에는 각각 도 9에 도시된 양태로, P 시퀀스(P 계열)와 Q 시퀀스(Q 계열)의 2개의 방향으로 부호화가 실시된다.
즉, 상기 각 1170 바이트의 데이터 중 각각 선두부터 1032 바이트의 데이터에 있어서, 그 P 시퀀스 방향의 각 24 바이트의 데이터에 각각 2 바이트로 이루어지는 P 패러티가 부여됨으로써, 같은 P 시퀀스의 방향으로 부호화된 43개의 부호어(P 부호)가 구성되어 있다. 도 9에서도 알 수 있듯이, 이 P 부호는 그 제i 번째의 부호어의 제j 심볼의 위치를 「i+43j(i=0, 1, …, 42 : j=0, 1, …, 25)」로써 나타낸다.
한편, 상기 선두로부터 각 1032 바이트의 데이터와 상기 P 패러티를 구성하는 각 86 바이트(2 바이트×43개)의 데이터에 있어서, 그 Q 시퀀스 방향의 각 43 바이트의 데이터에 각각 2 바이트로 이루어지는 Q 패러티가 부여됨으로써, 동 Q 시퀀스의 방향으로 부호화된 26개의 부호어(Q 부호)가 구성되어 있다. 이 Q 부호는 그 제i 번째의 부호어의 제j 심볼의 위치를 「43i+44j mod(나머지) 1118(i=0, 1, …, 25 : j=0, 1, …, 42)」로써 나타낸다.
이러한 P 부호 및 Q 부호를 구성하는 심볼을 판독하고, 지금부터 신드롬이라고 불리는 데이터를 산출함으로써, 상기 각 데이터에 에러가 존재하고 있는지의 여부를 판단할 수 있다. 이들 각 부호어에 의한 에러 검출은 구체적으로는 다음과 같이 행해진다.
우선, CD-ROM으로부터 판독된 데이터는, CD(Compact Disc) 신호 처리부에서, CD 오디오와 마찬가지로, 에러 정정 등의 디코드 처리가 실시된 후, 전술한 도 8의 (a)에 도시한 CD-ROM 데이터로서, 일단 버퍼 메모리인 DRAM(Dynamic Random Access Memory)에 기억된다. 도 10에, 이 DRAM에 대한 CD-ROM 데이터의 기억 양태를 나타낸다.
즉, 전술한 도 8의 (a)에 도시한 CD-ROM의 섹터 데이터에 있어서, 12 바이트로 이루어지는 동기 데이터 중 6 바이트분의 데이터와 LS 바이트 또는 MS 바이트로 이루어지는 1170 바이트의 데이터로 이루어지는 1176 바이트의 데이터가 DRAM의 어드레스를 따라 기입된다. 도 10에서는 DRAM의 열 어드레스가 256 바이트인 경우에 대해 예시하고 있기 때문에, 256 바이트 주기로 행 어드레스가 「1」씩 증가된다. 또, 실제로는, 이 DRAM에는 각 어드레스를 따라, MS 바이트 및 LS 바이트의 각 1 바이트씩, 합계 2 바이트씩의 데이터가 기입되는 구성으로 되어 있다. 그리고, 이들의 각 어드레스 중, 동일한 행 어드레스를 갖는 메모리 셀은 동일한 워드선에 접속되어 있다.
이 기입 순서는, 기본적으로는 CD-ROM 데이터의 전송 시의 데이터 스트림의 순서, 즉 전술한 도 8의 (a)에 도시하는 CD-ROM 데이터의 데이터 스트림의 순서이다. 단, 실제로는 LS 바이트 및 MS 바이트로 이루어지는 각 1170 바이트의 데이터로 분류되어 있기 때문에, 메모리 셀에는 그 어드레스가 빠른 것부터 순서대로, 6 바이트의 동기 데이터, 전술한 도 8의 (c) 및 도 8의 (d)에 도시한 데이터가 기입된다. 이에 따라, 예를 들면 도 10에 도시한 섹터 1의 제0 행에 있어서, 제1 열로부터 제5 열까지는 동기 데이터가 기입된다. 또한, 동일 제0 행에 있어서, 제6 열에는 전술한 도 8의 (c) 및 도 8의 (d)에 있어서 제0 번째의 데이터로서 나타낸 데이터가, 제7 열에는 전술한 도 8의 (c) 및 도 8의 (d)에 있어서 제1번째의 데이터로서 나타낸 데이터가 각각 기입된다.
한편, 상기 양태로써 DRAM에 기입된 각 섹터마다의 CD-ROM 데이터는 각 부호어마다 판독된다. 여기서, P 부호의 판독 순서를 예로 들면, 도 11에 도시한 바와 같이, 26 바이트로 이루어지는 각 부호어마다 판독이 행해진다. 그리고, 이 판독된 부호어를 구성하는 심볼로부터, 상기 신드롬이라고 불리는 데이터가 계산된다. 이 신드롬은 상기 각 데이터(부호어)에 에러가 존재하지 않는 경우에는 소정치를 취하는 등, 사전에 설정되는 데이터이다. 이 때문에, 이 신드롬을 계산함으로써, 그 값에 기초하여, 해당 부호어에 오류가 있는지의 여부를 판단할 수 있게 된다.
그리고, 부호어 내에 오류가 있다고 판단되면, 그 오류의 크기와 오류의 위치가 동일하게 상기 신드롬에 기초하여 구해진다. 그리고, 에러가 있는 위치로부터 데이터를 한번 더 리드하여 다시 오류의 크기와의 배타적 논리합을 취함으로써 올바른 데이터를 생성하고 이것을 DRAM에 재기입한다.
이러한 에러 정정 후에, 전술한 도 8의 (a)에 도시한 EDC 데이터를 이용하여, 상기 에러 정정의 과정에서 과도한 에러에 의한 오류 정정이 발생하였는지의 여부가 검증된다. 그리고, 이러한 에러 정정 처리나 그 후의 오류 정정의 유무의 체크를 종료한 데이터가 DRAM으로부터 호스트 컴퓨터로 전송된다.
이와 같이, 상기 각 부호어를 이용함으로써, 에러 정정을 행할 수 있게 된다. 단, 이들 각 부호어를 구성하는 심볼은 DRAM의 어드레스 상의 불연속적인 어드레스를 갖는 메모리 셀에 기억되어 있기 때문에, 상기 양태에서 이들 부호어의 판독을 행하는 경우에는, 각 메모리 셀로의 액세스 시간도 자연히 장기화하게 된다. 즉, 통상, DRAM으로부터의 1 심볼의 판독에는 프리차지, 행 어드레스 지정, 열 어드레스 지정과 같은 3개의 동작을 필요로 한다. 이 때문에, 이들 1 심볼의 판독을 행할 때마다 클럭도 3 클럭이 필요해지고, 이것이 상술한 에러 정정 처리에 있어서의 속도에 대한 큰 장해가 된다.
또, 상기 CD-ROM 데이터를 에러 정정하는 회로에 한하지 않고, 랜덤 액세스 메모리로 이루어지는 버퍼 메모리에 일단 데이터를 기억한 후, 순차 그 심볼을 판독하면서 에러 검출이나 에러 정정을 행하는 에러 정정 장치에서는, 이러한 실정도 대강 공통된 것으로 되어 있다.
본 발명은 상기 실정을 감안하여 이루어진 것으로, 그 목적은 랜덤 액세스 메모리에 기억된 데이터로부터 부호어를 구성하는 심볼을 판독하여 에러 검출이나 에러 정정을 행하는 경우에 있어서, 이들 에러 검출이나 에러 정정에 관한 처리를 보다 고속으로 행할 수 있는 에러 정정 장치를 제공하는 데 있다.
본 발명에서는, 디스크 매체로부터 판독되는 디지털 데이터의 에러 정정 처리를 행하는 에러 정정 장치에 있어서, 상기 디지털 데이터에 대응하고, 소정의 에러 정정 부호에 따르는 부호어를 구성하는 복수의 심볼을 버퍼 메모리에 기입함과 함께, 기입된 심볼을 판독하는 메모리 액세스 회로와, 상기 버퍼 메모리로부터 판독되는 심볼에 대하여 에러 정정 처리를 위한 신드롬 계산을 행하는 복수의 연산 회로를 구비하고, 상기 메모리 액세스 회로는 복수의 부호어를 1 심볼마다 순차 판독하고, 상기 복수의 연산 회로에 분배하여 공급함으로써, 에러 검출이나 에러 정정을 고속화하는 것을 가능하게 한다.
<발명의 실시예>
이하, 본 발명에 따른 에러 정정 장치를 CD-ROM 데이터에 있어서의 P 부호를 이용하여 에러를 정정하는 에러 정정 장치로 구체화한 일 실시예에 대하여, 도면을 참조하면서 설명한다.
본 실시예에서는 DRAM에 기억된 데이터로부터 P 부호를 판독할 때에, 도 1에 도시한 바와 같이, 4개의 부호어를 병렬적으로 판독한다. 즉, 상술한 MS 바이트 및 LS 바이트의 각 데이터에 있어서, 「i+43j」, 「(i+1) +43j」, 「(i+2)+43j」, 「(i+3)+43j」(i=0, 1, …, 39 : j=0, 1, …, 25)」번 면의 데이터를 연속적으로 판독한다. 그리고, 상기 4개의 데이터에 대하여 「j=0∼25」의 26 바이트분의 모든 심볼치를 판독함으로써, 이들 4개의 부호어를 완전하게 다 읽으면, 다음의 4개의 부호어의 판독이 행해진다.
이러한 상호 인접한 4개의 부호어의 대응하는 각 심볼은, DRAM 내에서 인접한 어드레스 상에 기억되어 있기 때문에, 이 판독에 있어서 DRAM의 행 어드레스를 일단 지정한 후, 각 부호어에 대응하여 열 어드레스를 변경하여 지정하는 페이지 모드 방식을 적용할 수 있다. 이렇게 함으로써, 4개의 심볼의 판독에 있어서 필요로 되는 클럭은 프리차지, 행 어드레스 지정, 열 어드레스 지정에 각각 1 클럭, 1 클럭, 4 클럭의 합계 6 클럭이 된다. 이와 같이, 4개의 부호어를 병렬하여 판독하기 때문에, 1 심볼당 판독에 필요한 클럭수를 삭감할 수가 있어, 나아가서는 고속 액세스가 가능해진다.
또, 도 1에 도시한 바와 같이, 4개의 부호어를 병렬하여 판독하도록 하면, 각 LS 바이트 또는 MS 바이트의 데이터에 있어서, 1040 바이트분의 데이터의 판독 후에는 3개의 부호어를 남길 뿐이다. 따라서, 1041 바이트째부터 1118 바이트째의 데이터에 관해서는 3개의 부호어를 상기 마찬가지로 페이지 모드 방식에 의해 병렬적으로 판독하도록 한다.
또한, 4개의 부호어의 각 심볼의 판독에 있어서, 행 어드레스가 변할 때에는 예외적으로 행 어드레스를 재지정한다. 이 때문에 본 실시예에서는, 판독 시에 그 판독에 따른 어드레스를 검출하여, 전술한 도 10에 도시한 DRAM의 열 어드레스가 「255」인지의 여부를 판단한다. 그리고, 열 어드레스가 「255」라고 판단되면 행 어드레스를 새롭게 지정한다.
도 2에, 상기 양태로써 부호어를 판독하면서 에러 정정 처리를 행하는 본 실시예의 에러 정정 장치의 전체 구성을 나타낸다.
즉, 이 에러 정정 장치는 전술한 도 10에 도시한 양태로써 CD-ROM 데이터를 기억하는 DRAM(10)이나 DRAM(10) 내에서 행해지는 처리를 선택하여 지정하는 버스 아비터(11)를 구비하고 있다. 여기서, DRAM(10)은 전술한 도 10 등을 이용하여 설명한 DRAM과 동일한 구성을 갖는다.
또한, 버스 아비터(11)에는 상기와 마찬가지로, 도시하지 않은 CD 신호 처리부로부터 전송되는 전술한 도 8의 (a)에 도시한 CD-ROM 데이터가 DRAM(10) 내의 어드레스와 함께 입력된다. 이에 따라, 버스 아비터(11)에서는 상기 데이터를 DRAM(10) 내의 지정된 어드레스에 따라 기입하기 때문에, RAS(Row Address Strobe) 신호나 CAS(Column Address Strobe) 신호 등이 생성된다. 이들 RAS 신호나 CAS 신호, 또한 상기 CD-ROM 데이터 등이 DRAM(10)에 입력됨으로써, 동 데이터의 DRAM(10)으로의 기입이 행해진다.
또, 이렇게 해서 DRAM(10)에 기입된 데이터의 판독에 있어서도, 판독 대상이 되는 데이터에 액세스하기 위해서, 상기 RAS 신호나 CAS 신호가 이용된다.
그리고, 이 기입된 데이터를 전술한 도 1에 도시한 양태로써 판독하기 위해서, 상기 에러 정정 장치는 에러 정정 타이밍 생성 회로(20)를 구비하고 있다. 이 에러 정정 타이밍 생성 회로(20)에 의해 DRAM(10)으로부터 판독되는 데이터가 지정되면, 섹터 선두 어드레스 생성부(21)에서는 DRAM(10)으로부터 판독되는 데이터가 속하는 섹터의 선두를 지정한다. 이 선두의 지정은 DRAM(10)에 기입된 데이터의 바이트 수의 적산치로서 정의된다. 즉, 전술한 도 10에 도시한 섹터 1에 속하는 데이터를 판독하는 경우에는 섹터 1의 선두로서 「0000」, 또한, 섹터 2에 속하는 데이터를 판독하는 경우에는 그 선두로서 「2352」, 또한 섹터 3에 속하는 데이터를 판독하는 경우에는 그 선두로서 「4704」와 같이 그 각 섹터의 선두에 대응하는 바이트 수를 지정한다.
또한, 에러 정정 타이밍 생성 회로(20)에 의해 DRAM(10)으로부터 판독되는 데이터가 지정되면, ECC 오프셋 어드레스 생성부(22)에서는, 판독 대상이 되는 데이터가 DRAM(10)에서의 섹터 내의 순서에 따라 지정된다. 즉, 전술한 도 1에 도시한 양태로써 판독이 행해지기 때문에, 기본적으로는 「0000, 0001, 0002, 0003, 0043, 0044, 0045, 0046, 0086, …」과 같이, 판독 대상이 되는 데이터가 지정된다. 단, 상술한 바와 같이, 본 실시예에서는 DRAM(10)에 기입된 데이터 중, 각 섹터(LS 바이트의 데이터 및 MS 바이트의 데이터)의 선두로부터 6 바이트의 데이터는 동기 데이터이기 때문에, 신드롬 계산을 위한 판독 대상으로는 되지 않는다. 이 때문에, 실제로는, ECC 오프셋 어드레스 생성부(22)에서는 「0006, 0007, 0008, 0009, 0049, 0050, 0051, 0052, 0092, …」와 같이, 판독 대상이 되는 데이터가 해당 섹터에서의 DRAM(10) 내에서의 순서에 따라서 지정된다.
그리고, 이들 섹터 선두 어드레스 생성부(21) 및 ECC 오프셋 어드레스 생성부(22)에 의해 지정된 값에 기초하여, 가산기(23)에서는, 판독 대상이 되는 데이터의 DRAM(10) 내에서의 순서가 산출된다. 이 때, 상술한 바와 같이, DRAM(10)의 메모리 셀이 각 2 바이트 단위의 데이터를 기억하는 셀인 것이 고려된다. 즉, 전술한 도 10에 도시한 섹터 1의 데이터에 대해서는 「0006, 0007, 0008, 0009, 0049, 0050, 0051, 0052, 0092, …」와 같이, 또한 섹터 2 상의 데이터에 대해서는 상기 순서에 1175 바이트를 더한 「1181, 1182, 1183, 1184, 1224, 1225, 2226, 2227, 2267, …」과 같이, 각각 DRAM(10) 내에서의 순서가 지정된다.
이렇게 해서 가산기(23)에서 판독 대상이 되는 데이터의 DRAM(10) 내에서의 순서가 지정되면, 동일 지정치가 버스 아비터(11)에 공급된다. 버스 아비터(11)에서는 공급된 지정치에 기초하여 DRAM(10)으로부터의 데이터의 판독을 행한다.
또한, 가산기(23)가 생성하는 지정치는 페이지 경계 검출부(24)에도 입력된다. 이 페이지 경계 검출부(24)는 판독 대상이 되는 데이터의 DRAM(10)의 열 어드레스가 「255」(페이지 경계)일 때에 페이지 경계 신호를 출력한다. 이것은 가산기(23)의 지정치의 2진수 표기에서의 하위 8 비트가 전부 「1」이 됨으로써 검출된다. 이와 같이 페이지의 경계를 검출함으로써, 에러 정정 타이밍 생성 회로(20)에서는 4개(또는 3개)의 부호어에 대응한 4개(또는 3개)의 심볼을 판독할 때에 DRAM(10)의 행 어드레스가 변화하는지의 여부를 판단한다.
그리고, 에러 정정 타이밍 생성 회로(20)는 행 어드레스가 변화하지 않는다고 판단하면, 행 어드레스를 한번 지정한 후, 판독 대상이 되는 각 부호어에 대응하여 열 어드레스를 네번(또는 세번) 지정함으로써, 이들 부호어의 판독을 행하도록 지령을 버스 아비터(11)에 출력한다. 한편, 행 어드레스가 변화한다고 판단하면, 페이지 경계의 데이터의 판독 후, 재차 행 어드레스를 지정하도록 지령을 버스 아비터(11)에 출력한다.
이렇게 해서 DRAM(10)으로부터 판독된 데이터에 대하여 CD-ROM 디코드부(30)에 의해서 에러 정정 처리가 실시된다. 이 CD-ROM 디코드부(30)는 신드롬 생성부(31)나 에러 정정부(32), ECC 어드레스 생성부(33), 에러 검출부(34)를 구비하고 있다.
여기서, 신드롬 생성부(31)에는 DRAM(10)으로부터 판독된 데이터가 버스 아비터(11)를 통해 입력된다. 본 실시예에서는 1 에러 정정을 행하는 경우에 대해 예시한다. 이 경우, 각 부호어마다 S0 및 S1의 2개의 신드롬을 산출한다. 여기서, 신드롬 S0은 초기치를 「0」, 부호어 내의 i번째의 심볼치를 v(i), 갈로아체의 가산을「^」로 하여, 연산 S0=S0^v(i)를 부호어 내의 모든 심볼치에 걸쳐 행함으로써 산출된다. 한편, 신드롬 S1은 초기치를 「0」, a를 프리미티브 엘리먼트, *를 갈로아체의 승산으로 하여, 연산 S0=(a*S0)^v(i)를 부호어 내의 모든 심볼치에 걸쳐 행함으로써 산출된다.
그리고, 각 4개의 부호어에 대하여, 이러한 신드롬 S0, S1을 병렬하여 생성하기 위해서, 신드롬 생성부(31)는 도 3에 도시한 바와 같은 구성을 갖고 있다. 도 3에서는, 연산 회로 S00, S01, S02, S03에 있어서 신드롬 S0이, 또한 연산 회로 S10, S11, S12, S13에 있어서 신드롬 S1이 각각 산출된다. 즉, 버스 아비터(11)를 통해 DRAM(10)으로부터 판독된 데이터(심볼 v(i))에 대하여, 해당하는 부호어에 대응하는 연산 회로가 구비하는 레지스터(도 3 중, reg로 표기)가 능동이 됨으로써, 해당 연산 회로에서 상기 연산이 행해진다. 그리고, 각 연산 회로에서 26의 심볼치 v(i)(i=0, 1, …, 25)에 걸쳐 연산이 행해짐으로써 신드롬이 산출된다.
그리고, 이렇게 해서 각 연산 회로에서 산출된 신드롬 중, 신드롬 S1은 멀티플렉서 M1을 통해, 또한 신드롬 S2는 멀티플렉서 M2를 통해, 각각 선택적으로 전술한 도 2에 도시한 에러 검출부(34)로 전송된다. 그리고, 에러 검출부(34)에 있어서, 상기 신드롬에 기초하여 부호어 내에 오류가 있는지의 여부가 판단된다. 그리고, 오류가 있는 경우에는 그 오류의 크기와 오류의 위치가 계산되어, 그 결과가 에러 정정부(32)나 ECC 어드레스 생성부(33)로 출력된다.
이에 기초하여, ECC 어드레스 생성부(33)에서는 오류가 있는 위치를 지정하여 버스 아비터(11)에 출력한다. 이에 따라, 버스 아비터(11)에서는 DRAM(10) 상의 오류가 있는 위치로부터 데이터를 판독하여 에러 정정부(32)에 공급한다. 에러 정정부(32)에서는 이 공급된 데이터와 에러 검출부(34)로부터 공급된 오류의 크기에 관한 데이터로부터 올바른 데이터를 생성한다. 이렇게 해서 생성된 데이터는 버스 아비터(11)를 통해 DRAM(10)에 재기입된다.
이렇게 해서 에러 정정이 행해지면, 도시하지 않은 EDC 디코더 블록에 의해서, 또한 전술한 도 8의 (a)에 도시한 EDC 데이터를 이용하여 에러 정정의 과정에서 과도한 에러에 의한 오류 정정이 발생하는지의 여부의 체크가 행해진다. 이러한 일련의 처리 후에, 도시하지 않은 호스트 컴퓨터로부터 데이터의 전송의 지령이 버스 아비터(11)에 입력되면, DRAM(10)으로부터 버스 아비터(11)를 통해 데이터의 전송이 행해진다.
이러한 복수의 부호어마다의 DRAM(10)으로부터의 판독이나 신드롬 생성부(31)에서의 신드롬의 산출의 타이밍은 에러 정정 타이밍 생성 회로(20)로써 생성된다. 이 에러 정정 타이밍 생성 회로(20)는 전술한 도 3에 도시한 각 연산 회로 중 어느 하나에 선택적으로 DRAM(10)으로부터 판독된 데이터를 할당하도록, 도 4에 도시한 바와 같은 심볼 카운터를 구비하고 있다.
심볼 카운터는, 레지스터(40), 카운트 제어부(42) 및 디코더(41)로 구성되며, 예를 들면 CAS 등, DRAM(10)으로부터 데이터를 판독하는 타이밍으로 동기한 신호에 의해 카운트치를 증가시킨다. 이 심볼 카운터의 카운트치의 아래 2자릿수 「00」, 「01」, 「10」, 「11」은 4개의 부호어 각각에 대응하고 있고, 이 카운트치에 기초하여, DRAM(10)으로부터 판독된 데이터가 복수의 연산 회로 중 어느 하나로 분배된다.
레지스터(40)는 카운트 제어부(42)에 의해 출력된 카운트치를 일시적으로 기억하고, 타이밍 신호에 동기하여 그 카운트치를 디코더(41)로 출력함과 함께, 카운트 제어부(42)로 출력한다. 디코더(41)는 카운트치의 아래 2자릿수에 기초하여, 복수의 연산 회로 S00 및 S10과, S01 및 S11과, S02 및 S12와, S03 및 S13의 레지스터 중 어느 하나에 선택적으로 인에이블 신호를 출력한다. 이에 따라, 4개의 부호어의 신드롬이 별도의 연산 회로에서 산출된다.
카운트 제어부(42)는 입력되는 카운트치에 대하여, 「1」 또는 「2」를 선택적으로 가산하여 레지스터(40)에 출력한다. 카운트치가 「0000」 내지 「1039」일 때, 카운트치에 대하여, 「1」을 가산하고, 카운트치를 1씩 증가시킨다. 한편, 카운트치가 「1040」까지 도달했을 때, 카운트치의 아래 2자릿수에 기초하여, 「1」 또는 「2」의 가산치를 선택한다. 카운트치의 아래 2자릿수가 「00」, 「01」인 경우, 카운트치에 대하여 「1」 가산하고, 「10」인 경우, 「2」를 가산하여 카운트치의 아래 2자릿수가 「00」이 되도록 하고 있다. 이에 따라, 카운트치가 「1040」 이후에는 카운트치의 아래 2자릿수가 「11」이 되는 것을 회피하고 있다.
즉, 1040 바이트분의 심볼이 판독된 시점에서는 전술한 도 1에 도시한 바와 같이, CD-ROM의 해당 섹터 데이터(MS 바이트 데이터 및 LS 바이트 데이터)에는 3개의 부호어가 남겨질 뿐이다. 이 때문에, DRAM(10)으로부터의 데이터의 판독 타이밍에 동기하여, 그 3 타이밍 주기로 연산 회로 S00 및 S10과, S01 및 S11과, S02 및 S12 중 어느 하나의 레지스터를 순서대로 능동으로 함으로써, 3개의 부호어의 신드롬을 병렬하여 산출하는 것이 가능해진다.
또한, 에러 정정 타이밍 생성 회로(20)는 각 부호어의 신드롬이 산출되면, 즉 상기 각 연산 회로에 26개의 심볼이 입력되면, 동일 연산 회로를 초기화하기 위해서 클리어 신호를 생성한다. 이 클리어 신호가 연산 회로에 입력됨으로써, 연산 회로에서는, 그 이후 입력되는 심볼치에 기초하여 새롭게 신드롬을 계산할 수 있게 된다.
또한, 에러 정정 타이밍 생성 회로(20)는 DRAM(10)이 1 섹터분의 데이터를 판독한다고 판단했을 때에, 전술한 도 4에 도시한 심볼 카운터에 리세트 신호를 입력하기 위한 카운터를 구비하고 있다. 이와 같이, DRAM(10)이 1 섹터분의 데이터를 판독한다고 판단되면 그 카운터 치를 초기화함으로써, 심볼 카운터의 구성을 복잡하게 하지 않고, 상기 인에이블 신호의 생성이 가능해진다.
여기서, 도 5에 기초하여 본 실시예에 따른 DRAM(10)에의 액세스 타이밍이나 신드롬 연산 타이밍에 대해 더 설명한다.
즉, 소정의 클럭(도 5의 (a))에 동기하여 에러 정정 타이밍 생성 회로(20)로부터 신드롬 생성부(31)에 클리어 신호가 입력되면(도 5의 (f)), 상기 각 연산 회로 S00 및 S10과, S01 및 S11과, S02 및 S12와, S03 및 S13이 초기화된다. 이에 따라, 이들 각 연산 회로에서는 새로운 신드롬 계산을 행할 준비가 갖추어진다.
다음에, DRAM(10)으로부터 판독하는 데이터의 어드레스를 지정하기 위해 RAS 신호(도 5의 (c)) 및 CAS 신호(도 5의 (d))가 상기 버스 아비터(11) 내에서 생성된다. 여기서, DRAM(10) 내의 행 어드레스 및 열 어드레스는 각각 RAS 신호 및 CAS 신호의 하강에 의해 지정된다. 그리고, 이들 RAS 신호 및 CAS 신호의 하강에 의해 지정된 DRAM(10) 내의 행 어드레스 및 열 어드레스는, 이들 RAS 신호 및 CAS 신호의 다음의 하강까지 유지된다.
그리고, 본 실시예에서는, CAS 신호에 의해 4개의 열 어드레스가 지정되기까지의 동안에, RAS 신호를 일정하게 함으로써 행 어드레스를 일정하게 유지한다. 따라서, CAS 신호의 하강에 동기하여 4개의 부호어의 데이터(d0, d1, d2, d3)가 판독된다(도 5의 (e)). 이들 판독된 각 데이터로부터, 상기 신드롬 생성부(31)의 소정의 연산 회로에서 신드롬을 산출하기 위해, 상기 에러 정정 타이밍 생성 회로(20)에서는 인에이블 신호를 생성한다(도 5의 (g)).
이 인에이블 신호에 의해, 데이터 d0이 연산 회로 S00 및 S10에서(도 5의 (h), 도 5의 (i)), 데이터 d1이 연산 회로 S01 및 S11에서(도 5의 (j), 도 5의 (k)), 데이터 d2가 연산 회로 S02 및 S12에서(도 5의 (l), 도 5의 (m)), 데이터 d3이 연산 회로 S03 및 S13에서(도 5의 (n), 도 5의 (o)), 각각 연산된다.
그리고, 이러한 일련의 데이터 d0, d1, d2, d3의 판독 후에, RAS 신호와 CAS 신호를 상승시킴과 함께, 상기 DRAM(10)에 있어서 프리차지 동작을 행한다(도 5의 (b)에서 xx로 표기). 이 프리차지 동작 후에는, 재차 RAS 신호나 CAS 신호를 하강시킴으로써, DRAM(10) 내의 소정 어드레스에 액세스하여 데이터의 판독이 행해진다.
이와 같이, 행 어드레스를 지정한 후, 4개의 부호어에 속하는 데이터가 기억된 열 어드레스를 지정하여 판독을 행하기 때문에 4개의 데이터의 판독을 6 클럭으로 행할 수 있다.
이에 대하여, 전술한 도 11에 도시한 바와 같이 부호어의 판독을 하나씩 행해가는 경우에는, DRAM(10)에의 액세스도 도 6에 도시한 바와 같아진다. 즉, 여기서는 판독 대상이 되는 데이터마다 그 DRAM(10)의 행 어드레스 및 열 어드레스를 지정하는(도 6의 (b)) 외에, 프리차지 동작을 행하기 위해서 각 데이터의 판독에 3 클럭이 필요해진다. 따라서, 4개의 데이터의 판독에 있어서는, 12 클럭 필요해져서, 본 실시예와 비교하여 2배의 시간이 걸린다.
또, 도 7에 예시된 바와 같이, 열 어드레스를 예를 들면 2개 지정한 시점(도 7의 (b))에서, 동일 어드레스가 DRAM(10)의 페이지의 경계가 되는 경우에는 상기 페이지 경계 검출부(24)에 있어서 페이지 경계 신호(도 7의 (p))가 생성된다. 이에 따라, RAS 신호(도 7의 (c)) 및 CAS 신호(도 7의 (d))가 일단 상승하고, 프리차지 동작(도 7의 (b)에서 xx로 표기)이 행해진다. 그리고, 행 어드레스를 재차 지정한 후, 열 어드레스를 지정함으로써 나머지 2개의 데이터 d2, d3의 판독이 행해진다(도 7의 (e)).
이상 설명한 본 실시예에 따르면, 이하의 효과가 얻어지게 된다.
(1) DRAM(10)으로부터 복수의 P 부호를 동시에 판독함으로써, 행 어드레스의 지정 후에, 연속하여 복수의 열 어드레스를 지정하는 페이지 모드 방식을 적용할 수 있게 된다. 이에 따라, DRAM(10)에의 액세스에 걸리는 시간을 삭감할 수 있게 된다.
(2) 페이지 경계 검출부(24)에 의해 판독 대상이 되는 데이터가 페이지의 경계에 있을 때를 검출하는 것만으로, 상기 페이지 모드 방식의 예외 처리를 행할 수 있게 된다.
(3) 신드롬 생성부(31)에 있어서, 도 3에 도시한 양태로써 4개의 부호어를 병렬하여 계산할 수 있도록 함으로써 신드롬 계산을 신속하게 행할 수 있게 된다.
(4) MS 바이트 및 LS 바이트의 데이터에 있어서 1040 바이트분의 데이터의 판독 후에는, 심볼 카운터를 이용하여 연산 회로 S00 및 S10과, S01 및 S11과, S02 및 S12의 3개의 연산 회로에만 인에이블 신호를 입력하는 구성으로 하였다. 이에 따라, 부호어의 총수가 병렬하여 판독되는 부호어의 수의 배수가 되지 않는 경우에, 적확하게 부호어의 판독을 행할 수 있게 된다.
(5) 병렬하여 산출된 신드롬이 멀티플렉서 M1 및 M2에 의해 선택적으로 에러 검출부(34)에 입력되는 구성으로 하였다. 이에 따라, 에러 검출부(34)의 회로의 대형화를 회피할 수 있다.
또, 상기 실시예는 이하와 같이 변경하여 실시할 수도 있다.
·DRAM(10)의 페이지 사이즈에 대해서는, 256 바이트인 것에 한정되지 않는다. 이 페이지 사이즈의 변경에 따라, 가산기(23)가 출력하는 데이터로부터 페이지의 경계를 검출하는 페이지 경계 검출부(24)의 검출 양태를 적절하게 변경하면 된다.
·심볼 카운터를 이용하는 대신에, 상기 인에이블 신호의 입력 양태 등을 ROM(Read Only Memory)으로 설정하는 구성으로 해도 된다.
·p 부호의 신드롬 계산 시에서의 DRAM(10)으로부터의 심볼의 판독시뿐만 아니라, 예를 들면 Q 부호의 신드롬 계산시에 있어서, DRAM(10)으로부터 복수의 부호어를 병렬하여 판독하도록 해도 된다. 단, 이 경우, Q 부호의 판독 초기에서는 반드시 복수의 부호어를 판독하지 않고 조정함으로써, 그 이후, DRAM(10) 내에서 인접하는 데이터가 병렬적인 판독을 행할 수 있도록 하는 것이 바람직하다. 즉, 전술한 도 9에 도시한 데이터에 있어서는, 처음에 「0000」을, 다음에, 「0043」 및 「0044」를, 그 다음에, 「0086」 및 「0087」 및 「0088」을 판독하도록 하는 것이 바람직하다. 이에 따라, 그 이후의 처리에 있어서는, 「0129」 및 「1130」 및 「0131」 및 「0132」 등, 4개씩의 부호어를 판독할 때에, 이들 데이터를 DRAM(10) 내에서의 인접한 어드레스의 데이터로 할 수 있다. 이 때, 신드롬 생성부(31)에의 인에이블 신호나 클리어 신호의 입력 양태에 대해서도 적절하게 변경하여 설정한다.
·또한, 복수의 부호어의 병렬적인 판독이나 상기 판독된 부호어의 병렬적인 신드롬 계산은 CD-ROM의 데이터에서의 에러 정정 처리에 한정되지 않는다. 예를 들면, CD나 DVD(Digital Versatile Disc)의 데이터의 에러 정정 처리 등에 적용해도 된다.
·병렬적으로 판독되는 부호어의 수나 병렬하여 계산되는 신드롬의 수는 상기 실시예에 한정되지 않는다. 이 때, 반드시, 랜덤 액세스 메모리에 기억되는 데이터의 순서에 있어서 인접하는 것을 복수 병렬로 판독하는 것뿐만 아니라, 근접하고 있는 경우로 페이지 모드 방식의 채용은 가능하다.
·복수의 부호어의 병렬적인 판독은, 페이지 모드 방식을 채용한 것에도 한정되지 않고, EDO(extended data output) 방식 등, 적절한 고속 액세스 방식을 적용하도록 해도 된다. 또, 상기 DRAM으로서 SDRAM(synchronous DRAM) 등을 이용할 수 있다.
·도 3에 도시한 멀티플렉서 M1 및 M2에 대해서는, 이것을 설치하지 않아도, DRAM(10)으로부터의 고속 판독이나 신드롬의 고속 계산을 행할 수 있다.
·신드롬 생성부(31)에 대해서는, 반드시 도 3에 예시한 바와 같이 복수의 부호어의 신드롬을 계산하는 별도의 회로를 설치하는 구성으로 하지 않아도 복수의 부호어를 동시에 판독함으로써, DRAM(10)으로부터 데이터를 고속으로 판독할 수 있다.
청구항 제1항에 기재된 발명에 따르면, 복수의 부호어의 신드롬 계산이 각별한 연산 회로에 의해 병렬하여 실행되기 때문에, 판독 동작을 고속화할 수 있게 된다.
청구항 제2항에 기재된 발명에 따르면, 버퍼 메모리 내에서의 행 어드레스를 유지하고, 열 어드레스를 변경하여 복수의 부호어를 병렬적으로 판독함으로써, 페이지 모드 등의 고속 액세스 방식을 용이하게 적용할 수 있게 된다.
청구항 제3항에 기재된 발명에 따르면, 부호어의 총수가 병렬하여 판독되는 부호어의 수의 배수가 되지 않는 경우에, 적확하게 부호어의 판독을 행할 수 있게 된다.
도 1은 본 발명에 따른 에러 정정 장치의 일 실시예에 대하여, 그 부호어의 판독 순서를 나타내는 도면.
도 2는 동 실시예의 에러 정정 장치의 전체 구성을 나타내는 블록도.
도 3은 동 실시예의 신드롬 생성부의 구성을 나타내는 회로도.
도 4는 동 실시예의 심볼 카운터의 구성을 나타내는 도면.
도 5는 동 실시예에서의 부호어의 판독 타이밍을 나타내는 타임 차트.
도 6은 종래의 부호어의 판독 타이밍을 나타내는 타임차트.
도 7은 동 실시예에서의 부호어의 판독 타이밍에 대해, 특히 그 예외 처리를 나타내는 타임차트.
도 8은 CD-ROM의 데이터 포맷을 나타내는 도면.
도 9는 CD-ROM 데이터에서의 부호어의 설정 양태를 나타내는 도면.
도 10은 DRAM 내에서의 CD-ROM 데이터의 기억 양태를 나타내는 도면.
도 11은 종래의 부호어의 판독 순서를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
10 : DRAM
11 : 버스 아비터
20 : 에러 정정 타이밍 생성 회로
21 : 섹터 선두 어드레스 생성부
22 : ECC 오프셋 어드레스 생성부
23 : 가산기
24 : 페이지 경계 검출부
30 : CD-ROM 디코드부
31 : 신드롬 생성부
32 : 에러 정정부
33 : ECC 어드레스 생성부
34 : 에러 검출부
40 : 레지스터
41 : 디코더
42 : 카운트 제어부
Claims (3)
- 디스크 매체로부터 판독되는 디지털 데이터의 에러 정정 처리를 행하는 에러 정정 장치에 있어서,상기 디지털 데이터에 대응하고, 소정의 에러 정정 부호에 따른 부호어를 구성하는 복수의 심볼을 버퍼 메모리에 기입함과 함께, 기입된 심볼을 판독하는 메모리 액세스 회로와,상기 버퍼 메모리로부터 판독되는 심볼에 대하여 에러 정정 처리를 위한 신드롬 계산을 행하는 복수의 연산 회로를 구비하고,상기 에러 정정 장치는 상기 버퍼 메모리로부터 판독한 심볼의 수를 카운트하는 심볼 카운터를 포함하며,상기 메모리 액세스 회로는 복수의 부호어를 1 심볼마다 순차 판독하고, 상기 심볼 카운터의 하위 비트의 값에 대응하여 상기 복수의 연산 회로에 분배하여 공급하는 것을 특징으로 하는 에러 정정 장치.
- 제1항에 있어서,상기 메모리 액세스 회로는 상기 버퍼 메모리 내에서의 행 어드레스를 유지하고, 열 어드레스를 변경하여 상기 부호어에 대응한 심볼을 판독하는 것을 특징으로 하는 에러 정정 장치.
- 제1항 또는 제2항에 있어서,상기 심볼 카운터는,상기 버퍼 메모리로부터 상기 심볼이 판독되는 횟수를 나타내는 카운트치를 유지하는 레지스터와,상기 카운트치의 하위 비트의 값에 대응하여 상기 버퍼 메모리로부터 판독되는 상기 심볼을 상기 복수의 연산 회로에 분배하는 디코더와,상기 카운트치를 상기 심볼의 판독 타이밍에 따라서 순차 갱신하는 카운트 제어부를 구비하고,상기 카운트 제어부는 상기 카운트치가 소정의 범위를 넘었을 때, 상기 카운트치의 하위 비트에 응답하여 갱신 조건을 갱신하는 것을 특징으로 하는 에러 정정 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001082298A JP3954803B2 (ja) | 2001-03-22 | 2001-03-22 | エラー訂正装置 |
JPJP-P-2001-00082298 | 2001-03-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020075269A KR20020075269A (ko) | 2002-10-04 |
KR100509137B1 true KR100509137B1 (ko) | 2005-08-23 |
Family
ID=18938258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0015244A KR100509137B1 (ko) | 2001-03-22 | 2002-03-21 | 에러 정정 장치 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7143331B2 (ko) |
JP (1) | JP3954803B2 (ko) |
KR (1) | KR100509137B1 (ko) |
TW (1) | TWI267826B (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3954803B2 (ja) * | 2001-03-22 | 2007-08-08 | 三洋電機株式会社 | エラー訂正装置 |
US7698625B2 (en) * | 2003-08-26 | 2010-04-13 | Adaptec, Inc. | System for improving parity generation and rebuild performance |
US7228490B2 (en) * | 2004-02-19 | 2007-06-05 | Quantum Corporation | Error correction decoder using cells with partial syndrome generation |
US7343546B2 (en) * | 2004-12-23 | 2008-03-11 | Intel Corporation | Method and system for syndrome generation and data recovery |
JP2006190346A (ja) * | 2004-12-28 | 2006-07-20 | Toshiba Corp | エラー訂正処理装置及びエラー訂正処理方法 |
JP2006309820A (ja) | 2005-04-26 | 2006-11-09 | Sanyo Electric Co Ltd | 誤り訂正装置 |
JP4313391B2 (ja) * | 2006-12-13 | 2009-08-12 | 株式会社日立コミュニケーションテクノロジー | 光集線装置および光加入者装置 |
US9691504B2 (en) * | 2011-10-24 | 2017-06-27 | Rambus Inc. | DRAM retention test method for dynamic error correction |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10107648A (ja) * | 1996-09-30 | 1998-04-24 | Sanyo Electric Co Ltd | 誤り訂正処理回路 |
KR19980025094A (ko) * | 1996-09-30 | 1998-07-06 | 다까노 야스아끼 | 부호 오류 정정/검출 디코더 |
KR19980042418A (ko) * | 1996-11-15 | 1998-08-17 | 세키자와다다시 | 에러 정정 방법, 에러 정정 장치, 데이타 독출 장치, 및 데이타맵핑 방법 |
KR19980076479A (ko) * | 1997-04-10 | 1998-11-16 | 윤종용 | 콤팩트 디스크-롬 드라이브의 디코딩장치에서 에러정정을 위한 메모리 리드 방법 및 회로 |
KR19990049147A (ko) * | 1997-12-12 | 1999-07-05 | 구자홍 | 에러정정방법 |
JP2001117825A (ja) * | 1999-10-20 | 2001-04-27 | Sharp Corp | データ記録装置およびデータ再生装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185629B1 (en) * | 1994-03-08 | 2001-02-06 | Texas Instruments Incorporated | Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time |
US5721860A (en) * | 1994-05-24 | 1998-02-24 | Intel Corporation | Memory controller for independently supporting synchronous and asynchronous DRAM memories |
US5612922A (en) * | 1995-07-05 | 1997-03-18 | Micron Technology, Inc. | Page mode editable real time read transfer |
US6243845B1 (en) * | 1997-06-19 | 2001-06-05 | Sanyo Electric Co., Ltd. | Code error correcting and detecting apparatus |
US6687860B1 (en) * | 1998-01-07 | 2004-02-03 | Matsushita Electric Industrial Co., Ltd. | Data transfer device and data transfer method |
EP0939403A3 (en) * | 1998-02-25 | 1999-11-17 | Matsushita Electric Industrial Co., Ltd. | High-speed error correcting apparatus with efficient data transfer |
US6651208B1 (en) * | 2000-04-04 | 2003-11-18 | Mosel Vitelic Corporation | Method and system for multiple column syndrome generation |
US6591349B1 (en) * | 2000-08-31 | 2003-07-08 | Hewlett-Packard Development Company, L.P. | Mechanism to reorder memory read and write transactions for reduced latency and increased bandwidth |
JP3954803B2 (ja) * | 2001-03-22 | 2007-08-08 | 三洋電機株式会社 | エラー訂正装置 |
-
2001
- 2001-03-22 JP JP2001082298A patent/JP3954803B2/ja not_active Expired - Fee Related
- 2001-12-26 TW TW090132277A patent/TWI267826B/zh not_active IP Right Cessation
-
2002
- 2002-03-21 KR KR10-2002-0015244A patent/KR100509137B1/ko not_active IP Right Cessation
- 2002-03-22 US US10/105,010 patent/US7143331B2/en not_active Expired - Fee Related
-
2006
- 2006-10-24 US US11/552,373 patent/US20070050663A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10107648A (ja) * | 1996-09-30 | 1998-04-24 | Sanyo Electric Co Ltd | 誤り訂正処理回路 |
KR19980025094A (ko) * | 1996-09-30 | 1998-07-06 | 다까노 야스아끼 | 부호 오류 정정/검출 디코더 |
KR19980042418A (ko) * | 1996-11-15 | 1998-08-17 | 세키자와다다시 | 에러 정정 방법, 에러 정정 장치, 데이타 독출 장치, 및 데이타맵핑 방법 |
KR19980076479A (ko) * | 1997-04-10 | 1998-11-16 | 윤종용 | 콤팩트 디스크-롬 드라이브의 디코딩장치에서 에러정정을 위한 메모리 리드 방법 및 회로 |
KR19990049147A (ko) * | 1997-12-12 | 1999-07-05 | 구자홍 | 에러정정방법 |
JP2001117825A (ja) * | 1999-10-20 | 2001-04-27 | Sharp Corp | データ記録装置およびデータ再生装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2002280909A (ja) | 2002-09-27 |
TWI267826B (en) | 2006-12-01 |
KR20020075269A (ko) | 2002-10-04 |
US20020144206A1 (en) | 2002-10-03 |
US7143331B2 (en) | 2006-11-28 |
US20070050663A1 (en) | 2007-03-01 |
JP3954803B2 (ja) | 2007-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3863252B2 (ja) | 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 | |
JP2605271B2 (ja) | エラー訂正及びチエツク装置 | |
EP1815338B1 (en) | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory | |
US7278085B1 (en) | Simple error-correction codes for data buffers | |
KR100632952B1 (ko) | 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치 | |
US6357030B1 (en) | ECC block format for storage device | |
US6041431A (en) | Method and apparatus for performing error correction code operations | |
JP3272903B2 (ja) | 誤り訂正検出回路と半導体記憶装置 | |
JPH10207726A (ja) | 半導体ディスク装置 | |
JPH11249920A (ja) | 符号語データを記憶するデータバッファを用いるeccシステムおよび誤りシンドロームを記憶するシンドロームバッファ | |
US5966389A (en) | Flexible ECC/parity bit architecture | |
US20070050663A1 (en) | Error correction apparatus for performing consecutive reading of multiple code words | |
US6279135B1 (en) | On-the-fly row-syndrome generation for DVD controller ECC | |
KR970707493A (ko) | 디스크 드라이브 에뮬레이터를 위한 에러 보정 방법및 장치(error correction method and apparatus for disk drive emulator) | |
KR100305973B1 (ko) | 데이터의에러정정방법및에러정정장치 | |
KR100566162B1 (ko) | 버스트 동작에 의해 데이터 및 패리티 데이터를입출력하는 반도체 기억 장치 | |
JP2004206798A (ja) | 光ディスク装置のエンコードデータ符号回路 | |
JP2008146828A (ja) | 光ディスク装置のエンコードデータ符号回路 | |
JP2001292066A (ja) | 誤り訂正装置および誤り訂正方法 | |
KR0140382B1 (ko) | Dat의 오류정정을 위한 어드레스 발생회로 | |
JP2605270B2 (ja) | エラー訂正及びチエツク装置 | |
RU2006971C1 (ru) | Запоминающее устройство с коррекцией ошибок в выходной информации | |
SU1111206A1 (ru) | Оперативное запоминающее устройство с коррекцией информации | |
GB2324445A (en) | Optical disc error detection/correction during readout | |
JPS5953640B2 (ja) | 記憶装置 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20120727 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130729 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |