KR20070055378A - 오류 정정 장치, 오류 정정 프로그램을 기록한 컴퓨터판독가능한 기록 매체, 및 오류 정정 방법 - Google Patents

오류 정정 장치, 오류 정정 프로그램을 기록한 컴퓨터판독가능한 기록 매체, 및 오류 정정 방법 Download PDF

Info

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
Application number
KR1020060116392A
Other languages
English (en)
Inventor
가나 오노
Original Assignee
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20070055378A publication Critical patent/KR20070055378A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • 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
    • 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/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
    • 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/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • 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/65Purpose and implementation aspects
    • H03M13/6569Implementation 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

오류 정정 장치, 오류 정정 프로그램을 기록한 컴퓨터 판독가능한 기록 매체, 및 오류 정정 방법{ERROR CORRECTION DEVICE, COMPUTER-READABLE RECORDING MEDIUM HAVING ERROR CORRECTION PROGRAM AND ERROR CORRECTION METHOD}
도 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. 취득한 부호 워드와 소실 정보에 기초하여 상기 부호 워드의 오류를 정정하는 오류 정정 장치로서,
    상기 소실 정보에 기초하여 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소프트웨어를 실행하는 소실 판단부;
    상기 부호 워드의 신드롬을 생성하는 하드웨어인 신드롬 생성부;
    상기 소실 판단부에 의해 소실이 있다고 판단된 경우에, 상기 신드롬 생성부에 의해 생성된 신드롬과 상기 소실 정보에 기초하여 상기 부호 워드의 소실의 정정을 행하고, 상기 소실이 정정된 부호 워드의 신드롬을 상기 신드롬 생성부에 생성시키는 소프트웨어를 실행하는 소실 정정부; 및
    상기 신드롬 생성부에 의해 생성된 신드롬에 기초하여, 소실을 포함하지 않는 오류 정정을 행하는 하드웨어인 소실없는 오류 정정부를 포함하는 오류 정정 장치.
  2. 제1항에 있어서, 상기 신드롬 생성부는, 상기 소실 판단부에 의해 소실이 없다고 판단된 경우, 상기 취득한 부호 워드의 신드롬을 생성하여 그 결과를 상기 소실없는 오류 정정부에 전달하고, 상기 소실 판단부에 의해 소실이 있다고 판단된 경우, 우선 상기 취득한 부호 워드의 신드롬을 생성하여 그 결과를 상기 소실 정정부에 전달하며, 또한 상기 소실 정정부에 의해 정정된 부호 워드의 신드롬을 생성 하여 그 결과를 상기 소실없는 오류 정정부에 전달하는 것을 특징으로 하는 오류 정정 장치.
  3. 취득한 부호 워드와 소실 정보에 기초하여 상기 부호 워드의 오류 정정을 컴퓨터에 실행시키는 오류 정정 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    신드롬의 생성을 행하는 하드웨어에 상기 부호 워드의 신드롬을 생성시키는 신드롬 생성 단계;
    상기 소실 정보에 기초하여 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소실 판단 단계;
    상기 소실 판단 단계에 의해 소실이 있다고 판단된 경우에, 상기 부호 워드로부터 생성된 신드롬과 상기 소실 정보에 기초하여 소실의 정정을 행하는 소실 정정 단계;
    상기 신드롬의 생성을 행하는 하드웨어에, 상기 소실 정정 단계에 의해 정정된 부호 워드의 신드롬을 생성시키는 소실 정정 후 신드롬 생성 단계; 및
    소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 소실 정정 후 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 소실 정정 단계에 의해 정정된 부호 워드의 오류 정정을 실행시키는 소실 정정 후 오류 정정 단계를 컴퓨터에 실행시키는 오류 정정 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  4. 제3항에 있어서, 상기 소실 판단 단계에 의해 소실이 없다고 판단된 경우에, 상기 소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 부호 워드의 오류 정정을 실행시키는 소실없는 오류 정정 단계를 컴퓨터에 실행시키는 것을 특징으로 하는 오류 정정 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  5. 취득한 부호 워드와 소실 정보에 기초하여 상기 부호 워드의 오류 정정을 실행하는 오류 정정 방법으로서,
    신드롬의 생성을 행하는 하드웨어에 상기 부호 워드의 신드롬을 생성시키는 신드롬 생성 단계;
    상기 소실 정보에 기초하여 상기 부호 워드에 소실이 있는지의 여부를 판단하는 소실 판단 단계;
    상기 소실 판단 단계에 의해 소실이 있다고 판단된 경우에, 상기 부호 워드로부터 생성된 신드롬과 상기 소실 정보에 기초하여 소실의 정정을 행하는 소실 정정 단계;
    상기 신드롬의 생성을 행하는 하드웨어에, 상기 소실 정정 단계에 의해 정정된 부호 워드의 신드롬을 생성시키는 소실 정정 후 신드롬 생성 단계; 및
    소실을 포함하지 않는 오류 정정을 행하는 하드웨어에, 상기 소실 정정 후 신드롬 생성 단계에 의해 생성된 신드롬에 기초하여, 상기 소실 정정 단계에 의해 정정된 부호 워드의 오류 정정을 실행시키는 소실 정정 후 오류 정정 단계를 실행 하는 오류 정정 방법.
KR1020060116392A 2005-11-25 2006-11-23 오류 정정 장치, 오류 정정 프로그램을 기록한 컴퓨터판독가능한 기록 매체, 및 오류 정정 방법 KR20070055378A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 ソニー株式会社 復号装置、誤り位置多項式計算方法、プログラム

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