KR20070055378A - 오류 정정 장치, 오류 정정 프로그램을 기록한 컴퓨터판독가능한 기록 매체, 및 오류 정정 방법 - Google Patents
오류 정정 장치, 오류 정정 프로그램을 기록한 컴퓨터판독가능한 기록 매체, 및 오류 정정 방법 Download PDFInfo
- Publication number
- KR20070055378A KR20070055378A KR1020060116392A KR20060116392A KR20070055378A KR 20070055378 A KR20070055378 A KR 20070055378A KR 1020060116392 A KR1020060116392 A KR 1020060116392A KR 20060116392 A KR20060116392 A KR 20060116392A KR 20070055378 A KR20070055378 A KR 20070055378A
- Authority
- KR
- South Korea
- Prior art keywords
- loss
- error correction
- syndrome
- error
- correction
- Prior art date
Links
- 238000012937 correction Methods 0.000 title claims abstract description 321
- 238000000034 method Methods 0.000 title claims abstract description 28
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 163
- 238000012545 processing Methods 0.000 abstract description 16
- 238000004364 calculation method Methods 0.000 description 35
- 238000011156 evaluation Methods 0.000 description 28
- 230000008034 disappearance Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 5
- 230000001172 regenerating effect Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- 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
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1525—Determination and particular use of error location polynomials
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6569—Implementation on processors, e.g. DSPs, or software implementations
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명은 소프트웨어와 하드웨어를 효율적으로 구분하여 사용함으로써, 소실을 포함하는 수신 워드의 오류 정정의 처리 시간을 단축하는 오류 정정 장치, 오류 정정 프로그램, 및 오류 정정 방법을 제공하는 것을 목적으로 한다.
소실을 포함하지 않는 오류 정정 회로(3a)가 RDC(2)로부터 소실을 포함하는 수신 워드를 수신하면 소실 정보 유지부(3a1)가 소실 정보를 유지하고, 신드롬 생성부(3a2)가 수신 워드로부터 신드롬을 생성하며, 소실 판단부(3a3)가 소실 정보와 신드롬을 MPU(4)에 송신한다. MPU(4)는 소실 오류값 계산부(4a3) 및 소실 정정부(4a4)가 소실만을 정정하여 소실을 포함하지 않는 수신 워드를 RAM(3b)에 저장한다. RAM(3b)으로부터의 수신 워드는 데이터 버스(6)와 스위치(5)를 경유하여 소실을 포함하지 않는 오류 정정 회로(3a)에 재입력된다. 소실 판단부(3a3)는 소실을 포함하지 않는 수신 워드로 판단하여 첸(chien) 탐색부(3a5), 오류 정정부(3a6)에 오류 정정을 행하게 한다.
Description
도 1은 본 발명의 오류 정정 장치의 구성을 도시하는 블록도.
도 2는 본 발명의 오류 정정 장치의 구성 및 동작의 흐름을 도시하는 개념도.
도 3은 도 1에 도시하는 본 발명의 오류 정정 장치가 행하는 오류 정정의 일례를 도시하는 데이터 개념도.
도 4는 종래의 소실을 포함하지 않는 오류 정정 장치의 구성 및 동작의 흐름을 도시하는 개념도.
도 5는 종래의 소실을 포함하는 오류 정정 장치의 구성 및 동작의 흐름을 도시하는 개념도.
<도면의 주요 부분에 대한 부호의 설명>
1: 데이터 저장 디스크
2: RDC(리드 채널)
3: 하드디스크 컨트롤러
3a: 소실을 포함하지 않는 오류 정정 회로
3a1: 소실 정보 유지부
3a2: 신드롬 생성부
3a3: 소실 판단부
3a4: 다항식 계산부
3a5: 첸 탐색부
3a6: 오류 정정부
3b: RAM
4: MPU
4a1: 소실 정보·신드롬 취득부
4a2: MPU 다항식 계산부
4a3: 소실 오류값 계산부
4a4: 소실 정정부
5: 스위치
6: 데이터 버스
본 발명은, 수신한 데이터에 발생한 오류를 정정하는 오류 정정 장치, 오류 정정 프로그램, 및 오류 정정 방법에 관한 것이다.
장치간을 송수신하는 데이터는 노이즈 등의 혼입에 의해 오류 데이터가 되는 경우가 있기 때문에 오류 정정 부호를 이용하여 오류 정정이 행해지고 있다. 이 때, 오류 정정 장치에 의해 행해지는 오류 정정은 소실을 포함하지 않는 경우와 소실을 포함하는 경우로 나눌 수 있다.
여기서는 오류 정정 장치의 일례로서, 디스크 장치에서의 오류 정정 장치에 관해서 설명한다. 소실 정보는 RDC(리드 채널)로부터의 TA(Thermal Asperity: 온도에 의해 발생하는 오류 신호)나 Code Violation(규칙외의 부호)의 정보, 또는 MPU(Micro Processing Unit: 마이크로프로세서)로부터 임의로 부여되는 정보 등이다. 이 소실 정보는 오류 정정을 시작하기 전에 부여되고, 소실이 있는 경우는 MPU 등의 소프트웨어가 개입하여 오류 정정이 행해진다. 이때, 어떤 오류 정정 부호에 대하여, 소실이 없는 경우에 최대 t의 오류 정정이 가능할 때, 소실이 있는 경우는 오류 정정과 소실의 정정이 존재하기 때문에 최대 t×2까지의 정정이 가능해진다.
우선, 소실을 포함하지 않는 경우의 오류 정정에 관해서 설명한다. 도 4는 종래의 소실을 포함하지 않는 오류 정정 장치의 구성 및 동작의 흐름을 도시하는 개념도이다. 도 4에 도시하는 바와 같이, 소실을 포함하지 않는 오류 정정 장치에서는 RDC(22)가 데이터 저장 디스크(21)로부터의 아날로그 신호를 10 bit의 디지털 신호로 변환하여 수신 언어를 생성한다. 또한, RDC(22)는 이 수신 워드를 하드디스크 컨트롤러(23)의 소실을 포함하지 않는 오류 정정 회로(23a)에 입력하여 오류 정정을 행한다. 여기서, 소실을 포함하지 않는 오류 정정 회로(23a)는 하드웨어로 구성되어 있다.
이때, 소실을 포함하지 않는 오류 정정 회로(23a)는 다음 수순에 의해 오류 정정을 실행한다. 우선, 소실을 포함하지 않는 오류 정정 회로(23a)는 RDC(22)로부터 수신한 수신 워드로부터 오류 정정의 단서가 되는 신드롬을 생성한다(단계 S21). 다음에, 소실을 포함하지 않는 오류 정정 회로(23a)는 생성된 신드롬에 기초하여 오류 위치 다항식 및 오류 평가 다항식의 계산을 행한다(단계 S22). 그리고, 소실을 포함하지 않는 오류 정정 회로(23a)는 오류 위치 다항식과 오류 평가 다항식의 2개의 다항식을 이용하여 첸(chien) 탐색에 의해 오류 위치 및 오류의 값을 계산한다(단계 S23).
또한, 소실을 포함하지 않는 오류 정정 회로(23a)는 계산된 오류 위치 및 오류값에 기초하여 수신 워드에 대하여 오류 정정을 행하고, 그 결과를 RAM(Random Access Memory)(23b)에 기록한다(단계 S24). 이 때, 상기한 단계 S21부터 단계 S24까지의 모든 처리는 하드웨어에 의해 행해진다. 이와 같이 하여 하드웨어에 의해 오류 정정 처리를 행함으로써, 오류 정정을 행하기 위한 처리 시간은 짧다.
다음에, 소실을 포함하는 경우의 오류 정정에 관해서 설명한다. 도 5는 종래의 소실을 포함하는 오류 정정 장치의 구성 및 동작의 흐름을 도시하는 개념도이다. 도 5에 도시하는 바와 같이, RDC(22)는 데이터 저장 디스크(21)로부터의 아날로그 신호를 10 bit의 디지털 신호로 변환하여 수신 워드를 생성하는 동시에, 수신 워드에서의 소실을 검출하여 소실 정보를 생성하고, 이 수신 워드와 소실 정보를 하드디스크 컨트롤러(23)의 소실을 포함하지 않는 오류 정정 회로(23a)에 입력한다. 즉, 도 5의 소실을 포함하는 오류 정정 장치에서도, 도 4에 도시한 소실을 포함하지 않는 오류 정정 장치에서의 소실을 포함하지 않는 오류 정정 회로(23a)와 동일한 회로를 사용한다.
그런데, 도 5의 소실을 포함하는 오류 정정 장치에서 하드디스크 컨트롤러(23)의 소실을 포함하지 않는 오류 정정 회로(23a)는 RDC(22)로부터 소실 정보와 수신 워드를 수신하여 신드롬을 생성하는 동시에 소실 정보를 유지하지만(단계 S31), 오류 위치 다항식 및 오류 평가 다항식의 계산(도 4의 단계 S22에 상당), 첸 탐색에 의한 오류 위치 및 오류값의 계산(도 4의 단계 S23에 상당), 및 수신 워드에 대한 오류 정정(도 4의 단계 S24에 상당)의 각 단계의 기능은 실행하지 않는다. 즉, 소실을 포함하는 오류 정정을 하드웨어로 실현하고자 하면 방대한 회로 규모가 되기 때문에 소실을 포함하는 오류 정정 장치에서는 도 5에 도시하는 바와 같이, 소실을 포함하는 오류 정정 처리만의 프로그램을 실행하는 MPU(24)를 별도로 준비한다.
따라서, 소실을 포함하는 오류 정정 장치가 소실을 포함하는 오류 정정을 행할 때는 다음 수순에 의해 행해진다. 우선, 전술한 바와 같이, 하드디스크 컨트롤러(23)의 소실을 포함하지 않는 오류 정정 회로(23a)가 RDC(22)로부터 소실 정보와 수신 워드를 수신하여 신드롬을 생성하는 동시에 소실 정보를 유지한다(단계 S31). 그렇게 하면, 소실 처리 전용 MPU(24)가 소실을 포함하지 않는 오류 정정 회로(23a)로부터 신드롬과 소실 정보를 취득하고(단계 S32), 이 신드롬과 소실 정보로부터 오류 위치 다항식 및 오류 평가 다항식을 계산한다(단계 S33). 또한 MPU(24)는 이들 2개의 다항식(즉, 오류 위치 다항식과 오류 평가 다항식)을 이용하여 소실을 포함하는 오류에 대하여 첸 탐색에 의해 소실을 포함하는 오류 위치와 오류값의 계산을 행한다(단계 S34). 그리고 MPU(24)는 수신 워드에 대하여 오류 정정을 실행하고, 그 결과를 RAM(13b)에 기록한다(단계 S35). 또한, 단계 S34(첸 탐색에 의한 소실을 포함하는 오류 위치 및 오류값의 계산)와 단계 S35(오류 정정)에서는 소실과 소실 이외의 오류에 관한 처리의 구별은 하지 않고, 모든 오류에 관한 처리를 행한다.
여기서, 소실을 포함하는 오류 정정에서는, 상기한 단계 S31의 신드롬의 생성 및 소실 정보의 유지만의 처리를 소실을 포함하지 않는 오류 정정 회로(23a)(즉, 하드웨어)로 행하고, 상기한 단계 S32의 신드롬 및 소실 정보의 취득부터 단계 S35의 오류 정정까지의 처리는 MPU(24)(즉, 소프트웨어)로 행한다. 이와 같이 하여, 소실을 포함하는 오류 정정에서는 하드웨어와 소프트웨어에 의한 분담 처리를 행하고 있다.
또한, 본 발명에 따른 종래 기술로서는, 예컨대 하기에 도시하는 특허 문헌 1이 개시되어 있다. 이 기술에 의하면 MPU를 이용하여 소실 데이터의 오류 정정을 행함으로써, 하드웨어의 회로 규모의 증대를 최소한으로 억제하면서 소실 정정을 고속화할 수 있다.
[특허 문헌 1] 일본 특허 공개 제2001-101020호 공보(단락 번호 0137 내지 0138, 및 도 1 참조)
그러나, 소실을 포함하는 오류 정정을 행하는 경우는 도 5의 단계 S34에서, 소프트웨어인 MPU(24)가 첸 탐색에 의해 소실을 포함하는 오류 정정을 행할 때, 오 류가 발생할 수 있는 모든 데이터 위치에 대하여, 그것이 오류 위치인지의 여부의 체크를 실행할 필요가 발생하기 때문에 긴 처리 시간을 요구한다. 즉, 모든 데이터 위치에 대하여 소프트웨어에 의해 순환 순서 방식으로 첸 탐색을 행하기 때문에 첸 탐색 및 소실을 포함하는 오류 위치와 오류값을 계산하는 데 꽤 긴 시간이 걸려 버린다. 그 결과, 소실을 포함하는 오류 정정을 행하기 위한 처리 시간이 꽤 길어져 버린다.
본 발명은 전술한 문제점을 해결하기 위해 이루어진 것으로, 소프트웨어와 하드웨어를 효율적으로 구분하여 사용함으로써, 소실을 포함하는 수신 워드의 오류 정정의 처리 시간을 단축하는 오류 정정 장치, 오류 정정 프로그램, 및 오류 정정 방법을 제공하는 것을 목적으로 한다.
전술한 과제를 해결하기 위해 본 발명은, 취득한 부호 워드와 소실 정보에 기초하여 이 부호 워드의 오류를 정정하는 오류 정정 장치로서, 소실 정보에 기초하여 부호 워드에 소실이 있는지의 여부를 판단하는 소프트웨어를 실행하는 소실 판단부와, 부호 워드의 신드롬을 생성하는 하드웨어인 신드롬 생성부와, 소실 판단부에 의해 소실이 있다고 판단된 경우에 신드롬 생성부에 의해 생성된 신드롬과 소실 정보에 기초하여 부호 워드의 소실의 정정을 행하고, 소실이 정정된 부호 워드의 신드롬을 신드롬 생성부에 생성시키는 소프트웨어를 실행하는 소실 정정부와, 신드롬 생성부에 의해 생성된 신드롬에 기초하여, 소실을 포함하지 않는 오류 정정을 행하는 하드웨어인 소실없는 오류 정정부를 포함한 것이다.
또한, 본 발명은 상기 발명의 오류 정정 장치에서, 신드롬 생성부는 소실 판단부에 의해 소실이 없다고 판단된 경우, 취득한 부호 워드의 신드롬을 생성하여 그 결과를 소실없는 오류 정정부에 전달하고, 소실 판단부에 의해 소실이 있다고 판단된 경우, 우선 취득한 부호 워드의 신드롬을 생성하여 그 결과를 소실 정정부에 전달하며, 소실 정정부에 의해 정정된 부호 워드의 신드롬을 더 생성하여 그 결과를 소실없는 오류 정정부에 전달하도록 한 것이다.
또한, 본 발명은, 상기 각 발명의 오류 정정 장치에서, 소실없는 오류 정정부는 신드롬 생성부에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 탐색을 행하도록 한 것이다.
또한, 본 발명은, 상기 각 발명의 오류 정정 장치에서, 소실 정정부는 신드롬 생성부에 의해 생성된 신드롬과 소실 정보에 기초하여, 오류 위치 다항식의 계산 및 오류 평가 다항식의 계산을 행하도록 한 것이다.
또한, 전술한 과제를 해결하기 위해 본 발명은, 취득한 부호 워드와 소실 정보에 기초하여 부호 워드의 오류 정정을 컴퓨터에 실행시키는 오류 정정 프로그램으로서, 신드롬의 생성을 행하는 하드웨어에 부호 워드의 신드롬을 생성시키는 신드롬 생성 단계와, 소실 정보에 기초하여 부호 워드에 소실이 있는지의 여부를 판단하는 소실 판단 단계와, 소실 판단 단계에 의해 소실이 있다고 판단된 경우에 부호 워드로부터 생성된 신드롬과 소실 정보에 기초하여 소실의 정정을 행하는 소실 정정 단계와, 신드롬의 생성을 행하는 하드웨어에 소실 정정 단계에 의해 정정된 부호 워드의 신드롬을 생성시키는 소실 정정 후 신드롬 생성 단계와, 소실을 포함 하지 않는 오류 정정을 행하는 하드웨어에 소실 정정 후 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 소실 정정 단계에 의해 정정된 부호 워드의 오류 정정을 실행시키는 소실 정정 후 오류 정정 단계를 컴퓨터에 실행시키는 것이다.
또한, 본 발명은, 상기 발명의 오류 정정 프로그램에서, 또한 소실 판단 단계에 의해 소실이 없다고 판단된 경우에, 소실을 포함하지 않는 오류 정정을 행하는 하드웨어에 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 부호 워드의 오류 정정을 실행시키는 소실없는 오류 정정 단계를 컴퓨터에 실행시키는 것이다.
또한, 본 발명은, 상기 각 발명의 오류 정정 프로그램에서, 소실 정정 후 오류 정정 단계에서의 소실을 포함하지 않는 오류 정정을 행하는 하드웨어는 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 검색을 행하는 것이다.
또한, 본 발명은, 상기 각 발명의 오류 정정 프로그램에서, 소실없는 오류 정정 단계에서의 소실을 포함하지 않는 오류 정정을 행하는 하드웨어는 신드롬 생성 단계 또는 신드롬 재생성 단계에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 검색을 행하는 것이다.
또한, 본 발명은, 상기 각 발명의 오류 정정 프로그램에서, 소실 정정 단계는 신드롬 생성부에 의해 생성된 신드롬과 소실 정보에 기초하여, 오류 위치 다항식의 계산 및 오류 평가 다항식의 계산을 행하는 것이다.
또한, 전술한 과제를 해결하기 위해 본 발명은, 취득한 부호 워드와 소실 정보에 기초하여 부호 워드의 오류 정정을 실행하는 오류 정정 방법으로서, 신드롬의 생성을 행하는 하드웨어에 부호 워드의 신드롬을 생성시키는 신드롬 생성 단계와, 소실 정보에 기초하여 부호 워드에 소실이 있는지의 여부를 판단하는 소실 판단 단계와, 소실 판단 단계에 의해 소실이 있다고 판단된 경우에 부호 워드로부터 생성된 신드롬과 소실 정보에 기초하여 소실의 정정을 행하는 소실 정정 단계와, 신드롬의 생성을 행하는 하드웨어에 소실 정정 단계에 의해 정정된 부호 워드의 신드롬을 생성시키는 소실 정정 후 신드롬 생성 단계와, 소실을 포함하지 않는 오류 정정을 행하는 하드웨어에 소실 정정 후 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 소실 정정 단계에 의해 정정된 부호 워드의 오류 정정을 실행시키는 소실 정정 후 오류 정정 단계를 실행하는 것이다.
또한, 본 발명은, 상기 발명의 오류 정정 방법에서, 추가로 소실 판단 단계에 의해 소실이 없다고 판단된 경우에, 소실을 포함하지 않는 오류 정정을 행하는 하드웨어에 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 부호 워드의 오류 정정을 실행시키는 소실없는 오류 정정 단계를 실행하는 것이다.
또한, 본 발명은, 상기 각 발명의 오류 정정 방법에서, 소실 정정 후 오류 정정 단계에서의 소실을 포함하지 않는 오류 정정을 행하는 하드웨어는 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 탐색을 행하는 것이다.
또한, 본 발명은, 상기 각 발명의 오류 정정 방법에서, 소실없는 오류 정정 단계에서의 소실을 포함하지 않는 오류 정정을 행하는 하드웨어는 신드롬 생성 단계 또는 신드롬 재생성 단계에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식 의 계산, 오류 평가 다항식의 계산, 및 첸 검색을 행하는 것이다.
또한, 본 발명은, 상기 각 발명의 오류 정정 방법에 있어서, 소실 정정 단계는 신드롬 생성부에 의해 생성된 신드롬과 소실 정보에 기초하여, 오류 위치 다항식의 계산 및 오류 평가 다항식의 계산을 행하는 것이다.
이하, 본 발명에서의 오류 정정 장치의 실시예에 관해서 도면을 참조하면서 상세히 설명하지만, 우선 본 발명에서의 오류 정정 장치의 개요에 관해서 설명한다. 본 발명의 오류 정정 장치는 소실을 포함하는 수신 워드(부호 워드)의 오류 정정을 행할 때에, 소실에 관한 계산과 소실의 정정만을 소프트웨어로 실시하고, 소실을 포함하지 않는 오류에 관한 계산과 오류 정정을 하드웨어로 실시한다. 즉, 하드웨어와 소프트웨어의 하이브리드 구성에 의한 분담 방식에 의해 소실을 포함하는 오류 정정을 실시한다. 이에 따라, 오류 데이터의 첸 탐색은 모두 하드웨어가 행하기 때문에 소프트웨어가 행하는 소실을 포함하는 오류 정정의 처리 시간을 대폭 단축하는 것이 가능해진다.
이하, 본 발명에서의 오류 정정 장치의 적합한 실시예에 관해서 상세히 설명한다. 도 1은 본 발명의 오류 정정 장치의 구성을 도시하는 블록도이다. 본 발명에서의 오류 정정 장치는 도 1에 도시하는 바와 같이, 데이터 저장 디스크(1), RDC(리드 채널)(2), 하드디스크 컨트롤러(3)를 구비한 구성으로 되어 있다. 또한, 하드디스크 컨트롤러(3)는 소실을 포함하지 않는 오류 정정 회로(3a)와 RAM(3b), MPU(4), 스위치(5), 및 본 발명에 특유의 데이터 버스(6)를 구비한 구성으로 되어있다.
소실을 포함하지 않는 오류 정정 회로(3a)는 수신 워드의 소실 정보를 유지하는 소실 정보 유지부(3a1), 수신 워드의 신드롬을 생성하여 유지하는 신드롬 생성부(3a2), 소실 정보에 기초하여 수신 워드에 소실이 있는지의 여부를 판단하는 소실 판단부(3a3), 오류 위치 다항식 및 오류 평가 다항식의 계산을 행하는 다항식 계산부(3a4), 첸 탐색에 의해 오류 위치를 검색하여 오류값의 계산을 행하는 첸 탐색부(3a5), 및 오류 위치와 오류값의 결과로부터 RAM(3b)에 대하여 오류 정정을 행하는 오류 정정부(3a6)를 구비하고 있다.
여기서, 소실을 포함하지 않는 오류 정정 회로(3a)는 소실을 포함하지 않는 오류 정정을 행하는 경우는 상기한 모든 수단(3a1 내지 3a6)의 기능을 사용하여 오류 정정을 행한다. 그러나 소실을 포함하는 오류 정정을 행하는 경우는 다항식 계산부(3a4), 첸 탐색부(3a5), 및 오류 정정부(3a6)의 기능을 사용하지 않고, 소실을 포함하지 않는 오류 정정 회로(3a)로부터 소실 정보와 신드롬을 MPU(4)에 전달한다. 그리고 MPU(4)가 소실 정보와 신드롬에 기초하여 소실의 정정만을 행하여 RAM(3b)에 저장하고, 소실을 포함하지 않는 수신 워드로서 재차 소실을 포함하지 않는 오류 정정 회로(3a)에 송신한다. 이에 따라, 소실을 포함하지 않는 오류 정정 회로(3a)는 소실을 포함하지 않는 수신 워드로서 취급할 수 있고, 다항식 계산부(3a4), 첸 탐색부(3a5), 및 오류 정정부(3a6)의 기능을 사용하여 오류 정정의 처리를 실행한다.
RAM(3b)은 수신 워드를 저장하고 있고, 소실을 포함하지 않는 오류 정정 회로(3a) 및 MPU(4)로부터 액세스할 수 있다. 또한 RAM(3b)과 스위치(5)가 데이터 버 스(6)로 접속되고, RAM(3b)으로부터 출력된 소실을 포함하지 않는 수신 워드는 스위치(5)에 송신된다.
스위치(5)는 데이터 저장 디스크(1)로부터 RDC(2)를 경유하여 송신된 수신 워드와, RAM(3b)으로부터 재송신된 소실을 포함하지 않는 수신 워드를 적절히 전환하고, 소실을 포함하지 않는 오류 정정 회로(3a)의 신드롬 생성부(3a2)에 송신하는 기능을 갖추고 있다.
MPU(4)는 소실을 포함하지 않는 오류 정정 회로(3a)로부터 신드롬과 소실 정보를 취득하고, 소실의 정정을 행하며, RAM(3b)에 대하여 판독/기록을 행하는 기능을 갖추고 있다. 즉 MPU(4)는 소실을 포함하지 않는 오류 정정 회로(3a)로부터 신드롬과 수신 워드의 소실 정보를 취득하는 소실 정보·신드롬 취득부(4a1), 신드롬과 소실 정보로부터 오류 위치 다항식과 오류 평가 다항식의 계산을 행하는 MPU 다항식 계산부(4a2), 오류 위치 다항식과 오류 평가 다항식의 계산 결과로부터 소실의 오류값을 계산하는 소실 오류값 계산부(4a3), 및 RAM(3b)에 대하여 소실의 정정을 행하는 소실 정정부(4a4)를 구비하고 있다.
다음에, 흐름도를 참조하면서, 도 1에 도시하는 본 발명의 오류 정정 장치의 동작에 관해서 설명한다. 도 2는 본 발명의 오류 정정 장치의 구성 및 동작의 흐름을 도시하는 개념도이다. 또한 소실을 포함하는 오류 정정의 처리는 도 1의 오류 정정 장치의 각 요소간을 걸쳐 실행되기 때문에 도 2에서는 이해를 용이하게 하기 위해 각 요소 중에 흐름도가 도시되어 있다.
즉, 소실을 포함하는 오류 정정은 하드웨어 처리와 MPU(4)에 의한 소프트웨 어 처리의 분담 방식에 의해 다음 수순으로 행해진다. 우선 소실을 포함하지 않는 오류 정정 회로(3a)는 RDC(2)로부터 송신된 수신 워드의 소실 정보를 유지한다(단계 S1). 또한 소실을 포함하지 않는 오류 정정 회로(3a)는 RDC(2)로부터 스위치(5)를 통해 송신된 수신 워드를 수신하고, 신드롬을 생성하여 유지한다(단계 S2).
다음에, 소실을 포함하지 않는 오류 정정 회로(3a)는 소실 정보에 기초하여 소실을 포함하는 오류 정정을 행하는지의 여부를 판단하고(단계 S3), 소실을 포함하는 오류 정정을 행하지 않는 경우(단계 S3, No), 오류 위치 다항식 및 오류 평가 다항식의 계산을 행하며(단계 S4), 또한 첸 탐색에 의해 오류 위치 및 오류값의 계산을 행한다(단계 S5). 그리고 오류 위치 및 오류값의 계산 결과로부터 RAM(3b)에 대하여 오류 정정의 데이터를 저장한다.
한편, 단계 S3에서 소실을 포함하는 오류 정정을 행하는 경우는(단계 S3, Yes) 수신 워드를 수신하였을 때에 소실 정보가 있을 때나 MPU의 소실 정보를 임의로 부가하여 정정을 행할 때이기 때문에 소프트웨어인 MPU(4)가 하드웨어의 소실을 포함하지 않는 오류 정정 회로(3a)로부터 수신 워드의 소실 정보와 신드롬을 취득하고(단계 S7), 그 소실 정보와 신드롬으로부터 오류 위치 다항식과 오류 평가 다항식의 계산을 행하다(단계 S8).
또한, 계산된 오류 평가 다항식 및 오류 위치 다항식과 소실을 이용하여 소실의 오류값을 계산한다. 이 때 계산해야 하는 소실의 오류값의 개수는 전체의 오류 수로부터 하드웨어[소실을 포함하지 않는 오류 정정 회로(3a)]로 수정 가능한 오류 수(t)를 뺀 수 이상으로 한다(단계 S9). 그리고 단계 S9에서 요구한 소실값을 사용하여 수신한 데이터를 정정하고, RAM(3b)에 저장되어 있는 데이터에 대하여 소실의 오류 정정을 행한다(단계 S10).
다음에, RAM(3b)에 저장되어 있는 수신 워드(즉, 소실의 오류 정정이 행해진 수신 워드)를 데이터 버스(6)를 경유하여 스위치(5)에 송신한다. 그렇게 하면, 스위치(5)의 계통이 전환되어 RAM(3b)으로부터의 수신 워드(즉, 소실의 오류 정정이 행해진 수신 워드)는 소실을 포함하지 않는 오류 정정 회로(3a)에 송신된다. 이에 따라, 소실을 포함하지 않는 오류 정정 회로(3a)는 수신한 데이터(즉, 소실의 오류 정정이 행해진 수신 워드)에 대하여 소실을 포함하지 않는 오류 정정을 행한다.
이와 같이 하여, 소실을 포함하지 않는 오류 정정 회로(3a)는 RAM(3b)으로부터 소실을 포함하지 않는 수신 워드를 수신함으로써, 단계 S3에서는 소실을 포함하지 않는 오류 정정이라고 판정한다(단계 S3, No). 따라서 소실을 포함하지 않는 오류 정정 회로(3a)는 먼저 RDC(2)로부터 수신한 소실을 포함하지 않는 수신 워드와 마찬가지로, 오류 위치 다항식 및 오류 평가 다항식의 계산을 행하고(단계 S4), 첸 탐색에 의해 오류 위치 및 오류값의 계산을 행한다(단계 S5). 그리고 오류 위치 및 오류값의 계산 결과로부터 RAM(3b)에 대하여 오류 정정을 행한다(단계 S6).
즉, 소실을 포함하는 오류 정정을 행하는 경우에도 MPU(4)에 의해 소실만이 정정된 후, RAM(3b)과 데이터 버스(6)를 경유하여 재차 소실을 포함하지 않는 오류 정정 회로(3a)에 송신되기 때문에 소실을 포함하지 않는 오류 정정의 처리로서 취급할 수 있다.
이에 따라, 소실의 정정만을 MPU(4)(소프트웨어)로 행하고, 소실을 포함하지 않는 오류 정정은 소실을 포함하지 않는 오류 정정부(3a)(하드웨어)가 행하게 된다. 그 결과, 첸 탐색은 모두 하드웨어인 소실을 포함하지 않는 오류 정정부(3a)가 실행하게 된다. 따라서 첸 탐색 및 소실을 포함하는 오류 정정의 시간은 단축된다.
도 3은 도 1에 도시하는 본 발명의 오류 정정 장치가 행하는 데이터의 오류 정정의 일례를 도시하는 데이터 개념도이다. 이 데이터 개념도는 소실없는 경우의 정정 능력이 3 비트인 경우에서의 데이터의 오류 정정의 일례를 도시하고 있다.
우선, 정확한 데이터(11)가 RDC(2)로부터 송신되었을 때, 데이터 순위(4, 6, 10, 11)의 위치에 오류 데이터 4개를 포함하는 수신 워드(12)가 소실을 포함하지 않는 오류 정정 회로(3a)에 입력된다. 또한, 소실 정보(13)가 소실을 포함하지 않는 오류 정정 회로(3a)에 입력된다. 소실 정보(13)에서의 "1"이 소실을 나타내고, 이 예에서는 데이터 순위(10, 11)가 소실인 것을 나타낸다.
여기서, MPU(4)에 의해 소실만이 정정되고, 소실만 정정된 데이터(14)는 데이터 순위(10, 11)의 위치의 데이터만이 정정되어 데이터 순위(4, 6)의 2개의 데이터가 오류 데이터로서 남게 된다. 그리고 소실만 정정된 데이터(14)는 MPU(4)로부터 RAM(3b)에 저장된다. 또한, 소실만 정정된 데이터(14)는 RAM(3b)으로부터 데이터 버스(6), 스위치(5)를 경유하여 소실을 포함하지 않는 오류 정정 회로(3a)에 송신된다.
따라서, 소실을 포함하지 않는 오류 정정 회로(3a)는 소실만 정정된 데이터(14)(즉, 소실을 포함하지 않는 데이터)에 관해서 정정을 행하고, 데이터 순위(4, 6)의 2개의 데이터가 정정된 오류 정정 데이터(15)를 RAM(3b)에 저장하게 된 다. 이 때, 소실을 포함하지 않는 오류 정정 회로(3a)의 정정 능력은 3 비트이기 때문에 소실을 포함하지 않는 오류 정정 회로(3a)는 오류 데이터가 2 비트인 소실만 정정된 데이터(14)를 정정하고, 그 결과를 오류 정정 데이터(15)로서 출력할 수 있다. 따라서 이 오류 정정 데이터(15)는 정확한 데이터(11)와 동일한 데이터가 되는 것을 알 수 있다.
본 발명의 오류 정정 장치에 의하면, 소프트웨어(MPU)가 소실을 정정한 데이터를 하드웨어(소실을 포함하지 않는 오류 정정 회로)로 재수신하여 오류 정정을 행하고 있다. 즉, 소실을 포함하는 오류 정정을 행할 때는 소프트웨어(MPU)에서는 첸 탐색을 행하지 않고, 소실 정보에 기초하여 소실값을 계산하여 소실의 정정만을 행하고 있다. 그리고 소실을 포함하지 않는 오류 데이터로 변환한 후, 하드웨어(소실을 포함하지 않는 오류 정정 회로)가 첸 탐색에 의한 오류 위치의 검색이나 오류값의 계산을 행하고 있다. 이에 따라, 소프트웨어(MPU)가 첸 탐색을 행하지 않게 되기 때문에 오류 정정 시간이 대폭 단축된다.
이와 같이 하여, 본 발명의 오류 정정 장치를 사용함으로써, 종래의 오류 정정 회로와 동등한 회로 규모에 의해 소실을 포함하는 오류 정정의 처리 시간을 대폭 단축하는 것이 가능해진다. 구체적으로는 부호 길이를 N, 그 부호 워드의 오류 정정 능력을 t로 한 경우, 오류 위치 탐색에 관한 시간은 종래의 소프트웨어가 요구한 시간의 대략 t/N배까지 단축할 수 있다.
이상의 실시예에서는 적합한 일례로서, 디스크 장치에서의 오류 정정 장치에 관해서 설명하였지만, 본 발명에서는 이에 한정되지 않고, 여러 가지의 정보 장치, 통신 장치의 오류 정정 수단으로서 용이하게 적용할 수 있다.
또한, 오류 정정 장치를 구성하는 컴퓨터에서, 전술한 각 단계를 실행시키는 프로그램을 오류 정정 프로그램으로서 제공할 수도 있다. 이러한 오류 정정 프로그램은 컴퓨터에 의해 판독 가능한 기록 매체에 기억시키는 것에 의해 오류 정정 장치를 구성하는 컴퓨터에 실행시키는 것이 가능해진다. 여기서, 상기 컴퓨터에 의해 판독 가능한 기록 매체로서는 ROM이나 RAM 등의 컴퓨터에 내부 실장되는 내부 기억 장치, CD-ROM이나 플렉시블 디스크, DVD 디스크, 광 자기 디스크, IC 카드 등의 휴대형 기억 매체나, 컴퓨터 프로그램을 유지하는 데이터 베이스, 또는 다른 컴퓨터 및 그 데이터 베이스나, 회선상의 전송 매체를 더 포함하는 것이다.
다음에, 각 청구항에서의 구성 수단과 실시예와의 대응 관계에 관해서 설명한다. 청구항 1에서의 소실 판단부는 실시예에서의 도 1의 소실을 포함하지 않는 오류 정정 회로(3a)에 내장된 소실 판단부(3a3)에 상당하고, 청구항 1에서의 신드롬 생성부는 실시예에서의 도 1의 소실을 포함하지 않는 오류 정정 회로(3a)에 내장된 신드롬 생성부(3a2)에 상당한다. 또한, 청구항 1에서의 소실 정정부는 실시예에서의 도 1의 MPU(4)의 소실 정보·신드롬 취득부(4a1), MPU 다항식 계산부(4a2), 소실 오류값 계산부(4a3), 및 소실 정정부(4a4)에 상당한다. 또한, 청구항 1에서의 소실없는 오류 정정부는 실시예에서의 도 1의 소실을 포함하지 않는 오류 정정 회로(3a)에 내장된 다항식 계산부(3a4), 첸 탐색부(3a5), 및 오류 정정부(3a6)에 상당한다.
또한, 청구항 3과 청구항 5에서의 신드롬 생성 단계는, 실시예에서의 도 2의 소실을 포함하지 않는 오류 정정 회로(3a)가 행하는 신드롬을 생성·유지하는 단계 S2에 상당하고, 청구항 3과 청구항 5에서의 소실 판단 단계는 실시예에서의 도 2의 소실을 포함하지 않는 오류 정정 회로(3a)가 행하는 「소실을 포함하는 오류 정정인지?」를 판단하는 단계 S3에 상당한다. 또한, 청구항 3과 청구항 5에서의 소실 정정 단계는 실시예에서의 도 2의 MPU(4)가 행하는 단계 S7 내지 S10에 상당한다. 또한, 청구항 3과 청구항 5에서의 소실 정정 후 신드롬 생성 단계는 실시예에서의 도 2의 소실을 포함하지 않는 오류 정정 회로(3a)가 행하는 신드롬을 생성·유지하는 단계 S2에 상당하고, 청구항 3과 청구항 5에서의 소실 정정 후 오류 정정 단계는 실시예에서의 도 2의 소실을 포함하지 않는 오류 정정 회로(3a)가 행하는 단계 S4 내지 S6에 상당한다.
(부기 1) 취득한 부호 워드와 소실 정보에 기초하여 이 부호 워드의 오류를 정정하는 오류 정정 장치로서,
상기 소실 정보에 기초하여, 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소프트웨어를 실행하는 소실 판단부와,
부호 워드의 신드롬을 생성하는 하드웨어인 신드롬 생성부와,
상기 소실 판단부에 의해 소실이 있다고 판단된 경우에, 상기 신드롬 생성부에 의해 생성된 신드롬과 상기 소실 정보에 기초하여 상기 부호 워드의 소실의 정정을 행하고, 이 소실이 정정된 부호 워드의 신드롬을 상기 신드롬 생성부에 생성시키는 소프트웨어를 실행하는 소실 정정부와,
상기 신드롬 생성부에 의해 생성된 신드롬에 기초하여, 소실을 포함하지 않 는 오류 정정을 행하는 하드웨어인 소실없는 오류 정정부를 포함하는 오류 정정 장치.
(부기 2) 부기 1에 기재한 오류 정정 장치에서,
상기 신드롬 생성부는, 상기 소실 판단부에 의해 소실이 없다고 판단된 경우, 상기 취득한 부호 워드의 신드롬을 생성하여 그 결과를 소실없는 오류 정정부에 전달하고, 상기 소실 판단부에 의해 소실이 있다고 판단된 경우, 우선 상기 취득한 부호 워드의 신드롬을 생성하여 그 결과를 상기 소실 정정부에 전달하며, 상기 소실 정정부에 의해 정정된 부호 워드의 신드롬을 더 생성하여 그 결과를 상기 소실없는 오류 정정부에 전달하는 것을 특징으로 하는 오류 정정 장치.
(부기 3) 부기 1 또는 부기 2에 기재한 오류 정정 장치에서,
상기 소실없는 오류 정정부는, 상기 신드롬 생성부에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 탐색을 행하는 것을 특징으로 하는 오류 정정 장치.
(부기 4) 부기 1 내지 부기 3 중 어느 하나에 기재한 오류 정정 장치에서,
상기 소실 정정부는 상기 신드롬 생성부에 의해 생성된 신드롬과 상기 소실 정보에 기초하여, 오류 위치 다항식의 계산 및 오류 평가 다항식의 계산을 행하는 것을 특징으로 하는 오류 정정 장치.
(부기 5) 취득한 부호 워드와 소실 정보에 기초하여 이 부호 워드의 오류 정정을 컴퓨터에 실행시키는 오류 정정 프로그램으로서,
신드롬의 생성을 행하는 하드웨어에 상기 부호 워드의 신드롬을 생성시키는 신드롬 생성 단계와,
상기 소실 정보에 기초하여 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소실 판단 단계와,
상기 소실 판단 단계에 의해 소실이 있다고 판단된 경우에, 상기 부호 워드로부터 생성된 신드롬과 소실 정보에 기초하여 소실의 정정을 행하는 소실 정정 단계와,
상기 신드롬의 생성을 행하는 하드웨어에, 상기 소실 정정 단계에 의해 정정된 부호 워드의 신드롬을 생성시키는 소실 정정 후 신드롬 생성 단계와,
소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 소실 정정 후 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 소실 정정 단계에 의해 정정된 부호 워드의 오류 정정을 실행시키는 소실 정정 후 오류 정정 단계를 컴퓨터에 실행시키는 오류 정정 프로그램.
(부기 6) 부기 5에 기재한 오류 정정 프로그램에서,
또한, 상기 소실 판단 단계에 의해 소실이 없다고 판단된 경우에, 상기 소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 부호 워드의 오류 정정을 실행시키는 소실없는 오류 정정 단계를 컴퓨터에 실행시키는 것을 특징으로 하는 오류 정정 프로그램.
(부기 7) 부기 5 또는 부기 6에 기재한 오류 정정 프로그램에서,
상기 소실 정정 후 오류 정정 단계에서의 상기 소실을 포함하지 않는 오류 정정을 행하는 하드웨어는, 상기 신드롬 생성 단계에 의해 생성된 신드롬에 기초하 여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 검색을 행하는 것을 특징으로 하는 오류 정정 프로그램.
(부기 8) 부기 5 내지 부기 7 중 어느 하나에 기재한 오류 정정 프로그램에서,
상기 소실없는 오류 정정 단계에서의 상기 소실을 포함하지 않는 오류 정정을 행하는 하드웨어는, 상기 신드롬 생성 단계 또는 상기 신드롬 재생성 단계에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 검색을 행하는 것을 특징으로 하는 오류 정정 프로그램.
(부기 9) 부기 5 내지 부기 8 중 어느 하나에 기재한 오류 정정 프로그램에서,
상기 소실 정정 단계는, 상기 신드롬 생성부에 의해 생성된 신드롬과 상기 소실 정보에 기초하여, 오류 위치 다항식의 계산 및 오류 평가 다항식의 계산을 행하는 것을 특징으로 하는 오류 정정 프로그램.
(부기 10)
취득한 부호 워드와 소실 정보에 기초하여 이 부호 워드의 오류 정정을 실행하는 오류 정정 방법으로서,
신드롬의 생성을 행하는 하드웨어에 상기 부호 워드의 신드롬을 생성시키는 신드롬 생성 단계와,
상기 소실 정보에 기초하여 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소실 판단 단계와,
상기 소실 판단 단계에 의해 소실이 있다고 판단된 경우에, 상기 부호 워드로부터 생성된 신드롬과 상기 소실 정보에 기초하여 소실의 정정을 행하는 소실 정정 단계와,
상기 신드롬의 생성을 행하는 하드웨어에, 상기 소실 정정 단계에 의해 정정된 부호 워드의 신드롬을 생성시키는 소실 정정 후 신드롬 생성 단계와,
소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 소실 정정 후 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 소실 정정 단계에 의해 정정된 부호 워드의 오류 정정을 실행시키는 소실 정정 후 오류 정정 단계를 실행하는 오류 정정 방법.
(부기 11) 부기 10에 기재한 오류 정정 방법에서,
또한, 상기 소실 판단 단계에 의해 소실이 없다고 판단된 경우에, 상기 소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 부호 워드의 오류 정정을 실행시키는 소실없는 오류 정정 단계를 실행하는 것을 특징으로 하는 오류 정정 방법.
(부기 12)
부기 10 또는 부기 11에 기재한 오류 정정 방법에서,
상기 소실 정정 후 오류 정정 단계에서의 상기 소실을 포함하지 않는 오류 정정을 행하는 하드웨어는, 상기 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 탐색을 행하는 것을 특징으로 하는 오류 정정 방법.
(부기 13) 부기 10 내지 부기 12 중 어느 하나에 기재한 오류 정정 방법에서,
상기 소실없는 오류 정정 단계에서의 상기 소실을 포함하지 않는 오류 정정을 행하는 하드웨어는, 상기 신드롬 생성 단계 또는 상기 신드롬 재생성 단계에 의해 생성된 신드롬에 기초하여, 오류 위치 다항식의 계산, 오류 평가 다항식의 계산, 및 첸 검색을 행하는 것을 특징으로 하는 오류 정정 방법.
(부기 14) 부기 10 내지 부기 13 중 어느 하나에 기재한 오류 정정 방법에서,
상기 소실 정정 단계는, 상기 신드롬 생성부에 의해 생성된 신드롬과 상기 소실 정보에 기초하여, 오류 위치 다항식의 계산 및 오류 평가 다항식의 계산을 행하는 것을 특징으로 하는 오류 정정 방법.
종래의 오류 정정 회로와 동등한 회로 규모를 유지하면서, 소실을 포함하는 오류 정정의 처리 시간을 대폭 단축하는 것이 가능해진다.
Claims (5)
- 취득한 부호 워드와 소실 정보에 기초하여 상기 부호 워드의 오류를 정정하는 오류 정정 장치로서,상기 소실 정보에 기초하여 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소프트웨어를 실행하는 소실 판단부;상기 부호 워드의 신드롬을 생성하는 하드웨어인 신드롬 생성부;상기 소실 판단부에 의해 소실이 있다고 판단된 경우에, 상기 신드롬 생성부에 의해 생성된 신드롬과 상기 소실 정보에 기초하여 상기 부호 워드의 소실의 정정을 행하고, 상기 소실이 정정된 부호 워드의 신드롬을 상기 신드롬 생성부에 생성시키는 소프트웨어를 실행하는 소실 정정부; 및상기 신드롬 생성부에 의해 생성된 신드롬에 기초하여, 소실을 포함하지 않는 오류 정정을 행하는 하드웨어인 소실없는 오류 정정부를 포함하는 오류 정정 장치.
- 제1항에 있어서, 상기 신드롬 생성부는, 상기 소실 판단부에 의해 소실이 없다고 판단된 경우, 상기 취득한 부호 워드의 신드롬을 생성하여 그 결과를 상기 소실없는 오류 정정부에 전달하고, 상기 소실 판단부에 의해 소실이 있다고 판단된 경우, 우선 상기 취득한 부호 워드의 신드롬을 생성하여 그 결과를 상기 소실 정정부에 전달하며, 또한 상기 소실 정정부에 의해 정정된 부호 워드의 신드롬을 생성 하여 그 결과를 상기 소실없는 오류 정정부에 전달하는 것을 특징으로 하는 오류 정정 장치.
- 취득한 부호 워드와 소실 정보에 기초하여 상기 부호 워드의 오류 정정을 컴퓨터에 실행시키는 오류 정정 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,신드롬의 생성을 행하는 하드웨어에 상기 부호 워드의 신드롬을 생성시키는 신드롬 생성 단계;상기 소실 정보에 기초하여 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소실 판단 단계;상기 소실 판단 단계에 의해 소실이 있다고 판단된 경우에, 상기 부호 워드로부터 생성된 신드롬과 상기 소실 정보에 기초하여 소실의 정정을 행하는 소실 정정 단계;상기 신드롬의 생성을 행하는 하드웨어에, 상기 소실 정정 단계에 의해 정정된 부호 워드의 신드롬을 생성시키는 소실 정정 후 신드롬 생성 단계; 및소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 소실 정정 후 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 소실 정정 단계에 의해 정정된 부호 워드의 오류 정정을 실행시키는 소실 정정 후 오류 정정 단계를 컴퓨터에 실행시키는 오류 정정 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
- 제3항에 있어서, 상기 소실 판단 단계에 의해 소실이 없다고 판단된 경우에, 상기 소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 부호 워드의 오류 정정을 실행시키는 소실없는 오류 정정 단계를 컴퓨터에 실행시키는 것을 특징으로 하는 오류 정정 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
- 취득한 부호 워드와 소실 정보에 기초하여 상기 부호 워드의 오류 정정을 실행하는 오류 정정 방법으로서,신드롬의 생성을 행하는 하드웨어에 상기 부호 워드의 신드롬을 생성시키는 신드롬 생성 단계;상기 소실 정보에 기초하여 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소실 판단 단계;상기 소실 판단 단계에 의해 소실이 있다고 판단된 경우에, 상기 부호 워드로부터 생성된 신드롬과 상기 소실 정보에 기초하여 소실의 정정을 행하는 소실 정정 단계;상기 신드롬의 생성을 행하는 하드웨어에, 상기 소실 정정 단계에 의해 정정된 부호 워드의 신드롬을 생성시키는 소실 정정 후 신드롬 생성 단계; 및소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 소실 정정 후 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 소실 정정 단계에 의해 정정된 부호 워드의 오류 정정을 실행시키는 소실 정정 후 오류 정정 단계를 실행 하는 오류 정정 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2005-00339635 | 2005-11-25 | ||
JP2005339635A JP4583294B2 (ja) | 2005-11-25 | 2005-11-25 | 誤り訂正装置、誤り訂正プログラム、及び誤り訂正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070055378A true KR20070055378A (ko) | 2007-05-30 |
Family
ID=37943854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060116392A KR20070055378A (ko) | 2005-11-25 | 2006-11-23 | 오류 정정 장치, 오류 정정 프로그램을 기록한 컴퓨터판독가능한 기록 매체, 및 오류 정정 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7555702B2 (ko) |
EP (1) | EP1793503A3 (ko) |
JP (1) | JP4583294B2 (ko) |
KR (1) | KR20070055378A (ko) |
CN (1) | CN1971525A (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282128A1 (en) * | 1999-08-04 | 2008-11-13 | Super Talent Electronics, Inc. | Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance |
US8286060B2 (en) * | 2008-07-30 | 2012-10-09 | Lsi Corporation | Scheme for erasure locator polynomial calculation in error-and-erasure decoder |
US8560898B2 (en) * | 2009-05-14 | 2013-10-15 | Mediatek Inc. | Error correction method and error correction apparatus utilizing the method |
US9819365B2 (en) * | 2014-07-20 | 2017-11-14 | HGST, Inc. | Incremental error detection and correction for memories |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2999881B2 (ja) | 1992-05-12 | 2000-01-17 | シャープ株式会社 | リードソロモン符号の復号装置 |
JPH06203489A (ja) * | 1992-12-30 | 1994-07-22 | Sony Corp | 誤り訂正方法 |
KR950010768B1 (ko) * | 1993-10-20 | 1995-09-22 | 주식회사 Lg전자 | 에러 정정 코드 복호 장치 및 그 방법 |
JPH07202907A (ja) * | 1993-12-29 | 1995-08-04 | Toshiba Corp | Atmネットワークにおける誤り制御装置 |
US6704902B1 (en) * | 1998-09-07 | 2004-03-09 | Sony Corporation | Decoding system for error correction code |
US6347389B1 (en) | 1999-03-23 | 2002-02-12 | Storage Technology Corporation | Pipelined high speed reed-solomon error/erasure decoder |
JP2001101020A (ja) | 1999-09-27 | 2001-04-13 | Internatl Business Mach Corp <Ibm> | 誤り訂正装置およびディスク装置 |
JP3993035B2 (ja) * | 2001-07-19 | 2007-10-17 | 松下電器産業株式会社 | データ記録方法、記録媒体、および再生装置 |
KR100403634B1 (ko) * | 2001-10-17 | 2003-10-30 | 삼성전자주식회사 | 고속 파이프라인 리드-솔로몬 디코더에 적용하기 위한메모리 장치와 메모리 액세스 방법 및 그 메모리 장치를구비한 리드-솔로몬 디코더 |
JP2003168984A (ja) * | 2001-11-29 | 2003-06-13 | Mitsubishi Electric Corp | 復号装置、データ伝送システム及び復号方法 |
EP1370003A1 (en) | 2002-06-07 | 2003-12-10 | Deutsche Thomson-Brandt Gmbh | Reed-Solomon Decoder |
JP3843952B2 (ja) * | 2003-02-27 | 2006-11-08 | ソニー株式会社 | 復号装置、誤り位置多項式計算方法、プログラム |
-
2005
- 2005-11-25 JP JP2005339635A patent/JP4583294B2/ja not_active Expired - Fee Related
-
2006
- 2006-02-10 US US11/351,514 patent/US7555702B2/en not_active Expired - Fee Related
- 2006-11-07 EP EP06123634A patent/EP1793503A3/en not_active Withdrawn
- 2006-11-23 KR KR1020060116392A patent/KR20070055378A/ko active IP Right Grant
- 2006-11-24 CN CNA2006101467789A patent/CN1971525A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1793503A3 (en) | 2007-06-13 |
US20070136646A1 (en) | 2007-06-14 |
CN1971525A (zh) | 2007-05-30 |
JP4583294B2 (ja) | 2010-11-17 |
JP2007150488A (ja) | 2007-06-14 |
EP1793503A2 (en) | 2007-06-06 |
US7555702B2 (en) | 2009-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101433620B1 (ko) | 처리량을 높이기 위하여 더블 버퍼링 구조와 파이프라이닝기법을 이용하는 디코더 및 그 디코딩 방법 | |
US20160359503A1 (en) | Multi-bit error correction method and apparatus based on a bch code and memory system | |
KR0175111B1 (ko) | 에러정정장치 및 방법 | |
KR20070055378A (ko) | 오류 정정 장치, 오류 정정 프로그램을 기록한 컴퓨터판독가능한 기록 매체, 및 오류 정정 방법 | |
CN101938280B (zh) | 错误修正码的编码及解码方法以及编码解码器 | |
JPWO2003084077A1 (ja) | 可変長/固定長データ変換方法及び装置 | |
US10601448B2 (en) | Reduced latency error correction decoding | |
JP2009259113A (ja) | 不揮発性メモリ管理装置 | |
KR100808144B1 (ko) | 고속 레인징 2진 부호열 생성 장치 및 그 방법 | |
JP6875661B2 (ja) | 誤り検出用冗長ビットの生成方法および装置 | |
US20040153945A1 (en) | Error correction circuit employing cyclic code | |
US8176395B2 (en) | Memory module and writing and reading method thereof | |
CN111030709A (zh) | 基于bch译码器的译码方法、bch译码器及应用其的电路 | |
CN116318552B (zh) | Turbo码的交织或解交织方法及其器件、通信芯片和装置 | |
JP2008048347A (ja) | 電子基板およびバックボード伝送方法 | |
JP2570369B2 (ja) | 誤り訂正復号化装置 | |
KR100246342B1 (ko) | 리드솔로몬오류수정장치 | |
JP5177882B2 (ja) | 復号化装置および復号化方法ならびにプログラム | |
JPH03117923A (ja) | 誤り訂正復号器 | |
KR940007422B1 (ko) | 버퍼레지스터를 사용하지 않는 rs 복호시스템 | |
KR101593703B1 (ko) | 가변길이 8-병렬 리드-솔로몬 부호장치 및 복호장치 및 그 방법 | |
JPH08251143A (ja) | ブロック符号の復号装置 | |
JP2001086006A (ja) | 誤り訂正装置 | |
JPH06303149A (ja) | Bch符号の復号装置 | |
JP2002185334A (ja) | Bch符号を用いた誤り訂正方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
NORF | Unpaid initial registration fee |