KR20020046979A - 오류 정정 부호를 이용한 데이터 처리 방법 및 그 방법을이용한 장치 - Google Patents

오류 정정 부호를 이용한 데이터 처리 방법 및 그 방법을이용한 장치 Download PDF

Info

Publication number
KR20020046979A
KR20020046979A KR1020010078530A KR20010078530A KR20020046979A KR 20020046979 A KR20020046979 A KR 20020046979A KR 1020010078530 A KR1020010078530 A KR 1020010078530A KR 20010078530 A KR20010078530 A KR 20010078530A KR 20020046979 A KR20020046979 A KR 20020046979A
Authority
KR
South Korea
Prior art keywords
error correction
data
correction code
bytes
memory
Prior art date
Application number
KR1020010078530A
Other languages
English (en)
Other versions
KR100482939B1 (ko
Inventor
오다케고이치
이쉬자와요시유끼
고지마다다시
Original Assignee
니시무로 타이죠
가부시끼가이샤 도시바
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2000377838A external-priority patent/JP3619151B2/ja
Priority claimed from JP2000401172A external-priority patent/JP3519684B2/ja
Application filed by 니시무로 타이죠, 가부시끼가이샤 도시바 filed Critical 니시무로 타이죠
Publication of KR20020046979A publication Critical patent/KR20020046979A/ko
Application granted granted Critical
Publication of KR100482939B1 publication Critical patent/KR100482939B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • 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
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 메모리에 저장된 데이터에 대하여 오류 정정 부호를 생성 및 부가할 때, 메모리 상의 데이터에 에러가 발생하여도 그 영향을 없애는 것을 목적으로 한다.
데이터를 메모리에 저장할 때, 미리 별도의 메모리(예컨대 S-RAM 등)를 이용하여 오류 정정 부호(PI)를 생성하고, 이전의 데이터와 함께 메모리에 기록한다. 16 섹터분의 데이터 및 PI를 저장한 후, 데이터와 PI에 대하여 오류 정정 부호(PO)의 생성 및 부가를 행한다. 메모리로부터 데이터를 추출할 때, PI 계열을 추출할 때마다 PI 정정 처리를 행한다. 이것에 의해, 메모리 상에서의 데이터 파손(에러)이 발생하여도 복원할 수 있다. 메모리 상에서 메모리 오류가 발생하는 영역을 검출하면, 그 영역을 사용하지 않도록 메모리 제어 수단으로 제어한다.

Description

오류 정정 부호를 이용한 데이터 처리 방법 및 그 방법을 이용한 장치{DATA PROCESSING METHOD USING ERROR-CORRECTING CODE AND AN APPARATUS USING THE SAME METHOD}
본 발명은 영상 데이터, 음성 데이터, 컴퓨터 데이터 등을 매체(예컨대, 광 디스크, 자기 디스크 등) 상에 기록하는 경우, 또는 매체에 기록된 데이터를 재생하는 경우에 유효한 오류 정정 부호 생성 처리 방법을 이용하는 데이터 처리 장치에 관한 것이다.
또한, 본 발명은 상기 영상 데이터 등을 전송 처리하는 경우, 또는 수신 처리하는 경우에 유효한 오류 정정 부호 생성 처리 방법을 이용하는 데이터 처리 장치에 관한 것이다.
게다가, 본 발명은 상기 오류 정정 부호 처리 방법을 채용한 기록 장치, 재생 장치, 전송 장치, 수신 장치에 관한 것이다.
그리고, 특히 본 발명은 오류 정정 부호 처리를 행하는 경우에, 버퍼 메모리를 이용하여 오류 정정 처리를 행하는 방법에 특징이 있다.
영상 데이터, 음성 데이터, 컴퓨터 데이터 등을, 예컨대, 광 디스크나 자기 디스크 상에 기록하는 경우, 데이터 블록에 대하여 오류 정정 부호가 부가된다. 오류 정정 부호 부가 처리에 있어서는, 데이터 블록을 일단 메모리에 저장하고, 그 데이터 블록의 행, 열에 대한 오류 정정 부호가 생성된다.
행에 부가되는 오류 정정 부호는 통상 내부 패리티라 지칭되고, PI라 약기되며, 열에 부가되는 오류 정정 부호는 통상 외부 패리티라 지칭되고, PO라 약기된다.
오류 정정 부호의 부가 처리에 있어서, 오류 정정 부호를 생성하기 전에, 데이터 블록을 일단 메모리에 저장했을 때, 메모리 상의 데이터가 일부 파손(에러 발생)되는 경우가 있다. 이것은 데이터의 패턴이나 메모리의 실장 상태에서 기인하는 것이라고 볼 수 있다. 또한, 외부로부터의 갑작스런 잡음이 영향을 미치는 경우도 있다.
이 때에 발생한 에러는 메모리 에러라 지칭된다.
이러한 경우에는 메모리 에러가 발생하고 있는 데이터 블록(변경 데이터 블록으로 지칭하기로 함)에 대한 오류 정정 부호가 생성되고, 이 오류 정정 부호가 변경 데이터 블록에 부가되어 기록 매체에 기록된다.
기록 매체의 재생시에는, 오류 정정 처리 회로에 있어서, 상기 오류 정정 부호가 이용되어 변경 데이터 블록에 대한 에러 정정 처리가 실행된다. 즉, 변경 데이터 블록이 정확하게 재현된다. 이것은 상기 메모리 에러를 포함하는 데이터 블록을 정확하게 재생한 것을 의미한다. 그러나 메모리 에러는 본래의 데이터에는 불필요한 에러이다.
따라서, 상기 메모리 에러가 발생한 경우, 본래의 올바른 데이터를 복원하는 것은 불가능하다.
그래서, 본 발명은 메모리 상에서 데이터 에러(메모리 에러)가 발생한 경우라도, 본래의 올바른 데이터를 복원하는 것이 가능한 오류 정정 부호를 이용한 데이터 처리 방법, 이 방법을 채용한 기록계 또는 재생계 장치, 전송계 및 수신계 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명의 목적은 상기 메모리 상에서 데이터 오류가 발생(또는 메모리 오류)하다라도, 상기 원 데이터를 정확하게 복원할 수 있고, 상기 메모리를 이용하는 방법을 개선함으로써 동작 신뢰성을 확보할 수 있는 데이터 처리 장치를 제공하는 것이다.
도 1은 DVD에 있어서 물리 섹터를 얻기까지 데이터 처리 순서를 도시한 설명도.
도 2는 DVD에 있어서 데이터 섹터의 구성을 도시한 설명도.
도 3은 스크램블 데이터를 발생시키는 귀환형 시프트 레지스터의 설명도.
도 4는 ECC 블록을 도시한 설명도.
도 5는 기록 섹터를 도시한 설명도.
도 6은 오류 정정 부호(PO)가 인터리브된 ECC 블록을 도시한 설명도.
도 7은 종래의 기록 재생 장치의 기록계에 있어서 오류 정정 부호 생성 방식을 설명하기 위해서 도시한 블록도.
도 8은 종래의 기록 재생 장치의 재생계에 있어서 오류 정정 처리 방식을 설명하기 위해서 도시한 블록도.
도 9는 종래의 기록 재생 장치에 있어서, DRAM 메모리 에러가 발생한 경우의 오류 정정 부호를 설명하는 설명도.
도 10은 본 발명에 따른 오류 정정 부호 생성 방법의 일 실시예를 설명하기위해서 도시한 기록계의 블록도.
도 11은 본 발명에 따른 오류 정정 부호 생성 방법에 의해 얻어진 ECC 블록의 데이터 구조를 설명하기 위해서 도시한 설명도.
도 12는 본 발명에 따른 오류 정정 부호 생성 방법에 의해 얻어진 ECC 블록에 대하여, 에러 정정을 행하는 방법의 일 실시예를 설명하기 위해서 도시한 재생계의 블록도.
도 13은 본 발명에 따른 오류 정정 부호 생성 방법의 다른 실시예를 설명하기 위해서 도시한 기록계의 블록도.
도 14는 본 발명에 따른 오류 정정 부호 생성 방법의 또 다른 실시예를 설명하기 위해서 도시한 기록계의 블록도.
도 15는 본 발명에 따른 오류 정정 부호 생성 방법에 의해 얻어진 ECC 블록에 대하여 에러 정정을 행하는 방법의 다른 실시예를 설명하기 위해서 도시한 재생계의 블록도.
도 16은 본 발명에 따른 오류 정정 부호 생성 방법과, 오류 정정 부호를 이용하여 에러 정정을 행하는 에러 정정 방법을 채용한 일 실시예를 설명하기 위해서 도시한 기록 및 재생계의 블록도.
도 17은 본 발명에 따른 에러 정정 부호 생성 방법의 다른 실시예를 설명하기 위한 기록 및 재생계의 블록도.
도 18a 및 18b는 본 발명에 따른 에러 정정 부호 생성 방법에 의해 데이터를 처리할 때 상기 버퍼 메모리의 메모리 에러 및 메모리 맵을 포함하는 ECC 블록의데이터열의 예들을 도시하는 설명도.
도 19는 본 발명에 따른 에러 정정 부호 생성 방법에 의해 메모리 에러를 포함하는 ECC 블록을 처리하는 다른 예를 도시하는 설명도.
〈도면의 주요부분에 대한 부호의 설명〉
1 : 섹터 메모리
2 : 버퍼 메모리
3 : 행 메모리
4 : 변조·동기 부가 수단
5 : 섹터 정보 부가 수단
6 : EDC 생성 및 부가 수단
7 : 스크램블 수단
8 : PI 생성 및 부가 수단
9 : PO 생성 및 부가 수단
10 : PI 정정 수단
11 : 동기 분리·복조 수단
12 : EDC 오류 검출 수단
13 : 스크램블 해제 수단
14 : PO 정정 수단
본 발명의 오류 정정 부호 처리 방법의 기본적인 사고 방식은 다음과 같다.
즉, 본 발명은 전송 또는 기록계에 있어서, 행렬 구성의 데이터 블록의 각 행에 대하여 오류 정정 부호 PI를 생성하여 이 오류 정정 부호 PI와 상기 데이터 블록을 함께 메모리에 저장한다. 다음에, 오류 정정 부호 PI가 부가된 정보 데이터 블록이 상기 메모리로부터 독출되었을 때에, 그 정보 데이터 블록의 행에 대하여, 상기 오류 정정 부호 PI를 이용한 오류 정정 처리를 행하는 것을 특징으로 한다.
또한, 본 발명은 수신 또는 재생계에 있어서, 오류 정정 부호 PI를 이용하여 오류 정정 처리가 행해진 행렬 구성의 데이터 블록이 메모리로부터 독출되었을 때, 그 데이터 블록의 행에 대하여, 상기 오류 정정 부호 PI를 이용한 오류 정정 처리를 다시 행하는 것을 특징으로 한다.
또한 구체적으로, 본 발명은 데이터를 메모리(제1 메모리)에 저장할 때, 미리 별도의 제2 메모리(예컨대 SRAM 등의 데이터 파손이 발생하지 않는 구조의 메모리)를 이용하여 오류 정정 부호 PI를 생성하고, 이전의 데이터와 함께 제1 메모리에 해당 데이터를 기록한다.
다음에 K 섹터분의 데이터 및 PI를 제1 메모리에 저장한 후, 상기 데이터와PI에 대하여 오류 정정 부호 PO의 생성 및 부가를 행한다. 제1 메모리로부터 데이터를 추출할 때, PI 계열을 추출할 때마다 PI 정정 처리를 행한다. 이것에 의해, 제1 메모리 상에서의 데이터 파손(메모리 에러)이 발생하여도 복원할 수 있도록 하고 있다.
데이터를 재생할 때는, 재생 데이터를 일단 메모리에 저장하고, PI 및 PO의 오류 정정 처리를 행한다. 오류 정정 처리 후에 메모리 상의 데이터를 송출(송신)할 때, 제1 메모리로부터 추출한 데이터에 대하여 다시 PI 정정 처리를 행한다. 이것에 의해, 메모리 상에서의 데이터 파손(메모리 에러)이 발생하여도 복원할 수 있도록 하고 있다.
특히, 본 발명은 상기 전송 또는 기록 시스템이 행렬 구조를 갖는 데이터 블록의 각 행에 대하여 오류 정정 코드(PI)를 생성하여, 상기 오류 정정 코드(PI)와 데이터 블록을 메모리에 기록하고, 상기 메모리로부터 오류 정정 코드 PI 부가 데이터 블록을 판독할 때, 에러 정정 처리가 상기 에러 정정 코드(PI)를 토대로 상기 데이터 블록의 행에서 실행되는 것을 특징으로 한다.
다음, 정정이 불가능한 오류가 상기 에러 정정 코드(PI)를 이용하여 오류 정정 처리를 수행하는 과정에서 감지될 때, 그 관련 행 또는 데이터 블록이 기억되는 메모리 영역이 변경됨으로써, 메모리 오류의 발생을 피할 수 있다. 더욱더, 메모리 오류가 발생하는 영역은 알려진 후에 이용되지 않는다.
이하, 본 발명의 실시 형태를 도면을 이용하여 설명한다.
우선, 도 1 내지 도 8을 참조하여 데이터 기억 재생 장치에 있어서 오류 정정 부호 부가 회로 및 오류 정정 회로의 구성을 DVD(디지털 다기능 디스크)의 예를 이용하여 설명한다.
처음에, 도 1에서 도 6을 참조하여 DVD의 기록 데이터의 구조를 설명한다.
도 1은 DVD에 있어서 물리 섹터를 얻기 위한 데이터 처리 순서를 도시한 도면이다. 섹터는 신호 처리의 단계에 따라 "데이터 섹터", "기록 섹터" 및 "물리 섹터"라고 불린다. 데이터 섹터에는 도 2에 도시된 바와 같이, 메인 데이터가 2048 바이트, 식별 데이터(ID)가 4 바이트, ID 오류 검출 부호(IED: ID의 에러를 검출하기 위한 부호)가 2 바이트, 저작권 관리 정보(CPR_MAI)가 6 바이트 및 오류 검출 신호(EDC: 이 데이터 섹터의 오류를 검출하기 위한 신호)가 4 바이트 포함된다. 이러한, ID, IDE, CPR_MAI, EDC를 부가하는 처리가 도 1의 단계 A1 내지 A3이다. 단계 A1에서, 메인 데이터에 ID가 부가된다. 단계 A2에서 추가로 IED가 부가된다. 또한 단계 A3에서 CPR_MAI가 부가된다.
다음에, 메인 데이터에 대한 EDC가 발생되고, 이 EDC가 메인 데이터에 부가된다. 다음에, 스크램블 데이터가 데이터 섹터의 메인 데이터(2048 바이트)에 더해진다(단계 A4, A5, A6). 그 후, 스크램블 후의 16개의 데이터 섹터가 집합되고, 이 16개의 데이터 섹터에 대하여, 크로스 리드 솔로몬 오류 정정 부호가 생성 및 부가된다(단계 A6). 기록 섹터는 ECC가 부가된 후의 섹터로서, 오류 정정 부호 PI 및 오류 정정 부호 PO가 부가된 데이터 섹터이다(단계 A7). 물리 섹터는 기록 섹터의 91 바이트마다 선두에 동기 부호(SYNC 부호)를 더한 8/16 변조 후의 섹터이다(단계 A8).
계속해서, DVD의 데이터 섹터의 구조에 대해서 추가로 도 2를 이용하여 설명한다.
데이터 섹터는 2048 바이트의 메인 데이터를 포함하는 2064 바이트, 즉, 172 바이트×12행으로 이루어진다. 즉, 데이터 섹터에는 메인 데이터가 2048 바이트, 식별 데이터(ID)가 4 바이트, ID 오류 검출 부호(IED)가 2 바이트, 저작권 관리 정보(CPR_MAI)가 6 바이트 및 오류 검출 부호(EDC)가 4 바이트 포함된다.
도 3에는 단계 A4에서 메인 데이터(2048 바이트)에 스크램블을 행하는 스크램블 데이터 Sk를 발생하는 귀환형 시프트 레지스터를 도시하고 있다. 스크램블 데이터 Sk를 발생하기 위한 초기치로는, 예컨대 데이터 섹터 ID의 일부의 데이터가 이용된다. 스크램블 데이터 Sk는 데이터 섹터의 메인 데이터(2048 바이트) Dk를 스크램블한다. 이것에 의해 스크램블 후의 메인 데이터 Dk'는 Dk에 대하여 Sk (k=0∼2047)가 배타적 논리합 처리된 결과가 된다.
도 4를 이용하여 ECC 블록의 구성에 대해서 설명한다.
데이터 블록은 172 바이트×12행의 데이터 섹터가 16개 모인 172열×192행으로서 형성된다. 이 172열×192행에 대하여 리드 솔로몬 오류 정정 부호가 생성되어 부가된다. 우선, 172열의 각 열에 대하여 16 바이트의 오류 정정 부호 PO가 생성되어 부가된다. PO 계열의 각 열은 192 바이트+16 바이트, 즉, 208 바이트로 구성된다. 다음에, 오류 정정 부호 PO의 행을 포함하는 208행 모든 행에 대하여, 10 바이트의 오류 정정 부호 PI가 생성되어 부가된다. 오류 정정 부호 PI, PO가 부가된 182열×208행이 1개의 ECC 블록이다. 또, PO, PI의 생성 순서를 반대로 하여도 완전히 동일한 부호 패턴을 얻을 수 있다.
상기 ECC 블록의 세로 방향의 1열을 PO 계열, 가로 방향의 1행을 PI 계열이라고 부른다. 1개의 PO 계열은 192 바이트+16 바이트, 즉, 208 바이트로 구성되고, 1계열 내에서 최대 8 바이트의 오류 정정이 가능하다. 1개의 PI 계열은 172 바이트+10 바이트, 즉, 182 바이트로 구성되고, 1계열 내에서 최대 5 바이트의 오류 정정이 가능하다.
다음에, 도 5 및 도 6을 참조하여 기록 섹터의 구조에 대해서 설명한다.
208행×182열로 이루어진 ECC 블록에 대하여, 오류 정정 부호 PO를 구성하고 있는 16행이 1행마다 분리된다. 그리고, 분리된 각 행은 192행의 데이터부의 12행마다의 사이에 1행씩 삽입되고, 도 6에 도시된 바와 같이 재배치된 형태가 된다. 이것을 PO의 행 인터리브라고 한다. 따라서, 행 인터리브 후의 ECC 블록은 13행 ×182 바이트{=PI를 따르는 데이터(12행분)+PO (1행분)}의 부분이 16개 모여 구성된다.
도 5에 도시된 바와 같이, 1개의 기록 섹터는 PI를 더한 데이터 (12행분) +PO(1행분), 즉, (13행×182 바이트)로 구성된 섹터를 가리키고, 행 인터리브 후의 ECC 블록은, 도 6에 도시된 바와 같이, 16개의 기록 섹터로 구성되는 것을 의미한다.
물리 섹터는 13행×182 바이트의 기록 섹터(2366 바이트)에 대하여, 각 행의 91 바이트마다 선두에 동기(SYNC) 부호를 더하고, 또한, 0행에서부터 행마다 순차 변조한 것이다. 91 바이트 데이터의 선두에 SYNC 코드를 더한 것을 SYNC 프레임이라고 부른다. 따라서, 물리 섹터는 16쌍 ×2 SYNC 프레임으로 구성된다.
계속해서, 도 7 및 도 8을 참조하여 데이터 기록 장치에 있어서의 오류 정정 부호 부가 회로에 대해서 설명한다.
도 7에 있어서, 호스트로부터 송신된 사용자 데이터는 버퍼 메모리(2)에 순차 저장된다. 저장된 사용자 데이터는 버퍼 메모리(201)로부터 추출될 때, 섹터 정보 부가 수단(202), EDC 생성 및 부가 수단(203), 스크램블 수단(204)에 의해 처리된다. 이 처리는 2048 바이트의 메인 데이터마다 처리되고, 1개의 데이터 섹터로 변환된다.
섹터 정보 부가 수단(202)은 식별 데이터(ID) 4 바이트, ID 오류 검출 부호 (IED) 2 바이트, 저작권 관리 정보(CPR_MAI) 6 바이트를 메인 데이터에 부가한다. EDC 생성 및 부가 수단(203)은 모두 2060 바이트의 데이터에 대하여 오류 검출 부호(EDC) 4 바이트를 생성하여 부가하고, 모두 2064 바이트의 데이터 섹터를 생성한다. 스크램블 수단(204)은 데이터 섹터 중의 메인 데이터를 스크램블한다.
스크램블된 데이터 섹터는 ECC 메모리(205)에 순차 저장된다. 이 ECC 메모리 (205) 내에는 172 바이트×12행의 데이터 섹터가 16개 모인 172열×192행의 데이터 블록이 형성된다. 이 172열×192행의 데이터 블록에 대하여, PI 생성 및 부가 수단 (206), PO 생성 및 부가 수단(207)에 의해 오류 정정 부호가 생성되어 부가된다. 이것에 의해, 1개의 ECC 블록이 형성된다.
상기 ECC 블록은 앞서 설명한 바와 같이, 행 인터리브된 후에, 변조·동기 부가 수단(208)에 송신된다. 변조·동기 부가 수단(208)은 입력된 행 인터리브된ECC 블록에 대하여, 8 비트의 입력 데이터를 16 비트의 부호어로 변환한다. 즉, 8/16 변조를 행한다. 다음에, 입력 데이터의 91 바이트마다의 선두에 SYNC 부호를 부가하여 물리 섹터를 형성한다. 형성된 물리 섹터는 기록 데이터로서 송신되어 매체에 기록된다.
여기서, 오류 정정 부호의 효과에 대해서 설명한다.
오류 검출 및 정정 수단을 포함하는 데이터 재생계는 기록 데이터를 재생한다. 재생 처리에서는, 재생된 물리 섹터의 데이터에 오류가 발생한 경우, 오류를 포함한 ECC 블록에 대하여 오류 정정 부호를 이용하여 오류 정정을 행한다. 오류 검출 및 정정 수단은, 그 정정 능력의 범위 내에 있어서, 본래의 오류를 포함하지 않는 ECC 블록을 복원할 수 있다.
다음에 도 8을 참조하여 데이터 재생측에 있어서 오류 정정 부호 생성 처리 방식을 설명한다. 기록 매체로부터 독출된 재생 데이터는 동기 분리·복조 수단 (221)에 의해 동기 부호와 분리된 후, 추가로 8/16 변조 데이터에 대한 복조가 행해진다. 이것에 의해 기록 섹터가 추출된다. 단, 기록 데이터를 기록 및 재생할 때에, 디스크의 결함이나 잡음, 지터나 누화 등이 원인이 되어 오류(재생 신호 에러)가 발생하기 때문에, 재생 데이터에는 오류가 포함된다.
추출된 기록 섹터는 ECC 메모리(205)에 순차 저장되고, 16 기록 섹터로 구성되는 182열×208행의 ECC 블록이 구축된다. 이 182열×208행의 ECC 블록에 대하여, PO 정정 수단(222), PI 정정 수단(223)에 의해 오류 정정이 행해지고, 재생 신호의 에러가 복원된다.
PI 정정 수단(223)은 ECC 블록의 각 행에 대하여 오류 패턴 검출치 신드롬을 계산하여, 오류가 검출된 경우에는 오류 정정을 행한다. 신드롬은 본래의 데이터가 오류 없게 재생된 경우에는 0이 된다. 신호의 기록이나 전송 도중에 데이터의 오류가 발생했을 때에는, 신드롬은 그 오류가 발생한 위치를 나타내는 오류 위치와, 오류의 상태를 나타내는 오류 패턴에 의해 결정되는 값이 된다.
PO 정정 수단(222)은 PO 계열의 208 바이트의 데이터를 메모리(205)로부터 추출하여 소정의 연산을 행한다. 이 연산에 의해 신드롬이 0이 아닌 경우는, 그 PO 계열의 오류 정정을 행한다. 이 오류 정정 처리에서는, 16 바이트의 오류 정정 부호 PO에 의해 계열 내에서 최대 8 바이트의 오류 정정이 가능하다. 피정정 데이터에 대하여 오류 정정이 행해지고, 오류 정정 부호 생성 시점의 데이터가 복원된 경우에, 신드롬은 0이 된다. 상기 조작이 ECC 블록의 182열 모두에 대해서 행해진다.
1개의 PO 계열에 대하여 8 바이트 이상의 오류가 존재하는 경우, PO 정정 수단(222)에 의해 오류를 정정하는 것은 불가능해진다. 그러나, 이 경우에 있어서도, PI 정정 수단(223)에 의해 PI 계열에 대하여 최대 5 바이트의 오류 정정이 가능하기 때문에, 182열에 대하여 PO 정정을 행한 시점에서 1개의 PI 계열에 포함되는 오류가 5 바이트 이내라면, 그 오류를 정정할 수 있다.
또한, PO 정정, PI 정정을 반복함으로써 1회의 PO 정정, PI 정정으로 정정할 수 없었던 오류에 대해서도 정정될 가능성이 있다. 모든 신드롬이 0이 된 시점에서 ECC 블록의 오류 정정은 종료된다.
오류 정정된 ECC 블록은 스크램블 해제 수단(224)에 송신된다. 스크램블 해제 수단(224)은 스크램블된 데이터 섹터의 메인 데이터 2048 바이트에 스크램블 데이터를 가산(배타적 논리합 연산)하고, 메인 데이터의 스크램블을 해제한 후에 버퍼 메모리(201)에 저장한다.
EDC 오류 검출 수단(225)은 데이터 섹터에 포함되어 있는 오류 검출 부호 (EDC) 4 바이트를 기초로 데이터 섹터의 오류를 검출하여, 오류가 검출된 경우는 그 섹터의 재생을 다시 한다. 버퍼 메모리(201)에 저장된 데이터 섹터는 순차 호스트에 송신된다.
그런데, 버퍼 메모리(205, 201)로서는 비용이 저렴하고 용량이 큰 DRAM (Dynamic-RAM)이 사용된다. 그러나, DRAM의 구조 상의 이유로 데이터의 패턴이나 메모리의 실장 상태에 따라서 가끔 메모리 상의 데이터가 파손(메모리 에러)되는 경우가 있다. 메모리상의 데이터의 일부가 파손(메모리 에러)되고, 데이터 블록이 변경된 상태에 있어서, 오류 정정 부호 PI, PO를 생성 및 부가한 경우, 그 오류 정정 부호 PI, PO는 메모리 에러에 의해 변경된 데이터에 대하여 올바른 오류 정정 부호가 된다. 이 변경된 데이터에 대하여 생성된 오류 정정 부호를 갖는 ECC 블록을 그대로 기록하여 재생하면, 재생 후에 오류 정정 처리를 행했다고 해도, 변경된 데이터가 복원되어 버린다.
여기서, 도 9를 참조하여 172 바이트×192행의 데이터 블록 36의 일부에 대하여, 메모리 에러 32가 발생하여 데이터 블록이 변경된 경우에 대해서 설명한다.
우선, 172열의 각 열에 대하여 오류 정정 부호 PO가 PO 생성 및 부가 수단 (9)에 의해 생성 및 부가되지만, 열 31의 오류 정정 부호 PO33(16 바이트)은 메모리 에러 32에 의해 변경된 데이터를 바탕으로 생성된다.
다음에, 오류 정정 부호 PO를 포함하는 208행의 모든 행에 대하여, PI 생성 및 부가 회로(8)에 의해 10 바이트의 오류 정정 부호 PI가 생성되어 부가된다. 행 34에 대하여 생성되는 오류 정정 부호 PI36(10 바이트)은 메모리 에러 32에 의해 변경된 데이터를 바탕으로 생성된다.
더욱이, 16행의 오류 정정 부호 PO에 대하여 생성되는 오류 정정 부호 PI37은 메모리 에러 32에 의해 변경된 데이터를 바탕으로 생성된 오류 정정 부호 PO33을 포함하는 데이터를 바탕으로 생성된다.
이 결과, 메모리 에러 32에 의해 변경된 데이터 블록에 대하여 정상적인 오류 정정 부호가 부가된다. 이 때, 에러 32가 존재하는 208행에 대한 PI 계열 및 182열에 대한 PO 계열의 오류 패턴 검출치 신드롬은 모두 0이며, ECC 블록으로서는 오류가 없는 것으로 간주된다. 실제로는 메모리 에러 32에 의해 본래의 데이터는 변경된 것이다.
여기서, 상기 변경된 데이터 블록을 바탕으로 생성된 ECC 블록을 기록 매체에 기록하고, 이 기록 매체로부터 재생했을 때의 재생 데이터에 대해서 생각한다.
재생 데이터는 오류 정정 부호를 이용하여 오류 정정 처리가 행해진다. 여기서, 재생된 데이터에 발생한 오류는 정정 능력의 범위 내에서 정정되고, 재생 데이터가 복원된다. 그러나 기록 전에 포함되어 있던 메모리 에러를 정정하는 것은 불가능하다. 즉, 오류 정정 부호 PO33을 이용하여 PO 계열 31의 오류 정정을 행했다고 해도, 메모리 에러 32를 포함한 데이터가 재현된 후에 오류 정정이 정상적으로종료되며, 본래의 사용자 데이터는 복원 불가능하게 되어 버린다.
또한 재생측에 있어서, 버퍼 메모리 상의 데이터에 메모리 에러가 발생한 경우, 메모리 에러를 포함한 데이터를 사용자 데이터로서 호스트에 송신해 버릴 가능성이 있다.
(본 발명이 주목하고 있는 점)
상기한 바와 같이, 메모리상의 데이터가 파손(에러 발생)된 경우, 메모리 에러에 의해 변경된 데이터를 바탕으로 오류 정정 부호를 생성하고, 기록 매체에 상기 데이터를 기록하기 위한 재생 동작으로 오류 정정 처리에 제공될지라도, 기록하기 때문에, 재생시 이 데이터를 독출하여 오류 정정 처리를 행했다고 해도, 그 본래의 데이터는 상기 오류에 의해 변경된 데이터를 복원하더라도 정확하게 복원하기는 불가능하다.
또한, 재생시에, 오류 정정 후 메모리 상의 데이터가 파손(에러 발생)된 경우, 잘못된 데이터를 호스트에 송신해 버릴 가능성이 있다.
메모리 상의 데이터 파손(에러 발생)을 막기 위해서는 데이터를 보존하는 메모리를 데이터 파손이 발생하지 않는 구조의 메모리, 예컨대 S-RAM 등으로 실현하는 것이 필요하지만, 이 구성은 비용 면에서 바람직하지 못하다.
따라서, 본 발명의 목적은 메모리 상에서 에러가 발생한 경우에 있어서도, 본래의 데이터를 손실시키지 않고 오류 정정 부호 생성 처리가 행해지도록 한 오류 정정 부호 생성 처리 방법과 그 장치, 상기 방법을 이용한 기록 장치, 재생 장치, 전송 장치 및 수신 장치를 제공하는 것이다.
(본 발명의 기본적 개념)
본 발명의 오류 정정 부호 생성 처리 방식은 섹터 메모리(예컨대 SRAM으로 구성됨)와, PI를 생성 및 부가하는 PI 생성 및 부가 수단과, PI가 부가된 데이터를 저장하는 버퍼 메모리와, PO를 생성 및 부가하는 PO 생성 및 부가 수단과, 행 메모리(예컨대 SRAM으로 구성됨)와, PI 정정을 행하는 PI 정정 수단과, PO 정정을 행하는 PO 정정 수단을 구비하고, 상기 섹터 메모리를 이용하여 데이터에 오류 정정 부호 PI를 부가하며, PI 부가 데이터를 버퍼 메모리에 저장하고, 이 버퍼 메모리로부터의 PI 부가 데이터에 대하여, PI 부가 데이터의 전송 또는 기록 매체로의 기록 전에, 상기 행 메모리를 이용하여 PI 정정을 행하며, 이것에 의해 메모리 에러를 복원하는 것을 가능하게 하는 것이다.
상기 처리에 대한 재생측은 데이터를 호스트에 송신하기 전에 다시 PI 정정을 행함으로써 메모리 에러를 복원하는 것을 가능하게 한다.
또한, 본 발명은 상기 섹터 메모리와, PI 생성 및 부가 수단과, 버퍼 메모리와, PO 생성 및 부가 수단과, PI 정정 수단과, PO 정정 수단을 구비하고,
상기 섹터 메모리를 이용하여 데이터에 오류 정정 부호 PI를 부가하여 정보 데이터 블록(PI 부가 데이터)을 생성하며, 이 PI 부가 데이터를 버퍼 메모리에 저장하고, PI 부가 데이터의 전송 또는 기록 매체로의 기록 전에 상기 버퍼 메모리를 이용하여 PI 정정을 행하며, 이것에 의해 메모리 에러를 복원하는 것을 가능하게 하는 것이다.
또한, 본 발명은 상기 PI 생성 및 부가 수단과, 버퍼 메모리와, PO 생성 및부가 수단과, 행 메모리와, PI 정정 수단과, PO 정정 수단을 구비하고, 버퍼 메모리 저장 전의 데이터를 이용하여 오류 정정 부호 PI를 생성하며, 상기 데이터에 오류 정정 부호 PI를 부가한 정보 데이터 블록(PI 부가 데이터)을 생성하고, 버퍼 메모리에 저장하며, 상기 버퍼 메모리로부터 PI 부가 데이터를 전송 또는 기록하기 전에 행 메모리를 이용하여 PI 정정을 행함으로써, 메모리 에러를 복원하는 것을 가능하게 하는 것이다.
또한, 본 발명은 상기 섹터 메모리와, PI 생성 및 부가 수단과, 버퍼 메모리와, PO 생성 및 부가 수단과, PI 정정 수단과, PO 정정 수단을 구비하고, 상기 섹터 메모리를 이용하여 데이터에 오류 정정 부호 PI를 부가하여 정보 데이터 블록(PI 부가 데이터)을 생성하며, 이 PI 부가 데이터를 버퍼 메모리에 저장하고, 이 버퍼 메모리로부터의 PI 부가 데이터를 전송 또는 기록한 후에, 재생측에 있어서 호스트 컴퓨터 전송 전에 상기 PI 부가 데이터에 대하여 PI 정정을 행함으로써, 메모리 에러를 복원하는 것을 가능하게 하는 것이다.
이하, 본 발명의 특징부를 구체적인 실시예에 대해서, 도면을 이용하여 상세히 설명한다.
우선, 도 10을 참조하여 본 발명의 제1 실시 형태인 데이터 기록 장치의 오류 정정 부호 부가 회로에 대해서 설명한다. 호스트로부터 송신된 사용자 데이터(메인 데이터)는 섹터 메모리(1)에 순차 저장된다. 이 때, 섹터 정보 부가 수단(5)은 메인 데이터 2048 바이트에 대하여, 식별 데이터(ID) 4 바이트, ID 오류 검출 부호(IED) 2 바이트, 저작권 관리 정보(CPR_MAI) 6 바이트를 부가한다. EDC 생성및 부가 수단(6)은 ID, IED, CPR_MAI를 포함하는 모두 2060 바이트의 데이터에 대하여 오류 검출 부호(EDC) 4 바이트를 생성 및 부가한다. 스크램블 수단(7)은 스크램블 데이터를 메인 데이터 2048 바이트에 가산(배타적 논리합 연산)하고, 스크램블된 데이터 섹터를 생성한다.
PI 생성 및 부가 수단(8)은 섹터 메모리(1)에 저장된 스크램블된 데이터 섹터(또는 데이터 블록) (172 바이트×12행)의 각 행(172 바이트)에 대하여, 오류 정정 부호 PI (10 바이트)를 생성하여 부가한다. 이것에 의해 182 바이트×12행의 PI가 부가된 데이터 섹터(데이터 블록)가 생성된다.
섹터 메모리(1)는 PI가 부가된 데이터 섹터(182 바이트×12행)를 저장할 수 있는 용량을 가지며, 예컨대 SRAM(Static-RAM)으로 구성된다. SRAM은, 그 구조상, 저장된 데이터에 오류가 발생하는 경우가 매우 적고, 상기 섹터 메모리(1)를 이용하여 생성된 오류 정정 부호 PI는 에러가 없는 사용자 데이터에 대하여 생성된 정확한 부호라고 확신할 수 있다.
섹터 메모리(1)로부터의 PI 부가 데이터(또는 182 바이트×12행의 정보 데이터 블록이라 지칭해도 좋음)는 순차 버퍼 메모리(2)에 저장된다. 버퍼 메모리(2) 내에서는 182 바이트×12행의 데이터 섹터(PI 부가 데이터)가 16개 집합되어 182 바이트×192행의 집합 PI 부가 데이터(또는 집합 정보 데이터 블록)가 구축된다.
여기서, PO 생성 및 부가 수단(9)은 버퍼 메모리(2)에 저장된 집합 정보 데이터 블록(182 바이트×192행)의 각 열(192 바이트)에 대하여, 오류 정정 부호 PO (16 바이트)를 생성하여 부가한다. 이 결과, 버퍼 메모리(2)에 저장된 집합 정보데이터 블록에 대하여, 오류 정정 부호 PI, PO가 부가된 ECC 블록이 구축된다.
버퍼 메모리(2)는 호스트 컴퓨터로부터 송신된 데이터를 기록 매체에 기록할 때까지 축적하는 기능을 갖기 위해서, ECC 블록을 여러개 저장하기에 충분한 용량을 가지며, 예컨대 DRAM으로 구성되어 있다. DRAM에서는, 데이터의 패턴이나 메모리의 실장 상태에 따라 드물게 메모리 상의 데이터가 파손되는 경우가 있다. 소위 메모리 에러가 발생하는 경우가 있다. 그러나, 이 메모리 에러는 본 발명에 의해 데이터 처리 방법에 따르면, 후술하는 바와 같이 제거되게 된다.
버퍼 메모리(2)내의 ECC 블록은 그 1행(182 바이트)씩 독출되어 행 메모리 (3)에 저장된다. PI 정정 수단(10)은 행 메모리(3)를 이용하여 PI 정정 처리를 행한다. 여기서 이전의 메모리 에러는 정정되고, 본래의 데이터(정상적인 ECC 블록)로 회복한다. 행 메모리(3)는 예컨대 SRAM으로 구성되며, PI 계열의 1행(182 바이트)을 저장할 수 있는 용량을 갖는다.
행 메모리(3)로부터 출력된 행 데이터는 순차 변조·동기 부가 수단(4)에 보내져 8/16 변조와 동기 부호가 부가되고, 기록 매체로의 기록 데이터로서 출력된다.
도 11은 버퍼 메모리(2)로부터 출력된 ECC 블록의 데이터의 일부에 에러(상기한 메모리 에러, 또는 외부 잡음 등에 의해 발생한 에러 42)가 발생하고 있는 상태를 나타내고 있다.
본 발명에 있어서, 오류 정정 부호 PI는 버퍼 메모리에 데이터가 저장되기 전에 섹터 메모리(1)를 이용하여 오류 정정 부호 PI가 생성되어 있다. 따라서, 행42를 포함하는 192행 전체에 걸쳐 오류 정정 부호 PI는 본래의 데이터를 바탕으로 하는 오류 정정 부호이다. 즉, 도 11의 오류 정정 부호 PI는 에러 42가 존재하지 않는 데이터에 대하여 작성된 오류 정정 부호이다.
한편, PO 생성 및 부가 수단(9)은 버퍼 메모리(2)와 함께 각 열(192 바이트)의 데이터를 바탕으로 오류 정정 부호 PO를 생성한다. 따라서, 열 41에 관한 오류 정정 부호 PO44(l6 바이트)는 메모리 에러 42를 포함하는 데이터를 바탕으로 하여 작성된 오류 정정 부호이다.
곱셈 부호에 있어서, 오류 정정 부호에 대한 오류 정정 부호의 부분(48)은 먼저 부호 PI를 생성 및 부가하고, 다음에 부호 PO를 생성하여 부가하여도, 먼저 부호 PO를 생성 부가하고, 다음에 부호 PI를 생성 부가하여도 완전히 동일한 부호 패턴을 얻을 수 있는 성질이 있다.
여기서, 오류 정정 부호 PI는 에러 발생전의 본래의 데이터에 대하여 부가된 정확한 오류 정정 부호이다. 따라서, 오류 정정 부호 PI의 블록에 대하여 생성 및 부가된 오류 정정 부호 PO는 본래의 데이터를 바탕으로 하는 정확한 오류 정정 부호라고 말할 수 있다. 또한, 도 11에 도시된 172열 중 열 41을 제외한 다른 열 (171)에 부가되어 있는 오류 정정 부호 PO도 정확한 오류 정정 부호라고 말할 수 있다.
이러한 ECC 블록이 버퍼 메모리(2)로부터 행 순으로 독출되고, 행 메모리(3)로 PI 정정 처리가 행해진 경우, 행 45의 에러 42는 용이하게 PI 정정된다. 즉, 올바른 데이터의 행 45가 복원된다. 또한, 에러 42를 포함한 데이터에 대하여 작성된PO계의 각 행에 대해서도 PI 정정이 행해짐으로써, 올바른 PO계로 정정된다. 즉, 행 46에 대하여 PI 정정이 행해짐으로써, 1 바이트(43)가 정정된다. 마찬가지로 다른 행(도면의 삼각 표시 위치)에 관해서도 정정이 행해져서 올바른 PO계가 생성되게 된다.
상기 처리는 행 메모리(3)에 있어서, ECC 블록의 모든 행에 대하여 PI 정정 처리를 행하는 것으로서 설명하였다. 그러나, 이것에 한정되지 않고, 처리 시간 단축을 위해 도면의 삼각 표시 위치의 각 행에 대해서만 PI 정정 처리를 행하여도 좋다. 왜냐하면, 도면의 삼각 표시 위치의 PO계가 올바른 오류 정정 부호라면, 메모리 에러 42는 나중에 용이하게 정정할 수 있기 때문이다.
상기 설명에서는 PO 블록이 집합 데이터 블록 내에 1행씩 분산되어 있지 않은 ECC 블록을 이용하여 설명하였다. 그러나, 실제의 ECC 블록은 도 1, 도 6에서 설명한 바와 같이 오류 정정 부호 PO가 집합 데이터 블록 내에 1행씩 분산되어 있다.
도 12는 상기 처리(도 10에 도시된 회로에 의한 처리)에 의해 얻어진 ECC 블록이 기록 매체로부터 재생되고, 이 ECC 블록에 대하여 에러 정정 처리를 행하는 재생 수단을 나타내고 있다.
기록 매체로부터 광 헤드에 의해 독출된 재생 데이터는 동기 분리·복조 수단(11)에 도입된다. 이 동기 검출·복조 수단(11)에서는, 재생 데이터로부터 동기 검출, 8/16 변조의 복조가 행해진다. 이것에 의해 기록 섹터를 얻을 수 있다. 단, 기록 매체에 대하여 데이터를 기록 및 재생할 때에, 디스크의 흠집이나 노이즈 등이 원인이 되어 데이터에 오류가 발생하기 때문에, 기록 섹터내의 데이터에는 오류가 포함되는 경우가 있다.
독출된 기록 섹터는 버퍼 메모리(2)에 순차 저장되고, 16 기록 섹터가 집합되어 버퍼 메모리(2) 내에서 182열×208행의 ECC 블록이 형성된다. 이 182열×208행의 ECC 블록에 대하여, PO 정정 수단(14), PI 정정 수단(10)에 의해 오류 정정이 행해진다.
여기서, PI 정정 처리를 PO 정정 처리에 앞서 PO 블록에 대하여 행하는 것이 유효하다. 이것은 PO 블록 내에 메모리 에러가 발생하고, PI 정정에 의해 정확한 오류 정정 부호 PO를 복원할 수 있기 때문이다.
오류 정정된 ECC 블록은 버퍼 메모리(2)로부터 1행(182 바이트)씩 데이터 전송 순으로 독출되어 섹터 메모리(1)에 저장된다. 여기서 PI 정정 수단(10)은 섹터 메모리(1)를 이용하여 각 행의 172 바이트에 대하여 PI 정정을 행한다. 이것은 PO 정정을 행했을 때에, 버퍼 메모리(2)에 메모리 에러가 발생한 경우, 그 에러를 정정하기 위해서 유효하다.
다음에 스크램블 해제 수단(13)은 스크램블된 데이터 섹터의 메인 데이터 (2048 바이트)에 대하여 스크램블 데이터를 환산(배타적 논리합 연산)하고, 스크램블 전의 데이터 섹터를 생성한다. 더욱이 EDC 오류 검출 수단(12)은 데이터 섹터에 포함되어 있는 오류 검출 부호(EDC) 4 바이트를 이용하여 데이터 섹터의 오류를 검출한다. 데이터 섹터에 오류가 없는 것이 검출되면, 그 데이터 섹터는 호스트에 송신된다.
상기 설명에서는, 버퍼 메모리(2)로부터 섹터 메모리(1)에 데이터가 저장되면, PI 정정 수단(10)에 의해 PI 정정이 행해진다고 하였다. 그러나, 이 PI 정정은 EDC에 의해 오류가 검출되었을 때에만 행하도록 하여도 좋다.
또한, 각 행의 오류 패턴의 검출치 신드롬(10 바이트) 중, 일부만을 계산하여 오류 검출을 행하고, 오류가 있는 것이 판정되었을 때에만 PI 정정을 실행하도록 하여도 좋다. 즉, 오류 정정 부호 PI에 의한 오류 정정 처리는 오류 정정 부호 PI의 P 바이트로부터 얻어지는 오류 패턴 검출치(P 바이트) 내의 일부(R 바이트, R<P)만을 계산하여 오류 검출을 행하고, 오류가 있는 것이 판정되었을 때에만 정정 처리를 실행하는 것이다.
도 13은 본 발명의 또 다른 실시 형태이다.
이 실시 형태는 도 10의 실시예에 도시한 행 메모리(3)를 생략한 타입이다. 도 13의 실시예에서, PI 정정 수단(10)은 버퍼 메모리(2)를 이용하여 PI 정정을 행한다. 그 밖의 구성은 이전의 도 10의 실시예와 같기 때문에 설명은 생략한다. 메모리 에러가 발생한 경우, PO 생성 및 부가 수단(9)에 의해 생성된 오류 정정 부호 PO는 메모리 에러를 포함하는 데이터를 원 데이터로 하는 오류 정정 부호가 된다. 그러나, 오류 정정 부호 PO의 모든 행에 대하여 PI 정정을 행함으로써, 메모리 에러를 포함한 데이터를 원 데이터로 하는 오류 정정 부호 PO는 본래의 데이터를 원 데이터로 하는 오류 정정 부호 PO로 회복된다.
이 실시 형태에서는, PI 정정이 행해진 후의 ECC 블록은 버퍼 메모리(2) 내에 존재하기 때문에, 메모리 에러가 포함될 가능성이 있다. 그러나, 오류 정정 부호 PO는 본래의 데이터를 원 데이터로 하는 오류 정정 부호로 일단 회복되고 있기 때문에, 메모리 에러가 포함되었다고 해도 재생시, PO 정정에 의해 그 에러는 정정되게 된다.
도 14는 또한 본 발명의 다른 실시 형태이다.
호스트 컴퓨터로부터의 사용자 데이터는 섹터 정보 부가 수단(15)에 의해 2048 바이트의 메인 데이터마다 1개의 데이터 섹터로 변환된다.
섹터 정보 부가 수단(15)은 식별 데이터(ID) 4 바이트, ID 오류 검출 부호 (IED) 2 바이트, 저작권 관리 정보(CPR_MAI) 6 바이트를 메인 데이터에 부가한다. EDC 생성 및 부가 수단(16)은 모두 2060 바이트의 데이터에 대하여 오류 검출 부호 (EDC) 4 바이트를 생성하여 부가하고, 모두 2064 바이트의 데이터 섹터를 생성한다. 스크램블 수단(17)은 데이터 섹터 중의 메인 데이터를 스크램블한다.
스크램블된 데이터 섹터는 버퍼 메모리(2)에 순차 저장된다. 이 버퍼 메모리 (2) 내에는 172 바이트×12행의 데이터 섹터가 16개 모인 172열×192행의 데이터 블록이 형성된다.
PI 생성 및 부가 수단(18)은 스크램블 수단(17)으로부터의 데이터 섹터를 수취한다. 그리고 각 행(172 바이트)의 데이터에 대하여, 순차 10 바이트의 오류 정정 부호 PI를 생성하고, 버퍼 메모리(2)에 공급한다. 이것에 의해 버퍼 메모리(2)에는 182 바이트×192행의 PI가 부가된 데이터 블록이 구축된다. 이 때의 오류 정정 부호 PI는 본래의 데이터를 원 데이터로 하는 오류 정정 부호이다. 다른 부분은 먼저 설명한 실시 형태와 같으므로 설명은 생략한다.
도 15는 상기 오류 정정 부호 생성 회로에 대응하는 오류 정정 회로의 예이다.
이 실시 형태는 도 12에 도시된 실시 형태와 거의 동일하지만, 버퍼 메모리 (2)의 출력이 행 메모리(3)에 부여되는 점이 다르다. 버퍼 메모리(2)의 ECC 블록에 대하여, PI 정정 수단(10)은 버퍼 메모리(2)를 이용하여 적어도 PO를 포함하는 행에 대한 오류 정정을 행한다. 이것에 의해 오류 정정 부호 PO는 정확한 오류 정정 부호가 된다. 다음에, PO 정정 수단(14)에 의해 PO 정정 처리를 행한다. PO 정정 처리를 행한 후의 데이터는 전송 순으로 행마다 행 메모리(3)에 공급된다. 그리고 PI 정정 수단(10)은 이 행 메모리(3)를 이용하여 PI 정정을 행한다. 이것에 의해, PO 정정시에 버퍼 메모리(2)에 메모리 에러가 발생하여도, 이것은 행 메모리(3)에서 정정된다.
행 메모리(3)로부터 출력된 데이터는 스크램블 해제 수단(13)으로써 스크램블이 해제되어, 데이터 섹터가 되며, 이 데이터 섹터에 대하여 EDC 오류 검출 수단 (12)에 의한 오류 검출이 행해진다.
도 16은 또한 본 발명의 다른 실시 형태이다.
도 13의 실시 형태에 비하여 버퍼 메모리(2)를 이용한 PI 정정 수단(10)이 생략되어 있다. 그 밖의 부분은 도 13의 실시 형태와 동일하다. 이 실시 형태에서는, 재생 계통에 있어서, 버퍼 메모리(2)에 구축된 ECC 블록의 에러 정정을 행하는 경우, PI 정정 수단(10)에 의해 PI 정정을 PO 정정보다도 먼저 실행한다.
상기한 바와 같이, 본 발명은 메모리 상에서 에러가 발생한 경우에도, 본래의 데이터를 손실시키기 않고 오류 정정 부호 생성 처리가 행해지는 신호 전송/기록 및 재생 장치에 유효하다. 또한, 본 발명은 버퍼 메모리의 불량 검사를 간략화하여 수율을 높이는 대신에 메모리 에러의 발생률을 올린 경우에도, 본래의 데이터를 손실시키지 않고 기록 매체로의 기록이 가능하며, 저렴한 신호 전송/기록 및 재생 장치에 채용할 수 있다. 전송 수신계로서는, 디지털 통신 분야의 각종 기기에 적용할 수 있다. 휴대 전화기와 같은 무선기, 컴퓨터간의 송수신 단말기, 텔레비전 송수신기 등이다. 또한 기록 재생계의 분야로서, 본 발명은 DVD 기기, CD 기기, 나아가서는 통신 기능을 채용한 메모리 디바이스 등에 채용하기에 유효하다.
전술한 바와 같이, 본 발명은 데이터 오류(메모리 오류)가 발생하는 경우에도 본래의 데이터를 복원할 수 있는 오류 정정 부호를 이용하는 데이터 처리 방법, 상기 방법을 이용하는 기록 또는 재생계 및 상기 방법을 이용하는 송수신계를 제공할 수 있다.
본 발명은 전술한 실시예에 한정되는 것은 아니다. 이후에, 본 발명의 다른 실시예를 설명할 것이다.
도 17에 있어서, 상기 호스트 컴퓨터로부터 제공된 사용자 데이터는 2048 바이트의 단위로 섹터 정보 부가 수단(15)에 의해 한 개의 데이터 섹터에서 변환된다.
상기 섹터 정보 부가 수단(15)은 4 바이트의 식별 데이터(ID), 2 바이트의 ID 오류 감지 부호(IDE) 및 6 바이트의 저작권 관리 정보(CPR_MAI)를 상기 메인 데이터(2048 바이트를 포함)에 부가한다. EDC 생성 및 부가 수단(16)은 ID, IED 및CPR_MAI를 포함하는 데이터의 총 2060 바이트에 대하여 4 바이트 오류 정정 코드 (EDC)를 생성함으로써, 총 2064 바이트를 포함하는 데이터 섹터를 생성한다. 스크램블링 수단(17)은 스크램블 데이터를 상기 메인 데이터(2048 바이트)(또는 스크램블 데이터를 갖는 배타적 논리합 메인 데이터)에 부가하여, 상기 메인 데이터를 스크램블한다.
PI 생성 및 부가 수단(8)은 상기 스크램블 데이터 섹터(또는 데이터 블록) (172 바이트 X 12 행 = 2064 바이트)에서 각 행(172 바이트)에 대하여 오류 생성 코드(PI)(10 바이트)를 생성한다. 그 다음, 상기 생성된 오류 생성 코드(PI)는 메모리 제어 수단(20)을 통하여 상기 버퍼 메모리(2)에 순차적으로 저장된다. 또한, 데이터의 해당하는 172 바이트 X 12 행은 상기 메모리 제어 수단(20)을 통하여 상기 버퍼 메모리(2)에 순차적으로 기억되어, 182 바이트 X 12 행을 갖는 PI 부가 데이터(데이터 블록)를 생성한다. 그러한 데이터 처리가 지속됨으로써, 상기 버퍼 메모리(2)에 16 오류 정정 부호 PI 부가 데이터 블록을 구성한다. 즉, 버퍼 메모리 (2)에 있어서, 182 바이트 X 12 행을 갖는 16 데이터 섹터(PI 부가 데이터)는 함께 모여서, 182 바이트 X 192 행을 갖는 수집 PI 부가 데이터(또는 수집 데이터 블록)를 구성한다.
전술한 처리로 생성된 오류 정정 부호(PI)는 상기 본래의 데이터를 토대로 생성된 정확한 오류 정정 부호이다.
상기 PO 생성 및 부가 수단(9)은 상기 버퍼 메모리(2)에 기억된 수집 데이터 블록(182 바이트 X 192 행)에서 각 열에 대하여 오류 정정 부호(PO)(16 바이트)를생성한다. 결과적으로, 상기 오류 정정 부호(PI 및 PO)가 부가되는 ECC 블록은 상기 버퍼 메모리(2)에 기억된 수집 데이터 블록으로 구성된다.
상기 버퍼 메모리(2)는 기록 매체 상에 기록될 때 까지 상기 호스트 컴퓨터로부터 전송된 데이터를 기억하는 기능을 확보하기 위하여 복수의 ECC 블록을 유지하는 충분한 용량을 갖고 있으며, DRAM으로 구성된다. 상기 메모리의 실장 상태 또는 데이터의 패턴에 따라, 상기 메모리 상에 데이터가 파괴되거나, 메모리 오류가 발생할 수 있다. 상기 오류 정정 부호(PO)가 상기 상태에서 생성될 때, 이러한 오류 정정 부호(PO)는 메모리 에러를 포함하는 데이터를 토대로 생성된 오류 정정 부호가 된다.
상기 버퍼 메모리(2)의 ECC 블록은 행 X 행(182 바이트의 단위로) 판독되어 행 메모리(3)에 기억된다. 상기 IP 정정 수단(10)은 상기 행 메모리(3)를 이용하는 PI 정정을 수행함으로써, 상기 메모리 오류를 정정하여 상기 본래의 데이터를 복원한다. 예컨대, 상기 행 메모리(3)는 SRAM(정정-RAM)으로 이루어지고, PI 계열의 하나의 행(182 바이트)를 기억하기 위한 용량을 갖는다.
상기 행 메모리(3)로부터 출력되는 행 데이터는 변조/동기 부가 수단(4)에 순차적으로 전송되고, 이러한 수단은 8/16 변조 및 동기 부호 부가를 처리하여 기록 데이터로서 그 결과의 데이터를 상기 기록 매체로 출력한다.
여기서, 다시, 도 11을 참조하면, 상기 실시예의 기능이 설명될 것이다.
도 11은 상기 버퍼 메모리(2)로부터 출력되는 ECC 블록의 일부 데이터에서 오류[외부 잡음에 의해 발생되는 오류(42) 또는 전술한 메모리 오류]가 발생하는경우를 도시한다.
본 발명에 있어서, 오류 정정 코드(PI)는 상기 버퍼 메모리(2)에 데이터를 기억하기 전에 상기 데이터 메모리(1)를 이용하여 생성된다. 따라서, 행(45)을 포함하는 모든 192개의 행에 걸쳐서, 상기 오류 정정 부호(PI)는 상기 본래의 데이터를 토대로 생성되는 오류 정정 부호이다. 즉, 도 11의 오류 정정 부호(PI)는 오류없이 상기 데이터에 생성되는 오류 정정 부호이다.
한편, 상기 버퍼 메모리(2)와 함께 상기 PO 생성 및 부가 수단(9)은 각 열(192 바이트)을 토대로 오류 정정 부호(PO)를 생성한다. 따라서, 상기 열(41)에 대한 오류 정정 부호(PO)(44)(16 바이트)는 메모리 에러(42)를 포함하는 데이터를 토대로 생성되는 오류 정정 부호이다.
곱셈 부호란, 오류 정정 부호에 대한 오류 정정 부호의 일부분(48)에 있어서, 부호(PI)를 처음 생성하여 부가한 다음, 부호(PO)를 생성하여 부가하더라도, 또한, 부호(PO)를 처음 생성하여 부가한 다음, 부호(PI)를 생성하여 부가할지라도, 상기 동일한 부호 패턴은 얻어질 것이다.
여기서, 상기 오류 정정 부호(PI)는 오류가 발생하기 전에 상기 본래의 데이터에 부가되는 정확한 오류 정정 부호이다. 따라서, 오류 정정 부호(PI)의 블록으로 생성되고 부가되는 오류 정정 부호(PO)는 상기 본래의 데이터를 토대로 생성되는 정확한 오류 정정 부호이다. 더욱더, 도 11에 도시되는 172 열에서 열(41)을 제외한 다른 열에 부가되는 상기 오류 정정 부호(PO)는 상기 정확한 오류 정정 부호이다.
그러한 ECC 블록을 상기 버퍼 메모리(2)로부터 순차적으로 판독하고, 상기 행 메모리(3)에서 PI 정정을 실행할 때, 상기 행(45)에서 오류(42)는 PI 정정에 쉽게 제공된다. 즉, 상기 정정 데이터의 행(45)은 복원된다. 더욱더, 오류(42)를 포함하는 데이터에 대하여 생성된 PO 계열의 각 행은 PI 정정에 제공되어, 정확한 PO 계열을 복원한다. 즉, 상기 행(46)은 PI 정정에 제공되어, 하나의 바이트(43)를 정정한다. 유사하게, 다른 행(삼각 부호로 표시)은 PI 정정에 제공되어, 정확한 PO 계열을 생성한다.
전술한 처리에 있어서, PI 정정은 상기 행 메모리(3)를 이용하는 ECC 블록의 모든 행에서 실행된다. 상기 PI 정정은 이러한 것에 한정됨이 없이 상기 처리 시간을 줄이기 위하여 직사각형 부호로 표시된 위치에서 각 행에 대하여 영향을 미칠 수 있다. 그 이유는 상기 도면의 직사각형 부호의 위치에서 PO 계열이 상기 정확한 오류 정정 부호인 경우에, 상기 메모리 에러(42)가 나중에 쉽게 정정될 수 있기 때문이다.
앞서 설명한 바와 같이, 집합 데이터 블록에서 행 X 행으로 PO 블록이 분배되지 않은 ECC가 이용되었다. 그러나, 실제적인 ECC 블록에 있어서, 상기 오류 정정 부호(PO)는 도 1 및 도 6에 설명된 바와 같이 집합 데이터 블록에서 행 X 행으로 분배된다. 즉, 상기 오류 정정 부호(PO)는 상기 오류 정정 부호(PO)의 하나의 행이 12 행 집합 데이터 블록에 있는 방법으로 분배된다.
도 17의 재생계는 이후에 설명될 것이다.
메모리 제어 수단(20)의 기능이 설명될 것이다. 상기 메모리 제어 수단(20)은 하나의 요청을 수신하여 상기 PI 생성 및 부가 수단(8), 동기 분기/복조 수단(11), PO 생성 및 부가 수단(9), PO 정정 수단(9), PO 정정 수단(10) 및 행 메모리(3)로부터 상기 데이터를 기억 또는 판독한다. 상기 요청에 따르면, 상기 메모리 제어 수단(20)은 상기 데이터를 상기 버퍼 메모리(2)에 기록하거나, 상기 데이터를 상기 버퍼 메모리(2)로부터 판독한다. 이러한 경우에, 상기 메모리 제어 수단(200은 상기 데이터 기억 위치를 제어하여 상기 버퍼 메모리(2)의 결합 메모리 영역을 이용하지 않는다.
상기 PI 정정 수단(10)이 상기 메모리 제어 수단(20)에 요청하여 상기 데이터를 판독하고, 상기 행 메모리(3)에 데이터의 하나의 행이 기억된다고 가정한다. 그 다음, 상기 PI 정정 수단(10)은 상기 행 메모리(3)의 상기 데이터 상에서 오류 정정을 실행한다. 이러한 시점에서, 오류가 감지되면, 상기 PI 정정 수단(10)은 상기 오류 위치 상의 정보를 상기 메모리 제어 수단(20)으로 보낸다.
상기 메모리 제어 수단(20)은 오류 어드레스 레지스터(21)에 오류가 있는 데이터를 저장한 어드레스를 등록한다. 상기 오류 어드레스 레지스터(21)에 있어서, 동일한 어드레스에서 오류가 발생할 때, 그 발생한 오류의 갯수가 등록된다. 예컨대, 메모리 에러는 동일한 어드레스에서 2배로 발생하고, 그 메모리 제어 수단(20)은 그 어드레스가 결함 어드레스라고 판단한다. 그 다음, 상기 메모리 제어 수단(20)은 결함 어드레스 레지스터(22) 안에 상기 결함 어드레스 정보를 등록한다. 상기 결함 어드레스 레지스터(22) 안에 상기 결함 어드레스 정보를 등록하는 범위는 3번 이상 반복될 수 있다. 상기 결함 어드레스 레지스터(22)에 등록되는 결합 어드레스 정보는 데이터 기록 어드레스 및 판독 어드레스 제어부(23)로 언급되며, 이것은 상기 결함 어드레스가 사용되는 것을 예방한다.
예컨대, 도 18a의 ECC 블록에서 데이터 열(B0, 0) 내지 (B207, 181)이 기억될 때, 어드레스(A)에서 개시하여, 어드레스(A+J)는 상기 결함 어드레스 레지스터에 등록된다고 가정한다. 그 다음, (B0, J)는 어드레스(A+J+1), 스킵 어드레스 (A+J)에 기억된다. 이 시점에서, (B0, J)는 이전에 준비된 다른 영역에 기억될 수 있다. 또한, 상기 결함 메모리 영역은 바이트 뿐만 아니라 행에서 관리될 수 있다.
다음, PI 정정이 실패한(또는 불가능한) 경우에 데이터를 다시 처리하는 것이 설명될 것이다.
하나의 행에서 6개 이상의 메모리 에러가 발생하는 경우에, PI 정정은 불가능하다. 하나의 ECC 블록의 데이터에서 6개 이상의 오류가 발생할 때, PO의 PI 정정(16 행)은 실패할 수 있다.
상기 오류의 수가 정정 가능한 오류의 수를 초과한다는 사실이 상기 PI 정정 처리에서 감지될 때, 그 사용하는 메모리 영역은 변경되어 다시 처리된다. 재처리에 있어서, 상기 호스트 컴퓨터는 상기 데이터의 재전송을 요구한다. 그 다음, 상기 오류 정정 부호 PI 부가 데이터는 상기 메모리 제어 수단(20)을 통하여 상기 버퍼 메모리(20)에 기억된다. 이러한 경우에, 상기 사용하는 메모리 영역은 오류가 발생하는 오류 영역 또는 그 오류 영역 이외의 빈 영역으로 대체된다.
상기 오류 정정 부호(PO)를 기억하는 영역의 각 행에서 정정 가능한 오류의 수가 상기 오류의 수를 초과할 때, 상기 재처리는 다음 방법에 의해 영향을 받는다.
상기 재처리에 영향을 미칠 때, 상기 버퍼 메모리(2)의 제1 저장 영역에 기억된 상기 192 행 X 182 바이트 수집 데이터 블록(오류 정정 부호 PI를 포함)은 상기 버퍼 메모리(2)의 제2 저장 영역으로 이동된다. 각 행이 상기 PI 정정 처리에 제공된 후에, 상기 버퍼 메모리(2)에서 제2 저장 영역을 이용하여 상기 PO 생성 및 부가 처리를 다시 실행한다. 이러한 경우에, 상기 재처리는 상기 호스트 컴퓨터에 요구하지 않고도 상기 재처리계 내부에서 상기 데이터를 다시 전송할 수 있다.
도 19는 상기 버퍼 메모리(2) 상에 데이터의 이동을 설명하기 위한 블록도이다.
데이터 이동 수단(24)은 A0에서 시작하는 기억된 ECC 블록(n)을 그 서두에 어드레스(A3)를 갖는 빈 영역으로 이동한다. 이러한 경우에, 상기 이동 데이터는 어드레스(A0)에 포함되는 메모리 에러를 포함한다. 각 행에 상기 PI 정정을 실행하는 것에 의해 이러한 메모리 에러가 정정된다. 상기 PI 정정 처리에 제공되는 데이터를 이용하면, PO 생성 및 부가 처리가 수행된다. 상기 시간에 발생되는 메모리 오류의 수가 5개 이하이면, 상기 생성된 오류 정정 부호(PO)는 상기 PI 정정 처리에 의해 수정될 수 있다.
도 17을 이용하여 데이터 재생 동작을 설명할 것이다.
상기 기록 매체로부터 광 헤드에 의해 판독되는 재생 데이터는 동기 분리/복조 수단(11)으로 유도된다. 상기 동기 분리/복조 수단(11)은 상기 재생 데이터로부터 동기화를 감지하여 분리하고, 8/16 변조에 제공된 데이터를 복조함으로써, 기록섹터글 발생한다. 상기 기록 매체로부터 데이터를 기록 또는 재생할 때의 잡음 또는 상기 디스크의 결함에 의해 상기 데이터에서 발생하기 때문에, 상기 기록 섹터의 상기 데이터에 오류가 포함될 수 있다.
상기 독출 기록 섹터는 상기 메모리 수단(20)을 통하여 상기 버퍼 메모리(2)에 순차적으로 기억되고, 16 기억 섹터는 함께 놓여짐으로써, 상기 버퍼 메모리(2)에 182 칼럼 X 208 행을 갖는 ECC 블록을 형성한다. 상기 PO 정정 수단(14) 및 PI 정정 수단(10)은 208 열 X 182 행을 갖는 ECC 블록을 오류 정정에 제공한다.
상기 오류 정정된 ECC 블록은 데이터 전송 순서로 상기 버퍼 메모리(2)로부터 행 X 행(172 바이트의 단위로)으로 판독되어, 상기 행 메모리(3)에 기억된다. 상기 PI 정정 수단(10)은 상기 행 메모리(3)를 이용하는 각 행에서 172 바이트 상에 PI 정정을 실행한다. 결과적으로, 메모리 에러가 상기 버퍼 메모리(2)의 스크램블링 데이터 섹터에서 발생하더라도, 상기 오류는 PI 정정에 의해 정정될 것이다.
다음, 상기 스크램블 삭제 수단(13)은 상기 스크램블 데이터 섹터의 메인 데이터(2048 바이트)에 대한 스크램블 데이터 및 상기 스크램블링 데이터를 곱하여(또는, 2개의 데이터 사이의 배타적 논리합), 스크램블링 전에 데이터 섹터를 생성한다. 그 다음, EDC 오류 감지 수단(12)은 상기 데이터 섹터에 포함되는 4 바이트 오류 감지 부호(EDC)를 이용하여 상기 데이터 섹터에서 오류를 감지한다. 상기 데이터 섹터에서 오류가 감지되지 않는 경우, 상기 데이터 섹터는 상기 호스트로 전송될 것이다.
전술한 바와 같이, 본 발명은 상기 메모리 상에서 오류가 발생할 때 조차도,본래의 데이터에 손상을 입히지 않고 오류 정정 부호 생성 처리를 수행할 수 있는 신호 전송/기록 및 재생 장치에 유용한 것이다. 또한, 본 발명은 결함 메모리를 간단히 조사함으로써 수율을 높이는 대신에 일시적으로 메모리 오류의 발생율이 올라갈 때 조차도, 상기 본래의 데이터를 손상시키지 않고 기록 매체 상에 데이터를 기록할 수 있는 저렴한 신호 전송/기록 및 재생 장치에 영향을 미친다.
또한, 본 발명은 디지털 통신 분야에서 전송/수신 시스템의 다양한 장치에 적용될 수 있다. 이러한 장치에는 셀룰러 전화기 등의 무선 장치, 컴퓨터 사이의 전송/수신 단말기 및 텔레비젼 전송기/수신기 장치가 있다. 기록 및 재생계의 분야에서, 본 발명은 DVD 장치, CD 장치 및 메모리 장치 또는 통신 기능을 제공하는 동등한 장치에 유용하다.
전술한 바와 같이, 본 발명은 데이터 에러(메모리 에러)가 메모리 상에 발생할 때 조차도 상기 본래의 데이터를 복원할 수 있는 오류 정정 부호를 이용하는 데이터 처리 방법, 이러한 방법을 이용하는 기록 또는 재생계 및 이러한 방법을 이용하는 송수신계를 제공할 수 있다.

Claims (36)

  1. 오류 정정 부호를 이용하는 데이터 처리 방법에 있어서,
    제1 메모리를 이용하여 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 P 바이트의 오류 정정 부호(PI)를 생성 및 부가하는 단계와,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)가 부가된 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 생성하는 단계와,
    상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가한 오류 정정 곱셈 부호 블록(ECC 블록)을 생성하는 단계와,
    상기 ECC 블록을 상기 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 실행하는 단계와,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 단계를 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  2. 제1의 메모리를 이용하여 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하는 단계와,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가하는 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 생성하는 단계와,
    상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 (S=K×Q) 바이트를 생성 및 부가하는 단계와,
    상기 오류 정정 부호(PO)를 Q 바이트의 단위로, 상기 오류 정정 부호(PI)가 부가된 K개의 각 데이터 블록에 분산 배치시킴으로써, 각 데이터 블록은 정보 데이터와 오류 정정 부호에 의해 구성되는 일정치의 (M+Q)×(N+P) 바이트를 갖는 오류 정정 곱셈 부호 블록(ECC 블록)을 구성하는 단계와,
    상기 ECC 블록을 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 실행하는 단계와,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 단계를 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  3. 오류 정정 부호를 이용하는 데이터 처리 방법에 있어서,
    M행×N행의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)를 생성 및 부가하는 경우,
    호스트 컴퓨터로부터 각 행(N 바이트)의 데이터를 받아서, 송신된 N 바이트의 데이터를 순차 제2 메모리에 저장하는 제1 처리와, 상기 제1 처리와 병행하여 상기 송신된 N 바이트의 데이터를 바탕으로 상기 각 행의 오류 정정 부호(PI)의 P바이트를 생성하며, 상기 생성된 P 바이트의 오류 정정 부호(PI)를 순차 상기 제2 메모리에 저장하는 제2 처리를 구비하여, M행×(N×P)열의 {M×(N+P)} 바이트로 구성되는 PI 오류 정정 부호가 부가된 정보 데이터 블록을 생성하는 단계와,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)가 부가된 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 생성하는 단계와,
    상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가한 오류 정정 곱셈 부호 블록(ECC 블록)을 생성하는 단계와,
    상기 ECC 블록을 상기 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 실행하는 단계와,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 단계를 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 ECC 블록에 대하여, 상기 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 실행하는 경우, 오류 정정 부호 (PO)의 행만 오류 정정 처리에 제공되는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제2 메모리로부터 상기 ECC 블록의 각 행을 순차 독출하여 제3 메모리에 저장하고,
    상기 제3 메모리에 저장된 단위 블록에 대하여, 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 행하는 경우, 상기 제3 메모리에 저장된 데이터 블록의 각 행 또는 오류 정정 부호(PO)의 행 중 어느 하나만을 오류 정정 처리를 행하며,
    상기 오류 정정 처리를 한 후의 단위 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 것을 특징으로 한 오류 정정 부호를 이용한 데이터 처리 방법.
  6. 오류 정정 부호를 이용하는 데이터 처리 방법에 있어서,
    오류 정정 부호(PI)가 부가된 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록과 {S×(N+P)} 바이트의 오류 정정 부호(PO)의 블록이 전송 또는 기록 매체로부터 독출되어 수신된 경우,
    [단, 상기 집합 정보 데이터 블록은 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록이 K개 집합한 {K×(M×N)} 바이트의 집합 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트가 부가되고, 또한, 상기 오류 정정 부호(PO)의 블록은 상기 집합 데이터 블록 및 상기 오류 정정 부호(PI)의 블록의 각 열에 오류 정정 부호(PO)의 S 바이트가 생성된 것]
    제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 집합 데이터 블록의 에러 데이터 바이트의 제1 오류 정정 처리를 실행하는 단계와,
    상기 제1 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 제1 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에 의해 행의 오류 정정 처리를 실행하는 단계를 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  7. 오류 정정 부호를 이용하는 데이터 처리 방법에 있어서,
    오류 정정 곱셈 부호 블록(ECC 블록)이 전송 또는 기록 매체로부터 독출되어 수신된 경우,
    [단, 상기 ECC 블록은 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하고, M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가한 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록으로 하며, 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 (S=K×Q) 바이트를 생성 및 부가하고, 상기 오류 정정 부호(PO)를 Q 바이트마다, 상기 오류 정정 부호(PI)가 부가된 K개의 각 정보 데이터 블록에 분산 배치시킴으로써 각 정보 데이터 블록은 정보 데이터와 오류 정정 부호에 의해 구성되는 일정치 (M+Q)×(N+P) 바이트가 되도록 구성되어 있는 ECC 블록],
    제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 데이터 블록의 에러 데이터 바이트의 오류 정정 처리를 실행하는 단계와,
    상기 제1 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 제1 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에 의해 행의 오류 정정 처리를 실행하는 단계를 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  8. 제6항 또는 제7항에 있어서, 상기 제1 메모리를 사용한 오류 정정 처리는 상기 제2 메모리로부터 데이터를 독출했을 때, 상기 데이터 블록에 부가된 오류 검출 부호(EDC)에 의해 상기 데이터 블록에 오류가 존재하는 것이 판정되었을 때에만 실행되는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  9. 오류 정정 부호를 이용하는 데이터 처리 방법에 있어서,
    제1 메모리를 이용하여 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하여 데이터 블록을 형성하는 단계와,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가한 상기 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 데이터 블록으로 하며, 상기 제2 메모리를 이용하여 상기 집합 데이터 블록의 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가한 오류 정정 곱셈 부호 블록(ECC 블록)을 형성하는 단계와,
    상기 ECC 블록을 상기 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 실행하는 단계와,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록매체에 기록하는 단계와,
    상기 오류 정정 처리를 한 후의 ECC 블록이 전송 또는 기록 매체로부터 독출되어 수신된 경우, 상기 제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 데이터 블록의 에러 데이터 바이트의 제1 오류 정정 처리를 실행하는 단계와,
    상기 제1 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 제1 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에 의해 행의 오류 정정 처리를 실행하는 단계를 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  10. 오류 정정 부호를 이용하는 데이터 처리 방법에 있어서,
    제1 메모리를 이용하여 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하여 집합 데이터 블록을 생성하는 단계와,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가한 상기 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록으로 하며, 상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 (S=K×Q) 바이트를 생성 및 부가하는 단계와,
    상기 오류 정정 부호(PO)를 Q 바이트마다, 상기 오류 정정 부호(PI)가 부가된 K개의 각 정보 데이터 블록에 분산 배치시킴으로써 각 정보 데이터 블록은 데이터 블록과 오류 정정 부호에 의해 구성되는 일정치의 (M+Q)×(N+P) 바이트가 되도록 구성된 오류 정정 곱셈 부호 블록(ECC 블록)을 구성하는 단계와,
    상기 ECC 블록을 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 실행하는 단계와,
    상기 오류 정정 처리를 행한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 단계와,
    상기 오류 정정 처리를 한 후의 ECC 블록이 전송 또는 기록 매체로부터 독출되어 수신된 경우, 상기 제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 데이터 블록의 에러 데이터 바이트의 제1 오류 정정 처리를 실행하는 단계와,
    상기 제1 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 제1 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에 의해 행의 오류 정정 처리를 실행하는 단계를 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  11. 제9항 또는 제10항에 있어서, 상기 제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 데이터 블록의 에러 데이터 바이트의 제1 오류 정정 처리를 행하기 전에,
    상기 제2 메모리를 사용하여 오류 정정 부호(PI)에 의해 기록시의 메모리 에러가 포함된 에러 데이터 바이트의 오류 정정 처리를 행하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  12. 제1항, 제2항, 제3항, 제6항, 제7항, 제9항, 제10항 중 어느 한 항에 있어서, 상기 제1 메모리는 SRAM(Static-RAM)인 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  13. 제1항, 제2항, 제3항, 제6항, 제7항, 제9항, 제10항 중 어느 한 항에 있어서, 상기 오류 정정 부호(PI)에 의한 오류 정정 처리는 오류 정정 부호(PI)의 P 바이트로부터 얻어지는 오류 패턴 검출치(P 바이트)내의 일부(R 바이트, R<P)만을 계산하여 오류 검출을 행하고, 오류가 있는 것이 판정되었을 때에만 정정 처리를 실행하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  14. 오류 정정 부호가 부가된 데이터를 전송 또는 기록 매체로의 기록을 행하는 경우, 제1항 내지 제3항 중 어느 한 항에 기재한 데이터 처리 방법을 이용하여 상기 오류 정정 부호가 부가된 데이터를 얻는 것을 특징으로 하는 데이터 처리 장치.
  15. 오류 정정 부호가 부가된 데이터가 전송 또는 기록 매체로부터 독출되어 수신된 경우, 제6항 또는 제7항에 기재한 데이터 처리 방법을 이용하여 오류 정정된 출력 데이터를 얻는 것을 특징으로 하는 데이터 처리 장치.
  16. 오류 정정 부호가 부가된 데이터를 전송 또는 기록 매체에 기록하고, 또한, 오류 정정 부호가 부가된 데이터가 전송 또는 기록 매체로부터 독출되어 수신된 경우, 제9항 또는 제10항에 기재한 데이터 처리 방법을 이용하여 상기 오류 정정 부호가 부가된 데이터를 얻거나, 또한 오류 정정된 출력 데이터를 얻는 것을 특징으로 하는 데이터 처리 장치.
  17. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    제1 메모리를 이용하여 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하는 수단과,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)가 부가된 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 얻는 수단과,
    상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가한 오류 정정 곱셈 부호 블록(ECC 블록)을 얻는 수단과,
    상기 ECC 블록을 상기 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 행하는 수단과,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 수단을 구비한 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  18. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    제1 메모리를 이용하여 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호 PI의 P 바이트를 생성 및 부가하는 수단과,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)가 부가된 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 얻는 수단과,
    상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 (S=K×Q) 바이트를 생성 및 부가하는 수단과,
    상기 오류 정정 부호(PO)를 Q 바이트마다, 상기 오류 정정 부호(PI)가 부가된 K개의 각 정보 데이터 블록에 분산 배치시킴으로써 각 정보 데이터 블록은 정보 데이터와 오류 정정 부호에 의해 구성되는 일정치 (M+Q)×(N+P) 바이트가 되도록 구성된 오류 정정 곱셈 부호 블록(ECC 블록)을 구성하는 수단과,
    상기 ECC 블록을 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 행하는 수단과,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 수단을 구비한 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  19. M행×N행의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)를 생성 및 부가하는 경우,
    호스트 컴퓨터로부터 각 행(N 바이트)의 데이터를 수신하고, 송신된 N 바이트의 데이터를 순차 제2 메모리에 저장하는 제1 처리와, 이 제1 처리와 병행하여 상기 송신된 N 바이트의 데이터를 토대로 상기 각 행의 오류 정정 부호(PI)의 P 바이트를 생성하며, 생성된 P 바이트의 오류 정정 부호(PI)를 순차 상기 제2 메모리에 저장하는 제2 처리를 행하고, M행×(N×P)열의 {M×(N+P)} 바이트로 구성되는 PI 오류 정정 부호가 부가된 정보 데이터 블록을 생성하는 수단과,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)가 부가된 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 얻는 수단과,
    상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가한 오류 정정 곱셈 부호 블록(ECC 블록)을 얻는 수단과,
    상기 ECC 블록을 상기 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 행하는 수단과,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 수단을 구비한 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 ECC 블록에 대하여, 상기 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 행하는 경우, 오류 정정 부호 PO의 행만 행하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  21. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 제2 메모리로부터 상기 ECC 블록의 각 행을 순차 독출하여 제3 메모리에 저장하는 수단과,
    상기 제3 메모리에 저장된 단위 블록에 대하여, 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 행하는 경우, 상기 제3 메모리에 저장된 데이터 블록의 각 행 또는 오류 정정 부호(PO)의 행 중 어느 하나만을 오류 정정 처리를 하는 수단과,
    상기 오류 정정 처리를 한 후의 단위 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 수단을 구비한 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  22. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    오류 정정 부호 PI가 부가된 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록과, {S×(N+P)} 바이트의 오류 정정 부호 PO 블록이 전송 또는 기록 매체로부터 독출되어 수신된 경우,
    [단, 상기 집합 정보 데이터 블록은 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록이 K개 집합한 {K×(M×N)} 바이트의 집합 데이터 블록의 각 행에 오류정정 부호(PI)의 P 바이트가 부가되고, 또한 상기 오류 정정 부호(PO)의 블록은 상기 집합 데이터 블록 및 상기 오류 정정 부호(PI)의 블록의 각 열에 오류 정정 부호(PO)의 S 바이트가 생성된 것]
    제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 집합 데이터 블록의 에러 데이터 바이트의 제1 오류 정정 처리를 행하는 수단과,
    상기 제1 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 제1 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에 의해 행의 오류 정정 처리를 행하는 수단을 구비한 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  23. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    오류 정정 곱셈 부호 블록(ECC 블록)이 전송 또는 기록 매체로부터 독출되어 수신된 경우,
    [단, 상기 ECC 블록은 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하고, M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가한 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록으로 하며, 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호 PO의 (S=K×Q) 바이트를 생성 및 부가하고, 상기 오류 정정 부호(PO)를 Q 바이트마다, 상기 오류 정정 부호(PI)가 부가된 K개의 각 정보 데이터 블록에 분산 배치시킴으로써 각 정보 데이터 블록은 정보 데이터와 오류 정정 부호에 의해 구성되는 일정치 (M+Q)×(N+P) 바이트가되도록 구성되어 있는 ECC 블록],
    제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 데이터 블록의 에러 데이터 바이트의 오류 정정 처리를 행하는 수단과,
    상기 제1 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 제1 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에 의해 행의 오류 정정 처리를 행하는 수단을 구비한 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  24. 제22항 또는 제23항에 있어서, 상기 제1 메모리를 사용한 오류 정정 처리는 상기 제2 메모리로부터 데이터를 독출했을 때, 상기 데이터 블록에 부가된 오류 검출 부호(EDC)에 의해 상기 데이터 블록에 오류가 존재하는 것이 판정되었을 때에만 실행되는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  25. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    제1 메모리를 이용하여 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하여 정보 데이터 블록을 얻는 수단과,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가한 상기 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 얻는 수단과,
    상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가한 오류 정정 곱셈 부호 블록(ECC 블록)을 얻는 수단과,
    상기 ECC 블록을 상기 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 행하는 수단과,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 수단과,
    상기 오류 정정 처리를 한 후의 ECC 블록이 전송 또는 기록 매체로부터 독출되어 수신되는 경우, 상기 제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 데이터 블록의 에러 데이터 바이트의 제1 오류 정정 처리를 행하는 수단과,
    상기 제1 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 제1 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에 의해 행의 오류 정정 처리를 행하는 수단을 구비한 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  26. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    제1 메모리를 이용하여 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하여 집합 데이터 블록을 얻는 수단과,
    제2 메모리에 M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가한 상기 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 얻는 수단과,
    상기 제2 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 (S=K×Q) 바이트를 생성 및 부가하는 수단과,
    상기 오류 정정 부호(PO)를 Q 바이트마다, 상기 오류 정정 부호(PI)가 부가된 K개의 각 정보 데이터 블록에 분산 배치시킴으로써 각 정보 데이터 블록은 데이터 블록과 오류 정정 부호에 의해 구성되는 일정치 (M+Q)×(N+P) 바이트가 되도록 구성된 오류 정정 곱셈 부호 블록(ECC 블록)을 구성하는 수단과,
    상기 ECC 블록을 제2 메모리로부터 독출하여 전송하기 전에, 그 각 행에 부가된 오류 정정 부호(PI)를 이용하여 오류 정정 처리를 행하는 수단과,
    상기 오류 정정 처리를 한 후의 ECC 블록을 행 순으로 순차 전송 또는 기록 매체에 기록하는 수단과,
    상기 오류 정정 처리를 한 후의 ECC 블록이 전송 또는 기록 매체로부터 독출되어 수신되는 경우, 상기 제2 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 데이터 블록의 에러 데이터 바이트의 제1 오류 정정 처리를 행하는 수단과,
    상기 제1 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 제1 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에 의해 행의 오류 정정 처리를 행하는 수단을 구비한 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  27. 제25항 또는 제26항에 있어서, 상기 제2 메모리를 이용하여 상기 오류 정정부호(PI 및 PO)에 의해 상기 데이터 블록의 에러 데이터 바이트의 제1 오류 정정 처리를 행하기 전에,
    상기 제2 메모리를 사용하여 오류 정정 부호(PI)에 의해 기록시의 메모리 에러가 포함된 에러 데이터 바이트의 오류 정정 처리를 행하는 수단을 갖는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  28. 제17항, 제18항, 제19항, 제22항, 제23항, 제25항, 제26항 중 어느 한 항에 있어서, 상기 제1 메모리는 SRAM(Static-RAM)인 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  29. 제17항, 제18항, 제19항, 제22항, 제23항, 제25항, 제26항 중 어느 한 항에 있어서, 상기 오류 정정 부호(PI)에 의한 오류 정정 처리를 행하는 수단은 오류 정정 부호(PI)의 P 바이트로부터 얻어지는 오류 패턴 검출치(P 바이트)내의 일부(R 바이트, R<P)만을 계산하여 오류 검출을 행하고, 오류가 있는 것이 판정되었을 때에만 정정 처리를 실행하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 방법.
  30. 전송 또는 기록계에서,
    데이터 블록의 각 행에 대하여 오류 정정 부호(PI)를 생성하여 이 오류 정정 부호(PI)와 상기 데이터 블록을 함께 메모리에 저장하는 수단과,
    오류 정정 부호(PI)가 부가된 정보 데이터 블록이 상기 메모리로부터 독출되었을 때에, 그 정보 데이터 블록의 행에 대하여, 상기 오류 정정 부호(PI)를 이용한 오류 정정 처리를 행하는 수단을 구비한 것을 특징으로 하는 데이터 처리 장치.
  31. 수신 또는 재생계에서,
    오류 정정 부호(PI)를 이용하여 오류 정정 처리가 행해진 집합 정보 데이터 블록이 메모리로부터 독출되었을 때, 그 집합 정보 데이터 블록의 행에 대하여, 상기 오류 정정 부호(PI)를 이용한 오류 정정 처리를 다시 행하는 수단을 구비한 것을 특징으로 하는 데이터 처리 장치.
  32. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    한 개의 행이 N 바이트로 구성되는 복수행의 데이터에 대하여, 각 행에 오류 정정 코드(PI)(P 바이트를 포함)를 생성하여 부가하는 PI 생성 및 부가 수단과,
    상기 PI 생성 및 부가 수단으로 얻어진 1행이 N + P 바이트로 구성되는 PI 오류 정정 부호를 부가한 데이터를 저장하는 버퍼 메모리와,
    상기 버퍼 메모리로부터 상기 데이터를 독출하여 전송하기 전에 각 행에 부가된 상기 오류 정정 부호(PI)를 이용하여 각 행의 오류를 정정하는 PI 오류 정정 수단과,
    상기 PI 오류 정정 수단으로 오류 정정이 실행될 때, 오류가 검출되는 데이터가 저장되는 상기 버퍼 메모리의 메모리 영역의 정보를 기억하고, 오류가 반복하여 검출되는 데이터가 저장되어 있는 상기 버퍼 메모리의 메모리 영역을 별도의 메모리 영역으로 대체하는 메모리 제어 수단을 포함하는 것을 특징으로 하는 오류 정정 부호를 이용하는 데이터 처리 장치.
  33. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    호스트 컴퓨터로부터 전송되고 있는 한 개의 행이 N 바이트로 구성되는 데이터에 대하여, 각 행에 대하여 오류 정정 코드(PI)(P 바이트를 포함)를 생성하여 부가하는 PI 생성 및 부가 수단과,
    상기 PI 생성 및 부가 수단으로 얻어진 1행이 N + P 바이트로 구성되는 PI 오류 정정 부호를 부가한 데이터를 저장하는 버퍼 메모리와,
    M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가한 상기 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록을 형성하고, 상기 버퍼 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가한 오류 정정 곱셈 부호 블록(ECC 블록)으로 하는 PO 생성 및 부가 수단과,
    상기 버퍼 메모리로부터 상기 데이터를 독출하여 전송하기 전에, 각 행에 부가된 상기 오류 정정 부호(PI)를 이용하여 각 행의 오류를 정정하는 PI 오류 정정 수단과,
    상기 PI 오류 정정 수단으로 오류 정정이 실행될 때, 오류 정정이 가능한 오류 수를 초과하는 것을 검출한 경우, 상기 오류 정정 부호(PI)가 부가되는 앞의 데이터를 상기 호스트 컴퓨터에 다시 요청하여 상기 오류 정정 부호(PI)가 부가된 데이터로 하고, 이 데이터를 상기 버퍼 메모리에 저장하는 경우에는 상기 데이터를 저장한 제1의 기억 영역과 다른 제2의 기억 영역을 지정하는 제어 수단을 포함하는 것을 특징으로 하는 오류 정정 부호를 이용하는 데이터 처리 장치.
  34. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    1행이 N 바이트로 구성되는 복수행의 데이터에 대하여, 각 행에 오류 정정 부호(PI)(P 바이트)를 생성하여 부가하는 PI 생성 및 부가 수단과,
    상기 PI 생성 및 부가 수단으로 얻어진 1행이 N + P 바이트로 구성되는 PI 오류 정정 부호를 부가한 데이터를 저장하는 버퍼 메모리와,
    M 행 X (N + P) 열의 [M X (N + P)] 바이트로 구성되는 오류 정정 부호(PI)를 부가한 정보 데이터 블록을 K개 집합시켜, [K X (M X (N + P)] 바이트의 집합 정보 데이터 블록으로 하고, 상기 버퍼 메모리를 이용하여 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가한 오류 정정 곱셈 블록(ECC 블록)으로 하는 PO 생성 및 부가 수단과,
    상기 버퍼 메모리로부터 상기 데이터를 독출하여 전송하기 전에, 각 행에 부가된 오류 정정 부호(PI)를 이용하여 각 행의 오류 정정을 행하는 PI 오류 정정 수단과,
    상기 PI 오류 정정 수단에서, 상기 오류 정정 부호(PO)가 존재하는 행의 오류 정정이 실행될 때, 오류 정정 가능한 오류 수를 초과한 것을 검출하는 경우, 상기 버퍼 메모리의 제1 영역에 기억된 상기 [K X (M X (N + P)] 바이트의 집합 정보 데이터 블록을 상기 버퍼 메모리의 제2 영역으로 이동하고,
    상기 제2 영역에 있는 상기 [K X (M X (N + P)] 바이트의 집합 정보 데이터 블록에 대하여, 상기 PO 생성 및 부가 수단을 걸쳐 각 열에 오류 정정 부호(PO)의 S 바이트를 생성 및 부가하는 제어 수단을 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  35. 오류 정정 부호(PI)가 부가된 [K X M X (N + P)] 바이트의 집합 정보 데이터 블록과, [S X (N + P)] 바이트의 오류 정정 부호(PO)가 전송 수단 또는 기록 매체로부터 수신된 경우,
    [단, 상기 집합 정보 데이터 블록은 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록이 K개 집합한 {K×(M×N)} 바이트의 집합 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트가 부가되고, 또한, 상기 오류 정정 부호(PO)의 블록은 상기 집합 데이터 블록 및 상기 오류 정정 부호(PI)의 블록의 각 열에 오류 정정 부호(PO)의 S 바이트가 생성된 것]
    버퍼 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 집합 데이터 블록의 오류 데이터 바이트에 대하여 제1의 오류 정정 처리를 행하는 제1 수단과,
    상기 제1의 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 상기 버퍼 메모리보다 작은 용량의 소형 메모리를 이용하여 다시 상기 오류 정정 부호(PI)에의해 실행하는 제2의 오류 정정 처리를 행하는 제2 수단과,
    상기 제2 수단에 의해 PI 계의 오류 정정이 실행될 때, 오류가 검출된 데이터가 저장되어 있는 상기 버퍼 메모리의 메모리 영역의 정보를 기억하고, 반복하여 오류가 검출된 데이터가 저장되어 있는 상기 버퍼 메모리의 메모리 영역을 각 메모리 영역으로 대체하는 메모리 제어 수단을 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
  36. 오류 정정 부호를 이용하는 데이터 처리 장치에 있어서,
    오류 정정 곱셈 블록(ECC 블록)이 전송 수단 또는 기록 매체로부터 전송되는 경우,
    [단, 상기 ECC 블록은 M행×N열의 (M×N) 바이트로 구성되는 데이터 블록의 각 행에 오류 정정 부호(PI)의 P 바이트를 생성 및 부가하고, M행×(N+P)열의 {M×(N+P)} 바이트로 구성되는 오류 정정 부호(PI)를 부가한 정보 데이터 블록을 K개 집합시켜 [K×{M×(N+P)}] 바이트의 집합 정보 데이터 블록으로 하며, 상기 집합 정보 데이터 블록의 각 열에 오류 정정 부호(PO)의 (S=K×Q) 바이트를 생성 및 부가하고, 상기 오류 정정 부호(PO)를 Q 바이트마다, 상기 오류 정정 부호(PI)가 부가된 K개의 각 정보 데이터 블록에 분산 배치시킴으로써, 각 정보 데이터 블록은 정보 데이터와 오류 정정 부호에 의해 구성되는 일정치 (M+Q)×(N+P) 바이트가 되도록 구성되어 있는 ECC 블록],
    버퍼 메모리를 이용하여 상기 오류 정정 부호(PI 및 PO)에 의해 상기 데이터블록의 에러 데이터 바이트의 제1 오류 정정 처리를 행하는 제1 수단과,
    상기 제1의 오류 정정 처리를 행한 후의 데이터에 대하여, 추가로 상기 버퍼 메모리 보다 작은 용량의 소형 메모리를 이용하여 상기 오류 정정 부호(PI)에 의해 행에 대한 제2의 오류 정정 처리를 다시 행하는 제2 수단과,
    상기 제2 수단에 의해 PI 정정이 실행되었을 때, 오류 정정 가능한 오류 수를 초과한 것을 검출한 경우, 상기 오류 정정 부호(PI)가 부가되기 전의 데이터를 상기 전송 수단 또는 상기 기록 매체에 다시 요구하여 상기 오류 정정 부호(PI)가 부가된 데이터로 하고, 상기 데이터를 상기 버퍼 메모리에 저장하는 경우에는 전회 (前回)의 상기 데이터를 저장한 제1의 기억 영역과 다른 제2의 기억 영역을 지정하는 제어 수단을 포함하는 것을 특징으로 하는 오류 정정 부호를 이용한 데이터 처리 장치.
KR10-2001-0078530A 2000-12-12 2001-12-12 오류 정정 부호를 이용한 데이터 처리 방법 및 그 방법을이용한 장치 KR100482939B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000377838A JP3619151B2 (ja) 2000-12-12 2000-12-12 誤り訂正符号を用いたデータ処理方法とその方法を用いた装置
JPJP-P-2000-00377838 2000-12-12
JP2000401172A JP3519684B2 (ja) 2000-12-28 2000-12-28 誤り訂正符号を用いたデータ処理装置
JPJP-P-2000-00401172 2000-12-28

Publications (2)

Publication Number Publication Date
KR20020046979A true KR20020046979A (ko) 2002-06-21
KR100482939B1 KR100482939B1 (ko) 2005-04-15

Family

ID=26605688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0078530A KR100482939B1 (ko) 2000-12-12 2001-12-12 오류 정정 부호를 이용한 데이터 처리 방법 및 그 방법을이용한 장치

Country Status (5)

Country Link
US (1) US6983413B2 (ko)
EP (1) EP1223578A3 (ko)
KR (1) KR100482939B1 (ko)
CN (1) CN1199178C (ko)
TW (1) TW579499B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030059914A (ko) * 2002-01-03 2003-07-12 삼성전자주식회사 에러 정정 코드 블럭 생성 방법 및 장치와 그것이 적용된광 저장매체
KR100604909B1 (ko) * 2004-10-11 2006-07-28 삼성전자주식회사 가변적인 반복 에러 정정 횟수를 갖는 디지털 신호 처리방법
WO2013157693A1 (ko) * 2012-04-19 2013-10-24 조선대학교산학협력단 자가치유형 오류 허용 에프피지에이 연산 유닛 및 구조
US9720766B2 (en) 2012-04-19 2017-08-01 Industry-Academic Cooperation Foundation Chosun University Self-healing, fault-tolerant FPGA computation and architecture

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3752995B2 (ja) * 2000-09-27 2006-03-08 日本ビクター株式会社 情報記録再生装置
TWI227869B (en) * 2002-11-04 2005-02-11 Mediatek Inc Data coding method and system
JP2004206798A (ja) * 2002-12-25 2004-07-22 Ricoh Co Ltd 光ディスク装置のエンコードデータ符号回路
CN100466086C (zh) * 2003-06-13 2009-03-04 联发科技股份有限公司 数据编码方法及系统
FR2861517B1 (fr) * 2003-10-23 2006-01-27 Thomson Licensing Sa Methode de reconstruction de paquets perdus et appareils implementant la methode
US7543218B2 (en) * 2004-01-31 2009-06-02 Samsung Electronics Co., Ltd. DVD decoding method and apparatus using selective po-correction
US7480828B2 (en) 2004-06-10 2009-01-20 International Business Machines Corporation Method, apparatus and program storage device for extending dispersion frame technique behavior using dynamic rule sets
JP4095587B2 (ja) * 2004-06-30 2008-06-04 株式会社東芝 データ処理装置及びデータ処理方法
US7899986B2 (en) * 2004-11-10 2011-03-01 Nokia Corporation Method and system for controlling a hard disk drive using a multimediacard physical interface
JP4643978B2 (ja) 2004-12-01 2011-03-02 ルネサスエレクトロニクス株式会社 スクランブル回路、デ・スクランブル回路及び方法、並びにディスク装置
US7725779B2 (en) * 2005-01-25 2010-05-25 Ternarylogic Llc Multi-valued scrambling and descrambling of digital data on optical disks and other storage media
TW200641802A (en) * 2005-05-17 2006-12-01 Realtek Semiconductor Corp Method and apparatus for accessing data stored on an optical disc
US7774676B2 (en) * 2005-06-16 2010-08-10 Mediatek Inc. Methods and apparatuses for generating error correction codes
US7430701B2 (en) * 2005-06-16 2008-09-30 Mediatek Incorporation Methods and systems for generating error correction codes
KR100688574B1 (ko) * 2005-09-16 2007-03-02 삼성전자주식회사 광디스크의 데이터 처리장치 및 처리방법
JP2008033995A (ja) * 2006-07-26 2008-02-14 Matsushita Electric Ind Co Ltd メモリシステム
KR100840195B1 (ko) * 2006-11-28 2008-06-23 쎄텍 주식회사 표준 dvd 디스크 제작시 읽기 에러 생성 방법
CN100458718C (zh) * 2006-12-29 2009-02-04 福昭科技(深圳)有限公司 一种闪存存储装置及其数据读取和写入方法
CN101651448B (zh) * 2009-09-04 2013-05-01 京信通信系统(中国)有限公司 一种用于保护功率放大器的数据信息的方法及系统
JP2013109567A (ja) * 2011-11-21 2013-06-06 Toshiba Corp ストレージデバイス及び誤り訂正方法
US10221553B2 (en) 2012-10-02 2019-03-05 As Ip Holdco, Llc Toilet flush valve assemblies
US20150311921A1 (en) * 2014-04-25 2015-10-29 Kabushiki Kaisha Toshiba Memory controller, storage device and decoding method
US10541780B2 (en) * 2015-03-15 2020-01-21 Qualcomm Incorporated Code block level error correction and media access control (MAC) level hybrid automatic repeat requests to mitigate bursty puncturing and interference in a multi-layer protocol wireless system
CN107453759B (zh) * 2016-06-01 2020-08-28 卡斯柯信号有限公司 安全编码系统中数据延时发送安全处理方法
KR102511903B1 (ko) * 2018-02-26 2023-03-21 에스케이하이닉스 주식회사 고정된 에러정정능력의 에러정정코드 엔진을 이용하여 재구성할 수 있는 에러정정동작을 수행하는 메모리 시스템
US10877835B2 (en) 2018-07-19 2020-12-29 Micron Technology, Inc. Write buffer management
US11914469B2 (en) * 2021-07-16 2024-02-27 Vmware, Inc. Resiliency and performance for cluster memory
US11789813B2 (en) * 2021-12-16 2023-10-17 Micron Technology, Inc. Memory device crossed matrix parity

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525308A (en) 1983-05-20 1985-06-25 Pennwalt Corporation Hydroxy-t-alkyl peroxyesters
JPS60176136A (ja) 1984-02-23 1985-09-10 Fujitsu Ltd 磁気記録再生装置におけるデ−タの記録方法
US5247523A (en) * 1989-07-12 1993-09-21 Hitachi, Ltd. Code error correction apparatus
DE4033981A1 (de) 1989-10-26 1991-05-02 Olympus Optical Co Speicherkartenvorrichtung mit einem halbleiterspeicher
JPH04205133A (ja) 1990-11-30 1992-07-27 Hitachi Ltd ディスク制御装置
JP3314387B2 (ja) 1991-04-22 2002-08-12 日本電気株式会社 磁気テープ制御装置
US6125466A (en) * 1992-01-10 2000-09-26 Cabletron Systems, Inc. DRAM parity protection scheme
KR0150971B1 (ko) * 1993-05-31 1998-10-15 김광호 디지탈 자기기록재생장치 및 방법
KR0155736B1 (ko) * 1993-07-16 1998-12-15 김광호 디지탈 기록재생방법 및 장치
DE69427685T2 (de) * 1993-09-29 2002-04-25 Sony Corp Verfahren und vorrichtung zur datenwiedergabe
KR100224806B1 (ko) * 1994-01-31 1999-10-15 윤종용 디지탈영상재생시스템의 에러정정 장치
KR100255105B1 (ko) * 1995-04-12 2000-05-01 마츠시타 덴끼 산교 가부시키가이샤 에러정정곱부호블록을생성하기위한데이타처리방법,그데이타를기록매체에기록하기위한데이타처리방법,그데이타처리장치및그데이타가기록된광디스크재생장치
JPH08335370A (ja) * 1995-06-07 1996-12-17 Sony Corp データ記録方法及び再生方法
JP3562544B2 (ja) * 1996-08-13 2004-09-08 ソニー株式会社 復号化装置および復号化方法
KR100196927B1 (ko) * 1996-11-08 1999-06-15 윤종용 디지털 영상신호 기록/재생장치의 오류정정방법
KR19980065723A (ko) * 1997-01-14 1998-10-15 김광호 디지탈 비디오 디스크 시스템의 데이타 처리 방법 및 장치
JPH113290A (ja) 1997-06-11 1999-01-06 Hitachi Ltd メモリ制御方式
KR100223821B1 (ko) * 1997-06-18 1999-10-15 구자홍 디지탈 비데오 디스크 시스템의 에러정정 회로 및 방법
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
KR100272541B1 (ko) * 1997-07-25 2000-12-01 구자홍 디지탈비데오디스크-롬용데이터디코더
KR100257196B1 (ko) * 1997-09-02 2000-06-01 구자홍 디지탈 비데오 디스크-롬용 데이터 디코딩 장치
US6041430A (en) * 1997-11-03 2000-03-21 Sun Microsystems, Inc. Error detection and correction code for data and check code fields
KR100272708B1 (ko) * 1997-12-30 2000-11-15 전주범 D-vhs시스템에서 셔플링을 이용한 디지털 데이터의 코딩/디코딩 방법
EP0939403A3 (en) 1998-02-25 1999-11-17 Matsushita Electric Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
US6718506B1 (en) * 2000-10-02 2004-04-06 Zoran Corporation High speed DVD error correction engine

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030059914A (ko) * 2002-01-03 2003-07-12 삼성전자주식회사 에러 정정 코드 블럭 생성 방법 및 장치와 그것이 적용된광 저장매체
KR100604909B1 (ko) * 2004-10-11 2006-07-28 삼성전자주식회사 가변적인 반복 에러 정정 횟수를 갖는 디지털 신호 처리방법
WO2013157693A1 (ko) * 2012-04-19 2013-10-24 조선대학교산학협력단 자가치유형 오류 허용 에프피지에이 연산 유닛 및 구조
US9720766B2 (en) 2012-04-19 2017-08-01 Industry-Academic Cooperation Foundation Chosun University Self-healing, fault-tolerant FPGA computation and architecture

Also Published As

Publication number Publication date
EP1223578A3 (en) 2008-07-16
EP1223578A2 (en) 2002-07-17
KR100482939B1 (ko) 2005-04-15
CN1359103A (zh) 2002-07-17
US20020073376A1 (en) 2002-06-13
TW579499B (en) 2004-03-11
CN1199178C (zh) 2005-04-27
US6983413B2 (en) 2006-01-03

Similar Documents

Publication Publication Date Title
KR100482939B1 (ko) 오류 정정 부호를 이용한 데이터 처리 방법 및 그 방법을이용한 장치
AU604836B2 (en) Method and apparatus for error correction
US6553533B2 (en) Method and apparatus for detecting and correcting errors and erasures in product ECC-coded data arrays for DVD and similar storage subsystems
EP1125294B1 (en) Multi-level error detection and correction technique for data storage recording device
KR100430657B1 (ko) 신호 처리 장치
US20070094572A1 (en) Data processing method and apparatus, recording medium, reproducing method and apparatus using the same method
JPS6276825A (ja) 符号誤り訂正方法
US8037389B2 (en) Method and apparatus to data encode and decode, storage medium having recorded thereon program to implement the method, and system to drive the storage medium
KR100539261B1 (ko) 디지털 데이터의 부호화 장치와 dvd로의 기록 장치 및그 방법
JP4140344B2 (ja) 復号化装置及びコンピュータプログラム
US5325364A (en) Method for error correction and circuit for realizing same
JP3619151B2 (ja) 誤り訂正符号を用いたデータ処理方法とその方法を用いた装置
JP3519684B2 (ja) 誤り訂正符号を用いたデータ処理装置
US7213190B2 (en) Data processing apparatus and method
JP4112520B2 (ja) 訂正符号生成装置、訂正符号生成方法、誤り訂正装置、および誤り訂正方法
JP2000010807A (ja) ディジタルデータ再生装置
JP2664267B2 (ja) 符号誤り訂正装置
JP3651332B2 (ja) データ処理方法およびデータ処理装置
JP2006191378A (ja) 誤り訂正装置、再生装置及び再生方法
JP2003173633A (ja) 光ディスク装置
JP2004152337A (ja) 記録再生装置及びコンピュータプログラム並びに送受信システム
JPH07112160B2 (ja) 誤り訂正符号の復号方法
JP2003203420A (ja) デジタル情報記録再生装置
JPS63298776A (ja) エラ−訂正処理方式
JPS6320921A (ja) エラ−訂正方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090330

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee