KR101254185B1 - 엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법 - Google Patents

엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법 Download PDF

Info

Publication number
KR101254185B1
KR101254185B1 KR1020060073257A KR20060073257A KR101254185B1 KR 101254185 B1 KR101254185 B1 KR 101254185B1 KR 1020060073257 A KR1020060073257 A KR 1020060073257A KR 20060073257 A KR20060073257 A KR 20060073257A KR 101254185 B1 KR101254185 B1 KR 101254185B1
Authority
KR
South Korea
Prior art keywords
extra
ecc
data
block
storage medium
Prior art date
Application number
KR1020060073257A
Other languages
English (en)
Other versions
KR20080012446A (ko
Inventor
황성희
정현권
권준환
박현정
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060073257A priority Critical patent/KR101254185B1/ko
Priority to US11/623,813 priority patent/US7975207B2/en
Priority to TW096116449A priority patent/TWI345770B/zh
Priority to CN2007800254326A priority patent/CN101484945B/zh
Priority to PCT/KR2007/003437 priority patent/WO2008016226A1/en
Publication of KR20080012446A publication Critical patent/KR20080012446A/ko
Application granted granted Critical
Publication of KR101254185B1 publication Critical patent/KR101254185B1/ko

Links

Images

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
    • 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
    • G11B20/1866Error detection or correction; Testing, e.g. of drop-outs by interleaving
    • 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
    • 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
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명에 따라 엑스트라 ECC가 적용된 정보 저장 매체에 데이터 기록/재생 장치 및 방법이 개시된다. 본 발명에 따른 기록 장치는, 상기 정보 저장 매체의 엑스트라 ECC 적용 여부를 결정하고, 상기 정보 저장 매체에 기록될 데이터에 대응하는 엑트라 패리티 데이터 블록을 생성하도록 엑스트라 ECC 인코더를 제어하는 엑스트라 ECC 콘트롤러와, 상기 엑스트라 ECC 콘트롤러의 제어에 따라 상기 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 ECC 인코더를 포함하며, 상기 엑스트라 ECC 인코더는, 상기 정보 저장 매체에 기록될 데이터에 기초하여 엑스트라 ECC 데이터 블록을 생성하고, 상기 생성된 엑스트라 ECC 데이터 블록을 에러 정정 부호화하여 적어도 하나 이상의 엑스트라 패리티를 생성하는 엑스트라 패리티 생성기와, 상기 적어도 하나 이상의 엑스트라 패리티를 인터리빙하여 상기 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 패리티 인터리버를 포함한다.

Description

엑스트라 ECC가 적용된 정보 저장 매체에 데이터를 기록하거나 상기 매체로부터 데이터를 재생하는 장치 및 방법{Apparatus for recording data in information recording medium in which extra ECC is applied or reproducing data from the medium, and the method therefor}
도 1은 본 발명에 따른 엑스트라 ECC를 설명하기 위한 참고도,
도 2는 본 발명에 따라 엑스트라 ECC가 적용된 정보 저장 매체에 데이터를 기록하거나 상기 매체로부터 데이터를 재생하는 장치의 블록도,
도 3은 도 2에 도시된 엑스트라 ECC 인코더/디코더의 세부 구성도,
도 4는 본 발명에 따라 엑스트라 ECC를 적용하여 정보 저장 매체에 데이터를 기록하는 방법의 흐름도,
도 5는 본 발명에 따라 엑스트라 ECC를 적용하여 정보 저장 매체로부터 데이터를 재생하는 방법의 흐름도,
도 6은 본 발명에 의한 DVD의 엑스트라 패리티 ECC 블록 생성 개념도,
도 7은 본 발명에 의한 BD의 엑스트라 패리티 ECC 블록 생성 개념도,
도 8은 본 발명에 따라 물리적 드라이브에 의해 엑스트라 ECC를 운용하기 위한 기록/재생 장치 블록도,
도 9는 도 8에 도시된 기록/재생 장치에서의 기록 동작 흐름도,
도 10은 도 8에 도시된 기록/재생 장치에서의 재생 동작 흐름도,
도 11은 본 발명에 따라 파일시스템 드라이브에 의해 엑스트라 ECC를 운용하기 위한 기록/재생 장치 블록도,
도 12는 도 11에 도시된 기록/재생 장치에서의 기록 동작 흐름도,
도 13은 도 11에 도시된 기록/재생 장치에서의 재생 동작 흐름도,
도 14는 본 발명에 따라 물리적 드라이브와 파일시스템 드라이브에 의해 엑스트라 ECC를 운용하기 위한 기록/재생 장치 블록도의 일 예,
도 15는 도 14에 도시된 기록/재생 장치에서의 기록 동작 흐름도의 일 예,
도 16은 도 14에 도시된 기록/재생 장치에서의 재생 동작 흐름도의 일 예,
도 17은 도 14에 도시된 기록/재생 장치에서의 기록 동작 흐름도의 다른 예,
도 18은 도 14에 도시된 기록/재생 장치에서의 재생 동작 흐름도의 다른 예,
도 19는 본 발명에 따른 정보 저장 매체의 일 예.
본 발명은 데이터가 에러 정정 부호화되어 저장되는 정보 저장매체에 데이터를 기록하거나 상기 매체로부터 데이터를 재생하는 방법 및 장치에 관한 것이다.
DVD, HD DVD, Blu-ray와 같은 기존의 광 디스크 시스템에서 규격화된 ECC 포맷은 스크래치나 지문 같은 버스트 에러(burst error)와 먼지와 같은 랜덤 에러(random error)에 대한 에러 정정 능력 성능은 정해진다. 디스크를 사용할수록 기록 파워나 재생 파워의 영향으로 또한 사용자의 디스크 관리 상황에 따라 먼지, 스크래치, 지문 등으로 인하여 디스크상에 기록된 데이터의 신뢰성은 점점 악화된다. 특히, 디스크의 표면에 물리적인 상처로 인하여 발생하는 스크래치와 같은 버스트 에러는 데이터의 신뢰성에 치명적이며, 디스크 표면상에 발생한 물리적인 상처로 인한 데이터의 신뢰성은 회복되기 어렵다.
현재의 DVD는 ECC 포맷의 16 rows(16*182+10바이트)에 해당하는 길이의 연속적인 에러를 정정할 수 있다. 물론 이러한 정정가능한 연속적인 길이는 기록 밀도에 따라 그 물리적인 길이는 달라질 수 있다. DVD의 경우 약 6mm, HD DVD의 경우 6.4 mm, Blu-ray 의 경우 약 9 mm에 해당하는 물리적인 길이에 해당하는 연속적인 에러를 정정할 수 있다.
이와 같이 디스크의 계속적인 사용에 따른 디스크의 열화 현상으로 디스크의 상태가 점점 더 악화되고, 또한 스크래치나 지문과 같은 연속적인 에러들로 인하여 데이터 신뢰성은 저하되고 이로 인하여 디스크의 수명은 단축된다. 특히 기록될 당시에는 데이터의 신뢰성이 좋다가도 이미 기록된 데이터에 위의 스크래치와 같은 디스크 표면상의 물리적인 상처는 데이터 재생시 에러 정정이 실패할 확률이 굉장히 높아진다. 스크래치와 같은 디스크 표면상의 물리적인 상처는 기록 재생을 위한 픽업의 대물렌즈가 디스크 표면과 충돌하여 발생할 수도 있고 사용자의 관리 부주의로 발생할 수도 있다. 이로 인하여 데이터의 신뢰성 저하로 인하여 재생시 에러정정될 수 없다면 사용자가 기록한 데이터의 정보는 손실되고 만다.
또한 이러한 데이터의 신뢰성 저하를 위해 기존의 ECC 포맷과의 호환성을 무 시한 새로운 ECC 포맷으로 데이터를 기록한다면 이미 출시된 기존 제품과의 재생 호환성이 보장되지 않아 사용자에게 디스크 사용에 있어 많은 제약을 줄 수 밖에 없다.
본 발명은 상기와 같은 문제점을 해결하여 기존의 ECC 포맷과 호환성을 유지하면서 데이터의 기록/재생의 신뢰성을 높일 수 있도록 하는 기록/재생 장치 및 방업을 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 기록 장치에 있어서, 상기 정보 저장 매체의 엑스트라 ECC 적용 여부를 결정하고, 상기 정보 저장 매체에 기록될 데이터에 대응하는 엑트라 패리티 데이터 블록을 생성하도록 엑스트라 ECC 인코더를 제어하는 엑스트라 ECC 콘트롤러와, 상기 엑스트라 ECC 콘트롤러의 제어에 따라 상기 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 ECC 인코더를 포함하며, 상기 엑스트라 ECC 인코더는, 상기 정보 저장 매체에 기록될 데이터에 기초하여 엑스트라 ECC 데이터 블록을 생성하고, 상기 생성된 엑스트라 ECC 데이터 블록을 에러 정정 부호화하여 적어도 하나 이상의 엑스트라 패리티를 생성하는 엑스트라 패리티 생성기와, 상기 적어도 하나 이상의 엑스트라 패리티를 인터리빙하여 상기 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 패리티 인터리버를 포함하는 것이다.
본 발명의 다른 특징은, 데이터와 엑스트라 패리티 데이터 블록이 에러 정정 부호화되어 저장된 정보 저장 매체를 위한 재생 장치에 있어서, 상기 정보 저장 매체에 엑스트라 ECC를 적용하여 데이터를 재생할지를 결정하고, 상기 정보 저장 매체로부터 재생하고자 하는 데이터에 대응하는 엑스트라 패리티 데이터 블록을 얻는 엑스트라 ECC 콘트롤러와, 상기 얻어진 엑스트라 패리티 데이터 블록을 디인터리빙하여 적어도 하나 이상의 엑스트라 패리티들을 얻는 엑스트라 패리티 디인터리버와, 재생하고자 하는 데이터를 위한 ECC 블록으로부터 생성된 엑스트라 ECC 데이터 블록에 상기 엑스트라 패리티들을 결합하여 엑스트라 ECC 블록을 생성하고, 상기 엑스트라 ECC 블록을 에러 정정하는 엑스트라 ECC 블록 디코더와, 상기 에러 정정된 엑스트라 ECC 블록로부터 얻어진 엑스트라 ECC 데이터 블록을 대응하는 ECC 블록에 업데이트하는 엑스트라 ECC 블록 업데이터와, 상기 업데이트된 ECC 블록을 에러 정정하는 ECC 디코더를 포함하는 것이다.
본 발명의 또 다른 특징은, 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 기록 장치에 있어서, 데이터 기록 명령을 물리적 드라이브로 전송하는 파일 시스템 드라이브와, 상기 파일 시스템 드라이브로부터 데이터 기록 명령을 수신하고 상기 데이터에 대응하는 엑스트라 패리티 데이터 블록을 생성하여 상기 정보 저장 매체에 기록하며, 엑스트라 ECC의 관리를 운용하는 물리적 드라이브를 포함하는 것이다.
본 발명의 또다른 특징은, 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 재생 장치에 있어서, 데이터 재생 명령을 물리적 드라이브로 전송 하는 파일 시스템 드라이브와, 상기 파일 시스템 드라이브로부터 데이터 재생 명령을 수신하고, 상기 데이터에 대응하는 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체로부터 독출하여 에러 정정하고, 에러 정정된 데이터를 상기 파일 시스템 드라이브로 전송하는 물리적 드라이브를 포함하는 것이다.
본 발명의 또 다른 특징은, 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 기록 장치에 있어서, 사용자 데이터의 에러 정정 부호화된 ECC 블록의 적어도 일부를 파일 시스템 드라이브로 송수신하는 물리적 드라이브와, 상기 물리적 드라이브로부터 상기 에러 정정 부호화된 ECC 블록의 적어도 일부를 수신하여 엑스트라 패리티 데이터 블록을 생성하며 엑스트라 ECC 기록을 운용하는 파일 시스템 드라이브를 포함하는 것이다.
본 발명의 또 다른 특징은, 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 재생 장치에 있어서, 파일 시스템 드라이브의 데이터 재생 명령에 따라 사용자 데이터에 대응하는 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체로부터 독출하여 상기 파일 시스템 드라이브로 전송하는 물리적 드라이브와, 상기 물리적 드라이브로부터 수신된 상기 엑스트라 패리티 데이터 블록을 에러 정정하며, 엑스트라 ECC의 관리를 운용하는 파일 시스템 드라이브를 포함하는 것이다.
본 발명의 또 다른 특징은, 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 기록 장치에 있어서, 사용자 데이터에 대한 엑스트라 패리티 데이터 블록을 생성하도록 물리적 드라이브에 명령하는 파일 시스템 드라이브와, 파일 시스템 드라이브의 제어에 따라 상기 사용자 데이터로부터 상기 엑스트라 패리티 데이터 블록을 생성하여 상기 정보 저장 매체에 기록하는 물리적 드라이브를 포함하며, 엑스트라 ECC의 운용을 위해 상기 파일 시스템 드라이브와 상기 물리적 드라이브가 협동하는 것이다.
본 발명의 또 다른 특징은, 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 재생 장치에 있어서, 상기 정보 저장 매체로부터 사용자 데이터를 재생하도록 물리적 드라이브에 명령하는 파일 시스템 드라이브와, 파일 시스템 드라이브의 제어에 따라 상기 정보 저장 매체로부터 상기 사용자 데이터에 대응하는 엑스트라 패리티 데이터 블록을 독출하여 에러 정정하고, 에러 정정된 데이터를 파일 시스템 드라이브로 전송하는 물리적 드라이브를 포함하며, 엑스트라 ECC의 운용을 위해 상기 파일 시스템 드라이브와 상기 물리적 드라이브가 협동하는 것이다.
본 발명의 또 다른 특징은, 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체에 데이터를 기록하는 방법에 있어서, 상기 정보 저장 매체의 엑스트라 ECC 적용 여부를 결정하는 단계와, 엑스트라 ECC를 적용하는 것으로 결정한 경우에 상기 정보 저장 매체에 기록될 데이터에 기초하여 엑스트라 ECC 데이터 블록을 생성하고, 상기 생성된 엑스트라 ECC 데이터 블록을 에러 정정 부호화하여 적어도 하나 이상의 엑스트라 패리티를 생성하는 단계와, 상기 적어도 하나 이상의 엑스트라 패리티를 인터리빙하여 상기 엑스트라 패리티 데이터 블록을 생성하여 상기 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체에 기록하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 데이터와 엑스트라 패리티 데이터 블록이 에러 정정 부호화되어 저장된 정보 저장 매체로부터 데이터를 재생하는 방법에 있어서, 상기 정보 저장 매체에 엑스트라 ECC를 적용하여 데이터를 재생할지를 결정하는 단계와, 상기 정보 저장 매체로부터 재생하고자 하는 데이터에 대응하는 엑스트라 패리티 데이터 블록을 독출하고, 상기 독출된 엑스트라 패리티 데이터 블록을 디인터리빙하여 적어도 하나 이상의 엑스트라 패리티들을 얻는 단계와, 재생하고자 하는 데이터를 위한 ECC 블록으로부터 생성된 엑스트라 ECC 데이터 블록에 상기 엑스트라 패리티들을 결합하여 엑스트라 ECC 블록을 생성하고, 상기 엑스트라 ECC 블록을 에러 정정하는 단계와, 상기 에러 정정된 엑스트라 ECC 블록으로부터 얻어진 엑스트라 ECC 데이터 블록을 대응하는 ECC 블록에 업데이트하는 단계와, 상기 업데이트된 ECC 블록을 에러 정정하는 단계를 포함하는 것이다.
이제, 첨부된 도면들을 참조하여 본 발명을 상세히 설명한다.
기존의 규격화된 ECC 포맷과의 재생 호환성을 보장하면서 데이터 신뢰성 저하를 극복하기 위한 방안으로, 기록하고자 하는 사용자 데이터는 기존의 규격화된 ECC 블록으로 기록을 수행하고, 또한 ECC 블록들의 추가적인 에러 정정을 위해 생성된 엑스트라 패리티 데이터 블록과 이를 관리하기 위한 엑스트라 ECC 관리 정보가 저장된, 엑스트라 ECC가 적용된 정보 저장 매체를 제공하는 것이다. 또한, 이러한 엑스트라 ECC를 적용하여 정보 저장 매체에 데이터를 기록하고, 엑스트라 ECC가 적용된 정보 저장 매체를 재생하기 위한 엑스트라 ECC 적용 기록/재생 장치에 관한 것이다.
도 1은 DVD의 RSPC에 본 발명에 의한 엑스트라 패리티와 엑스트라 패리티 ECC 블록을 생성하는 방법을 설명하기 위한 참고도이다.
도 1을 참조하면, 스텝 1,3,5,7은 기존의 규격화된 ECC 포맷인 RSPC 포맷에 맞게 ECC 블록을 생성하는 과정을 말한다.
스텝 1에서 4개의 블록, 블록 #1, 블록 #2, 블록 #3, 블록 #4가 마련된다. 각 블록은 사용자 데이터에 내부 패리티(PI)와 외부 패리티(PO)가 붙여진 ECC 블록을 나타낸다. 예를 들어, 블록 #1(110)은 사용자 데이터(100)에 내부 패리티와 외부 패리티가 붙여진 ECC 블록을 나타낸다.
스텝 2는 스텝 1에서 마련된 ECC 블록의 사용자 데이터에 대해 n 로우 단위로 블록 인터리빙하는 과정을 나타낸다. 도 1의 예에서는, 블록 #1의 짝수번째 프레임의 로우들과 블록 #2의 짝수번째 프레임의 로우들이 서로 교환되었으며, 블록 #3의 짝수번째 프레임의 로우들과 블록 #4의 짝수번째 프레임의 로우들이 서로 교환되어 있다. 예를 들면, 블록 #1의 r1b와 블록 #2의 r2b가 교환되었으며, 블록 #3의 r3b와 블록 #4의 r4b가 교환되었다.
스텝 3에서, 이와 같이 인터리빙된 각각의 사용자 블록으로부터 기존의 RSPC 포맷에 맞게 ECC 블록을 생성했을 때 그 PI 패리티들과 PO 패리티들이 본 발명에 따른 엑스트라 패리티가 된다. 예를 들어 도 1에서 인터리빙된 사용자 데이터 블록(120)(이하에서는, 이를 엑스트라 ECC 데이터 블록이라 부른다)에 엑스트라 PI 1과 엑스트라 PO 1이 붙여져서 엑스트라 ECC 블록 #1(130)이 된다.
스텝 4에서는, 스텝 3에서 생성된 적어도 하나 이상의 엑스트라 패리티들을 모은다.
스텝 5에서는, 스텝 4에서 모아진 엑스트라 패리티들로부터 기존의 RSPC 포맷에 맞게 ECC 블록을 생성한다.
스텝 6에서는, 스텝 5에서 생성된 복수개의 ECC 블록에 대해 블록 인터리빙을 수행하여 사용자 블록을 생성한다.
스텝 7에서는, 스텝 6에서 생성된 사용자 블록 즉, 엑스트라 패리티들로 이루어진 데이터 블록(140)으로부터 기존의 RSPC 포맷에 맞게 ECC 블록을 생성한다. 스텝 7에 의해 만들어진 ECC 블록을 엑스트라 패리티 ECC 블록(150)으로 부르기로 한다.
스텝 3에서 만들어진 엑스트라 패리티들을 스텝 4,5,6을 거쳐 마침내 스텝 7에서 엑스트라 패리티 ECC 블록을 구성하는 이유는, 엑스트라 ECC 블록 자체의 재생 신뢰성을 향상시키기 위함이다. 만일, 엑스트라 ECC 블록이 에러정정되지 못했을 때에는 스텝 5에 의해 생성된 내부 엑스트라 PI와 내부 엑스트라 PO에 의해 엑스트라 패리티를 복구할 수 있기 때문이다. 즉, 스텝 7의 엑스트라 ECC 블록에 발생한 에러들은 스텝 5의 두 개의 ECC 블록에 분산됨으로 해서 그 정정 확률이 그만큼 올라가기 때문이다. 물론, 도시하지는 않았지만, 스텝 3에서 생성된 엑스트라 패리티들로부터 스텝 5, 스텝 6을 스킵하여 바로 스텝 7에 의한 엑스트라 패리티 ECC 블록을 생성할 수 있다.
이제, 엑스트라 패리티를 이용한 사용자 데이터 복구 방법을 설명한다.
일반적으로 스크래치와 같은 버스트 에러(burst error)는 트랙 방향으로 발생하고, 하나의 트랙에는 대략적으로 적게는 1.5개의 ECC 블록, 많게는 4-5개의 ECC 블록이 기록된다.
예를 들어 다음과 같은 상황을 가정한다.
가정 1: DVD RSPC 포맷의 최대 버스트 에러 정정 길이는 약 6.4mm(16rows)
가정 2: 트랙 방향으로 길이가 약 12.8mm(32rows)에 해당하는 버스트 에러가 발생
가정 3: 버스트 에러를 제외한 다른 에러는 없음.
가정 4: 하나의 트랙에는 ECC 블록 #1과 ECC 블록 #2가 기록되어 있음.
위의 가정 2에 의한 버스트 에러가 정확하게 두 개의 ECC 블록에 양분되어 있지 않다면 두 개의 ECC 블록중 적어도 하나는 에러정정될 수 없을 것이다.
에러정정될 수 없는 ECC 블록이 ECC 블록 #1이라 가정하면 ECC 블록 #1에 포함되어 있는 사용자 데이터는 다음과 같이 복구된다.
드라이브 시스템은 ECC 블록 #1과 ECC 블록 #2의 에러정정 결과를 바탕으로 ECC 블록 #1이 에러정정될 수 없음을 알고, ECC 블록 #1과 ECC 블록 #2에 대응하는 엑스트라 패리티가 기록되어 있는 엑스트라 패리티 ECC 블록을 재생하여 엑스트라 패리티를 얻는다.
에러정정후의 ECC 블록 #1과 ECC 블록 #2의 사용자 데이터에 대해 도 1의 스텝 2와 동일한 블록 인터리빙을 수행하여, 인터리빙된 두 개의 블록을 생성한다. 그리고, 엑스트라 패리티 ECC 블록으로부터 얻어진 엑스트라 패리티들을 엑스트라 ECC 블록에서 대응하는 위치에 배치하여 두개의 엑스트라 ECC 블록을 생성한다. 그리고 이와 같이 생성된 엑스트라 ECC 블록을 에러 정정하고, 또한 그 사용자 데 이터를 스텝 2의 역순에 의해 디인터리빙함에 의해 ECC 블록 #1과 ECC 블록 #2의 사용자 데이터를 복구해낸다.
복구될 수 있는 이유는 다음과 같다. ECC 블록 #2의 사용자 데이터는 이미 정정되었고, 블록 인터리빙에 의해 ECC 블록 #1의 사용자 데이터내에 있는 에러들은 스텝 2에 의해 인터리빙된 두 개의 블록으로 나누어진다. 따라서, 인터리빙된 두 개의 ECC 블록에서 각각의 ECC 블록은 기껏해야 16rows의 에러를 가진다. DVD RSPC 포맷은 PO 방향의 이레이저(erasure) 정정에 의해 16 rows 에 해당하는 PI 에러들을 정정할 수 있기 때문에 두 개의 인터리빙된 ECC 블록은 둘 다 정정가능 해질 수 있다.
도 2는 본 발명에 따라 엑스트라 ECC를 적용하여 정보 저장 매체에 데이터를 기록하거나 상기 정보 저장 매체로부터 데이터를 재생하는 기록/재생 장치의 개략도를 나타낸다.
도 2를 참조하면, 기록/재생 장치는 장치 내부의 구성요소를 전반적으로 제어하며 특히 본 발명에 따른 엑스트라 ECC를 운용하는 콘트롤러(210), 사용자와의 인터페이스를 제공하는 사용자 인터페이스(220), 정보 저장 매체에 기록되는 사용자 데이터의 파일 시스템 관리를 수행하는 파일 시스템 드라이브(230), 콘트롤러(210)의 제어에 따라 정보 저장 매체에 기록되는 데이터의 에러 정정을 수행하며 특히 본 발명에 따라 엑스트라 ECC의 적용을 위해 데이터의 에러 정정을 수행하는 데이터 프로세서(240)를 포함한다.
데이터 프로세서(240)는 엑스트라 ECC 인코더/디코더(241) 및 ECC 인코더/디 코더(242)를 포함한다.
ECC 인코더/디코더(242)는 사용자 데이터를 정보 저장 매체(200)에 기록하기 위해 ECC 블록으로 인코딩하고, 정보 저장 매체(200)로부터 독출된 ECC 블록을 디코딩한다.
엑스트라 ECC 인코더/디코더(241)는 정보 저장 매체에 기록되는 데이터에 본 발명에 따른 엑스트라 ECC를 적용하기 위한 구성요소이다. 엑스트라 ECC 인코더/디코더(241)의 세부적인 구성이 도 3에 도시되어 있다.
도 3을 참조하면, 엑스트라 ECC 인코더(310)는 엑스트라 패리티 생성기(311)와 엑스트라 패리티 인터리버(312)를 포함한다.
엑스트라 패리티 생성기(311)는 사용자 데이터로부터 인코딩된 ECC 블록으로부터 엑스트라 ECC 데이터 블록을 생성하고, 생성된 엑스트라 ECC 데이터 블록에 엑스트라 패리티를 부가하여 엑스트라 ECC 블록으로 인코딩한다.
엑스트라 패리티 인터리버(312)는, 엑스트라 패리티 생성기(311)로부터 생성된 적어도 하나 이상, 예를 들어 N개의 엑스트라 ECC 블록들의 엑스트라 패리티를 모아서 미리 결정된 인터리빙 방법에 따라 인터리빙을 수행하여 엑스트라 패리티 데이터 블록을 형성한다. 이와 같이 형성된 엑스트라 패리티 데이터 블록에 에러 정정 부호화를 수행함으로써 패리티들을 붙여서 엑스트라 패리티 ECC 블록이 생성된다. 데이터 기록시는 이와 같이 생성된 엑스트라 패리티 ECC 블록을 기록하는 것이 바람직하다. 즉, 엑스트라 패리티들 자체의 재생 신뢰성을 높이기 위해 엑스트라 패리티들로 구성된 데이터를 에러 정정 부호화한 엑스트라 패티리 ECC 블록을 기록하는 것이 바람직하다. 그러나, 엑스트라 ECC를 적용하여 디코드시 실제 이용되는 것은 엑스트라 패리티들이기 때문에, 엑스트라 ECC를 활용하기 위해서는 이러한 엑스트라 패리티들을 어떤 형태로든 정보 저장 매체에 기록해두면 되기 때문이다. 따라서, 엑스트라 ECC의 적용을 위해서는 엑스트라 패리티 자체 또는 엑스트라 패리티 데이터 블록을 정보 저장 매체에 기록할 수도 있다. 이하의 설명에서는, 엑스트라 ECC 적용을 위해 정보 저장 매체에 기록해두는 데이터로서, 엑스트라 패리티, 엑스트라 패리티 데이터 블록, 엑스트라 패리티 ECC 블록을 혼용하여 사용하기로 한다.
엑스트라 ECC 디코더(320)는 엑스트라 패리티 디인터리버(321), 엑스트라 ECC 블록 디코더(322), 엑스트라 ECC 블록 업데이터(323)를 포함한다.
엑스트라 패리티 디인터리버(321)는, 데이터 재생시, 정보 저장 매체로부터 독출된 엑스트라 패리티 ECC 블록을 에러 정정하여 얻어진 엑스트라 패리티 데이터 블록을 미리 결정된 디인터리빙 방법에 따라 디인터리빙하여 대응하는 N개의 엑스트라 패리티들을 추출한다.
엑스트라 ECC 블록 디코더(322)는 재생하고자 하는 ECC 블록으로부터 엑스트라 ECC 데이터 블록을 생성하고, 상기 ECC 블록에 대응하는 엑스트라 패리티 ECC 블록의 엑스트라 패리티 데이터 블록을 디인터리빙함에 의해 추출된 N 개의 엑스트라 패리티들중 상기 ECC 블록에 해당하는 엑스트라 패리티들을 상기 엑스트라 ECC 데이터 블록과 결합시켜 엑스트라 ECC 블록을 형성한 후 상기 엑스트라 ECC 블록을 에러 정정한다.
엑스트라 ECC 블록 업데이터(323)는 엑스트라 ECC 블록 디코더(322)에 의해 정정된 엑스트라 ECC 블록내의 엑스트라 ECC 데이터 블록을 상기 대응하는 ECC 블록으로 업데이트한다.
콘트롤러(210)는 기록/재생 장치 내부의 각 구성요소가 동작하도록 제어하며, 특히 본 발명에 따라 엑스트라 ECC 적용과 관련된 기능을 제어하기 위해 엑스트라 ECC 콘트롤러(211)를 포함한다.
엑스트라 ECC 콘트롤러(211)는 엑스트라 ECC 기능과 관련된 기록/재생을 통제하고 관리한다.
사용자 데이터 기록시, 엑스트라 ECC 콘트롤러(211)는 엑스트라 ECC의 적용 여부 및 적용 비율이 미리 결정되어 있지 않다면 사용자 인터페이스를 통해 엑스트라 ECC 적용 여부 및 적용 비율을 결정하고, 엑스트라 ECC가 적용된 경우 엑스트라 패리티 ECC 블록과 엑스트라 ECC 관리 정보를 기록하기 위한 영역 할당을 명령하고 이러한 영역 할당을 관리한다. 또한 사용자 데이터의 기록에 따른 엑스트라 ECC 적용 비율에 따라 엑스트라 패리티 ECC 블록의 생성을 제어한다. 또한 엑스트라 패리티 ECC 블록의 기록과 엑스트라 ECC 관리 정보의 업데이트 및 기록을 관리한다.
재생시, 엑스트라 ECC 콘트롤러(211)는 정보 저장 매체(200)가 엑스트라 ECC가 적용된 정보 저장 매체인지를 확인하고, 엑스트라 ECC가 적용된 정보 저장 매체인 경우 엑스트라 ECC에 의한 재생 여부가 미리 결정되어 있지 않다면 사용자 인터페이스를 통해 엑스트라 ECC에 의한 재생 여부를 결정하고, 엑스트라 ECC에 의해 재생이 이루어질 경우 엑스트라 ECC 관리 정보를 재생하고, 엑스트라 ECC 관리 정보로부터 재생하고자 하는 ECC 블록들에 대한 엑스트라 패리티 ECC 블록의 재생 및 엑스트라 패리티를 이용한 상기 ECC 블록들의 에러 정정을 제어한다.
사용자 인터페이스(220)는 선택적인 구성요소로서, 정보 저장 매체(200)에 데이터를 기록하거나 상기 정보 저장 매체(200)로부터 데이터를 재생할 때 사용자와의 인터페이스를 제공한다. 특히, 본 발명에 따라 사용자 인터페이스(220)는 엑스트라 ECC 적용을 위해 엑스트라 ECC 사용자 인터페이스(221)를 포함한다. 엑스트라 ECC 사용자 인터페이스(221)는 정보 저장 매체(200)에 데이터 기록시, 정보 저장 매체의 엑스트라 ECC 적용 여부 및 적용 비율을 결정하기 위한 사용자와의 인터페이스를 제공한다. 또한, 엑스트라 ECC 사용자 인터페이스(221)는 정보저장매체(200)로부터 데이터 재생시, 정보 저장 매체(200)가 엑스트라 ECC가 적용된 정보 저장 매체인 경우 엑스트라 ECC에 의한 재생 여부를 결정하기 위한 사용자와의 인터페이스를 제공한다.
파일 시스템 드라이브(230)는 정보 저장 매체(200)에 기록되는 사용자 데이터의 파일 시스템 관리를 위한 장치로서, 엑스트라 ECC 콘트롤러(211)의 기능의 적어도 일부 및/또는 엑스트라 ECC 인코더/디코더(241)의 기능의 적어도 일부를 파일 시스템 드라이브(230)가 수행하도록 구현될 수도 있다.
또한, 본 발명에 따른 엑스트라 ECC를 위한 기록/재생 장치에서는 엑스트라 ECC 인코더/디코더(241)가 엑스트라 패리티 생성기(311), 엑스트라 패리티 인터리버(312), 엑스트라 패리티 디인터리버(321), 엑스트라 ECC 블록 디코더(322), 엑스 트라 ECC 블록 업데이터(323)를 포함시켜 엑스트라 ECC를 구현한다. 이와 같이 기존 장치 또는 시스템에 엑스트라 ECC를 위해 필요한 구성요소들을 추가로 마련함으로써 엑스트라 ECC가 적용되지 않은 기존의 정보 저장 매체 뿐만 아니라 본 발명에 따라 엑스트라 ECC가 적용된 정보 저장 매체를 사용할 수 있게 된다.
또한, 본 발명에 있어서 엑스트라 패리티 데이터 블록을 생성함에 있어서 그 생성은 사용자 데이터를 위한 적어도 하나 이상의 ECC 블록으로부터 생성되는 것에 한정하지 않는다. 즉, 엑스트라 패리티 데이터 블록을 사용자 데이터와 함께 정보 저장 매체에 저장하는 근본적인 이유는, 기존의 에러 정정 체계 아래에서 사용자 데이터를 복원할 수 없다고 하더라도 사용자 데이터의 복원을 위해 별도로 생성된 엑스트라 패리티 데이터 블록내에 있는 엑스트라 패리티를 이용하여 사용자 데이터를 복원하는데 있다. 따라서 본 발명은 ECC 블록이 아닌 사용자 데이터 자체로부터 또는 사용자 데이터가 일련의 과정(스크램블링 과정)에 의해 변형된 데이터로부터 일부 데이터를 추출하여 엑스트라 ECC 데이터 블록을 구성하여 엑스트라 ECC 블록을 생성하고 또한 엑스트라 ECC 블록의 엑스트라 패리티를 모아 엑스트라 패리티 데이터 블록을 구성할 수도 있다.
도 4는 본 발명에 따라 엑스트라 ECC를 적용하여 정보 저장 매체에 데이터를 기록하는 과정의 흐름도이다.
도 4를 참조하면, 먼저 정보 저장 매체에 엑스트라 ECC 적용 여부를 결정한다(410). 즉, 정보 저장 매체에 데이터 기록시 엑스트라 ECC를 적용하여 데이터를 인코딩할 것인지 결정하며, 또한 엑스트라 ECC를 적용하는 것으로 결정하는 경우에 는 엑스트라 ECC 적용 비율을 결정한다.
엑스트라 패리티 데이터 블록을 기록하기 위한 영역은 그 적용 비율을 크게 하면 할수록 많은 영역을 필요로 하게 된다. 예를 들어, 적용 비율을 1/N으로 한다는 것은, N 개의 사용자 데이터 블록으로부터 한개의 엑스트라 패리티 데이터 블록을 생성하는 것을 말한다. DVD RSPC의 경우 그 ECC 부가율이 약 13% 정도 이므로, N 블록에 대한 엑스트라 패리티는 N*13% 정도를 차지한다. 그리고 N*13%의 엑스트라 패리티들을 다시 ECC 인코딩함으로 N*13% 가 87%를 초과하지 않아야 된다. 그러므로, N은 6까지 가능하다. 물론, 엑스트라 패리티로써 PO 만을 활용할 경우 N은 커질 수 있다. PI 패리티의 경우 도 1의 스텝 1 단계에서 형성된 PI 패리티를 복구하는 과정에서 도 1의 스텝 3에서 활용할 수 있기 때문이다. 그러므로 전체 사용자 데이터의 1/6에 해당하는 영역이 필요하게 되므로 사용자 데이터 영역을 축소하여 디스크 외주쪽의 기록가능한 영역을 엑스트라 패리티 ECC 블록으로 할당하는 것이 바람직하다. 물론 할당후 영역 위치 정보 및/또는 크기 정보도 또한 저장해두는 것이 바람직하다.
다음, 엑스트라 패리티 데이터 블록 및 엑스트라 ECC 관리 정보를 기록할 영역을 정보 저장 매체에 할당한다(420).
다음, 사용자 데이터에 기초하여 엑스트라 ECC 블록 및 엑스트라 패리티들을 생성한다(430).
그리고 엑스트라 패리티들을 인터리빙하여 엑스트라 패리티 데이터 블록을 생성하고 이를 정보 저장 매체의 할당된 영역에 기록한다(440). 물론, 재생 신뢰 성을 위해서는 엑스트라 패리티 데이터 블록을 에러 정정 부호화하여 생성된 엑스트라 패리티 ECC 블록을 기록하는 것이 바람직하다. 엑스트라 ECC 블록, 엑스트라 패리티, 엑스트라 패리티 데이터 블록 및 엑스트라 패리티 ECC 블록을 어떻게 생성하는지는 도 1을 참조하여 상세히 설명한 바 있다.
다음, 엑스트라 ECC 관리 정보를 생성한다(450).
엑스트라 ECC 관리 정보는, 사용자 데이터를 위한 ECC 블록이 기록된 위치 정보와 사용자 데이터에 대응하는 엑스트라 패리티 데이터 블록이 기록된 위치 정보의 매핑 관계를 나타내는 정보 및 엑스트라 ECC에 관한 정보를 포함한다. 엑스트라 ECC에 관한 정보는 엑스트라 ECC의 적용 여부를 나타내는 정보, 엑스트라 ECC의 적용 비율을 나타내는 정보, 엑스트라 패리티 데이터 블록과 엑스트라 ECC 관리 정보를 기록하기 위해 할당된 영역의 위치 및/또는 크기 정보 등을 포함한다.
그리고 생성된 엑스트라 ECC 관리 정보를 정보 저장 매체의 할당된 영역에 기록한다(460).
도 5는 본 발명에 따라 엑스트라 ECC를 적용하여 정보 저장 매체로부터 데이터를 재생하는 과정의 흐름도이다.
도 5를 참조하면, 먼저 정보 저장 매체에 엑스트라 ECC 적용 여부를 확인한다(510). 즉, 정보 저장 매체에 엑스트라 ECC를 적용하여 데이터가 기록되어 있는지를 확인하고, 또한, 재생시 정보 저장 매체로부터 엑스트라 ECC를 적용하여 데이터를 재생할 것인지를 결정한다.
정보 저장 매체로부터 엑스트라 ECC를 적용하여 데이터를 재생할 것으로 결 정한 경우에 정보 저장 매체의 소정 영역으로부터 엑스트라 ECC 관리 정보를 독출한다. 이러한 엑스트라 ECC 관리 정보에는 사용자 데이터가 기록된 위치 정보와 이에 대응하는 엑스트라 패리티 데이터 블록 또는 엑스트라 패리티 ECC 블록이 기록된 위치 정보간의 매핑 관계가 포함되어 있다. 이러한 엑스트라 ECC 관리 정보를 참조하여 엑스트라 패리티 ECC 블록을 정보 저장 매체로부터 독출한다(520).
다음, 엑스트라 패리티 ECC 블록으로부터 에러 정정을 수행하여 엑스트라 패리티 데이터 블록을 얻고, 얻어진 엑스트라 패리티 데이터 블록을 디인터리빙하여 엑스트라 패리티들을 얻는다(530).
그리고, 재생하고자 하는 데이터를 위한 ECC 블록으로부터 엑스트라 ECC 데이터 블록을 생성한다(540).
생성된 엑스트라 ECC 데이터 블록에 위에서 얻어지 엑스트라 패리티들을 결합하여 생성된 엑스트라 ECC 블록을 에러 정정한다(550).
에러정정된 엑스트라 ECC 블록에 대응하는 엑스트라 ECC 데이터 블록을 ECC 블록으로 업데이트한(560).
업데이트된 ECC 블록을 에러 정정하여 재생하고자 하는 사용자 데이터를 얻는다(570).
도 6은 본 발명에 의한 DVD의 엑스트라 패리티 ECC 블록 생성 개념도이다.
엑스트라 패리티 생성기는 ECC 인코더(RSPC 인코더)에 의해 인코딩된 11개의 ECC 블록(RSPC 블록)의 각각의 ECC 블록에 대해 PI를 포함하는 상위 192 rows를 추 출하여 엑스트라 ECC 데이터 블록을 형성한다. 형성된 엑스트라 ECC 데이터 블록의 각각의 컬럼에 엑스트라 패리티 16 바이트를 부가하여 엑스트라 ECC 블록을 생성한다. 엑스트라 패리티 인터리버(312)는 11개의 엑스트라 ECC 블록내에 있는 11개의 엑스트라 패리티 PO(16*182 바이트) 블록들과 패딩 데이터를 섞어 미리 결정된 인터리빙 방법에 의해 인터리빙을 수행하여 엑스트라 패리티 데이터 블록(32KBytes)을 형성한다. 상기 생성된 엑스트라 패리티 데이터 블록은 ECC 인코더에 의해 데이터 ID, EDC, 스크램블링과 같은 일반적인 인코딩 과정을 거쳐 엑스트라 패리티 ECC 블록으로 인코딩된다.
도 7은 본 발명에 의한 BD의 엑스트라 패리티 ECC 블록 생성 개념도이다.
엑스트라 패리티 생성기는 ECC 인코더(LDC 인코더)에 의해 인코딩된 6(M=304인 경우)개의 ECC 블록(LDC 블록)의 각각의 ECC 블록에 대해 패리티를 포함하는 248 rows (또는 304 columns 의 일부 columns 에 대한 248 rows 들의 일부 rows)을 추출하여 엑스트라 ECC 데이터 블록을 형성한다. 그리고 이 형성된 엑스트라 ECC 데이터 블록 각각의 컬럼에 엑스트라 패리티 32 바이트를 부가하여 엑스트라 ECC 블록을 생성한다. 엑스트라 패리티 인터리버(312)는 6개의 엑스트라 ECC 블록 내에 있는 6개의 엑스트라 패리티(32*304 바이트) 블록들과 패딩 데이터를 섞어 미리 결정된 인터리빙 방법에 따라 인터리빙을 수행하여 엑스트라 패리티 데이터 블록(64KBytes)을 형성한다. 이와 같이 생성된 엑스트라 패리티 데이터 블록은 EDC 인코더에 의해 EDC, 스크램블링과 같은 일반적인 LDC 인코딩을 위한 과정을 거쳐 LDC 블록(엑스트라 패리티 LDC 블록)으로 인코딩된다.
이제, 엑스트라 ECC가 적용된 정보 저장 매체 및 기록/재생 장치의 운용 방법을 설명한다. 이러한 운용 방법은 도 8을 참조하여 설명될 물리적 드라이브에 의한 운용 방법, 도 11을 참조하여 설명될 파일시스템 드라이브에 의한 운용 방법, 도 14를 참조하여 설명될 물리적 드라이브와 파일 시스템 드라이브 양자에 의한 운용 방법을 포함한다. 도 8, 11, 14에 도시된 기록/재생 장치는, 도 2에 도시된 기록/재생 장치의 구성을 물리적 드라이브 및 파일 시스템 드라이브의 기능에 따라 구현한 예들이다. 즉, 도 2에 도시된 기록/재생 장치에서 수행되는 엑스트라 ECC 기능이 주로 물리적 드라이브에 의해 구현되는 경우, 파일 시스템 드라이브에 의해 구현되는 경우, 물리적 드라이브와 파일 시스템 드라이브에 의해 함께 구현되는 경우를 나타낸 것이다.
여기서, 파일 시스템 드라이브(file system drive)라 함은, 정보 저장 매체의 사용자 데이터를 위한 영역에 해당하는 논리적 볼륨 공간을 관리하며, 사용자 데이터 및 파일 시스템 정보를 포함하는 사용자 데이터를 관리하기 위한 관리 정보를 관리 운영하는 장치를 말한다. 물리적 드라이브(physical drive)라 함은, 파일 시스템 드라이브에 의한 데이터 기록 명령을 수행하여 정보 저장 매체에 데이터를 기록하고 또한 정보 저장 매체를 관리하기 위한 정보 저장 매체의 관리 정보를 관리 운영하는 장치를 말한다.
물리적 드라이브에 의한 엑스트라 ECC 운용 방법.
본 발명에 따라 물리적 드라이브에 의한 엑스트라 ECC 운용 방법이라 함은, 엑스트라 ECC가 전적으로 물리적 드라이브에 의해 관리 운용되어지는 것을 말한다. 그러므로 파일 시스템 드라이브는 엑스트라 ECC 운용 자체에 대해서는 알지 못하고 엑스트라 ECC 없이 주어진 정보 저장 매체를 단지 기존의 ECC만 적용된 정보 저장 매체를 운용하는 것처럼 운용할 뿐이다.
엑스트라 ECC를 위한 엑스트라 패리티 데이터 블록의 생성 및 기록/재생, 엑스트라 패리티를 이용한 ECC 블록의 에러 정정, 엑스트라 패리티 데이터 블록을 기록할 영역의 할당, 엑스트라 ECC 관리 정보의 생성/업데이트 및 기록/재생, 엑스트라 ECC 관리 정보를 기록할 영역 할당 등 엑스트라 ECC를 위해 기존의 정보 저장 매체에 추가되는 모든 기능들이 물리적 드라이브에 의해 관리 운용된다.
도 8은 본 발명에 따라 물리적 드라이브에 의해 엑스트라 ECC를 운용하기 위한 기록/재생 장치 블록도이다.
도 8을 참조하면, 기록/재생 장치는 파일 시스템 드라이브(820)와 물리적 드라이브(810)를 포함한다. 파일 시스템 드라이브(820)는 파일 시스템 드라이브내에서의 데이터 처리를 수행하는 논리적 데이터 프로세서(821)와, 파일 시스템 드라이브의 구성요소들을 제어하는 콘트롤러(822)와, 물리적 드라이브와의 인터페이스를 제공하는 인터페이스(823)를 포함한다. 물리적 드라이브(810)는 파일 시스템 드라이브 내부의 구성요소를 제어하는 콘트롤러(811)와, 파일시스템 드라이브와의 인터페이스를 제공하는 인터페이스(812)와, 물리적 드라이브 내에서의 데이터 처리를 수행하는 물리적 데이터 프로세서(240)를 포함한다. 물리적 데이터 프로세서(240)는 엑스트라 ECC를 적용하여 데이터를 인코드/디코드하기 위한 엑스트라 ECC 인코더/디코더(241)를 포함하며, 물리적 드라이브의 콘트롤러(811)는 엑스트라 ECC 인코더/디코더(241)를 제어하며, 엑스트라 ECC를 운용하는 엑스트라 ECC 콘트롤러(211)를 포함한다.
이제, 도 8 및 도 9를 참조하여, 물리적 드라이브에 의해 엑스트라 ECC를 운용하는 기록/재생 장치에서의 기록 동작을 설명한다.
물리적 드라이브(810)는 정보 저장 매체(200)가 물리적 드라이브에 로딩되거나 내장되어 있을 때 엑스트라 패리티 데이터 블록을 위한 영역과 엑스트라 ECC 관리 정보를 위한 영역을 정보 저장 매체(200)에 할당한다(910). 이때 파일 시스템 드라이브(820)는 엑스트라 ECC 자체를 알지 못하므로 이러한 영역들의 할당은 논리적 볼륨 공간(logical volume space) 밖에 존재하도록 할당되어져야 한다. 논리적 볼륨 공간은 파일 시스템 드라이브(820)의 기록 명령에 의해 데이터가 기록되고 또한 관리되는 영역이므로, 물리적 드라이브(810)가 기록하고 관리하는 영역은 이러한 논리적 볼륨 공간과는 구분되어져야 하기 때문이다.
파일 시스템 드라이브(820)가 물리적 드라이브(810)로 사용자 데이터 기록 명령을 내리면(920), 파일 시스템 드라이브(820)에 의한 사용자 데이터 기록 명령에 의해 물리적 드라이브(810)는 사용자 데이터를 기록함과 동시에 미리 주어진 엑스트라 ECC 적용 비율에 따라 엑스트라 ECC 콘트롤러(211)의 제어에 따라 엑스트라 ECC 인코더/디코더(241)에서 엑스트라 패리티 데이터 블록을 생성하여 상기 정보 저장 매체(200)의 할당된 영역에 기록한다(930).
또한, 엑스트라 ECC 콘트롤러(211)는 사용자 데이터가 기록된 위치 정보와 상기 사용자 데이터를 위한 엑스트라 패리티 데이터 블록이 기록된 위치 정보 사이의 매핑 관계를 나타내는 정보와 엑스트라 ECC 정의 정보를 포함하는 엑스트라 ECC 관리 정보를 생성하여 상기 정보 저장 매체(200)의 할당된 영역에 기록한다(940).
이제, 도 8 및 도 10을 참조하여, 물리적 드라이브에 의해 엑스트라 ECC를 운용하는 기록/재생 장치에서의 재생 동작을 설명한다.
정보 저장 매체(200)의 재생시, 물리적 드라이브(810)는 먼저 정보 저장 매체(200)에 엑스트라 ECC가 적용되었는지 여부를 인식하고, 정보 저장 매체(200)에 엑스트라 ECC가 적용된 경우에는 엑스트라 ECC 관리 정보 영역으로부터 엑스트라 ECC 관리 정보를 얻어 물리적 드라이브(810)의 내부 메모리에 저장하게 된다(1010). 파일 시스템 드라이브(820)가 물리적 드라이브(810)로 사용자 데이터 재생 명령을 내리면(1020), 물리적 드라이브(810)는 파일 시스템 드라이브의 명령에 의해 재생하고자하는 사용자 데이터가 기록된 위치를 접근하여 재생하게 된다. 이와 동시에 엑스트라 ECC 콘트롤러(211)는 사용자 데이터가 기록된 위치와 연결된 엑스트라 패리티 데이터 블록이 기록된 위치 정보를 엑스트라 ECC 관리 정보로부터 얻고, 또한 이 엑스트라 패리티 데이터 블록이 기록된 위치에 접근하여 엑스트라 패리티 ECC 블록을 독출한다. 그리고, 엑스트라 ECC 콘트롤러(211)의 제어에 따라 엑스트라 ECC 인코더/디코더는 독출된 엑스트라 패리티 ECC 블록을 에러정정하여 엑스트라 패리티 데이터 블록을 얻고 이러한 엑스트라 패리티 데이터 블록으로부터 상기 사용자 데이터를 위한 ECC 블록에 대응하는 엑스트라 패리티를 얻는다. 또한 엑스트라 ECC 인코더/디코더는 재생하고자 하는 사용자 데이터를 위한 ECC 블록으로부터 엑스트라 ECC 데이터 블록을 생성하고, 이 엑스트라 ECC 데이터 블록에 앞서 얻어진 엑스트라 패리티를 결합하여 엑스트라 ECC 블록으로 구성한 후 이를 정정하고, 정정된 엑스트라 ECC 데이터 블록을 ECC 블록에 업데이트한다(1030). 물리적 드라이브(810)내의 물리적 데이터 프로세서내에 있는 ECC 인코더/디코더는 업데이트된 ECC 블록을 에러정정하여 파일 시스템 드라이브(820)로 전송한다(1040).
본 발명에 의해 엑스트라 ECC를 위한 정보 저장 매체의 바람직한 구조가 도 19에 도시되어 있다.
도 19를 참조하면, 정보 저장 매체(200)는 파일 시스템 드라이브에 의해 관장되는 영역으로서, 사용자 데이터와 파일 시스템 데이터나 A/V 관리 정보와 같은 사용자 데이터의 관리를 위한 정보의 기록을 위한 사용자 데이터 영역(260), 물리적 드라이브에 의해 관장되는 정보 저장 매체 관련 관리 정보 영역(250), 본 발명에 의한 엑스트라 ECC 관리 정보를 기록하기 위한 엑스트라 ECC 관리 정보 영역(280)과 엑스트라 패리티 데이터 블록을 기록하기 위한 엑스트라 패리티 데이터 블록 영역(290)으로 구성된 엑스트라 ECC 영역(270)을 포함한다.
즉, 본 발명에 의하면 기존의 정보 저장 매체에 엑스트라 ECC를 위한 엑스트라 ECC 관리 정보 영역과 엑스트라 패리티 데이터 블록을 위한 영역이 물리적 드라이브에 의해 할당되고 또한 관리되어진다. 일반적으로 기존의 정보 저장 매체에서 정보 저장 매체 관련 정보 영역은 대부분 본연의 목적에 따라 사용되어지므로 사실 상 엑스트라 ECC를 위해 별도로 마련할 여분의 영역이 없거나 부족한 것이 사실이다. 이로 인하여 엑스트라 ECC를 위한 영역들은 사용자 데이터를 기록하기 위한 영역(260)을 활용하는 것이 바람직하다. 즉, 사용자 데이터 기록가능한 영역(260)의 일부를 엑스트라 ECC 영역(270)으로 할당하고 나머지 영역을 사용자 데이터 영역으로 할당하는 것이 바람직하다.
이와 같이 기존 시스템의 파일 시스템 드라이브의 변경 없이 물리적 드라이브의 변경만으로 기존 정보 저장 매체에 엑스트라 ECC를 적용함으로써 향후 엑스트라 ECC가 적용된 정보 저장매체가 기존의 레거시(legacy) 시스템에 로딩되더라도 정보 저장 매체의 재생 호환성을 항상 유지시킬 수 있다.
파일 시스템 드라이브에 의한 엑스트라 ECC 운용 방법.
본 발명에 따라 파일 시스템 드라이브에 의한 엑스트라 ECC 운용 방법이라 함은, 엑스트라 ECC가 전적으로 파일 시스템 드라이브(820)에 의해 관리 운용되는 것을 말한다. 즉, 엑스트라 패리티 데이터 블록의 생성 및 기록/재생, 엑스트라 패리티를 이용한 ECC 블록내에 있는 사용자 데이터의 복구, 엑스트라 패리티 데이터 블록을 기록할 영역의 할당, 엑스트라 ECC 관리 정보의 생성/업데이트 및 기록/재생, 엑스트라 ECC 관리 정보를 기록할 영역의 할당 등 엑스트라 ECC를 위해 기존의 정보 저장 매체에 추가되는 모든 기능들이 파일 시스템 드라이브에 의해 운용된다. 다만, 물리적 드라이브(810)는 적어도 에러 정정 부호화된 ECC 블록 전체 또 는 ECC 블록의 에러 정정용 패리티들을 파일 시스템 드라이브(820)로 전송하는 기능을 가지고 있으면 된다.
도 11은 본 발명에 따라 파일 시스템 드라이브에 의해 엑스트라 ECC를 운용하기 위한 기록/재생 장치 블록도이다.
도 11을 참조하면, 기록/재생 장치는 파일 시스템 드라이브(820)와 물리적 드라이브(810)를 포함한다. 파일 시스템 드라이브의 논리적 데이터 프로세서(821)는 엑스트라 ECC를 적용하여 데이터를 인코드/디코드하기 위한 엑스트라 ECC 인코더/디코더(241)를 포함하고, 파일 시스템 드라이브의 콘트롤러(822)는 엑스트라 ECC 인코더/디코더(241)를 제어하며 엑스트라 ECC를 운용하는 엑스트라 ECC 콘트롤러(211)를 포함한다.
이제, 도 11 및 도 12를 참조하여, 파일 시스템 드라이브에 의해 엑스트라 ECC를 운용하는 기록/재생 장치에서의 기록 동작을 설명한다.
정보 저장 매체(200)가 물리적 드라이브(810)에 로딩되거나 또는 내장되어 있을 때 파일 시스템 드라이브(820)는 미리 주어진 엑스트라 ECC 적용 비율에 따라 정보 저장 매체(200)에 엑스트라 패리티 데이터 블록을 위한 영역과 엑스트라 ECC 관리 정보를 위한 영역을 할당한다(1210). 이때 물리적 드라이브는 엑스트라 ECC 자체를 알지 못하므로 상기 영역들의 할당은 논리적 볼륨 공간(logical volume space)내에 존재하도록 할당되어져야 한다. 논리적 볼륨 공간은 파일 시스템 드라이브의 기록 명령에 의해 데이터가 기록되고 또한 관리됨으로 인하여 논리적 볼륨 공간은 물리적 드라이브가 관리하고 기록 명령하는 영역과는 구분되어야 하기 때문 이다.
사용자 데이터 기록을 위해 파일 시스템 드라이브(820)는 미리 주어진 엑스트라 ECC 적용 비율에 따라 사용자 데이터를 위한 엑스트라 패리티 데이터 블록을 엑스트라 ECC 콘트롤러(211)의 통제 아래 엑스트라 ECC 인코더/디코더(241)와 물리적 드라이브의 물리적 데이터 프로세서내에 있는 ECC 인코더/디코더를 활용하여 생성한다. 또한, 파일 시스템 드라이브는 사용자 데이터를 기록하고자 하는 위치 정보와 함께 물리적 드라이브에 명령을 보내 데이터 기록을 수행하고, 엑스트라 패리티 데이터 블록을 파일 시스템 드라이브에 의해 할당된 영역에서 기록하고자 하는 위치 정보와 함께 물리적 드라이브에 명령하여 기록을 수행한다(1220).
또한, 사용자 데이터가 기록된 위치 정보와 엑스트라 패리티 데이터 블록이 기록된 위치 정보 사이의 매핑관계를 나타내는 정보와 엑스트라 ECC 정의 정보를 포함하는 엑스트라 ECC 관리 정보를 생성하여, 생성된 엑스트라 ECC 관리 정보를 파일 시스템 드라이브에 의해 할당된 영역에 기록하도록 하는 기록 명령을 물리적 드라이브(810)에 내린다(1230). 이때 엑스트라 ECC 관리 정보는 일종의 사용자 데이터 관리 정보이지만 파일 시스템 입장에서는 관리되어져할 데이터이므로 파일 시스템 드라이브 입장에서는 관리되어져야 할 데이터이므로 파일 시스템 데이터 내에서 함께 관리되어져야 한다. 이렇게 함으로써 파일 시스템 데이터로부터 파일 시스템 드라이브내의 엑스트라 ECC 콘트롤러는 엑스트라 ECC가 적용되어 있는지 여부를 알 수 있게 된다.
이제, 도 11 및 도 13을 참조하여, 파일시스템 드라이브에 의해 엑스트라 ECC를 운용하는 기록/재생 장치에서의 재생 동작을 설명한다.
정보 저장 매체의 재생시 파일 시스템 드라이브의 엑스트라 ECC 콘트롤러는 파일 시스템 데이터로부터 엑스트라 ECC 적용 여부를 인식하게 되고(1310), 정보 저장 매체로부터 엑스트라 ECC 관리 정보를 독출하도록 물리적 드라이브에 명령하여 엑스트라 ECC 관리 정보 영역으로부터 엑스트라 ECC 관리 정보를 얻는다(1320). 사용자 데이터 재생 명령에 의해 파일 시스템 드라이브의 엑스트라 ECC 콘트롤러는 사용자 데이터를 위한 ECC 블록 수신 뿐만 아니라 엑스트라 ECC 관리 정보로부터 상기 사용자 데이터에 대응하는 엑스트라 패리티 ECC 블록의 재생을 물리적 드라이브에 명령하여 엑스트라 패리티 ECC 블록을 획득한다(1330). 엑스트라 ECC 콘트롤러의 통제 아래 엑스트라 ECC 인코더/디코더는 획득된 엑스트라 패리티 ECC 블록으로부터 상기 사용자 데이터를 위한 엑스트라 패리티를 얻고, 또한 상기 수신된 사용자 데이터를 위한 ECC 블록으로부터 엑스트라 ECC 인코더/디코더에 의해 생성된 엑스트라 ECC 데이터 블록을 결합하여 엑스트라 ECC 블록을 생성한다. 그리고 파일 시스템 드라이브는 이와 같이 생성된 엑스트라 ECC 블록을 물리적 드라이브로 전송하여 물리적 데이터 프로세서의 ECC 인코더/디코더를 활용하여 에러 정정을 명령하고 에러정정된 엑스트라 ECC 블록을 수신하게 된다. 엑스트라 ECC 콘트롤러는 수신된 엑스트라 ECC 블록의 엑스트라 ECC 데이터 블록을 상기 사용자 데이터를 위한 ECC 블록에 업데이트하고 업데이트된 ECC 블록은 엑스트라 ECC 콘트롤러의 통제 아래 물리적 드라이브(810)에 전송되어 물리적 데이터 프로세서의 ECC 인코더/디코더를 활용하여 에러 정정을 명령하고 정정된 사용자 데이터를 수신하게 된 다(1340).
물리적 드라이브와 파일 시스템 드라이브에 의한 엑스트라 ECC 운용 방법.
물리적 드라이브와 파일 시스템 드라이브가 함께 협동하여 엑스트라 ECC를 운용하는 방법에는 두가지가 있다.
하나는, 엑스트라 ECC를 위한 엑스트라 패리티 데이터 블록의 생성/기록/재생, 엑스트라 패리티를 이용한 ECC 블록내의 사용자 데이터의 복구, 엑스트라 ECC 관리 정보의 생성/업데이트/기록/재생 등을 물리적 드라이브에서 관리 운용하고, 엑스트라 ECC를 위해 논리적 볼륨 공간내에 있는 엑스트라 패리티 데이터 블록을 위한 영역과 엑스트라 ECC 관리 정보를 위한 영역의 할당은 파일 시스템 드라이브에서 수행하는 것이다.
다른 하나는, 물리적 드라이브는 단지 데이터 기록시 엑스트라 패리티 데이터 블록의 생성과 데이터 재생시 엑스트라 패리티를 이용한 ECC 블록 내의 데이터의 복원 기능만을 제공하며, 나머지 엑스트라 ECC를 위한 기능들은 파일 시스템 드라이브내에 마련되어 운용되는 것을 말한다.
도 14는 본 발명에 따라 파일 시스템 드라이브와 물리적 드라이브에 의해 엑스트라 ECC를 운용하기 위한 기록/재생 장치 블록도이다.
도 14를 참조하면, 기록/재생 장치는 파일 시스템 드라이브(820)와 물리적 드라이브(810)를 포함한다. 엑스트라 ECC를 운용하는 역할을 하는 엑스트라 ECC 콘트롤러(211)는 물리적 드라이브내의 콘트롤러와 파일시스템 드라이브내의 콘트롤러에 모두 들어있고, 엑스트라 ECC 인코더/디코더(241)는 물리적 드라이브내의 물리적 데이터 프로세서 내에 포함되어 있다.
이제, 도 14 및 도 15를 참조하여, 파일 시스템 드라이브와 물리적 드라이브에 의해 엑스트라 ECC를 운용하는 기록/재생 장치에서의 기록 동작의 일 예를 설명한다.
물리적 드라이브의 엑스트라 ECC 인코더/디코더와 물리적 드라이브의 엑스트라 ECC 콘트롤러는 기록시 단순히 파일 시스템 드라이브의 엑스트라 ECC 콘트롤러의 통제 아래 사용자 데이터를 위한 엑스트라 패리티 데이터 블록만을 생성한다. 또한 재생시 단순히 파일 시스템 드라이브의 엑스트라 ECC 콘트롤러의 명령 아래 재생된 엑스트라 패리티 데이터 블록으로부터 엑스트라 패리티들을 추출해내고 파일 시스템 드라이브의 엑스트라 ECC 콘트롤러의 명령 아래 재생하고자 하는 ECC 블록으로부터 엑스트라 ECC 데이터 블록을 생성하여 상기 추출된 엑스트라 패리티와 결합하여 엑스트라 ECC 블록을 생성한다. 그리고 생성된 엑스트라 ECC 블록을 에러 정정하여 에러 정정된 엑스트라 ECC 데이터 블록을 ECC 블록에 업데이트하고 업데이트된 ECC 블록을 물리적 데이터 프로세서내에 있는 ECC 인코더/디코더에 의해 에러 정정하여 사용자 데이터를 파일 시스템 드라이브에 전송하는 기능만을 가진다. 그리고 나머지 엑스트라 ECC 관련 영역들의 할당 및 엑스트라 ECC 관리 정보의 기록/재생/관리는 파일 시스템 드라이브에 의해 이루어진다.
파일 시스템 드라이브의 엑스트라 ECC 콘트롤러는 주어진 엑스트라 ECC 적용 비율에 따라 엑스트라 패리티 데이터 블록과 엑스트라 ECC 관리 정보를 기록할 영역을 정보저장 매체에 할당한다(1410).
그리고, 파일 시스템 드라이브의 엑스트라 ECC 콘트롤러는 주어진 엑스트라 ECC 적용 비율에 따라 기록될 사용자 데이터에 대한 엑스트라 패리티 데이터 블록의 생성을 물리적 드라이브에 명령한다(1420).
그러면 물리적 드라이브 내의 엑스트라 ECC 콘트롤러는 엑스트라 ECC 인코더/디코더로 하여금 엑스트라 패리티 데이터 블록을 생성하도록 제어하며, 생성된 엑스트라 패리티 데이터 블록을 파일 시스템 드라이브로 전송하고, 파일 시스템 드라이브내의 엑스트라 ECC 콘트롤러는 수신된 엑스트라 패리티 데이터 블록의 기록을 물리적 드라이브에 명령한다(1430).
파일 시스템 드라이브는 기록할 사용자 데이터의 위치 정보와 엑스트라 패리티 데이터 블록의 위치 정보간의 매핑 관계를 나타내는 정보 및 엑스트라 ECC 정의 정보를 포함하는 엑스트라 ECC 관리 정보를 생성, 변경하고 또한 그 엑스트라 ECC 관리 정보의 기록을 물리적 드라이브에 명령한다(1440).
물리적 드라이브는 정보 저장 매체의 할당된 영역에 엑스트라 ECC 관리 정보를 기록한다(1450).
이제, 도 14 및 도 16을 참조하여, 파일 시스템 드라이브와 물리적 드라이브에 의해 엑스트라 ECC를 운용하는 기록/재생 장치에서의 재생 동작을 설명한다.
파일 시스템 드라이브내의 엑스트라 ECC 콘트롤러는 로딩된 정보저장 매체에 엑스트라 ECC가 적용되었는지 여부 및 엑스트라 ECC 관리 정보가 기록된 위치 정보 를 인식하고, 엑스트라 ECC 관리 정보의 독출을 물리적 드라이브에 명령하여 엑스트라 ECC 관리 정보를 획득한다(1610).
사용자 데이터의 재생시 파일 시스템 드라이브의 엑스트라 ECC 콘트롤러는 엑스트라 ECC 관리 정보로부터 재생될 사용자 데이터에 대한 엑스트라 패리티 데이터 블록의 위치 정보를 얻어 엑스트라 패리티 데이터 블록의 재생을 물리적 드라이브에 명령한다(1620).
물리적 드라이브 내의 엑스트라 ECC 콘트롤러는 파일 시스템 드라이브의 명령에 따라, 물리적 드라이브내에 있는 엑스트라 ECC 디코더를 이용하여 엑스트라 패리티 데이터 블록으로부터 얻어진 엑스트라 패리티들과 사용자 데이터를 위한 ECC 블록을 이용하여 엑스트라 ECC 블록을 생성하고 생성된 엑스트라 ECC 블록을 에러 정정하여 그 정정된 엑스트라 ECC 데이터 블록을 ECC 블록에 업데이트한다(1630).
그리고, 물리적 드라이브내의 엑스트라 ECC 콘트롤러는 업데이트된 ECC 블록을 물리적 드라이브 내에 있는 ECC 디코더로 하여금 에러 정정하게 하여 이 에러정정된 사용자 데이터를 파일 시스템 드라이브로 전송한다(1640).
이제, 도 14 및 도 17을 참조하여, 파일 시스템 드라이브와 물리적 드라이브에 의해 엑스트라 ECC를 운용하는 기록/재생 장치에서의 기록 동작의 다른 예를 설명한다.
파일 시스템 드라이브의 엑스트라 ECC 콘트롤러는 주어진 엑스트라 ECC 적용 비율에 따른 엑스트라 패리티 데이터 블록과 엑스트라 ECC 관리 정보를 기록하기 위한 영역을 정보 저장 매체에 할당한다(1710).
그리고 파일 시스템 드라이브의 엑스트라 ECC 콘트롤러는 기록될 사용자 데이터에 대한 엑스트라 패리티 데이터 블록의 생성을 물리적 드라이브에 명령한다(1720).
물리적 드라이브가 명령을 수신하면, 물리적 드라이브내의 엑스트라 ECC 콘트로러의 제어에 따라 엑스트라 ECC 인코더는 하여금 엑스트라 패리티 데이터 블록을 생성하며, 생성된 엑스트라 패리티 데이터 블록은 물리적 드라이브내의 엑스트라 ECC 콘트롤러의 제어에 따라 파일 시스템 드라이브에 의해 할당된 영역에 기록된다(1730).
물리적 드라이브내의 엑스트라 ECC 콘트롤러는 사용자 데이터가 기록된 위치 정보와 엑스트라 패리티 데이터 블록이 기록된 위치 정보간의 매핑 관계를 나타내는 정보 및 엑스트라 ECC 정의 정보를 포함하는 엑스트라 ECC 관리 정보를 생성하고, 생성된 엑스트라 ECC 관리 정보를 파일 시스템 드라이브에 의해 할당된 영역에 기록한다(1740).
이제, 도 14 및 도 18을 참조하여, 파일 시스템 드라이브와 물리적 드라이브에 의해 엑스트라 ECC를 운용하는 기록/재생 장치에서의 재생 동작의 다른 예를 설명한다.
물리적 드라이브내의 엑스트라 ECC 콘트롤러는 물리적 드라이브에 로딩된 또는 내장되어 있는 정보 저장 매체에 엑스트라 ECC 적용여부를 인식하고 정보 저장 매체로부터 엑스트라 ECC 관리정보를 독출하여 획득한다(1810).
파일 시스템 드라이브는 물리적 드라이브로 사용자 데이터 재생 명령을 내린다(1820).
그러면 물리적 드라이브의 엑스트라 ECC 콘트롤러는 획득된 엑스트라 ECC 관리 정보로부터 재생될 사용자 데이터에 대응하는 엑스트라 패리티 데이터 블록의 독출을 명령하고, 물리적 드라이브내의 엑스트라 ECC 디코더는 사용자 데이터를 위한 ECC 블록과 엑스트라 패리티 데이터 블록으로부터 추출한 엑스트라 패리티를 결합하여 엑스트라 ECC 블록을 생성하고 생성된 엑스트라 ECC 블록을 에러정정하고, 에러정정된 엑스트라 ECC 데이터 블록을 ECC 블록에 업데이트한다(1830).
또한 물리적 드라이브의 엑스트라 ECC 콘트롤러는 업데이트된 ECC 블록을 물리적 드라이브내의 ECC 디코더로 하여금 에러 정정하게 하여 에러 정정된 사용자 데이터를 파일 시스템 드라이브로 전송한다(1840).
이상 설명한 바와 같은 기록 방법 또는 재생 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 기록 방법 또는 재생 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상과 같은 본 발명에 의하면, 기존의 ECC 포맷과의 호환성을 보장하면서 데이터를 보다 신뢰성있게 기록하고 재생할 수 있게 된다.

Claims (45)

  1. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 기록 장치에 있어서,
    상기 정보 저장 매체의 엑스트라 ECC 적용 여부를 결정하고, 상기 정보 저장 매체에 기록될 데이터에 대응하는 엑스트라 패리티 데이터 블록을 생성하도록 엑스트라 ECC 인코더를 제어하는 엑스트라 ECC 콘트롤러와,
    상기 엑스트라 ECC 콘트롤러의 제어에 따라 상기 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 ECC 인코더를 포함하며, 상기 엑스트라 ECC 인코더는,
    상기 정보 저장 매체에 기록될 데이터에 기초하여 엑스트라 ECC 데이터 블록을 생성하고, 상기 생성된 엑스트라 ECC 데이터 블록을 에러 정정 부호화하여 적어도 하나 이상의 엑스트라 패리티를 생성하는 엑스트라 패리티 생성기와,
    상기 적어도 하나 이상의 엑스트라 패리티를 인터리빙하여 상기 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 패리티 인터리버를 포함하는 것을 특징으로 하는 기록 장치.
  2. 제1항에 있어서,
    상기 엑스트라 ECC 콘트롤러는 엑스트라 ECC 적용 비율을 더 결정하며,
    상기 엑스트라 ECC 적용 여부 및 적용 비율은 미리 결정되어 있거나, 사용자 인터페이스로부터의 입력에 따라 결정되는 것을 특징으로 하는 기록 장치.
  3. 제1항에 있어서,
    상기 엑스트라 ECC 콘트롤러는 상기 엑스트라 ECC를 관리하기 위한 정보인 엑스트라 ECC 관리 정보를 더 생성하는 것을 특징으로 하는 기록 장치.
  4. 제3항에 있어서,
    상기 엑스트라 ECC 관리 정보는 상기 엑스트라 ECC 적용 여부를 나타내는 정보 및 상기 기록되는 데이터의 위치 정보와 상기 엑스트라 패리티 데이터 블록의 위치 정보간의 매핑 관계를 나타내는 정보를 포함하는 것을 특징으로 하는 기록 장치.
  5. 제3항에 있어서,
    상기 엑스트라 ECC 콘트롤러는, 상기 엑스트라 패리티 데이터 블록 및 상기 엑스트라 ECC 관리 정보를 기록할 영역을 상기 정보 저장 매체에 더 할당하는 것을 특징으로 하는 기록 장치.
  6. 제2항에 있어서,
    상기 엑스트라 패리티 인터리버는,
    상기 엑스트라 ECC 적용 비율이 N 인 경우, 적어도 한번 이상 N 이하의 엑스트라 패리티들을 모아서 인터리빙하는 것을 특징으로 하는 기록 장치.
  7. 제1항에 있어서,
    상기 엑스트라 패리티 생성기는,
    상기 데이터로부터 생성된 에러 정정 블록 또는 상기 데이터 자체 또는 상기 데이터로부터 일련의 과정을 통해 생성된 또다른 데이터로부터 상기 엑스트라 ECC 데이터 블록을 생성하는 것을 특징으로 하는 기록 장치.
  8. 데이터와 엑스트라 패리티 데이터 블록이 에러 정정 부호화되어 저장된 정보 저장 매체를 위한 재생 장치에 있어서,
    상기 정보 저장 매체에 엑스트라 ECC를 적용하여 데이터를 재생할지를 결정하고, 상기 정보 저장 매체로부터 재생하고자 하는 데이터에 대응하는 엑스트라 패리티 데이터 블록을 얻는 엑스트라 ECC 콘트롤러와,
    상기 얻어진 엑스트라 패리티 데이터 블록을 디인터리빙하여 적어도 하나 이상의 엑스트라 패리티들을 얻는 엑스트라 패리티 디인터리버와,
    재생하고자 하는 데이터를 위한 ECC 블록으로부터 생성된 엑스트라 ECC 데이터 블록에 상기 엑스트라 패리티들을 결합하여 엑스트라 ECC 블록을 생성하고, 상기 엑스트라 ECC 블록을 에러 정정하는 엑스트라 ECC 블록 디코더와,
    상기 에러 정정된 엑스트라 ECC 블록로부터 얻어진 엑스트라 ECC 데이터 블록을 대응하는 ECC 블록에 업데이트하는 엑스트라 ECC 블록 업데이터와,
    상기 업데이트된 ECC 블록을 에러 정정하는 ECC 디코더를 포함하는 것을 특 징으로 하는 재생 장치.
  9. 제8항에 있어서,
    상기 엑스트라 ECC 콘트롤러는, 상기 정보 저장 매체로부터 독출된 엑스트라 ECC 관리 정보로부터 상기 정보 저장 매체에 엑스트라 ECC 적용되었는지 여부에 관한 정보 및 상기 엑스트라 패리티 데이터 블록의 위치 정보를 얻는 것을 특징으로 하는 재생 장치.
  10. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 기록 장치에 있어서,
    데이터 기록 명령을 물리적 드라이브로 전송하는 파일 시스템 드라이브와,
    상기 파일 시스템 드라이브로부터 데이터 기록 명령을 수신하고 상기 데이터에 대응하는 엑스트라 패리티 데이터 블록을 생성하여 상기 정보 저장 매체에 기록하며, 엑스트라 ECC의 관리를 운용하는 물리적 드라이브를 포함하고,
    상기 엑스트라 ECC는 최초의 ECC 데이터의 행들의 인터리빙에 의해 수행되는 것을 특징으로 하는 기록 장치.
  11. 제10항에 있어서,
    상기 물리적 드라이브는,
    상기 정보 저장 매체에 엑스트라 ECC 적용 여부를 결정하고, 상기 정보 저장 매체에 기록될 데이터에 대응하는 엑스트라 패리티 데이터 블록을 생성하도록 엑스트라 ECC 인코더를 제어하는 엑스트라 ECC 콘트롤러와,
    상기 엑스트라 ECC 콘트롤러의 제어에 따라 상기 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 ECC 인코더를 포함하며, 상기 엑스트라 ECC 인코더는,
    상기 정보 저장 매체에 기록될 데이터에 기초하여 엑스트라 ECC 데이터 블록을 생성하고, 상기 생성된 엑스트라 ECC 데이터 블록을 에러 정정 부호화하여 적어도 하나 이상의 엑스트라 패리티를 생성하는 엑스트라 패리티 생성기와,
    상기 적어도 하나 이상의 엑스트라 패리티를 인터리빙하여 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 패리티 인터리버를 포함하는 것을 특징으로 하는 기록 장치.
  12. 제11항에 있어서,
    상기 엑스트라 ECC 콘트롤러는 상기 정보 저장 매체상에 기록되는 사용자 데이터의 위치 정보와 상기 엑스트라 패리티 데이터 블록이 기록되는 위치 정보간의 매핑 상태를 나타내는 정보를 포함하는 엑스트라 ECC 관리 정보를 더 생성하는 것을 특징으로 하는 기록 장치.
  13. 제12항에 있어서,
    상기 엑스트라 ECC 콘트롤러는,
    상기 엑스트라 패리티 데이터 블록과 상기 엑스트라 ECC 관리 정보를 기록하기 위한 영역을 상기 정보 저장 매체에 할당하고, 상기 할당된 영역에 상기 엑스트 라 패리티 데이터 블록과 상기 엑스트라 ECC 관리 정보를 기록하도록 제어하는 것을 특징으로 하는 기록 장치.
  14. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 재생 장치에 있어서,
    데이터 재생 명령을 물리적 드라이브로 전송하는 파일 시스템 드라이브와,
    상기 파일 시스템 드라이브로부터 데이터 재생 명령을 수신하고, 상기 데이터에 대응하는 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체로부터 독출하여 엑스트라 ECC를 수행하고, 상기 엑스트라 패리티 데이터 블록에 대해 에러 정정하고, 에러 정정된 데이터를 상기 파일 시스템 드라이브로 전송하는 물리적 드라이브를 포함하고,
    상기 엑스트라 ECC는 최초의 ECC 데이터의 행들의 인터리빙에 의해 수행되는 것을 특징으로 하는 재생 장치.
  15. 제14항에 있어서,
    상기 물리적 드라이브는,
    상기 정보 저장 매체에 상기 엑스트라 ECC를 적용하여 데이터를 재생할지를 결정하고, 상기 정보 저장 매체로부터 재생하고자 하는 데이터에 대응하는 엑스트라 패리티 데이터 블록을 얻는 엑스트라 ECC 콘트롤러와,
    상기 얻어진 엑스트라 패리티 데이터 블록을 디인터리빙하여 적어도 하나 이상의 엑스트라 패리티들을 얻는 엑스트라 패리티 디인터리버와,
    재생하고자 하는 데이터를 위한 ECC 블록으로부터 생성된 엑스트라 ECC 데이터 블록에 상기 엑스트라 패리티들을 결합하여 엑스트라 ECC 블록을 생성하고, 상기 엑스트라 ECC 블록을 에러 정정하는 엑스트라 ECC 블록 디코더와,
    상기 에러 정정된 엑스트라 ECC 블록로부터 얻어진 엑스트라 ECC 데이터 블록을 대응하는 ECC 블록에 업데이트하는 엑스트라 ECC 블록 업데이터와,
    상기 업데이트된 ECC 블록을 에러 정정하는 ECC 디코더를 포함하는 것을 특징으로 하는 재생 장치.
  16. 제15항에 있어서,
    상기 엑스트라 ECC 콘트롤러는 상기 정보 저장 매체상에 기록되는 사용자 데이터의 위치 정보와 상기 엑스트라 패리티 데이터 블록이 기록되는 위치 정보간의 매핑 관계를 나타내는 정보를 포함하는 엑스트라 ECC 관리 정보를 관리하는 것을 특징으로 하는 재생 장치.
  17. 제16항에 있어서,
    상기 엑스트라 ECC 콘트롤러는, 상기 정보 저장 매체로부터 독출된 엑스트라 ECC 관리 정보로부터 상기 정보 저장 매체에 엑스트라 ECC 적용되었는지 여부에 관한 정보 및 상기 엑스트라 패리티 데이터 블록의 위치 정보를 얻는 것을 특징으로 하는 재생 장치.
  18. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 기록 장치에 있어서,
    사용자 데이터의 에러 정정 부호화된 ECC 블록의 적어도 일부를 파일 시스템 드라이브로 송수신하는 물리적 드라이브와,
    상기 물리적 드라이브로부터 상기 에러 정정 부호화된 ECC 블록의 적어도 일부를 수신하여 엑스트라 패리티 데이터 블록을 생성하며 엑스트라 ECC 기록을 운용하는 파일 시스템 드라이브를 포함하고,
    상기 엑스트라 ECC 기록은 최초의 ECC 데이터의 행들의 인터리빙에 의해 수행되는 엑스트라 ECC에 관한 기록인 것을 특징으로 하는 기록 장치.
  19. 제18항에 있어서,
    상기 파일 시스템 드라이브는,
    상기 정보 저장 매체에 엑스트라 ECC 적용 여부를 결정하고, 상기 물리적 드라이브로부터 상기 에러 정정 부호화된 ECC 블록의 적어도 일부를 수신하여 상기 수신된 ECC 블록으로부터 엑트라 패리티 데이터 블록을 생성하도록 엑스트라 ECC 인코더를 제어하고, 상기 생성된 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체에 기록하도록 상기 물리적 드라이브에 명령하는 엑스트라 ECC 콘트롤러와,
    상기 엑스트라 ECC 콘트롤러의 제어에 따라 상기 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 ECC 인코더를 포함하며, 상기 엑스트라 ECC 인코더는,
    상기 정보 저장 매체에 기록될 데이터에 기초하여 엑스트라 ECC 데이터 블록을 생성하고, 상기 생성된 엑스트라 ECC 데이터 블록을 에러 정정 부호화하여 적어도 하나 이상의 엑스트라 패리티를 생성하는 엑스트라 패리티 생성기와,
    상기 적어도 하나 이상의 엑스트라 패리티를 인터리빙하여 엑스트라 패리티 데이터 블록을 생성하는 엑스트라 패리티 인터리버를 포함하는 것을 특징으로 하는 기록 장치.
  20. 제19항에 있어서,
    상기 엑스트라 ECC 콘트롤러는 상기 정보 저장 매체상에 기록되는 사용자 데이터의 위치 정보와 상기 엑스트라 패리티 데이터 블록이 기록되는 위치 정보간의 매핑 상태를 나타내는 정보를 포함하는 엑스트라 ECC 관리 정보를 더 생성하고, 상기 엑스트라 ECC 관리 정보의 기록을 상기 물리적 드라이브에 명령하는 것을 특징으로 하는 기록 장치.
  21. 제20항에 있어서,
    상기 엑스트라 ECC 콘트롤러는,
    상기 엑스트라 패리티 데이터 블록과 상기 엑스트라 ECC 관리 정보를 기록하기 위한 영역을 상기 정보 저장 매체에 할당하고, 상기 할당된 영역에 상기 엑스트라 패리티 데이터 블록과 상기 엑스트라 ECC 관리 정보를 기록하도록 상기 물리적 드라이브에 명령하는 것을 특징으로 하는 기록 장치.
  22. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 재생 장치에 있어서,
    파일 시스템 드라이브의 데이터 재생 명령에 따라 사용자 데이터에 대응하는 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체로부터 독출하여 상기 파일 시스템 드라이브로 전송하는 물리적 드라이브와,
    상기 물리적 드라이브로부터 수신된 상기 엑스트라 패리티 데이터 블록을 에러 정정하며, 엑스트라 ECC의 관리를 운용하는 파일 시스템 드라이브를 포함하고,
    상기 엑스트라 ECC는 최초의 ECC 데이터의 행들의 인터리빙에 의해 수행되는 것을 특징으로 하는 재생 장치.
  23. 제22항에 있어서,
    상기 파일 시스템 드라이브는,
    상기 정보 저장 매체에 엑스트라 ECC를 적용하여 데이터를 재생할지를 결정하고, 상기 정보 저장 매체로부터 재생하고자 하는 데이터에 대응하는 엑스트라 패리티 데이터 블록을 얻는 엑스트라 ECC 콘트롤러와,
    상기 얻어진 엑스트라 패리티 데이터 블록을 디인터리빙하여 적어도 하나 이상의 엑스트라 패리티들을 얻는 엑스트라 패리티 디인터리버와,
    재생하고자 하는 데이터를 위한 ECC 블록으로부터 생성된 엑스트라 ECC 데이터 블록에 상기 엑스트라 패리티들을 결합하여 엑스트라 ECC 블록을 생성하고, 상기 엑스트라 ECC 블록을 에러 정정하는 엑스트라 ECC 블록 디코더와,
    상기 에러 정정된 엑스트라 ECC 블록로부터 얻어진 엑스트라 ECC 데이터 블록을 대응하는 ECC 블록에 업데이트하는 엑스트라 ECC 블록 업데이터를 포함하는 것을 특징으로 하는 재생 장치.
  24. 제23항에 있어서,
    상기 엑스트라 ECC 콘트롤러는 상기 정보 저장 매체상에 기록되는 사용자 데이터의 위치 정보와 상기 엑스트라 패리티 데이터 블록이 기록되는 위치 정보간의 매핑 관계를 나타내는 정보를 포함하는 엑스트라 ECC 관리 정보를 관리하는 것을 특징으로 하는 재생 장치.
  25. 제24항에 있어서,
    상기 엑스트라 ECC 콘트롤러는, 상기 정보 저장 매체로부터 독출된 엑스트라 ECC 관리 정보로부터 상기 정보 저장 매체에 엑스트라 ECC가 적용되었는지 여부에 관한 정보 및 상기 엑스트라 패리티 데이터 블록의 위치 정보를 얻는 것을 특징으로 하는 재생 장치.
  26. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 기록 장치에 있어서,
    사용자 데이터에 대한 엑스트라 패리티 데이터 블록을 생성하도록 물리적 드라이브에 명령하는 파일 시스템 드라이브와,
    파일 시스템 드라이브의 제어에 따라 상기 사용자 데이터로부터 상기 엑스트라 패리티 데이터 블록을 생성하여 상기 정보 저장 매체에 기록하는 물리적 드라이브를 포함하며,
    엑스트라 ECC의 운용을 위해 상기 파일 시스템 드라이브와 상기 물리적 드라이브가 협동하고,
    상기 엑스트라 ECC는 최초의 ECC 데이터의 행들의 인터리빙에 의해 수행되는 것을 특징으로 하는 기록 장치.
  27. 제26항에 있어서,
    상기 파일 시스템 드라이브는,
    상기 사용자 데이터가 기록되는 위치 정보와 상기 엑스트라 패리티 데이터 블록이 기록되는 위치 정보간의 매핑 관계를 나타내는 정보를 포함하는 엑스트라 ECC 관리 정보를 생성 및 관리하고, 상기 엑스트라 패리티 데이터 블록과 상기 엑스트라 ECC 관리 정보를 기록하기 위한 영역을 상기 정보 저장 매체에 할당하는 것을 특징으로 하는 기록 장치.
  28. 제26항에 있어서,
    상기 파일 시스템 드라이브는, 상기 사용자 데이터가 기록되는 위치 정보와 상기 엑스트라 패리티 데이터 블록이 기록되는 위치 정보간의 매핑 관계를 나타내는 정보를 포함하는 엑스트라 ECC 관리 정보를 생성 및 관리하고,
    상기 물리적 드라이브는, 상기 엑스트라 패리티 데이터 블록과 상기 엑스트라 ECC 관리 정보를 기록하기 위한 영역을 상기 정보 저장 매체에 할당하는 것을 특징으로 하는 기록 장치.
  29. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체를 위한 재생 장치에 있어서,
    상기 정보 저장 매체로부터 사용자 데이터를 재생하도록 물리적 드라이브에 명령하는 파일 시스템 드라이브와,
    파일 시스템 드라이브의 제어에 따라 상기 정보 저장 매체로부터 상기 사용자 데이터에 대응하는 엑스트라 패리티 데이터 블록을 독출하여 에러 정정하고, 에러 정정된 데이터를 파일 시스템 드라이브로 전송하는 물리적 드라이브를 포함하며,
    엑스트라 ECC의 운용을 위해 상기 파일 시스템 드라이브와 상기 물리적 드라이브가 협동하고,
    상기 엑스트라 ECC는 최초의 ECC 데이터의 행들의 인터리빙에 의해 수행되는 것을 특징으로 하는 재생 장치.
  30. 제29항에 있어서,
    상기 파일 시스템 드라이브는,
    상기 사용자 데이터가 기록되는 위치 정보와 상기 엑스트라 패리티 데이터 블록이 기록되는 위치 정보간의 매핑 관계를 나타내는 정보를 포함하는 엑스트라 ECC 관리 정보를 생성 및 관리하는 것을 특징으로 하는 재생 장치.
  31. 제29항에 있어서,
    상기 파일 시스템 드라이브는, 상기 사용자 데이터가 기록되는 위치 정보와 상기 엑스트라 패리티 데이터 블록이 기록되는 위치 정보간의 매핑 관계를 나타내는 정보를 포함하는 엑스트라 ECC 관리 정보를 생성 및 관리하고,
    상기 물리적 드라이브는, 상기 엑스트라 패리티 데이터 블록과 상기 엑스트라 ECC 관리 정보를 기록하기 위한 영역을 상기 정보 저장 매체에 할당하는 것을 특징으로 하는 재생 장치.
  32. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체에 데이터를 기록하는 방법에 있어서,
    상기 정보 저장 매체의 엑스트라 ECC 적용 여부를 결정하는 단계와,
    엑스트라 ECC를 적용하는 것으로 결정한 경우에 상기 정보 저장 매체에 기록될 데이터에 기초하여 엑스트라 ECC 데이터 블록을 생성하고, 상기 생성된 엑스트라 ECC 데이터 블록을 에러 정정 부호화하여 적어도 하나 이상의 엑스트라 패리티를 생성하는 단계와,
    상기 적어도 하나 이상의 엑스트라 패리티를 인터리빙하여 상기 엑스트라 패리티 데이터 블록을 생성하여 상기 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체에 기록하는 단계를 포함하는 것을 특징으로 하는 기록 방법.
  33. 제32항에 있어서,
    상기 정보 저장 매체에 적용할 엑스트라 ECC 적용 비율을 결정하는 단계를 더 포함하며, 상기 엑스트라 ECC 적용 여부 및 적용 비율은 미리 결정되어 있거나, 사용자 인터페이스로부터의 입력에 따라 결정되는 것을 특징으로 하는 기록 방법.
  34. 제32항에 있어서,
    상기 엑스트라 ECC를 관리하기 위한 정보인 엑스트라 ECC 관리 정보를 생성 하는 단계를 더 포함하는 것을 특징으로 하는 기록 방법.
  35. 제34항에 있어서,
    상기 엑스트라 ECC 관리 정보는 상기 엑스트라 ECC 적용 여부를 나타내는 정보 및 상기 기록되는 데이터의 위치 정보와 상기 엑스트라 패리티 데이터 블록의 위치 정보간의 매핑 관계를 나타내는 정보를 포함하는 것을 특징으로 하는 기록 방법.
  36. 제34항에 있어서,
    상기 엑스트라 패리티 데이터 블록 및 상기 엑스트라 ECC 관리 정보를 기록할 영역을 상기 정보 저장 매체에 할당하는 단계를 더 포함하는 것을 특징으로 하는 기록 방법.
  37. 제32항에 있어서,
    상기 엑스트라 ECC 데이터 블록은, 상기 데이터로부터 생성된 에러 정정 블록 또는 상기 데이터 자체 또는 상기 데이터로부터 일련의 과정을 통해 생성된 또다른 데이터로부터 생성되는 것을 특징으로 하는 기록 방법.
  38. 데이터와 엑스트라 패리티 데이터 블록이 에러 정정 부호화되어 저장된 정보 저장 매체로부터 데이터를 재생하는 방법에 있어서,
    상기 정보 저장 매체에 엑스트라 ECC를 적용하여 데이터를 재생할지를 결정하는 단계와,
    상기 정보 저장 매체로부터 재생하고자 하는 데이터에 대응하는 엑스트라 패리티 데이터 블록을 독출하고, 상기 독출된 엑스트라 패리티 데이터 블록을 디인터리빙하여 적어도 하나 이상의 엑스트라 패리티들을 얻는 단계와,
    재생하고자 하는 데이터를 위한 ECC 블록으로부터 생성된 엑스트라 ECC 데이터 블록에 상기 엑스트라 패리티들을 결합하여 엑스트라 ECC 블록을 생성하고, 상기 엑스트라 ECC 블록을 에러 정정하는 단계와,
    상기 에러 정정된 엑스트라 ECC 블록으로부터 얻어진 엑스트라 ECC 데이터 블록을 대응하는 ECC 블록에 업데이트하는 단계와,
    상기 업데이트된 ECC 블록을 에러 정정하는 단계를 포함하는 것을 특징으로 하는 재생 방법.
  39. 제38항에 있어서,
    상기 정보 저장 매체로부터 독출된 엑스트라 ECC 관리 정보로부터 상기 정보 저장 매체에 엑스트라 ECC 적용되었는지 여부에 관한 정보 및 상기 엑스트라 패리티 데이터 블록의 위치 정보를 얻는 단계를 더 포함하는 것을 특징으로 하는 재생 방법.
  40. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체에 데이터를 기록하는 방법에 있어서,
    파일 시스템 드라이브에 의해 데이터 기록 명령을 물리적 드라이브로 전송하는 단계와,
    물리적 드라이브에 의해, 상기 파일 시스템 드라이브로부터 데이터 기록 명령을 수신하고 상기 데이터에 대응하는 엑스트라 패리티 데이터 블록을 생성하여 상기 정보 저장 매체에 기록하며, 엑스트라 ECC의 관리를 운용하는 물리적 드라이브를 포함하는 것을 특징으로 하는 기록 방법.
  41. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체로부터 데이터를 재생하는 방법에 있어서,
    파일 시스템 드라이브에 의해 데이터 재생 명령을 물리적 드라이브로 전송하는 단계와,
    물리적 드라이브에 의해, 상기 파일 시스템 드라이브로부터 데이터 재생 명령을 수신하고, 상기 데이터에 대응하는 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체로부터 독출하여 에러 정정하고, 에러 정정된 데이터를 상기 파일 시스템 드라이브로 전송하는 단계를 포함하는 것을 특징으로 하는 재생 방법.
  42. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체에 데이터를 기록하는 방법에 있어서,
    물리적 드라이브에 의해, 사용자 데이터의 에러 정정 부호화된 ECC 블록의 적어도 일부를 파일 시스템 드라이브로 송수신하는 단계와,
    파일 시스템 드라이브에 의해, 상기 물리적 드라이브로부터 상기 에러 정정 부호화된 ECC 블록의 적어도 일부를 수신하여 엑스트라 패리티 데이터 블록을 생성하며 엑스트라 ECC 기록을 운용하는 단계를 포함하는 것을 특징으로 하는 기록 방법.
  43. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체로부터 데이터를 재생하는 방법에 있어서,
    물리적 드라이브에 의해, 파일 시스템 드라이브의 데이터 재생 명령에 따라 사용자 데이터에 대응하는 엑스트라 패리티 데이터 블록을 상기 정보 저장 매체로부터 독출하여 상기 파일 시스템 드라이브로 전송하는 단계와,
    파일 시스템 드라이브에 의해, 상기 물리적 드라이브로부터 수신된 상기 엑스트라 패리티 데이터 블록을 에러 정정하며, 엑스트라 ECC의 관리를 운용하는 단계를 포함하는 것을 특징으로 하는 재생 방법.
  44. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체에 데이터를 기록하는 방법에 있어서,
    파일 시스템 드라이브에 의해 사용자 데이터에 대한 엑스트라 패리티 데이터 블록을 생성하도록 물리적 드라이브에 명령하는 단계와,
    물리적 드라이브에 의해, 파일 시스템 드라이브의 제어에 따라 상기 사용자 데이터로부터 상기 엑스트라 패리티 데이터 블록을 생성하여 상기 정보 저장 매체에 기록하는 단계를 포함하며,
    엑스트라 ECC의 운용을 위해 상기 파일 시스템 드라이브와 상기 물리적 드라이브가 협동하는 것을 특징으로 하는 기록 방법.
  45. 데이터가 에러정정 부호화되어 저장되는 정보 저장 매체로부터 데이터를 재생하는 방법에 있어서,
    파일 시스템 드라이브에 의해 상기 정보 저장 매체로부터 사용자 데이터를 재생하도록 물리적 드라이브에 명령하는 단계와,
    물리적 드라이브에 의해, 파일 시스템 드라이브의 제어에 따라 상기 정보 저장 매체로부터 상기 사용자 데이터에 대응하는 엑스트라 패리티 데이터 블록을 독출하여 에러 정정하고, 에러 정정된 데이터를 파일 시스템 드라이브로 전송하는 단게를 포함하며,
    엑스트라 ECC의 운용을 위해 상기 파일 시스템 드라이브와 상기 물리적 드라이브가 협동하는 것을 특징으로 하는 재생 방법.
KR1020060073257A 2006-08-03 2006-08-03 엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법 KR101254185B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020060073257A KR101254185B1 (ko) 2006-08-03 2006-08-03 엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법
US11/623,813 US7975207B2 (en) 2006-08-03 2007-01-17 Apparatus and method for recording data in information recording medium to which extra ECC is applied or reproducing data from the medium
TW096116449A TWI345770B (en) 2006-08-03 2007-05-09 Apparatus and method for recording data in information recording medium to which extra ecc is applied or reproducing data from the medium
CN2007800254326A CN101484945B (zh) 2006-08-03 2007-07-16 将数据记录在应用了额外纠错编码的信息记录介质中或从所述介质再现数据的设备和方法
PCT/KR2007/003437 WO2008016226A1 (en) 2006-08-03 2007-07-16 Apparatus and method for recording data in information recording medium to which extra ecc is applied or reproducing data from the medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060073257A KR101254185B1 (ko) 2006-08-03 2006-08-03 엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법

Publications (2)

Publication Number Publication Date
KR20080012446A KR20080012446A (ko) 2008-02-12
KR101254185B1 true KR101254185B1 (ko) 2013-04-18

Family

ID=38997381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060073257A KR101254185B1 (ko) 2006-08-03 2006-08-03 엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법

Country Status (5)

Country Link
US (1) US7975207B2 (ko)
KR (1) KR101254185B1 (ko)
CN (1) CN101484945B (ko)
TW (1) TWI345770B (ko)
WO (1) WO2008016226A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255763B1 (en) * 2006-11-08 2012-08-28 Marvell International Ltd. Error correction system using an iterative product code
TW200828328A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method of improving accessing reliability of flash memory
US8438455B2 (en) * 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk
US8924819B2 (en) * 2009-01-23 2014-12-30 Macronix International Co., Ltd. Memory device and operation method thereof
CN102208212B (zh) * 2010-03-30 2014-10-22 群联电子股份有限公司 错误校正方法、存储器控制器与存储器储存系统
US9003270B2 (en) * 2012-06-04 2015-04-07 Marvell World Trade Ltd. Methods and apparatus for temporarily storing parity information for data stored in a storage device
US9021328B2 (en) * 2013-01-15 2015-04-28 International Business Machines Corporation Shared error protection for register banks
US9041428B2 (en) 2013-01-15 2015-05-26 International Business Machines Corporation Placement of storage cells on an integrated circuit
US9201727B2 (en) 2013-01-15 2015-12-01 International Business Machines Corporation Error protection for a data bus
US9043683B2 (en) 2013-01-23 2015-05-26 International Business Machines Corporation Error protection for integrated circuits
KR102254102B1 (ko) * 2015-01-23 2021-05-20 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR101579194B1 (ko) * 2015-02-09 2015-12-21 성균관대학교산학협력단 메모리 액세스 방법 및 메모리 장치
US10031701B2 (en) * 2016-02-09 2018-07-24 International Business Machines Corporation Hierarchical processing for extended product codes
CN116266777A (zh) * 2021-12-16 2023-06-20 华为技术有限公司 数据传输的方法、装置和通信系统
US20240070021A1 (en) * 2022-08-28 2024-02-29 Micron Technology, Inc. Proximity based parity data management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224106A (en) * 1990-05-09 1993-06-29 Digital Equipment Corporation Multi-level error correction system
KR20060069499A (ko) * 2004-07-20 2006-06-21 가부시끼가이샤 도시바 정보 기억 매체, 정보 기록 방법 및 정보 재생 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003071535A1 (fr) 2002-02-20 2003-08-28 Sony Corporation Support d'enregistrement de donnees, procede et appareil d'enregistrement de donnees, procede d'emission et de reception de donnees
JP2004022130A (ja) 2002-06-19 2004-01-22 Sanyo Electric Co Ltd 符号誤り訂正装置
US20050028067A1 (en) * 2003-07-31 2005-02-03 Weirauch Charles R. Data with multiple sets of error correction codes
KR100772393B1 (ko) 2006-02-08 2007-11-01 삼성전자주식회사 에러 정정 블록, 에러 정정 블록의 생성 방법 및 장치,에러 정정 방법
KR101300810B1 (ko) 2006-04-03 2013-08-26 삼성전자주식회사 데이터 인코딩 및 디코딩 방법과 그 장치, 저장 매체, 및저장 매체 구동 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224106A (en) * 1990-05-09 1993-06-29 Digital Equipment Corporation Multi-level error correction system
KR20060069499A (ko) * 2004-07-20 2006-06-21 가부시끼가이샤 도시바 정보 기억 매체, 정보 기록 방법 및 정보 재생 방법

Also Published As

Publication number Publication date
CN101484945B (zh) 2012-05-30
WO2008016226A1 (en) 2008-02-07
TW200809789A (en) 2008-02-16
TWI345770B (en) 2011-07-21
US7975207B2 (en) 2011-07-05
CN101484945A (zh) 2009-07-15
KR20080012446A (ko) 2008-02-12
US20080034269A1 (en) 2008-02-07

Similar Documents

Publication Publication Date Title
KR101254185B1 (ko) 엑스트라 ecc가 적용된 정보 저장 매체에 데이터를기록하거나 상기 매체로부터 데이터를 재생하는 장치 및방법
RU2491661C2 (ru) Устройство воспроизведения для воспроизведения данных с носителя хранения информации
EP1566807B1 (en) Recording and/or reproducing method, recording and/or reproducing apparatus, and computer readable recording medium storing program for performing the method
US8190955B2 (en) Apparatus and method for recording and/or reproducing data on an information storage medium using padding information, and the information storage medium
RU2299483C2 (ru) Оптический носитель информации, устройство и способ записи на него/воспроизведения с него и носитель информации, считываемый компьютером, на котором хранится программа для выполнения способа
KR101254186B1 (ko) 엑스트라 ecc가 적용된 정보 저장 매체 운용 방법, 정보저장 매체 및 그 장치
KR100717067B1 (ko) 기록/재생 장치 및 그 방법을 수행하는 프로그램이 기록된컴퓨터 판독가능한 기록매체
KR100860997B1 (ko) 패딩 정보를 이용한 기록/재생 장치 및 그 정보저장매체
KR100860996B1 (ko) 패딩 정보를 이용한 기록/재생 장치 및 그 정보저장매체
KR100860990B1 (ko) 패딩 정보를 이용한 기록/재생 장치 및 그 정보저장매체
KR100860999B1 (ko) 패딩 정보를 이용한 기록/재생 방법
KR100860998B1 (ko) 패딩 정보를 이용한 기록/재생 방법
KR100644718B1 (ko) 기록/재생 방법, 및 그 방법을 수행하는 프로그램이 기록된컴퓨터 판독가능한 기록매체

Legal Events

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

Payment date: 20160330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee