KR20070029704A - 1회 기록 디스크들을 위한 데이터 기록/재생 - Google Patents

1회 기록 디스크들을 위한 데이터 기록/재생 Download PDF

Info

Publication number
KR20070029704A
KR20070029704A KR1020067023643A KR20067023643A KR20070029704A KR 20070029704 A KR20070029704 A KR 20070029704A KR 1020067023643 A KR1020067023643 A KR 1020067023643A KR 20067023643 A KR20067023643 A KR 20067023643A KR 20070029704 A KR20070029704 A KR 20070029704A
Authority
KR
South Korea
Prior art keywords
data
physical sector
sector
physical
remapping
Prior art date
Application number
KR1020067023643A
Other languages
English (en)
Inventor
비샬 비. 고트지
라빈더 에스. 틴드
요시호 고토
라지브 와이. 나가르
게릿 제이. 부반
사로쉬 씨. 하베왈라
Original Assignee
마쯔시다덴기산교 가부시키가이샤
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마쯔시다덴기산교 가부시키가이샤, 마이크로소프트 코포레이션 filed Critical 마쯔시다덴기산교 가부시키가이샤
Publication of KR20070029704A publication Critical patent/KR20070029704A/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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • 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/1879Direct read-after-write methods
    • 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
    • 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/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • 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
    • G11B2020/10898Overwriting or replacing recorded data
    • 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
    • G11B2020/10898Overwriting or replacing recorded data
    • G11B2020/10907Overwriting or replacing recorded data using pseudo-overwriting, i.e. virtually or logically overwriting data on WORM media by remapping recorded blocks to alternate areas
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1288Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
    • 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
    • G11B2020/1873Temporary defect structures for write-once discs, e.g. TDDS, TDMA or TDFL
    • 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/1883Methods for assignment of alternate areas for defective areas
    • G11B2020/1893Methods for assignment of alternate areas for defective areas using linear replacement to relocate data from a defective block to a non-contiguous spare area, e.g. with a secondary defect list [SDL]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/218Write-once discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Optical Recording Or Reproduction (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

본 발명의 기록 방법은 데이터가 기록될 적어도 논리적 섹터를 규정하는 기록 명령을 수신하는 단계; 상기 논리적 섹터가 기록된 물리적 섹터 및 기록되지 않은 물리적 섹터에 대응하는지를 결정하는 단계(S1411); 상기 논리적 섹터가 기록되지 않은 물리적 섹터에 대응한다라고 결정될 때, 상기 데이터를 기록되지 않은 물리적 섹터에 기록하는 단계(S1412), 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하는 단계(S1413), 기록된 상기 데이터가 성공적이지 않으면, 상기 데이터를 기록되지 않은 물리적 섹터에 기록하는 단계(S1414), 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하는 단계(S1415); 및 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하는 단계를 포함한다.
시스템 제어기, 메모리, 드라이브 장치, 시스템 LSI, 정보 기록/재생 장치

Description

1회 기록 디스크들을 위한 데이터 기록/재생{Data recording/reproduction for write-once discs}
본 발명은 논리적 겹쳐쓰기가능 메커니즘을 이용하여 1회 기록 디스크를 위한 기록 방법 및 재생 장치와 상기 기록 장치 또는 재생 장치에 사용하기 위한 반도체 집적 회로에 관한 것이다.
광학 디스크들을 위한 파일 시스템들은 OSTA(Optical Storage Technology Association)으로부터 공개된 UDF(Universal Disk Format®) 명세들을 개발하기 위한 각종 활동들을 통해서 진보되어 왔다.
1회 기록 디스크들을 위한 기록 방법은 VAT(Virtual Allocation Table)을 이용하여 멀티-세션 기록으로부터 한 파일씩 기록까지 개선되어 왔다.
다른 한편으로, 재기록가능한 디스크들을 위하여, 볼륨 및 파일 구조는 국제 표준인 ECMA 167에서 규정된 비순차적 기록을 이용하는 구조로부터 UDF 개정 2.5(지금부터, UDF 2.5)에 규정된 메타데이터 파티션을 이용하는 구조까지 개선되어 왔다. 메타데이터 파티션을 이용하는 장점들은 파일 엔트리들/디렉토리들과 같은 메타데이터를 검색하고 매체 손상으로부터 로버스트니스를 증가시키기 위한 성능을 개선시킨다는 것이다.
그러나, 메타데이터 파티션은 1회 기록 디스크 상에 데이터 부가(data appending) 용도에 사용될 수 없다. 그 이유는 이 조합을 구현하기 위한 곤란성으로 인해 UDF 2.5에선 VAT를 갖는 메타데이터 파티션을 사용하는 것이 허용되지 않기 때문이다.
통상적으로, 1회 기록 디스크를 위한 새로운 기록 방법을 개발하는 것 또한 어렵다. 이는 1회 기록된 데이터가 겹쳐쓰여질 수 없는 것과 같은 물리적 특성으로 인한 것이다. 그러므로, 컴퓨터 아키텍쳐, 구동 장치를 위한 구현 가능성, 소비자 제품들의 전용 자원으로 인한 제한들 등에 부합되도록 하기 위하여 다양한 양상들이 연구될 필요가 있다.
본 발명은 상기와 같은 관점들에서 행해지고 1회 기록 디스크 상에 데이터 기록 용도에 메타데이터 파티션의 장점들을 제공하는 것을 목적으로 한다.
다수의 물리적 섹터들을 갖는 1회 기록 디스크 상에 데이터를 기록하기 위한 본 발명에 따른 기록 방법에 있어서, 상기 1회 기록 디스크는 상기 다수의 물리적 섹터들 중 한 섹터에 각각 대응하는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하고, 상기 기록 방법은, 데이터가 기록될 적어도 논리적 섹터를 규정하는 기록 명령을 수신하는 단계; 상기 기록 명령에 의해 규정된 상기 논리적 섹터가 기록된 물리적 섹터 및 기록되지 않은 물리적 섹터에 대응하는지를 결정하는 단계; 상기 기록 명령에 의해 규정된 논리적 섹터가 기록되지 않은 물리적 섹터에 대응한다라고 결정될 때, 상기 데이터를 기록되지 않은 물리적 섹터에 기록하는 단계, 물리적 섹터로 기록되는 상기 데이터의 입증이 성공적인지를 결정하는 단계, 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 데이터를 상기 기록된 데이터의 입증이 성공적이지 않은 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 기록 단계, 상기 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스로 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하는 단계, 및 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하는 단계; 및 상기 기록 명령에 의해 규정된 상기 논리적 섹터가 기록된 물리적 섹터에 대응한다라고 결정될 때, 상기 데이터를 상기 기록된 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간에서 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 기록 단계, 물리적 섹터로 기록되는 상기 데이터의 입증이 성공적인지를 결정하는 단계, 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 기록된 데이터의 입증이 성공적이지 않은 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 상기 데이터를 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 기록 단계, 상기 기록 명령에 의해 규정되는 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스로 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하는 단계, 및 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하는 단계를 포함한다.
본 발명의 실시예에서, 상기 데이터는 1회 기록 디스크상에 할당되는 트랙에 순차적으로 기록되며, 상기 트랙은 다수의 물리적 섹터들을 가지고, 상기 선택된 기록되지 않은 물리적 섹터는 트랙 내의 다음 기록가능한 어드레스에 의해 지정된 물리적 섹터이다.
본 발명의 실시예에서, 상기 방법은 트랙 내에서 다음 기록가능한 어드레스에 대한 질의를 수신하는 단계; 및 상기 질의에 응답하여 트랙 내에서 상기 다음 기록가능한 어드레스를 나타내는 정보를 제공하는 단계를 포함한다.
본 발명의 실시예에서, 상기 재맵핑 테이블은 적어도 하나의 결함있는 물리적 섹터를 설명하는 결함 리스트의 적어도 일부에 포함된다.
본 발명의 실시예에서, 상기 결함 리스트는 상기 볼륨 공간 내의 논리적 섹터에 대응하는 기록되지 않은 물리적 섹터로 기록된다.
본 발명의 실시예에서, 상기 방법은 상기 볼륨 공간 내의 보더-인 영역(border-in area) 및 보더-아웃 영역(border-out area) 중 적어도 한 영역을 할당하는 단계를 포함하고, 상기 결함 리스트는 상기 볼륨 공간 내에 할당되는 보더-인 영역 및 보더-아웃 영역 중 적어도 하나에 기록된다.
본 발명의 또 다른 양상을 따르면, 다수의 물리적 섹터들을 갖는 1회 기록 디스크 상에 데이터를 기록하기 위한 기록 장치가 제공되며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하며, 상기 기록 장치는 상기 1회 기록 디스크를 위한 기록 동작을 수행하는 구동 메커니즘; 및 상기 구동 메커니즘을 제어하는 구동 제어부를 포함하며, 상기 구동 제어부는 데이터가 기록되는 적어도 논리적 섹터를 규정하는 기록 명령을 수신하며, 상기 기록 명령에 의해 규정된 논리적 섹터가 기록된 물리적 섹터 또는 기록되지 않은 물리적 섹터에 대응하는지를 결정하도록 동작될 수 있으며; 상기 기록 명령에 의해 규정되는 논리적 섹터가 기록되지 않은 물리적 섹터에 대응할 때, 상기 구동 제어부는 구동 메커니즘을 제어하여, 기록되지 않은 물리적 섹터로 기록하도록 하고, 물리적 섹터에 기록되는 데이터의 입증이 성공적인지를 결정하도록 하며, 기록되는 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여, 상기 데이터를 상기 기록된 데이터의 입증이 성공적이지 않은 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고, 상기 1회 기록 디스크 상에 재맵핑 테이블을 기록하도록 하며; 상기 기록 명령에 의해 규정되는 상기 논리적 섹터가 기록된 물리적 섹터에 대응한다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여, 상기 기록된 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터가 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하도록 하고, 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 구동 제어부는 구동 메커니즘을 제어하여, 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터 내로 상기 데이터를 기록하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 상기 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하고 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하도록 한다.
본 발명의 또 다른 양상을 따르면, 다수의 물리적 섹터들을 갖는 1회 기록 디스크 상에 데이터를 기록하는 기록 장치에서 사용하기 위한 반도체 집적 회로가 제공되며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하며, 상기 반도체 집적 회로는 상기 1회 기록 디스크를 위한 기록 동작을 수행하는 구동 메커니즘을 제어하도록 구성되며, 데이터가 기록되는 적어도 논리적 섹터를 규정하는 기록 명령을 수신하도록 동작 가능하며; 상기 기록 명령에 의해 규정된 논리적 섹터가 기록된 물리적 섹터 또는 기록되지 않은 물리적 섹터에 대응하는지를 결정하며; 상기 기록 명령에 의해 규정되는 논리적 섹터가 기록되지 않은 물리적 섹터에 대응한다라고 결정될 때, 상기 반도체 집적 회로는 구동 메커니즘을 제어하여, 기록되지 않은 물리적 섹터로 기록하도록 하고; 물리적 섹터에 기록되는 데이터의 입증이 성공적인지를 결정하도록 하며, 기록되는 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여, 상기 기록 기록된 데이터의 입증이 성공적이 아닌 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고, 상기 1회 기록 디스크 상에 재맵핑 테이블을 기록하도록 하며; 상기 기록 명령에 의해 규정되는 상기 논리적 섹터가 기록된 물리적 섹터에 대응한다라고 결정될 때, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여: 상기 기록된 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터가 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하도록 하고, 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 반도체 집적 회로는 구동 메커니즘을 제어하여: 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터 내로 상기 데이터를 기록하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 상기 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하고 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하도록 한다.
본 발명의 또 다른 양상을 따르면, 다수의 물리적 섹터들을 갖는 1회 기록 디스크 상에 데이터를 기록하는 방법이 제공되며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하며, 상기 기록 방법은 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 1 기록 명령에 응답하여, 상기 제 1 기록 명령에 의해 규정된 논리적 섹터에 대응하는 상기 물리적 섹터에 데이터를 기록하는 단계, 물리적 섹터에 기록되는 데이터의 입증이 성공적인지를 결정하는 단계, 기록되는 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 기록된 데이터의 입증이 성공적이지 않은 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 데이터를 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는 상기 기록 단계, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하는 단계, 및 상기 1회 기록 디스크 상에 재맵핑 테이블을 기록하는 단계를 포함하고; 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 2 기록 명령에 응답하여, 상기 제 2 기록 명령에 의해 규정되는 상기 논리적 섹터에 대응하는 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 데이터를 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터가 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는 상기 기록 단계, 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하는 단계, 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터 내로 상기 데이터를 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는 상기 기록 단계, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 상기 제 2 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하는 단계, 및 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하는 단계를 포함한다.
본 발명의 또 다른 양상을 따르면, 다수의 물리적 섹터들을 갖는 1회 기록 디스크 상에 데이터를 기록하기 위한 기록 장치가 제공되며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하며, 상기 기록 장치는 상기 1회 기록 디스크를 위한 기록 동작을 수행하는 구동 메커니즘; 및 상기 구동 메커니즘을 제어하는 구동 제어부를 포함하며, 상기 구동 제어부는 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 1 기록 명령에 응답하여, 상기 구동 제어부는 구동 메커니즘을 제어하여, 상기 제 1 기록 명령에 의해 규정된 논리적 섹터에 대응하는 물리적 섹터 내로 데이터 기록하도록 하고, 물리적 섹터에 기록되는 데이터의 입증이 성공적인지를 결정하도록 하며, 기록되는 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여, 상기 데이터를 상기 기록된 데이터의 입증이 성공적이 아닌 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고, 상기 1회 기록 디스크 상에 재맵핑 테이블을 기록하도록 하며; 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 2 기록 명령에 응답하여, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여, 상기 제 2 기록 명령에 의해 규정되는 상기 논리적 섹터에 대응하는 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터가 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하도록 하고, 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 구동 제어부는 구동 메커니즘을 제어하여, 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터 내로 상기 데이터를 기록하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 상기 제 2 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하고 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하도록 한다.
본 발명의 또 다른 양상을 따르면, 다수의 물리적 섹터들을 갖는 1회 기록 디스크 상에 데이터를 기록하는 기록 장치에서 사용하기 위한 반도체 집적 회로가 제공되며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하며, 상기 반도체 집적 회로는 상기 1회 기록 디스크를 위한 기록 동작을 수행하는 구동 메커니즘을 제어하도록 구성되며, 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 1 기록 명령에 응답하여, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여, 상기 제 1 기록 명령에 의해 규정된 논리적 섹터에 대응하는 물리적 섹터로 데이터를 기록하도록 하고, 물리적 섹터에 기록되는 데이터의 입증이 성공적인지를 결정하도록 하며, 기록되는 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여, 상기 기록 기록된 데이터의 입증이 성공적이 아닌 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고, 상기 1회 기록 디스크 상에 재맵핑 테이블을 기록하도록 하며; 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 2 기록 명령에 응답하여, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여, 상기 제 2 기록 명령에 의해 규정되는 상기 논리적 섹터에 대응하는 물리적 섹터 이외의 기록되지 않은 물리적 섹터 내로 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터가 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하도록 하고, 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 반도체 집적 회로는 구동 메커니즘을 제어하여: 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터 내로 상기 데이터를 기록하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며, 상기 선택된 물리적 섹터의 재맵핑 어드레스에 상기 제 2 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하고 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하도록 한다.
도 1은 파일이 기록될 때 영역들의 구성을 도시한 도면.
도 2는 도 1에 도시된 바와 같은 상태를 갖는 디스크의 루트 디렉토리에 데이터-A-파일이 기록될 때 영역들의 구성을 도시한 도면.
도 3은 더욱 큰 예비 영역을 갖는 디스크의 루트 영역에 데이터-A-파일이 기록될 때 영역들의 구성을 도시한 도면.
도 4는 파일을 기록하기 위한 절차를 도시한 순서도.
도 5는 광 디스크 정보 기록/재생 시스템을 도시한 도면.
도 6은 구동 장치 및 시스템 제어기 간의 명령들의 전달을 도시한 도면.
도 7a 내지 도 7d는 데이터가 재기록가능 디스크 케이스 및 1회 기록 디스크 케이스를 위하여 재맵핑될 때 사용자 데이터 영역에서 블록들을 도시한 도면.
도 8a 및 도 8b 각각은 데이터가 NWA에 기록될 때 사용자 데이터 영역에서 블록들을 도시한 도면.
도 9는 재맵핑 테이블의 데이터 구조를 도시한 도면.
도 10은 사용자 데이터 영역 내의 블록들을 도시하며, 데이터가 결함있는 블록에 기록될 때 결함/재맵핑 리스트에서 엔트리를 세이브하기 위한 메커니즘을 도시한 도면.
도 11은 사용자 데이터 영역 내의 블록들을 도시하며, 데이터가 논리적 블록으로 논리적으로 겹쳐쓰여질 때 결함/재맵핑 리스트에서 엔트리를 세이브하기 위한 메커니즘을 도시한 도면.
도 12는 사용자 데이터 영역 내의 블록들을 도시하며, 데이터가 논리적 블록 으로 논리적으로 겹쳐쓰여질 때 결함/재맵핑 리스트에서 엔트리를 세이브하기 위한 메커니즘을 도시한 도면.
도 13은 의사-겹쳐쓰기 방법을 설명하기 위한 영역들의 구성을 도시한 도면.
도 14a 및 도 14b 각각은 광학 디스크 정보 기록/재생 시스템에 의해 데이터를 기록하기 위한 절차를 도시한 순서도.
도 15는 소비자 비디오 레코더 또는 소비자 비디오 플레이어의 일부인 광 디스크 정보 기록/재생 시스템을 도시한 도면.
도 16은 도 15에 설명된 기록/재생 시스템에 의해 1회 기록 디스크 상에 데이터를 기록하기 위한 절차를 도시한 순서도.
도 17은 도 5 및 도 15에 설명된 기록/재생 시스템에 의해 1회 기록 광 디스크로부터 데이터를 판독하기 위한 절차를 도시한 순서도.
도 18a 및 도 18b 각각은 1회 기록 디스크 상의 영역을 도시한 도면을 포함하며, 판독 전용 드라이브 판독가능한 상태가 되도록 구동 장치에 의한 동작을 도시한 도면.
도 19a 및 도 19b 각각은 1회 기록 디스크 상의 영역을 도시한 도면을 포함하며, 판독 전용 드라이브 판독가능한 상태가 되도록 구동 장치에 의한 동작을 도시한 도면.
도 20a 및 도 20b 각각은 1회 기록 디스크 상의 영역을 도시한 도면을 포함하며, 리드-인 영역 및 리드-아웃 영역을 기록하기 위한 구동 장치에 의한 동작을 도시한 도면.
구동 장치에 의해 수행되는 1회 기록 디스크를 위한 겹쳐쓰기 기능이 연구되어 왔다. 그러나, 구동 장치가 얼마나 많은 데이터가 겹쳐쓰여질 지 데이터가 어디에 겹쳐쓰여질지 알 수 없기 때문에 실시하는 것이 어려웠다.
예를 들어, 겹쳐쓰여질 데이터는 1회 기록 디스크로서 다른 위치에 저장되고 원래 위치 및 대체 위치를 규정하기 위한 정보는 구동 장치에서 취급되어야만 한다. 겹쳐쓰여지는 데이터 량이 증가할 때, 대체되는 곳을 탐색하는데 오랜 시간이 걸린다. 그러므로, 이와 같은 구동 장치는 작은 자원들(예를 들어, CPU 속도 및 메모리)로 인한 충분한 수행성능으로 판독/기록할 수 없다.
새로운 파일 시스템이 겹쳐쓰여질 데이터와 새롭게 기록될 데이터를 구별하여만 하고, 새로운 파일 시스템이 겹쳐쓰여질 기능을 갖는 구동 장치와 정합할 수 있어야 한다고 여겨진다. 그 후, VAT를 사용함이 없이 1회 기록 디스크 상에 데이터 부가 용도(data appending usage)를 위하여 메타데이터 파티션을 적용하는 가능성이 구해진다.
이 개념의 전략적인 중요성은 장치가 기존 블록들의 겹쳐쓰기를 취급함으로써, 파일 시스템이 논리를 구현할 필요가 없다는 것을 포함한다. 이는 파일 시스템 드라이버의 복잡성을 감소시킨다.
다음 실시예들에서, 이 개념을 토대로 한 연구들이 상세히 도시된다.
(실시예 1)
겹쳐쓰여지는 데이터 량은 파일 시스템에서 절차를 최적화함으로써 감소될 수 있다. 이 실시예에서, 기본 판독/기록 동작은 1회 기록 디스크의 겹쳐쓰여질 수 있는 기능을 갖는 구동 장치를 위한 새로운 기록 방법에 따라서 설명된다.
지금부터, 본 발명의 실시예들이 도면을 참조하여 설명될 것이다.
도 1 및 도 2는 영역들의 구성을 도시한 도면들이다. 도 4는 파일을 기록하기 위한 절차를 도시한 순서도이다. 도 1은 논리적 포맷 동작 후 파일이 기록되는 상태를 도시한 것이다. 도 2는 데이터-A-파일이 도 1의 상태를 갖는 디스크 상에 루트 디렉토리에 기록되는 상태를 도시한 것이다.
우선, 도 1이 설명될 것이다.
데이터 영역은 리드-인 영역, 볼륨 공간 및 리드-아웃 영역(여기서, 리드-인 영역 및 리드-아웃 영역은 물리층에 의해 관리된다)과 같은 영역들을 포함한다. 물리적 섹터는 데이터 영역 내의 어드레스가능한 유닛이고 물리적 섹터 수는 각 물리적 섹터에 오름차순 순서로 할당된다. 볼륨 공간은 논리적 섹터들로 이루어지며, 논리적 섹터 수는 각 논리적 섹터에 오름차순 순서로 할당된다. 각 논리적 섹터는 미리 특정하게 물리적 섹터에 대응한다. 예를 들어, 논리적 섹터 수 0을 갖는 논리적 섹터는 물리적 섹터 수 10000을 갖는 물리적 섹터에 대응하고 볼륨 공간의 시작 어드레스는 리드-인 영역에 저장된다.
결함 관리 영역(DMA)은 대체될 블록의 어드레스 및 대체 동작에서 대체되는 블록의 어드레스 간의 대응성을 표시하는 정보는 결함 리스트로서 기록되는 영역이다.
일시적 DMA(TDMA)는 일시적 결함 리스트가 증분 기록 동작에서 기록되는 영 역이다. 디스크가 증분 기록 동작을 금지하도록 완성되면, 일시적 결함 리스트는 DMA에서 결함 리스트로서 등록된다. DMA는 디스크의 2개의 부분들, 즉 내부 부분 및 외부 부분에서 제공된다. 따라서, 결함 리스트는 서로 다른 영역들에서 2회 기록된다. DMA에서, 트랙 정보, 예비 영역의 위치 정보 등과 같은 디스크 정보가 기록된다.
예비 영역은 선형 대체 방법과 등가인 데이터가 대체 동작에 의해 기록되는 대체 영역이다. 예비 영역은 파일 시스템에 의해 취급되는 볼륨 공간 밖에 할당된다. 이 예에서, 데이터는 예비 영역의 부분에 기록된다. 예비 영역 내의 어드레스들은 본래 물리적 어드레스들을 사용함으로써 규정된다. 이 설명을 간단화하기 위하여, 예비 영역 내의 상대 어드레스들은 SA(예비 영역 어드레스)로 표시된다. SA #m 상에 또는 이 다음의 섹터들은 기록되지 않은 상태에 있다.
본 발명에서, 일반적으로 결함 관리를 위하여 사용되는 선형 대체 알고리즘은 구동 장치에 의해 수행되는 겹쳐쓰기에 적용된다.
볼륨 공간은 3개의 트랙들로 이루어진다. 트랙은 1회 기록 디스크 상의 트랙의 처음부터 순차적으로 데이터가 기록되는 영역 이다. 트랙에서 기록된 영역의 끝은 구동 장치에 의해 관리된다. 트랙 상태(폐쇄 및 개방)는 트랙의 상태를 표시한다. "폐쇄"는 트랙 내 모든 섹터들이 데이터 기록을 위하여 사용되는 것을 나타낸다. "개방"은 데이터 기록을 위하여 사용되지 않은 섹터(들)이 존재한다는 것을 나타낸다. 다른 말로서, 데이터는 개방 트랙에 증분적으로 기록될 수 있다.
(볼륨 구조)
볼륨 및 파일 구조는 UDF 2.5와 일치한다. 더 작은 논리적 섹터 수를 갖는 영역에 위치되는 볼륨 구조는 앵커 볼륨 디스크립터 포인터, 볼륨 인식 시퀀스, 볼륨 디스크립터 시퀀스 및 논리적 볼륨 인터그러티 시퀀스를 포함한다. 더 큰 논리적 섹터 수를 갖는 영역에 위치되는 볼륨 구조는 앵커 볼륨 디스크립터 포인터 및 볼륨 디스크립터 시퀀스를 포함한다. 논리적 볼륨 인터그러티 디스크립터가 기록되는 논리적 볼륨 인터그러티 시퀀스는 볼륨 구조의 일부이다. 그러나, 이 예에서 설명을 간단히 하기 위하여, 논리적 볼륨 인터그러티 디스크립터는 볼륨 구조 하에서 명시적으로 설명된다. 볼륨 구조가 사전에 기록되기 때문에 트랙들(#1 및 #2)은 폐쇄 상태에 있다. 트랙 #2로서 기록된 영역은 UDF에 의해 규정된 파티션으로서 할당된다. 메타데이터 파일을 또한 메타데이터 파티션이라 칭한다. 이를 메타데이터 파티션과 구별하기 위하여, 트랙 #2를 물리적 파티션이라 칭한다. 메타데이터 파일에서, 사용되지 않은 영역은 미리 기록된다. 트랙 2는 파일 데이터를 기록하기 위한 영역 이다. 그러므로, 기록된 영역 다음의 영역은 기록되지 않은 상태로 된다.
(파일 구조)
메타데이터 비트맵 FE(메타데이터 비트맵 파일 File Entry)는 메타데이터 비트맵을 위하여 할당되는 영역들을 조직하기 위한 파일 엔트리이다. 메타데이터 비트맵은 메타데이터 파일에 사용하기 위하여 준비되는 이용가능한 섹터들을 규정하기 위한 비트맵이다. 기록되지 않은 영역 뿐만 아니라 파일 엔트리 또는 디렉토리를 삭제함으로써 사용되지 않은 영역이 되는 영역은 이용가능한 영역들로서 비트맵에 등록된다. 메타데이터 파일 FE(메타데이터 파일 File Entry)는 메타데이터 파일 을 위하여 할당되는 영역들을 조직하기 위한 파일 엔트리이다. 메타데이터 파일에서, 파일 엔트리들 및 디렉토리들이 기록된다. UDF에서, 도면에 도시되지 않은 파일 세트 디스크립터가 또한 기록된다.
루트 디렉토리 (FE)(루트 디렉토리 파일 엔트리)는 루트 디렉토리를 위하여 할당되는 영역들을 조직하기 위한 파일 엔트리이다. 루트 디렉토리(FE)는 MA #i에 기록된다. 루트 디렉토리는 MA(#i+1)에 기록된다. 도시되지 않았지만, 루트 디렉토리(FE) 및 루트 디렉토리는 실제로 예비 영역 내의 섹터들에 물리적으로 저장된다. 예비 영역 내의 어느 섹터가 루트 디렉토리(FE) 및 루트 디렉토리를 대체하는지를 나타내는 정보가 TDMA에 기록된다. MA(메타데이터 파일 어드레스)는 메타데이터 파일 내의 상대 어드레스를 나타낸다. 파일(들)이 사전에 기록되기 때문에 MA(#k)상에 그리고 다음에 영역들이 이용가능하다.
(파일 기록 절차)
도 1의 1회 기록 디스크 상으로 데이터-A 파일을 기록하기 위한 예시적인 절차는 도 2 및 도 4와 관련하여 설명될 것이다.
단계(S101)에서, 메타데이터 비트맵은 메모리 내로 판독되고 메모리에서 갱신되어 메타데이터 파일에서 기록 영역을 얻는다.
단계(S102)에서, 파일이 등록되는 디렉토리는 메모리 내로 판독되고 메모리에서 갱신된다. 이 예에서, 루트 디렉토리는 판독 출력되고 데이터-A-파일은 등록된다.
단계(S103)에서, 디렉토리의 파일 엔트리는 메모리 내로 판독되고 디렉토리 의 정보(예를 들어, 크기 및 갱신 시간 등)는 갱신된다.
단계(S104)에서, 데이터-A-파일 데이터는 트랙 #2에서 기록되지 않은 영역의 처음부터 기록된다.
단계(S105)에서, 기록된 데이터의 위치 정보를 등록하기 위하여, 파일의 파일 엔트리는 메모리에서 발생된다.
단계(S106)에서, 메모리에서 발생된 또는 갱신된 데이터가 기록된다. 도 2의 예에서, 구동 장치는 동일한 위치에 메타데이터 비트맵 파일을 기록하도록 명령받는다. 지정된 영역은 이미-기록된 영역이기 때문에, 구동 장치는 데이터를 SA#m에 기록하고, 이는 예비 영역의 기록되지 않은 영역의 시작부이다. 루트 디렉토리는 MA#k에 기록되도록 명령받는다. 그러므로, MA#i+1에 기록된 루트 디렉토리는 무효화되고, MA#i+1에서 섹터는 논리 공간에서 이용가능한 섹터가 된다. 메타데이터 파일의 모든 영역은 이미 기록되었기 때문에, 데이터가 메타데이터 파일의 이용가능 영역에 기록되도록 명령받을지라도, 데이터는 영역에 기록될 수 없다. 그러므로, 루트 디렉토리의 데이터는 대체 동작에 의해 예비 영역의 SA#m+1에 기록된다.
이 대체 동작은 본 발명의 의사-겹쳐쓰기 동작이다. 본원에 사용되는 바와 같은, 용어 "의사-겹쳐쓰기 동작"은 대체 동작의 메커니즘이 이미 기록된 영역 내로 데이터를 기록하도록 하는 명령에 응답하여 기록되지 않은 영역 내로 데이터를 기록하는 데 사용되는 논리적 겹쳐쓰기 동작이라 칭한다.
루트 디렉토리의 파일 엔트리가 MA#i으로 기록되도록 명령받는다. 이 경우에, MA#i은 이미-기록된 영역이다. 그러므로, 데이터는 의사-겹쳐쓰기 동작에 의해 예비 영역 내 SA#m+2내로 저장된다. 데이터-A 파일의 파일 엔트리가 MA#k+1 내로 기록되도록 명령받는다. 이 데이터는 의사-겹쳐쓰기 동작에 의해 SA#m+3에 저장된다.
단계(S107)에서, 논리적 볼륨 인터그러티 디스크립터가 파일 구조의 인터그러티 상태를 나타내기 위하여 갱신되도록 명령받는다. 이 데이터는 의사-겹쳐쓰기 동작에 의해 SA#m+4로 저장된다.
도 5는 본 발명을 따른 광 디스크 정보 기록/재생 시스템(500)을 도시한 것이다. 정보 기록/재생 시스템(500)은 시스템 제어기(510), 광 디스크로부터 그리고 이 디스크 상으로 정보를 판독 및 기록하기 위한 구동 장치(520) 및 입력/출력 버스(530)를 포함한다.
시스템 제어기(510) 및 구동 장치(520) 간에는 명령 세트를 이용한 명령들 및 응답들 및 판독/기록 데이터의 전달이 입력/출력 버스(530)를 통해서 수행된다.
시스템 제어기(510)는 제어기(511) 및 메모리(512)를 포함한다. 시스템 제어기(510)는 개인용 컴퓨터일 수 있다. 제어기(511)는 예를 들어 CPU(중앙 처리 장치)와 같은 반도체 집적 회로일 수 있고 본 발명의 실시예들에서 설명되는 방법을 수행한다.
게다가, 제어기(511)가 이 실시예들에서 설명된 방법을 수행하도록 하는 프로그램은 메모리(512)에 저장된다. 제어기(511)에서, 파일 시스템, 유틸리티 프로그램 또는 장치 드라이버가 수행될 수 있다.
구동 장치(520)는 시스템 LSI(521), 메모리(522) 및 구동 메커니즘(523)을 포함한다. 시스템(LSI)(521)이 본 발명의 실시예들에 서술된 방법을 수행하도록 하는 프로그램은 메모리(522)에 저장될 수 있다. 시스템 LSI(521)은 반도체 칩 상에 형성될 수 있고 마이크로 프로세서를 포함할 수 있다.
구동 메커니즘(523)은 광 디스크, 디스크로부터/상으로 데이터를 기록/판독하기 위한 픽업(524), 상기 픽업(524)을 이동시키기 위한 트래버스 메커니즘을 포함한다. 드라이브 메커니즘(523)은 시스템 LSI(521)에 의해 제어된다.
상술된 바와 같이, 파일의 데이터는 겹쳐씀이 없이 기록될 수 있으며, 메타데이터의 일부는 의사-겹쳐쓰기를 이용하여 기록될 수 있다. 전형적으로, 파일을 갱신하는데 필요로 되는 메타데이터의 크기는 파일의 데이터 크기보다 작고 겹쳐쓰여질 데이터의 크기는 감소될 수 있다. 파일 엔트리의 크기는 2048 바이트들이고 디렉토리의 크기는 파일들의 수 및 파일 명의 길이에 좌우된다. 예로서, 각 파일명은 12개의 문자들이고 39개의 파일들이 디렉토리에 기록되면, 디렉토리 정보는 2048 바이트들의 섹터 내에 기록될 수 있다. 그러므로, 판독/기록 동작은 기본적으로, 새로운 기록 방법 및 겹쳐쓰기 기능을 가진 구동 장치와 결합함으로써 1회 기록 디스크에에 대해서 실현될 수 있다.
(실시예 2)
이 실시예는 1회 기록 디스크상으로 파일을 기록하기 위한 부가적인 기록 방법을 설명하고, 이 디스크 상의 상태는 도 2와 같은 실시예 1에서 설명된다.
도 2에서, 기록되지 않은 영역은 SA#m+5 및 #m+6의 단지 2개의 섹터들임으로, 메타데이터 비트맵 및 루트 디렉토리가 예비 영역에 기록되면, 루트 디렉토리 의 파일 엔트리 및 파일의 파일 엔트리는 더이상 기록되지 않을 수 있다. 따라서, 메타데이터 비트맵이 메타데이터 파일 내 이용가능한 영역들을 표시하는 경우 조차도 부가적인 파일은 기록되지 않을 수 있는데, 그 이유는 예비 영역 내의 기록되지 않은 에어리가 전부 소모되기 때문이다.
그러므로, 지금부터 예비 영역 내의 기록되지 않은 영역들의 크기를 검사하면서 파일을 기록하기 위한 기록 방법이 설명된다.
도 3은 도 2에 도시된 바와 동일한 데이터가 기록되는 디스크 상의 영역들의 구성을 도시한 도면이다. 도 3에서, 더 큰 크기를 갖는 예비 영역이 논리적 포맷팅 동작에 의해 제공될 때, 예비 영역은 도 2의 영역보다 큰 기록되지 않은 영역을 갖는다.
도 6은 구동 장치 및 시스템 제어기 간에 명령들을 갖는 데이터 전달을 도시한 도면이다. 특정 명령들은 ANSI(American National Standards Institute)에 의해 규정된 표준들 또는 INCITS(Inter National Committee for Information Technology Standards)에 의해 규정된 멀티-미디어 명령 세트 표준들에 적용될 수 있다.
단계들(S601, S603, S605 및 S607)은 시스템 제어기에 의해 수행되는 절차들을 나타낸다. 단계들(S602, S604, S606 및 S608)은 구동 장치의 절차들을 나타낸다.
단계(S601)에서, 구동 장치로 로딩되는 매체의 유형은 시스템 제어기로부터 요청되고 이 시스템 제어기는 매체가 1회 기록 의사-겹쳐쓰기 디스크라는 것을 인지하고 구동 장치가 의사-겹쳐쓰기 기능을 지원한다는 것을 인지한다.
단계(S602)에서, 구동 장치는 로딩된 디스크의 유형의 정보를 판독 출력한다. 이 구동 장치는 또한 의사-겹쳐쓰기 기능이 디스크에 대해서 지원되는지 여부를 결정한다. 구동 장치는 시스템 제어기에 이들 정보 조각들을 통지한다.
단계(S603)에서, 1회 기록 디스크의 트랙 정보를 요청함으로써, 시스템 제어기는 구동 장치로부터 정보를 얻는다. 특히, 트랙#2에서 기록되지 않은 크기 및 트랙에서 다음 기록가능한 어드레스 또는 트랙에 최종 기록된 어드레스가 요청된다. 파일의 데이터를 기록하기 위하여, 상술된 정보를 미리 얻을 필요가 있고, 기록되지 않은 영역이 규정된 크기 이상을 갖는지가 검사된다. 트랙#2에서 부가적인 메타데이터 파일이 할당될 수 있기 때문에, 예를 들어, 규정된 크기는 23GB를 갖는 전체 용량의 디스크에 대해서 128MB일 수 있다. 기록되지 않은 영역의 크기가 규정된 크기 보다 작다면, 디스크는 판독 전용 디스크로서 사용된다. 크기가 규정된 크기와 같거나 크다면, 이 절차는 다음 단계로 진행한다. 파일 엔트리의 크기는 2KB이다. 단지 파일 엔트리들이 128MB의 이용가능한 영역에 기록될 때만, 기껏해야 65,536에 대응하는 파일 엔트리들이 기록될 수 있다.
단계(S604)에서, 구동 장치는 로딩된 디스크의 리드-인 영역, DMA 또는 TDMA로부터 트랙들의 수와 관련된 정보, 각 트랙의 위치 정보 및 개방/폐쇄 상태,또는 최종 기록된 어드레스 정보를 판독한다. 시스템 제어기는 이들 정보 조각들을 통지받는다.
단계(S605)에서, 구동 장치는 메타데이터 비트맵 에이리어를 판독하도록 명령받는다. 따라서, 시스템 제어기는 메타데이터 비트맵을 얻고 이용가능한 섹터들 이 존재하는지를 검사한다. 이용가능한 섹터들이 존재할 때, 이 절차는 다음 단계로 진행한다. 이용가능한 섹터들이 존재하지 않을 때, 메타데이터 파일을 위한 부가적인 영역은 트랙 #2의 기록되지 않은 영역에 할당되어 이용가능한 섹터들을 예약한다. 이 검사에서, 시스템 제어기는 이용가능한 섹터들의 규정된 크기를이용함으로써 메타데이터 파일을 위한 부가적인 영역이 에약되는지 여부를 결정할 수 있는데, 예를 들어 규정된 크기는 128KB일 수 있다.
단계(S606)에서, 구동 장치는 규정된 영역으로부터 데이터를 판독하고 이 데이터를 시스템 제어기에 전달한다.
단계(S607)에서, 구동 장치에 예비 영역 정보를 요청함으로써 시스템 제어기는 정보를 얻고 규정된 크기 이상을 갖는 예비 영역에 기록되지 않은 영역이 존재하는지를 검사한다.
예를 들어, 기록되지 않은 영역의 크기가 8MB보다 같거나 크다면, 디스크는 기록가능한 디스크로서 사용될 수 있다. 그 크기가 8MB보다 작다면, 디스크는 판독 전용 디스크로서 사용된다. 예비 영역은 의사-겹쳐쓰기용 뿐만 아니라 결함 관리용으로 사용된다. 그러므로, 부가적인 기록되지 않은 영역은 디스크 상에 결함있는 섹터들을 복구하는데 필요로 된다.
단계(S608)에서, 구동 장치는 로딩된 디스크의 리드-인 영역, DMA 또는 TDMA로부터 예비 영역들의 수, 예비 영역들의 크기, 및 각 예비 영역에서 기록되지 않은 영역의 크기를 판독한다. 시스템 제어기는 이들 정보 조각들을 통지받는다.
상술된 바와 같이, 의사-겹쳐쓰기 또는 결함 관리에 의해 예비 영역 내의 기 록되지 않은 영역에 데이터가 기록된다. 본 발명의 1회 기록 디스크 구동 장치는 자유 영역 정보뿐만 아니라 매체의 유형 정보를 시스템 제어기에 전송하는 기능을 갖는데, 그 이유는 구동 장치가 파일 시스템이 예상되는 위치와 다를 수 있는 어떤 위치에 데이터를 저장하기 때문이다. 파일이 기록될 때마다 이 자유 영역 정보를 요청함으로써, 시스템 제어기는 파일이 기록되는지 여부를 결정하며, 이 결과, 시스템 제어기는 메타데이터 파일 내의 관련된 데이터와 함께 정확하게 파일을 기록할 수 있다.
(실시예 3)
앞서의 실시예 2에서, 충분한 크기를 갖는 예비 영역은 1회 기록 디스크 상에 포맷팅 시에 할당될 수 있다. 그러나, 사용자는 얼마나 많은 파일이 디스크 상에 기록되는지 디스크 상에 기록될 파일의 크기를 알 수 없음으로, 포맷팅 시 예비 영역의 적절한 크기를 결정하는 것이 어렵다. 모든 예비 영역이 사용되면, 기록되지 않은 영역이 사용자 데이터 영역에 남아 있는경우 조차도 파일은 전혀 디스크 상에 기록되지 않을 수 있다. 다른 한편으로, 더 큰 예비 영역이 할당되면, 모든 사용자 데이터 영역이 사용된 후, 기록되지 않은 영역 예비 영역에 남아 있을 수 있다.
게다가, 파일 시스템 드라이버는 파일이 기록될 때마다 예비 영역에 기록되지 않은 영역의 크기를 검사하여야 함으로, 공간 관리를 수행하는 것이 어렵다. 이는 컴퓨터 시스템들의 파일 시스템 드라이버에 적합하지 않다.
그러므로, 지금부터, 예비 영역 내뿐만 아니라 사용자 데이터 영역 내의 데 이터를 대체하기 위한 방향에 대한 기록 방법이 설명된다.
우선, 본 발명의 개념이 설명된다.
장치들은 새로운 데이터를 다음 기록가능한 블록에 기록함으로써 그리고 구동 장치에 의해 저장되는 재맵핑 테이블에서 엔트리를 생성함으로써 기존 데이터의 겹쳐쓰기를 취급한다. 파일 시스템은 동일한 논리적 블록 수를 계속 사용하고 구동 장치는 테이블 내의 엔트리를 토대로 새로운 위치로 이 요청을 재맵핑한다. 이 테이블의 크기를 감소시키기 위하여, 파일 시스템은 이들이 자유롭게된 후 블록들을 재사용하지 않는다. 즉, 파일 시스템은 1회 기록 매체를 사용하고 이에 따라서 이의 작용을 조정한다라는 것을 인식하여야 한다.
이 장치는 재맵핑된 데이터를 저장하기 위한 표준 볼륨 공간을 사용한다. 즉, 원래 블록이 존재하는 동일한 트랙내에서 다음 기록가능한 위치로 기록한다. 파일 시스템은 새로운 공간을 할당할 필요가 있을 때마다 다음 기록가능한 블록을 위한 장치에 질의한다. 그래서, 파일 시스템 및 장치들 둘 다는 기록들을 위한 동일한 공간을 공유한다.
두 번째, 상기 개념의 유용성은 도 7a-7d, 8a-8b 및 9를 이용하여 설명된다.
도 7a-7d 및 8a-8b는 사용자 데이터 영역 내의 블록들을 도시한다. 여기서, 블록은 일반적으로 개념을 설명하기 위한 섹터 이외에 사용된다. 사용자 데이터 영역은 파일 시스템에 의해 볼륨 공간으로서 인식된다. 각 블록에 대해서, PAB 및 LBA 간의 대응성이 미리 결정되도록 물리적 블록 어드레스(이하부터 PBA로 설명됨) 및 논리적 블록 어드레스(이하부터 LBA로 설명됨)이 할당되는데, 여기서 예로서 PBA는 수 100으로부터 할당되고 LBA는 수 0으로부터 할당된다.
도 9는 구동 장치에 의해 저장되는 재맵핑 테이블의 데이터 구조를 도시한다. 이 테이블은 엔트리들을 갖는데, 각 엔트리는 원래 어드레스 및 재맵핑 어드레스를 규정한다. 이 데이터 구조는 재기록가능한 디스크들을 위한 결함 관리에 사용되는 결함 리스트와 공통적인 데이터 구조일 수 있다.
전형적으로, 상기 개념은 효율적이 아닌것이라고 여겨지는데, 그 이유는 재기록가능한 디스크들에 적용될 때 상충되기 때문이다.
도 7a에 도시된 바와 같이, 재기록가능한 디스크는 예비 영역을 갖는데, 이 영역에서 PBA는 예를 들어 수 200으로부터 할당된다. 재기록가능한 디스크의 통상적인 경우에, 데이터가 LBA2 및 5의 블록들로 기록되고 이들 블록들이 결함이 있다면, 이들 데이터는 선형 대체 알고리즘을 이용하여 예비 영역 내의 블록들 PBA(200 및 201)에 저장된다. 이는 LBA 2 및 5가 PBA (200 및 201)에 재할당되는 것을 의미한다. 따라서, 볼륨 공간 내의 일부 블록이 결함으로 인해 사용가능한 블록이 될 때, 이는 예비 영역 내의 양호한 블록에 의해 보상된다.
상기 개념이 재기록가능한 디스크에 적용되면, 도 7b에 도시된 바와 같이, LBA 2 및 5를 기록하기 위한 데이터는 사용자 데이터 영역 내의 블록들, 예를 들어, PBA(103 및 107)에 저장된다. 그러나, PBA(103 및 107)의 이들 재맵핑된 블록들은 LAB(3 및 7)에 요청되는 데이터를 저장하는데 사용될 수 없는데, 그 이유는 이들 블록들이 LAB(2 및 5)로 대체되기 때문이다. 이 상황은 재기록가능한 디스크 상의 데이터 용량이 감소되지 않는다는 가정에서 임의의 데이터가 파일 시스템에 의해 기록될 때 결함있는 자유 논리적 공간을 제공한다는 가정을 깨트린다. 게다가, 이 상황에서, 구동 장치는 데이터를 재맵핑하기 위한 위치를 결정할 수 없는데, 그 이유는 파일 시스템이 랜덤하게 데이터를 기록할 수 있고 파일 시스템 만이 기록을 위한 이용가능한 영역을 규정하는 공간 비트맵을 취급하기 때문이다.
실시예 1에 설명된 바와 같이, 선형 대체 알고리즘은 또한 1회 기록 디스크들에 적용될 수 있다. 도 7c에 도시된 바와 같이, 예비 영역은 미리 1회 기록 디스크를 위하여 할당된다. 블록이 겹쳐쓰여지거나 결함으로 인해 쓰여질 수 없다면, 블록은 예비 영역 내의 블록으로 보상된다. 예들로서, 데이터(D1)가 LBA(2)로 기록될 때, 블록이 결함이 있다면, 블록은 PBA(200)의 블록에 의해 보상된다. LBA(5)가 데이터(D2)에 의해 기록될 때, PBA(105)가 이미 기록된 경우 조차도 데이터는 PBA(201)에 저장된다.
겹쳐쓰여질 블록 및 결함있는 블록이 볼륨 공간 밖에 속하는 또 다른 블록으로 보상되어야 한다고 가정하자. 이 개념은 재기록가능한 디스크들 뿐만 아니라 1회 기록 디스크들에 상충되는 것으로 보인다.
그러나, 본 발명을 따르면, 1회 기록 디스크들은 재기록가능한 디스크들 처럼 결함있는 자유 논리적 공간을 제공하도록 보장할 수 없는데, 그 이유는 1회 기록 디스크 상의 블록이 1회 기록되기 때문이며, 이는 블록 내 데이터를 변경시킬 수 없다. 1회 기록 디스크들을 위한 새로운 파일 시스템이 순차적인 기록을 이용하여 데이터를 기록한다. 이점에서, 이 개념은 도 7d에 도시된 바와 같은 1회 기록 디스크에 효율적이다. 데이터 (D1, D2, 및 D3)는 LBA(0, 1 및 2)에 순차적으로 기 록되며, 이 때에 블록 (PBA)(102)는 결함이 있다면, 데이터는 다음 블록(103)에 기록될 수 있다. 게다가, 데이터 (D4, D5 및 D6)가 LBA(4, 5 및 6)에 순차적으로 기록되고 나서 갱신된 데이터(D5')는 LBA(5)에 겹쳐쓰여질 수 있다. 이 겹쳐쓰기 상에 데이터는 다음 기록가능한 위치인 블록 PBA(107)로 저장된다. 따라서, 이 개념은 논리적 블록 수의 할당을 변경시킬 필요가 없는데, 그 이유는 겹쳐쓰여짐이 필요로 될때마다, 데이터는 사용자 데이터 영역이 전부 소모될 때까지 다음 기록가능한 위치에 기록될 수 있기 때문이다. 재기록가능한 디스크의 경우에, 데이터는 재맵핑을 위하여 사용되는 블록으로 기록될 수 없지만, 1회 기록 디스크의 본 발명에 문제가 되지 않는다. 예를 들어, 데이터는 LBA(7)의 블록으로 부가 기록될 수 있다. 이 경우에, 데이터는 PBA(108)에 저장되고 PBA(107)의 원래 어드레스로부터 PBA(108)의 재맵핑 어드레스로의 이 재맵핑을 규정하기 위한 엔트리가 재맵핑 테이블에 부가된다.
상술된 바와 같이, 본 발명을 따르면, 논리적 블록 어드레스가 2회 예약되는 경우 조차도, 구동 장치는 새로운 물리적 블록 어드레스를 NWA로 할당함으로써 데이터를 기록할 수 있다.
상기 개념에 실시될 또 다른 중요한 요점은 파일 시스템으로부터 구동 장치로의 다름 기록가능한 어드레스를 질의함으로써 재맵핑 테이블에 저장되는 엔트리들을 세이브하는 것이다. 도 8a 및 도 8b는 테이블의 크기를 감소시키기 위한 메커니즘을 도시한다. 이 도면에서, 블록들 PBA(100 내지 105)는 미리 기록된다. 도 8a에 도시된 바와 같이, 데이터(D1)가 LBA(1)에 기록될 때, 데이터는 다음 기록가능 한 위치 PBA(106)에 저장되고 하나의 엔트리는 PBA(101)가 PAB(106)로 재맵핑되는 것을 규정하기 위하여 부가된다. 이 때, 파일 시스템은 데이터가 재맵핑되는 곳을 알지 못한다. 파일 시스템이 새로운 데이터(D2)를 이전 다음 기록가능한 위치 LBA(6)로 기록하도록 지시하면, 데이터는 다음 블록 PBA(107)로 저장되고 하나의 엔트리가 부가된다. 본 발명에서, 파일 시스템은 임의의 데이터가 겹쳐쓰기를 제외하면 기록되기 전 갱신된 다음 기록가능한 어드레스를 검사하고 도 8b에서 LBA(7)인 갱신된 다음 기록가능한 어드레스에서 데이터를 기록하도록 명령한다. 따라서, 부가적인 엔트리가 필요로되지 않는다. 파일 시스템은 또한 데이터를 동일한 이유로 겹쳐쓰기할 요건을 제외하면 삭제된 파일 영역에 데이터를 재할당하지 않을 것이다.
세번째, 상술된 개념이 통상적으로 결함 관리, 논리적 겹쳐쓰기 및 결함 재맵핑에 관련된 리스트를 저장에 적용된다는 것이 설명된다. 이 실시예에서, 결함 관리 및 논리적 겹쳐쓰기로 인한 재맵핑 정보가 저장되는 리스트를 "결함/재맵핑"리스트라 칭한다. CD-R, DVD-R, 및 DVD+R과 같은 종래의 1회 기록 매체의 경우에, 결함/재맵핑 리스트를 저장할 영역 및 예비 영역이 존재하지 않는다. 그러나, 본 발명은 이들 매체에 적용될 수 있는데, 그 이유는 결함/재맵핑 리스트가 볼륨 공간 내에 기록될 수 있고 결함 섹터로 인해 대체될 데이터가 볼륨 공간내에서 재맵핑될 수 있기 때문이다. 이는 사용자들에게 이점들을 제공하고, 그 이유는 사용자가 디스크 상에 결함들을 인식할 수 없고 게다가 사용자는 드로그 앤드 드롭 기술 등을 이용하여 겹쳐쓰기 가능한 디스크와 같은 디스크 상에 파일들을 카피한다.
도 10, 11 및 12는 사용자 데이터 영역 내의 영역의 일부를 도시한다. 논리적 공간으로서 볼륨 공간에서, 각 논리적 블록은 논리적 블록 어드레스(LBA)를 갖는다. 논리적 공간에 대응하여, 물리적 공간으로서 사용자 데이터 영역에서, 각 물리적 블록은 물리적 블록 어드레스(PBA)를 갖는다. 이 예에서, LBA(0)는 PBA(100)에 대응한다. 데이터는 데이터가 물리적 블록 내에 기록되기 전 구동 장치 내의 메모리에 일시적으로 캐쉬될 수 있다. 이들 도면들에 도시된 이 기록 명령들이 발부되기 전, NWA는 PBA(110)이다.
도 10은 데이터가 결함있는 블록에 길곧될 때 결함/재맵핑 리스트 내의 엔트리를 세이브하기 위한 메커니즘을 도시한 것이다. 파일 시스템은 구동 장치가 데이터 A, B 및 C를 LBA(10, 11 및 12) 각각에 기록하도록 명령한다. 이 예에서, PBA(110)의 블록은 결함있는 블록이다. 결함있는 블록은 데이터가 기록된 후 판독출력되는 입증 동작 동안 발견된다. LBA(10)로 기록될 데이터(A)는 다른 데이터가 입증될 때까지 캐쉬에 저장된다. 그 후, 데이터(A)는 PBA(113)에서 NWA로 기록되고 PBA(110)로부터 PBA(113)까지의 재맵핑 정보를 나타내기 위한 엔트리가 생성된다. 따라서, 구동 장치는 캐쉬를 사용함으로써 부가적인 엔트리를 세이브할 수 있다. 데이터(A)가 캐쉬되지 않으면, 데이터(A, B 및 C)는 의사-겹쳐쓰기 동작에 의해 PBA(111, 113 및 113)으로 기록된다. 데이터(D)가 LBA(13)로 기록하도록 명령되는 경우 조차도, 데이터는 논리적으로 논리적 블록에 기록될 수 있는데, 그 이유는 데이터가 다음 블록에 기록되고 PBA(113)가 PBA(114)로 재맵핑된다는 것을 나타내는 엔트리를 생성함으로써 재맵핑되기 때문이다. 구동 장치가 LBA(15)에서 NWA로 데이 터(E)를 기록하도록 명령받으면, 데이터(E)는 결함/재맵핑 리스트 내의 부가적인 엔트리를 생성함이 없이 PBA(115)에서 대응하는 물리적 블록에 기록된다.
도 11은 데이터가 논리적 블록 내로 논리적으로 겹쳐쓰여질 때 결함/재맵핑 리스트에 엔트리를 세이브하도록 하는 메커니즘을 도시한다. 우선, 파일 시스템은 구동 장치가 데이터(A)를 LBA(10)로 기록하도록 명령하고 나서, 구동 장치가 데이터(A', B 및 C)를 LBA(10, 11 및 12) 각각으로 기록하도록 명령한다. LBA(10)에 기록될 데이터(A')는 다른 데이터가 기록되고 입증될 때까지 캐쉬에 저장된다. 그 후, 데이터(A')는 PBA(113)에서 NWA로 기록되고 PBA(110)로부터 PBA(113)까지의 재맵핑 정보를 나타내기 위한 엔트리가 생성된다. 파일 시스템은 구동 장치가 데이터(D)를 LBA(13)으로 기록하도록 명령하고 데이터는 의사-겹쳐쓰기 동작을 사용함으로써 PBA(114)에 기록될 수 있다. 구동 장치가 LBA(15)에서 NWA로 데이터(E)를 기록하도록 명령받으면, 데이터는 PBA(115)에서 대응하는 물리적 블록에 기록된다.
도 12는 결함/재맵핑 리스트가 볼륨 공간 내의 논리적 블록에 대응하는 물리적 블록에 기록될 때 결함/재맵핑 리스트에 엔트리를 세이브하도록 하는 메커니즘을 도시한다. 파일 시스템은 데이터 A, B 및 C를 LBA(10, 11 및 12) 각각으로 기록하도록 명령한다. 이 예에서, PBA(110)에서 블록은 결함 블록이고 입증 동안 발견된다. LBA(10)로 기록될 데이터(A)는 다른 데이터가 입증에 의해 기록될 때가지 캐쉬에 저장된다. 그 후, 데이터(A)는 PBA(113)에서 NWA로 기록되고 PAB(110)로부터 PBA(113)까지 재맵핑 정보를 나타내기 위한 엔트리를 갖는 결함/재맵핑 리스트는 PBA(114)에서 NWA로 기록된다. 따라서, 구동 장치는 볼륨 공간에 결함/재맵핑 리스 트를 기록할 수 있다. 파일 시스템이 데이터(D)가 LBA(13)로 기록되어야 한다는 것을 명령하는 경우 조차도, 데이터는 의사-겹쳐쓰기 동작에 의해 논리적 블록에 논리적으로 기록될 수 있는데, 그 이유는 데이터가 PBA(115)에서 기록되기 때문이다. 파일 시스템은 데이터(E)가 NWA로 기록되어야 한다고 명령하면, 데이터는 임의의 부가적인 엔트리 없이 기록된다.
게다가, 파일 시스템에 의한 공간 관리는 간단화되는데, 그 이유는 파일 시스템이 각 트랙 내의 NWA만을 사용하여 기록을 위한 새로운 영역을 할당하기 때문이다. 이는 파일 시스템이 예비 영역에서 검사될 수 없고 공간 비트맵, 특히 메타데이터 비트맵을 기록할 수 없다는 것을 의미한다.
영역을 재맵핑하기 위한 유닛은 다수의 물리적 섹터들을 포함하는 ECC 블록일 수 있다. 물리적 섹터가 재맵핑될 때, 물리적 섹터가 속하는 ECC 내의 다수의 물리적 섹터들 모두는 재맵핑된다. 이 경우에, 결함/재맵핑 리스트의 엔트리 내의 원래 어드레스 및 재맵핑 어드레스는 각 ECC 블록의 시작 섹터의 물리적 어드레스에 의해 규정된다. 어드레스가능한 유닛으로서, 물리적 블록 및 논리적 블록은 물리적 섹터 및 논리적 섹터일 수 있다. 한 섹터가 새롭게 기록되는 경우 조차도, 이 섹터를 포함하는 하나의 ECC 블록이 기록되며, NWA는 다음 ECC 블록의 시작 섹터로 이동된다. 그러므로, 여러 데이터가 기록될 때, 이들 데이터가 동일한 ECC 블록에 기록되도록 이들 데이터는 할당된다.
본 발명에 의하면, 메타데이터 파티션을 사용하기 위한 장점들은 1회 기록 디스크 상에서 사용하기 위하여 제공될 수 있다. 우선, 겹쳐쓰여질 데이터는 메타 데이터 기록을 위한 트랙 내에서 재맵핑되며, 메타데이터를 검색하기 위한 액세스는 국부화되고 이 수행성능은 개선된다. 통상적으로, 겹쳐쓰여지는 데이터는 트랙이 기록되지 않은 섹터들을 갖는한 동일한 트랙에 저장된다. 트랙이 데이터 기록에 의해 전부 소모될 때, 겹쳐쓰여지는 데이터는 다른 트랙에 저장될 수 있는데, 그 이유는 동일한 트랙 내에 다른 기록되지 않은 물리적 블록에 데이터를 기록할 우선순위가 제공되기 때문이다. 두번째, 메타데이터 미러 파일은 메타데이터 미러 파이을 위한 부가적인 트랙이 할당될 때 로버스트니스를 개선시키도록 기록될 수 있다.
여기서, 겹쳐쓸 가능성은 예를 들어 디스크의 용량이 15GB(=15×1024^3바이트)이며, ECC 블록이 32개의 섹터들로 이루어지고 섹터 크기가 2KB(=2×1024바이트들)인 경우에 대해서 추정된다. 디스크 상에 기록되는 파일들의 평균 크기가 128KB이고 10개의 파일들이 평균적으로 디렉토리에 저장되면, 약 123,000개의 파일들 및 12,000개의 디렉토리들이 디스크상에 기록될 수 있다. 파일 시스템이 ECC 블록 내로 갱신될 파일 엔트리들을 클러스터화할 때, 약 4200개의 엔트리들이 재맵핑 테이블에서 필요로 된다. 결함/재맵핑 리스트의 크기는 엔트리의 크기가 8바이트들일 때 약 32KB가 된다. 구동 장치가 최대 크기로서 결함/재맵핑 리스트의 256KB를 취급할 수 있을 때, 123000개의 파일들 및 12000개의 디렉토리들이 랜덤하게 기록된다. 따라서, 이 발명은 또한 블루 레이저 기술을 이용하는 차세대 1회 기록 광학 디스크들에 대해 실시된다.
4.3GB DVD 디스크들에 대해서, 약 35,000개의 파일들 및 3,500 개의 디렉토리들은 파일 크기가 128KB이고 디렉토리 당 10개의 파일들이 기록될 때 기록될 수 있다. 이와 같은 경우에, 각 16개의 파일 엔트리들이 ECC 블록내로 클러스트화 되면 결함/재맵핑 리스트의 크기는 약 19KB가 된다. 그 후, 구동 장치는 최대 크기로서 결함/재맵핑 리스트의 64KB를 취급할 수 있고, 35,000개의 파일들 및 3,500개의 디렉토리들이 랜덤하게 기록된다.
디스크가 리드-인 영역 및 리드-아웃 영역에서 예비 영역을 갖지 않는 UDF 및 차세대 1회 기록 디스크를 토대로 상기 개념을 새로운 파일 시스템에 적용하는 예가 설명된다. 본 발명은 HD DVD-R 디스크들뿐만 아니라 DVD-R 디스크들 및 DVD+R 디스크에 적용될 수 있다.
도 13은 상술된 재맵핑을 설명하기 위한 영역들의 구성을 도시한 도면이다. 이 예에서, 결함 관리 영역(DMA) 및 일시적 DMA(TDMA)가 존재하지 않는다. 이는 구동 장치의 구현방식을 간단화하는 것을 지원하고, 그 이유는 엔트리의 해석이 결함 관리 및 의사-겹쳐쓰기에 보편적이기 때문이다. 엔트리가 재맵핑 정보를 규정할 때, 결함/재맵핑 리스트 내의 엔트리는 재맵핑될 블록의 어드레스 및 재맵핑되는 블록의 어드레스 간의 대응성을 나타낸다.
볼륨 공간은 3개의 트랙들을 포함하고, 각 트랙에서, 데이터는 순차적으로 기록된다. 트랙 내의 기록되지 않은 영역의 시작 어드레스는 다음 기록가능한 어드레스(NWA)로서 관리된다. 트랙의 상태는 새로운 용어들: "사용된" 및 "예약된"으로 표시되어 이들 트랙들 내의 데이터가 겹쳐쓰여지고 데이터가 예약된 트랙 내에서 재맵핑된다는 것을 나타낸다. 사용된 트랙은 트랙 내 모든 섹터들이 데이터 기록을 사용된다는 것을 의미한다. 예약된 트랙은 기록되지 않은 섹터(들)이 존재한다는 것을 의미한다. 다른 말로서, 데이터는 예약된 트랙에 증분적으로 기록될 수 있다. 볼륨 구조가 사전에 기록되기 때문에, 트랙들(#1)은 사용된 트랙이다. 트랙 #2은 메타데이터 기록을 위하여 할당된 예약된 트랙이다. 트랙 #3은 사용자 데이터 기록을 위하여 할당된 예약된 트랙이다.
1회 기록 광 디스크상으로데이터-A-파일 및 기록 데이터-B-파일을 갱신하기 위한 예시적인 절차가 설명된다.
우선, 메타데이터 파일(FE)은 메타데이터 파일에 대해서 할당된 영역을 얻기 위하여 판독되는데, 여기서 MA(메타데이터 파일 어드레스)는 메타데이터 파일 내에서 상대 어드레스를 나타낸다.
파일 시스템이 데이터-A-파일을 갱신할 때, 파일 엔트리는 메모리에서 판독되고 파일 엔트리는 갱신되어, 갱신된 데이터가 기록되는 위치를 규정하기 위한 정보 및 관련된 정보(예를 들어, 크기 및 갱신 시간, 등)를 메모리에 등록한다. 파일 시스템은 구동 장치가 데이터-A-파일의 데이터를 논리적으로 겹쳐쓰도록 명령한다. 그 후, 구동 장치는 NWA로 물리적으로 데이터(데이터-A')를 저장하고, 그 이유는 대응하는 물리적 섹터가 이미 기록되고 구동 장치가 엔트리를 결함/재맵핑 리스트에 부가하기 때문이다. 구동 장치를 질의한 후 파일 시스템이 데이터를 NWA에 기록하도록 명령하면, 결함 리스트 내에 엔트리를 부가할 필요가 없다. 이 발명에서, 엔트리를 세이브하기 위한 이 방식이 권장되는데, 그 이유는 데이터의 위치가 파일 엔트리 내에 등록될 수 있기 때문이다. 그러나, 큰 파일의 파트가 갱신되어야 만 할 때, 갱신될 데이터는 파일의 전체 데이터를 기록하는 대신에 겹쳐쓰여질 수 있 다. 데이터가 디스크상에 기록된 후, 파일 시스템은 파일 엔트리(데이터-A' FE)을 겹쳐쓰도록 논리적으로 명령하여 기록된 데이터 및 갱신된 시간의 위치를 규정한다. 그 후, 구동 장치는 데이터를 MA#k+1에서 도시된 섹터로 물리적으로 데이터를 기록하고 엔트리를 결함/재맵핑 리스트에 저장한다.
파일 시스템이 루트 디렉토리 하에서 데이터-B-파일을 새롭게 기록할 때, 디렉토리는 메모리로 판독되고 디렉토리는 메모리 내 이 디렉토리에 새로운 파일(데이터-B 파일)을 부가하도록 갱신된다. 사전에 데이터-B 파일의 파일 엔트리가 메모리에서 생성되며, 데이터-B 파일의 데이터가 트랙 #3 내의 NWA에 기록되고 나서 메모리 내의 루트 디렉토리 및 파일 엔트리(데이터-B FE)는 트랙 #2에서 MA #k+2로서 도시된 NWA로부터 기록된다. 데이터가 기록될 때마다, 구동 장치는 기록된 데이터를 판독 출력하고 데이터가 정확하게 기록되는지를 검사한다. 이 예에서, MA # k+2에서 섹터가 결함있는 섹터라는 것이 발견된다. 그 후, 데이터-B FE의 데이터는 MA#k+4에서 NWA로 기록되고 이 재맵핑을 나타내기 위한 엔트리는 메모리 내의 결함/재맵핑/리스트에 부가된다. 루트 디렉토리의 새로운 위치를 규정하기 위하여, 디렉토리를 위한 갱신된 파일 엔트리는 MA#i로 겹쳐쓰도록 명령받고, 데이터는 MA#k+5로 도시된 NWA에 기록된다. 따라서, 메타데이터 중에서 디렉토리의 파일 엔트리 만이 엔트리를 세이브하도록 겹쳐쓰여지고 다른 메타데이터(디렉토리 및 파일의 파일 엔트리) 및 파일의 데이터는 겹쳐쓰임이 없이 기록된다.
파일 구조의 인터그러티를 나타내기 위하여, 갱신된 논리적 볼륨 인터그러티 디스크립터는 겹쳐쓰도록 명령받고 데이터는 트랙 #2에서 섹터 MA #k+6에서 기록된 다.
마지막으로, 결함/재맵핑 리스트는 MA#k+7에서 NWA에서 기록된다. 구동 장치는 디스크가 이젝트될 때 또는 일부 기록 명령들 후에 통과되는 소정 시간이 실행될 때 결함/재맵핑 리스트를 기록한다.
상기 의사-겹쳐쓰기 동작에서, 겹쳐쓰여질 데이터는 이미 기록된 영역으로 데이터를 기록하도록 하는 명령에 응답하여 예약된 트랙에서 NWA로 저장된다. 유사하게, 결함 관리에 의해 대체될 데이터는 또한 예약된 트랙에서 NWA로 저장된다.
도 14a 및 도 14b는 1회 기록 광 디스크 상에 데이터를 기록하기 위한 절차를 도시한 순서도이다. 지금부터, 도 5에 설명된 광 디스크 기록/재생 시스템에 의해 데이터를 기록하기 위한 절차가 설명된다.
파일이 갱신될 때, 파일 시스템은 데이터가 겹쳐쓰기 없이 기록되도록 파일의 데이터를 기록하도록 명령할 것이고 파일 시스템은 기록된 파일 엔트리를 갱신함으로써 파일 엔트리를 생성하고 파일 엔트리가 겹쳐쓰여지도록 파일 엔트리를 기록하도록 명령할 것이다.
새로운 파일이 디렉토리 아래에서 기록될 때, 파일 시스템은 파일의 파일 엔트리를 생성하고 메모리 내의 기록된 디렉토리 및 이의 파일 엔트리를 갱신함으로써 디렉토리 및 디렉토리의 파일 엔트리를 생성한다. 이들 데이터가 겹쳐쓰기 없이 기록되도록 파일의 데이터, 파일 엔트리 및 디렉토리를 기록하도록 하는 명령하라. 그 후, 파일 시스템은 파일 엔트리가 겹쳐쓰여지도록 디렉토리의 파일 엔트리를 기록하도록 명령할 것이다.
도 14a는 제어기(511)에서 수행되는 파일 시스템에 의한 절차 이다. 도 14b는 구동 장치(520)에 의한 절차이다.
단계(S1401)에서, 시스템 제어기(510)는 사용자로부터의 요청을 수신한다. 예를 들어, 이 요청은 데이터-A 파일을 새로운 데이터로서 대체하거나 다른 매체로부터의 데이터-B 파일을 디스크 상의 루트 디렉토리 아래로 카피하도록 하는 것이다. 기록될 데이터는 시스템 제어기(510) 내의 메모리(512)에 전달되고 데이터를 기록하기 위한 목적지는 디렉토리 트리 구조에서 경로명으로 표시된다.
단계(S1402)에서, 파일 시스템은 구동 장치가 사용자에 의해 요청되는 디렉토리 또는 파일을 검색하기 위하여 데이터를 판독하도록 명령한다. 파일 엔트리 및 디렉토리와 같은 메타데이터는 메타데이터 파일로부터 판독된다.
단계(S1403)에서, 파일 시스템은 구동 장치가 데이터를 기록하도록 명령하기 전 NWA에 질의하고, 그 이유는 구동 장치가 NWA를 이동시킬 가능성이 있기 때문이다.
단계(S1404)에서, 사용자 요청들에 응답하여, 파일 시스템은 일부 메타데이터를 생성함으로써, 겹쳐쓰여질 데이터 량이 기록될 데이터의 유형을 구별함으로써 최소화되도록 한다. 도 13에 대한 설명에서 서술된 바와 같이, 갱신되는 파일의 경우에, 파일 시스템은 기록될 데이터의 위치를 규정하기 위한 파일 엔트리를 생성한다. 이 파일 엔트리는 겹쳐쓰여질 데이터이다. 디렉토리 아래에 기록되는 새로운 파일의 경우에, 파일 시스템은 새로운 파일의 파일 엔트리를 생성하고 디렉토리의 새로운 파일 및 파일 엔트리를 등록하도록 디렉토리를 갱신한다. 디렉토리의 파일 엔트리는 겹쳐쓰여질 데이터이고 다른 메타데이터는 겹쳐쓰여짐이 없이 기록될 수 있는 데이터이다.
단계(S1405)에서, 파일 시스템은 구동 장치가 NWA로부터 겹쳐쓰여질 필요가 없는 데이터를 기록하도록 명령한다.
단계(S1406)에서, 파일 시스템은 구동 장치가 데이터를 기록하도록 명령함으로써, 데이터는 논리적 섹터상에 겹쳐쓰여지도록 한다. 단계(S1405 및 S1406)에서, 동일한 기록 명령은 데이터를 기록하도록 명령하기 위하여 사용될 수 있는데, 그 이유는 데이터가 단계(S1411)에서 논리적 섹터의 상태를 검사함으로써 겹쳐쓰기하거나 겹쳐쓰기 함이 없이 기록되어야 하는지를 결정할 수 있기 때문이다.
단계(S1411)에서, 구동 장치(520)는 기록 명령을 수신하고, 이 기록 명령은 제어기(511)로부터 데이터가 기록되는 적어도 논리적 섹터를 규정하고 기록 명령에 의해 규정된 논리적 섹터가 기록된 물리적 섹터 또는 기록되지 않은 물리적 섹터에 대응하는지를 결정한다. 이 검사에서, 구동 장치(520)는 시스템 제어기(511)에 의해 기록하도록 명령받은 논리적 섹터 수를 이용하여 물리적 섹터의 상태를 결정한다. 논리적 섹터 수가 NWA 보다 작을 때, 물리적 섹터가 기록되며, 그렇지 않다면, 물리적 섹터는 기록되지 않는다. 물리적 섹터가 기록되지 않으면, 이 공정은 단계(S1412)로 진행하며, 그렇지 않다면, 이 공정은 단계(S1416)으로 진행한다.
단계(S1412)에서, 구동 장치(520)는 데이터를 미리 논리적 섹터에 대응하는 기록되지 않은 물리적 섹터로 기록한다.
단계(S1413)에서, 구동 장치(520)는 이전 단계에서 기록된 데이터를 판독 출 력하고 데이터가 입증 단계로서 정확하게 기록되는지를 검사한다. 데이터가 정확하게 기록되지 않으면, 이 절차는 단계(S1414)로 진행하고, 그렇지 않다면, 이 절차는 종료된다.
단계(S1414)에서, 구동 장치(520)는 기록된 데이터의 입증이 성공적이지 않은 기록되지 않은 물리적 섹터가 아닌 NWA로 데이터를 기록한다. 기록되지 않은 물리적 섹터는 볼륨 공간에서 다수의 논리적 섹터들에 대응하는 다수의 물리적 섹터들로부터 선택된다.
단계(S1415)에서, 구동 장치(520)는 선택된 물리적 섹터의 재맵핑 어드레스로의 기록 명령에 의해 규정된 논리적 섹터에 대응하는 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하고 1회 기록 디스크 상에 결함 리스트/재맵핑 테이블에 재맵핑 정보를 저장한다. 후에, 구동 장치는 결함/재맵핑 리스트를 NWA에 기록할 것이다.
단계(S1416)에서, 구동 장치(520)는 기록된 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 데이터를 기록한다. 기록되지 않은 물리적 섹터는 볼륨 공간에서 다수의 논리적 섹터들에 대응하는 다수의 물리적 섹터들로부터 선택된다. 데이터가 ECC 블록을 토대로 재맵핑될 때, 다른 기록되지 않은 물리적 섹터는 다음 기록가능한 블록인 ECC 블록에 속하는 섹터들 중 한 섹터이다. 예를 들어, ECC 블록이 32개의 섹터들로 이루어지는 경우에, ECC 블록 내의 제 2 섹터는 겹쳐쓰여지도록 명령받으며, 데이터는 다음 기록가능한 ECC 블록 내의 제 2 섹터에 물리적으로 기록된다. 따라서, ECC 블록 내의 상대 어드레스는 재맵핑된 ECC 블록에 유지된다.
단계(S1417)에서, 구동 장치(520)는 이전 단계에서 기록된 데이터를 판독 출력하고 데이터가 입증 단계로서 정확하게 기록되는지를 검사한다. 데이터가 정확하게 기록되지 않으면, 이 절차는 단계(S1418)로 진행하며, 그렇지 않다면 이 절차는 단계(S1419)로 진행한다.
단계(S1418)에서, 구동 장치(520)는 기록된 데이터의 입증이 성공적이지 않은 기록되지 않은 물리적 섹터 이외의 기록되지 않은 물리적 섹터로 데이터를 기록한다. 기록되지 않은 물리적 섹터는 볼륨 공간 내의 다수의 논리적 섹터들에 대응하는 다수의 물리적 섹터들로부터 선택된다.
단계(S1419)에서, 구동 장치(520)는 선택된 물리적 섹터의 재맵핑 어드레스로 기록 명령에 의해 규정된 논리적 섹터에 대응하는 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하고 이 재맵핑 정보를 1회 기록 디스크 상의 결함 리스트/재맵핑 테이블에 저장한다. ECC 블록이 32개의 섹터들로 이루어진 경우에, 원래 어드레스는 원래 물리적 섹터가 속하는 ECC 블록의 시작 어드레스이고 재맵핑된 어드레스는 재맵핑된 물리적 섹터가 속하는 ECC 블록의 시작 어드레스이다. 이 후, 구동 장치는 결함/재맵핑 리스트를 NWA로 기록할 것이다.
본 발명이 소비자 비디오 레코더 또는 소비자 비디오 플레이어와 같은 기록/재생 시스템에 적용될 때, 제어기(511) 및 구동 장치(520)는 도 15에 도시된 바와 같이 공통 마이크로 프로세서에 의해 제어될 수 있다. 이 경우에, 제어기(511)는 NWA가 구동 장치에 대해 질의할 수 없는데, 그 이유는 기록/재생 시스템이 NWA를 알기 때문이다. 우선, 각 트랙 내의 NWA는 디스크가 구동 유닛에 로딩될 때를 검사하며, 이 시스템은 일부 데이터가 기록된 후 NWA를 관리할 수 있다.
도 15는 소비자 비디오 레코더 또는 소비자 비디오 플레이어의 일부인 광 디스크 정보 기록/재생 시스템(1500)을 도시한다. 이 정보 기록/재생 시스템(1500)은 제어기(1511), 메모리(1212) 및 광 디스크로부터 그리고 이 상으로 정보를 판독 및 기록하는 구동 메커니즘(523)을 포함한다. 제어기(1511)는 예를 들어 CPU(중앙 처리 장치)와 같은 반도체 집적 회로일 수 있고 본 발명의 실시예들에서 설명된 방법을 수행한다. 게다가, 제어기(1511)가 실시예들에서 서술된 방법을 수행하도록 하는 프로그램은 메모리(1512)에 저장된다. 제어기(1511)에서, 파일 시스템, 유틸리티 프로그램 또는 장치 드라이버가 수행될 수 있다. 구동 메커니즘(523)은 제어기(1511)에 의해 제어될 수 있다.
도 16은 도 15에 설명된 기록/재생 시스템에 의해 1회 기록 광 디스크 상에 데이터를 기록하도록 하는 절차를 도시한 순서도이다.
단계(S1601)에서, 제어기(1511)는 사용자로부터 요청을 수신한다. 예를 들어, 이 요청은 새로운 데이터로 데이터-A-파일을 대체하거나 다른 매체로부터 디스크 상의 루트 디렉토리로 데이터-B-파일을 카피하도록 하는 것이다. 기록될 데이터는 메모리(1512)로 전달되고 데이터를 기록하기 위한 목적지는 디렉토리 트리 구조에서 경로명에 의해 표시된다.
단계(S1602)에서, 제어기(1511)는 사용자에 의해 요청되는 파일 또는 디렉토리를 검색하기 위하여 데이터를 판독한다. 파일 엔트리 및 디렉토리와 같은 메타데 이터는 메타데이터 파일로부터 판독된다.
단계(S1603)에서, 파일 시스템은 데이터를 기록하기 전 NWA을 획득한다.
단계(S1604)에서, 사용자 요청들에 응답하여, 제어기(1511)는 기록될 데이터 량이 기록될 데이터의 유형을 구별함으로써 최소화되도록 메타데이터의 일부를 생성한다. 도 13에 대해서 설명에서 서술된 바와 같이, 파일이 갱신되는 경우에, 파일 시스템은 기록될 데이터의 위치를 규정하기 위한 파일 엔트리를 생성한다. 이 파일 엔트리는 기록될 데이터이다. 새로운 파일이 디렉토리 아래에 기록되는 경우에, 파일 시스템은 새로운 파일의 파일 엔트리를 생성하고 디렉토리를 갱신하여 디렉토리의 새로운 파일 및 파일 엔트리를 등록한다. 디렉토리의 파일 엔트리는 기록될 데이터이고 다른 데이터는 겹쳐씀이 없이 기록될 수 있다. 데이터 유형은 겹쳐쓸 필요가 없는 유형 I: 겹쳐쓸 필요가 있는 유형 II로서 구별된다.
단계(S1605)에서, 제어기(1511)는 NWA로부터 논리적 섹터로 유형 I의 데이터를 기록하도록 명령한다. 그 후, 이 절차는 유형 I의 데이터를 기록하도록 하는 동작인 단계(S1611)로 진행한다.
단계(S1606)에서, 제어기(1511)는 유형 II 데이터를 논리적 섹터로 기록하도록 명령한다. 그 후, 이 절차는 단계(S1621)로 진행하여 데이터를 논리적 섹터에서 겹쳐쓰도록 하는 동작을 수행한다. 데이터를 기록하도록 명령받은 기록 명령은 유형 I 및 II에 대해서 다를 수 있다.
단계(S1611)에서, 데이터는 제 1 기록 명령에 의해 규정되는 논리적 섹터에 대응하는 물리적 섹터에 기록된다.
단계(S1612)에서, 구동 메커니즘(523)은 이전 단계에서 기록된 데이터를 판독 출력하고 데이터가 입증 단계로서 정확하게 기록되는 지를 검사한다. 데이터가 정확하게 기록되지 않으면, 이 절차는 단계(S1613)으로 진행하고 그렇지 않다면, 이 절차는 단계(S1605)가 끝났을때 단계(S1606)으로 진행한다.
단계(S1613)에서, 구동 메커니즘(523)은 데이터를 기록되지 않은 물리적 섹터, 특히 기록된 데이터의 입증이 성공적이지 않은 물리적 섹터가 이닌 NWA로 기록한다. 기록되지 않은 물리적 섹터는 볼륨 공간에서 다수의 논리적 섹터들에 대응하는 다수의 물리적 섹터들로부터 선택된다.
단계(S1614)에서, 구동 메커니즘(523)은 선택된 물리적 섹터의 재맵핑 어드레스에 제 1 기록 명령에 의해 규정된 논리적 섹터에 대응하는 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함한 재맵핑 테이블을 생성하고 결함 리스트/재맵핑 테이블에 재맵핑 정보를 저장한다. 나중에, 구동 장치는 NWA로 결함/재맵핑 리스트를 기록할 것이다.
단계(S1621)에서, 데이터는 논리적 섹터에 논리적으로 겹쳐쓰게 되고 다른 기록되지 않은 물리적 섹터, 특히 NWA로 물리적으로 기록된다. 기록되지 않은 섹터는 볼륨 공간 내 다수의 논리적 섹터들에 대응하는 다수의 물리적 섹터들로부터 선택된다.
단계(S1622)에서, 구동 메커니즘(523)은 이전 단계에서 기록된 데이터를 판독 출력하고 데이터가 입증 단계로서 정확하게 기록되는지를 검사한다. 데이터가 정확하게 기록되지 않으면, 이 절차는 단계(S1623)로 진행하고 그렇지 않다면 이 절차는 단계(S1624)로 진행한다.
단계(S1623)에서, 구동 메커니즘(523)은 기록된 데이터의 입증이 성공적이지 않은 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 데이터를 기록한다. 기록되지 않은 물리적 섹터가 볼륨 공간에서 다수의 논리적 섹터들에 대응하는 다수의 물리적 섹터들로부터 선택된다.
단계(S1624)에서, 구동 메커니즘(523)은 선택된 물리적 섹터의 재맵핑 어드레스로 제 2 기록 명령에 의해 규정된 논리적 섹터에 대응하는 물리적 섹터의 원래 어드레스를 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하고 1회 기록 디스크 상의 결함 리스트/재맵핑 테이블에 재맵핑 정보를 저장한다.
도 14a 및 14b 및 도 16의 상술된 방법들을 이용하여 데이터가 기록되는 1회 기록 디스크로부터의 재생 절차가 후술된다. 도 17은 도 5 및 도 15에 설명된 기록/재생 시스템을 도시한 순서도이다. 여기서, 기록/재생 시스템은 데이터를 판독하는 적어도 논리적 섹터를 규정하는 판독 명령을 수신한다.
단계(S1701)에서, 재맵핑 테이블에 저장되는 모든 엔트리들의 원래 어드레스들이 탐색된다. 판독될 논리적 섹터수가 지시될 때, 논리적 섹터에 대응하는 물리적 섹터수는 재맵핑되는 물리적 섹터 수를 나타내는 엔트리기를 탐색하도록 미리 사용된다. 재맵핑이 ECC 블록을 토대로 수행될 때, ECC 블록의 시작 어드레스는 엔트리에 등록된다. 이 경우에, 물리적 섹터수가 재맵핑된 ECC 블록에 속하는지 여부가 검사된다. 이 동작은 도 5에 설명된 바와 같은 정보 기록/재생 시스템의 경우에 구동 장치에 의해 행해질 수 있다.
단계(S1702)에서, 엔트리가 발견되면, 이 절차는 단계(S1703)으로 진행하고 다른 절차는 단계(S1704)로 진행한다.
단계(S1703)에서, 물리적 섹터의 원래 어드레스튼 발견된 엔트리에서 표시되는 물리적 섹터의 재맵핑 어드레스로 대체된다. 엔트리가 단계(S1702)에서 발견되지 않으면, 판독될 어드레스는 판독 명령에 의해 규정되는 논리적 섹터에 대응하는 물리적 섹터의 어드레스로 결정된다. 엔트리가 S1702에서 발견되면, 판독될 어드레스는 재맵핑 테이블에서 발견되는 원래 어드레스에 대응하는 재맵핑 어드레스로 결정된다.
단계(S1704)에서, 데이터는 결정된 어드레스에서 판독된다.
상술된 바와 같이, 어드레스가 발견되지 않을 때, 데이터는 미리 논리적 섹터에 대응하는 물리적 섹터로부터 판독되는데, 그 이유는 재맵핑 테이블이 논리적 섹터에 저장된 데이터가 다른 물리적 섹터에 재맵핑되지 않기 때문이다.
어드레스가 발견되면, 데이터는 발견된 재맵핑 정보에서 재맵핑 어드레스에 의해 규정되는 물리적 섹터로부터 판독되는데, 그 이유는 재맵핑 테이블에서 발견된 엔트리가 논리적 섹터에 저장된 데이터가 재맵핑된다는 나타내기 때문이다.
데이터가 볼륨 공간 내에서 재맵핑되면, 특히 예비 영역으로라기 보다 오히려 트랙내의 NWA에 재맵핑되면, 데이터는 더욱 신속하게 판독 출력된다.
DVD 디스크들 및 CD용 판독 전용 드라이브는 판독출력될 영역이 연속적으로 기록되어야만 한다는 것을 필요로 한다. 이는 판독 전용 구동 장치에서 광 픽업이 영역 내의 기록되지 않은 영역이 존재하는 경우 영역에 액세스할 수 없기 때문이 다. 지금부터, 이와 같은 판독 전용 드라이브가 의사-겹쳐쓰기가능한 디스크들을 판독할 수 있도록 하는 방법이 설명된다.
도 18a 및 도 18b는 1회 기록 디스크 상의 영역을 도시한 도면이고 판독 전용 드라이브 판독가능한 상태가 되도록 구동 장치에 의한 동작을 도시한다. 도 18a에서, 2개의 예약된 상태 트랙들, 트랙 #i 및 #i+1가 존재한다. 디스크가 폐쇄될 때, 최종 예약된 상태 트랙을 제외하면 예약된 상태 트랙들 내의 기록되지 않은 영역이 기록되고 최종 트랙은 기록된 영역의 끝까지 감소된다. 폐쇄된 상태는 도 18b에서 설명된다. 트랙 #i에서, 무효 데이터(예를 들어, 더미 데이터)는 기록되지 않은 영역에 기록되고 트랙 #i는 사용된 상태가 된다. 최종 트랙 #i+1에서, 결함/리맵핑 리스트는 NWA에서 기록되는데, 그 이유는 결함/리맵핑 리스트가 기록가능한 드라이브뿐만아니라 판독전용 드라이브에 의해 판독되어야만 하기 때문이다. 결함/리맵핑 리스트는 로버스트니스를 위하여 1회 이상 기록될 수 있고 또한 트랙 #i에서 기록되지 않은 영역에서 기록될 수 있다.
도 19a 및 도 19b는 1회 기록 디스크 상의 영역을 도시한 도면이고 리드-인 영역 및 리드-아웃 영역을 기록하기 위하여 구동 장치에 의한 동작을 도시한다. 멀티-보더의 경우에, 리드-인 영역은 보더-인 영역이고 리드-아웃 영역은 보더-아웃 영역이다. 디스크가 멀티-세션을 이용하여 기록될 때, 판독 전용 드라이브는 각 세션을 위한 리드-인 영역 및 리드-아웃 영역을 필요로 한다. 판독 전용 드라이브에서 광 픽업이 최종 트랙의 최종 어드레스에 액세스할 때, 소정 크기의 기록된 영역은 최종 어드레스 다음에 배치되어 광 픽업 오버-런을 방지한다. 결함/재맵핑 리스 트의 위치는 DMA에 저장된 정보에 의해 지정된다. 판독 전용 장치에 대해서, 특정 영역은 각 세션에서 리드-인 영역 및/또는 리드-아웃 영역 내에서 할당되고 결함/재맵핑 리스트의 위치는 특정 영역에 저장된다. 도 19a에 도시된 바와 같이, 제 1 세션에서 리드-인 영역, 트랙 #1 및 #2 및 리드 아웃 영역이 기록되는데, 그 이유는 제 2 세션 트랙 #3 및 #4가 예약된다. 도 19b에 도시된 바와 같이, 디스크가 폐쇄될 때, 트랙 #3에 기록되지 않은 영역, 리드-인 영역 및 리드-아웃 영역이 기록된다. 이 예에서, 결함/리맵핑 리스트는 리드-인 영역 내에 저장되어 트랙 #4에서 영역을 세이브한다. 결함/재맵핑 리스트는 리드-아웃 영역에 저장될 수 있다.
도 20a 및 도 20b는 1회 기록 디스크 상의 영역을 도시한 도면이고 제 2 및 제 3 앵커 볼륨 디스크립터 포인터를 기록하기 위한 동작을 도시한다. ECMA(167) 표준은 LSN256, 최종 LSN-256 및 최종 LSN 중 적어도 2개의 위치들에서 기록될 앵커 볼륨 디스크립터 포인터들(지금부터 AVDP라 칭함)을 필요로 한다. AVDP가 최종 LSN-256 또는 최종 LSN에 기록되는 경우에, 사용자가 디스크를 폐쇄할 필요가 있으면, 볼륨 공간 내의 모든 기록되지 않은 영역들은 판독 전용 드라이브의 판독가능한 상태를 위하여 기록되어야 한다. 그 후, 임의의 부가적인 사용자 데이터는 디스크 상에 기록될 수 없다.
이 문제를 해결하기 위하여, 최종 LSN-256 및 최종 LSN에 위치되는 AVDPs는 예약된 트랙 내에서 재맵핑되는데, 예를 들어, 이들 AVDPs는 볼륨 구조를 기록하기 위하여 예약된 트랙 내에서 재맵핑된다. 이 재맵핑에 의해, 볼륨 공간의 끝 부분은 기록되지 않은 상태로 유지될 수 있다. 그러므로, 디스크가 폐쇄되는 경우 조차도, 디스크는 부가적인 데이터를 기록하도록 재개방될 수 있다.
도 20a에 도시된 바와 같이, 포맷팅 시, 볼륨 구조는 제 1 예약된 트랙 및 최종 예약된 트랙에 기록된다. 여기서, 주 및 예악된 볼륨 디스크립터 시퀀스들이 제 1 트랙에 기록될 수 있으며, 적어도 하나의 AVDP는 최종 트랙에 기록되어야 한다. 의사-겹쳐쓰기 방법이 이 디스크를 위하여 적용될 때, 적어도 2개의 트랙들은 메타데이터 기록 및 사용자 데이터 기록을 위하여 예약된다. 파일의 사용자 데이터는 사용자 데이터 트랙에 기록되고 디렉토리들 및 파일 엔트리들을 포함하는 메타데이터는 메타데이터 트랙에 기록된다. 사용자가 판독-전용 드라이브 판독가능한 상태가 되도록 디스크를 폐소할 필요가 있을 때, 모든 기록되지 않은 영역들은 기록되어야만 하고, 그 이유는 최종 LSN이 물리적으로 기록되기 때문이다.
도 20b에 도시된 바와 같이, 이와 같은 문제는 의사-겹쳐쓰기를 이용함으로써 피해질 것이다. 볼륨 구조가 기록될 때, 파일 시스템은 최종 LSN-256 및 최종 LSN에 기록 명령을 발부하여 AVDPs를 기록한다. 이 기록 명령이 NWA가 아니라 트랙의 최종 파트에 발부될 때, 구동 장치는 데이터를 동일한 트랙 또는 다른 트랙 내의 NWA에 재매핍한다. 도 20b에 도시된 경우에, 데이터는 볼륨 구조를 위한 트랙에 기록된다. 이 방법을 적용하기 위하여, 판독 전용 드라이브는 최종 LSN-256 또는 최종 LSN에 액세스하고, 그 이유는 이들 데이터가 물리적 공간 상의 내부 영역에 기록되기 때문이다. 이 방법을 이용하면, 볼륨 공간의 최종 파트 뿐만아니라 볼륨 공간의 임의의 다른 파트가 또한 순차적인 기록 매체 상에 기록될 수 있다. 이 도면에 도시된 바와 같이, "데이터"는 또한 NWA로 재맵핑될 수 있다.
상기 실시예들에 설명된 바와 같이, 본 발명은 파일 시스템이 겹쳐쓰여질 데이터 량을 최소화한다는 가정하에서 구동 장치에 적용될 수 있고 파일 시스템은 데이터가 겹쳐쓰여짐이 없이 기록될 때 구동 장치에 질의함으로써 기록되지 않은 섹터에 데이터를 기록하도록 명령한다.
본 발명은 논리적 겹쳐쓰기가능한 메커니즘을 이용하는 1회 기록 디스크를 위한 기록 방법 및 장치, 재생 방법 및 장치, 기록 장치 또는 재생 장치에 사용하는 반도체 집적 회로를 제공하는데 유용하다.

Claims (11)

1회 기록 디스크 상에 데이터를 기록하기 위한 기록 방법으로서, 상기 1회 기록 디스크는 다수의 물리적 섹터들을 가지며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하는, 상기 기록 방법에 있어서,
(a) 데이터가 기록될 적어도 논리적 섹터를 규정하는 기록 명령을 수신하는 단계;
(b) 상기 기록 명령에 의해 규정된 상기 논리적 섹터가 기록된 물리적 섹터 또는 기록되지 않은 물리적 섹터에 대응하는지를 결정하는 단계;
(c) 상기 기록 명령에 의해 규정된 상기 논리적 섹터가 기록되지 않은 물리적 섹터에 대응한다라고 결정될 때,
(c1) 상기 데이터를 상기 기록되지 않은 물리적 섹터에 기록하는 단계,
(c2) 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하는 단계,
(c3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때,
(c31) 상기 데이터를 상기 기록된 데이터의 입증이 성공적이지 않은 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 상기 기록 단계,
(c32) 상기 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성시키는 단계, 및
(c33) 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하는 단계; 및
(d) 상기 기록 명령에 의해 규정된 상기 논리적 섹터가 기록된 물리적 섹터에 대응한다라고 결정될 때,
(d1) 상기 데이터를 상기 기록된 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간에서 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 상기 기록 단계,
(d2) 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하는 단계,
(d3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때,
(d31) 상기 기록된 데이터의 입증이 성공적이지 않은 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 상기 기록 단계,
(d32) 상기 기록 명령에 의해 규정되는 상기 논리적 섹터에 대 응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성시키는 단계, 및
(d33) 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하는 단계를 포함하는 기록 방법.
제 1 항에 있어서, 상기 데이터는 상기 1회 기록 디스크상에 할당되는 트랙에 순차적으로 기록되며, 상기 트랙은 다수의 물리적 섹터들을 가지고, 상기 선택된 기록되지 않은 물리적 섹터는 트랙 내의 다음 기록가능한 어드레스에 의해 지정된 물리적 섹터인, 기록 방법.
제 2 항에 있어서,
트랙 내에서 상기 다음 기록가능한 어드레스에 대한 질의를 수신하는 단계; 및
상기 질의에 응답하여 트랙 내에서 상기 다음 기록가능한 어드레스를 나타내는 정보를 제공하는 단계를 포함하는, 기록 방법.
제 1 항에 있어서, 상기 재맵핑 테이블은 적어도 하나의 결함있는 물리적 섹터를 설명하는 결함 리스트의 적어도 일부에 포함되는, 기록 방법.
제 4 항에 있어서, 상기 결함 리스트는 상기 볼륨 공간 내의 논리적 섹터에 대응하는 기록되지 않은 물리적 섹터에 기록되는, 기록 방법.
제 1 항에 있어서, 상기 볼륨 공간 내의 보더-인 영역 및 보더-아웃 영역 중 적어도 한 영역을 할당하는 단계를 포함하고,
상기 결함 리스트는 상기 볼륨 공간 내에 할당되는 보더-인 영역 및 보더-아웃 영역 중 적어도 하나에 기록되는, 기록 방법.
데이터를 1회 기록 디스크 상에 기록하는 기록 장치로서, 상기 1회 기록 디스크는 다수의 물리적 섹터들을 가지며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하는, 상기 기록 장치에 있어서,
상기 1회 기록 디스크를 위한 기록 동작을 수행하는 구동 메커니즘; 및
상기 구동 메커니즘을 제어하는 구동 제어부를 포함하며,
상기 구동 제어부는:
(a) 데이터가 기록될 적어도 논리적 섹터를 규정하는 기록 명령을 수신하도록 동작가능하며,
(b) 상기 기록 명령에 의해 규정된 논리적 섹터가 기록된 물리적 섹터 또는 기록되지 않은 물리적 섹터에 대응하는지를 결정하도록 동작가능하며;
(c) 상기 기록 명령에 의해 규정되는 논리적 섹터가 기록되지 않은 물리적 섹터에 대응한다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여,
(c1) 상기 데이터를 상기 기록되지 않은 물리적 섹터에 기록하도록 하고,
(c2) 물리적 섹터에 기록되는 데이터의 입증이 성공적인지를 결정하도록 하며,
(c3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여,
(c31) 상기 기록된 데이터의 입증이 성공적이지 않은 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(c32) 상기 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고,
(c33) 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하도록 동작가능하며;
(d) 상기 기록 명령에 의해 규정되는 상기 논리적 섹터가 기록된 물리적 섹터에 대응한다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여,
(d1) 상기 기록된 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(d2) 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하도록 하고,
(d3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여,
(d31) 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(d32) 상기 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하며,
(d33) 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하도록 동작가능한, 기록 장치.
1회 기록 디스크 상에 데이터를 기록하는 기록 장치에 사용하기 위한 반도체 집적 회로로서, 상기 1회 기록 디스크는 다수의 물리적 섹터들을 가지며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하며, 상기 반도체 집적 회로는 상기 1회 기록 디스크를 위한 기록 동작을 수행하는 구동 메커니즘을 제어하도록 구성되는, 상기 반도체 집적 회로에 있어서,
상기 반도체 집적 회로는:
(a) 데이터가 기록될 적어도 논리적 섹터를 규정하는 기록 명령을 수신하도록 동작가능하고;
(b) 상기 기록 명령에 의해 규정된 논리적 섹터가 기록된 물리적 섹터 또는 기록되지 않은 물리적 섹터에 대응하는지를 결정하도록 동작가능하고;
(c) 상기 기록 명령에 의해 규정되는 상기 논리적 섹터가 기록되지 않은 물리적 섹터에 대응한다라고 결정될 때, 상기 반도체 집적 회로는 구동 메커니즘을 제어하여,
(c1) 상기 데이터를 상기 기록되지 않은 물리적 섹터에 기록하도록 하고;
(c2) 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하도록 하며,
(c3) 기록되는 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여,
(c31) 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(c32) 상기 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고,
(c33) 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하도록 동작가능하며;
(d) 상기 기록 명령에 의해 규정된 상기 논리적 섹터가 기록된 물리적 섹터에 대응한다라고 결정될 때, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여,
(d1) 상기 기록된 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(d2) 물리적 섹터에 기록되는 상기 데이터의 입증이 성공적인지를 결정하도록 하고,
(d3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 반도체 집적 회로는 구동 메커니즘을 제어하여,
(d31) 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(d32) 상기 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하고,
(d33) 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하도록 동작가능한 반도체 집적 회로.
데이터를 1회 기록 디스크 상에 기록하기 위한 기록 방법으로서, 상기 1회 기록 디스크는 다수의 물리적 섹터들을 가지며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하는, 상기 기록 방법에 있어서,
(a) 데이터가 기록될 적어도 논리적 섹터를 규정하는 제 1 기록 명령에 응답하여,
(a1) 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터에 상기 데이터를 기록하는 단계,
(a2) 물리적 섹터에 기록된 상기 데이터의 입증이 성공적인지를 결정하는 단계,
(a3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때,
(a31) 상기 기록된 데이터의 입증이 성공적이지 않은 상기 물리 적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 상기 기록 단계,
(a32) 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하는 단계, 및
(a33) 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하는 단계; 및
(b) 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 2 기록 명령에 응답하여,
(b1) 상기 제 2 기록 명령에 의해 규정되는 상기 논리적 섹터에 대응하는 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 상기 기록 단계,
(b2) 물리적 섹터에 기록된 상기 데이터의 입증이 성공적인지를 결정하는 단계,
(b3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때,
(b31) 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하는 단계로서, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되는, 상기 기록 단계,
(b32) 상기 제 2 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하는 단계, 및
(b33) 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하는 단계를 포함하는, 기록 방법.
데이터를 1회 기록 디스크 상에 기록하는 기록 장치로서, 상기 1회 기록 디스크는 다수의 물리적 섹터들을 가지며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하는, 상기 기록 장치에 있어서,
상기 1회 기록 디스크를 위한 기록 동작을 수행하는 구동 메커니즘; 및
상기 구동 메커니즘을 제어하는 구동 제어부를 포함하며,
상기 구동 제어부는:
(a) 데이터가 기록될 적어도 논리적 섹터를 규정하는 제 1 기록 명령에 응답하여, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여,
(a1) 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하 는 상기 물리적 섹터에 상기 데이터를 기록하도록 하고,
(a2) 상기 물리적 섹터에 기록된 상기 데이터의 입증이 성공적인지를 결정하도록 하며,
(a3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여,
(a31) 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(a32) 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고,
(a33) 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하도록 하며;
(b) 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 2 기록 명령에 응답하여, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여,
(b1) 상기 제 2 기록 명령에 의해 규정되는 상기 논리적 섹터에 대응하는 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(b2) 물리적 섹터에 기록된 상기 데이터의 입증이 성공적인지를 결정하도록 하고,
(b3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 구동 제어부는 상기 구동 메커니즘을 제어하여,
(b31) 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(b32) 상기 제 2 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고,
(b33) 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하는, 기록 장치.
1회 기록 디스크 상에 데이터를 기록하는 기록 장치에 사용하기 위한 반도체 집적 회로로서, 상기 1회 기록 디스크는 다수의 물리적 섹터들을 가지며, 상기 1회 기록 디스크는 다수의 논리적 섹터들을 갖는 볼륨 공간을 포함하며, 상기 다수의 논리적 섹터들 각각은 상기 다수의 물리적 섹터들 중 한 섹터에 대응하며, 상기 반도체 집적 회로는 상기 1회 기록 디스크를 위한 기록 동작을 수행하는 구동 메커니즘을 제어하도록 구성되는, 상기 반도체 집적 회로에 있어서,
상기 반도체 집적 회로는:
(a) 데이터가 기록될 적어도 논리적 섹터를 규정하는 제 1 기록 명령에 응답하여, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여,
(a1) 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터에 상기 데이터를 기록하도록 하고,
(a2) 상기 물리적 섹터에 기록된 상기 데이터의 입증이 성공적인지를 결정하도록 하며,
(a3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여,
(a31) 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(a32) 상기 제 1 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고,
(a33) 상기 1회 기록 디스크 상에 상기 재맵핑 테이블을 기록하도록 하며;
(b) 데이터가 기록되는 적어도 논리적 섹터를 규정하는 제 2 기록 명령에 응답하여, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여,
(b1) 상기 제 2 기록 명령에 의해 규정되는 상기 논리적 섹터에 대응하는 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(b2) 물리적 섹터에 기록된 상기 데이터의 입증이 성공적인지를 결정하도록 하고,
(b3) 기록된 상기 데이터의 입증이 성공적이지 않다라고 결정될 때, 상기 반도체 집적 회로는 상기 구동 메커니즘을 제어하여,
(b31) 상기 기록된 데이터의 입증이 성공적이 아닌 상기 물리적 섹터 이외의 기록되지 않은 물리적 섹터에 상기 데이터를 기록하도록 하고, 상기 기록되지 않은 물리적 섹터는 상기 볼륨 공간 내의 상기 다수의 논리적 섹터들에 대응하는 상기 다수의 물리적 섹터들로부터 선택되며,
(b32) 상기 제 2 기록 명령에 의해 규정된 상기 논리적 섹터에 대응하는 상기 물리적 섹터의 원래 어드레스를 상기 선택된 물리적 섹터의 재맵핑 어드레스에 재맵핑하는 재맵핑 정보를 포함하는 재맵핑 테이블을 생성하도록 하고,
(b33) 상기 재맵핑 테이블을 상기 1회 기록 디스크 상에 기록하도록 동작가능한, 반도체 집적 회로.
KR1020067023643A 2004-05-10 2005-05-09 1회 기록 디스크들을 위한 데이터 기록/재생 KR20070029704A (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US56953704P 2004-05-10 2004-05-10
US60/569,537 2004-05-10
US57761604P 2004-06-07 2004-06-07
US60/577,616 2004-06-07
US66379105P 2005-03-21 2005-03-21
US60/663,791 2005-03-21
US66823705P 2005-04-04 2005-04-04
US60/668,237 2005-04-04

Publications (1)

Publication Number Publication Date
KR20070029704A true KR20070029704A (ko) 2007-03-14

Family

ID=34975232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067023643A KR20070029704A (ko) 2004-05-10 2005-05-09 1회 기록 디스크들을 위한 데이터 기록/재생

Country Status (6)

Country Link
US (1) US7823032B2 (ko)
EP (1) EP1745478A2 (ko)
JP (1) JP2007536676A (ko)
KR (1) KR20070029704A (ko)
TW (1) TWI313859B (ko)
WO (1) WO2005109425A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1745480A1 (en) * 2004-05-10 2007-01-24 Matsushita Electric Industrial Co., Ltd. Data recording/reproduction for write-once discs
JP2007536677A (ja) * 2004-05-10 2007-12-13 松下電器産業株式会社 追記形ディスクに対するデータ記録/再生
JP5296548B2 (ja) * 2006-11-06 2013-09-25 パナソニック株式会社 記録装置
KR101453296B1 (ko) * 2008-01-10 2014-10-21 삼성전자주식회사 정보 저장 매체, 기록/재생 장치 및 기록/재생 방법
US8074113B2 (en) * 2009-03-10 2011-12-06 Emulex Design & Manufacturing Corporation System and method for data protection against power failure during sector remapping
CN102708019B (zh) * 2012-04-28 2014-12-03 华为技术有限公司 一种硬盘数据恢复方法、装置及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2529192B2 (ja) * 1985-10-03 1996-08-28 キヤノン株式会社 情報記録再生方法
JPS62293570A (ja) * 1986-06-13 1987-12-21 Fujitsu Ltd 追記型光デイスク装置
JP2622959B2 (ja) * 1986-10-31 1997-06-25 富士通 株式会社 光ディスク制御装置
JPS63181168A (ja) * 1987-01-21 1988-07-26 Mitsubishi Electric Corp 光デイスク装置における代替処理方式
JPH02183472A (ja) * 1989-01-06 1990-07-18 Fujitsu Ltd 追記型光ディスク書込み制御方式
US5233584A (en) * 1990-09-04 1993-08-03 International Business Machines Corporation Optical disk device using high and low data-sensing criteria plus device recalibration for error control
JPH04216369A (ja) 1990-12-14 1992-08-06 Matsushita Electric Ind Co Ltd 情報記録再生装置
JPH06338139A (ja) * 1993-05-31 1994-12-06 Olympus Optical Co Ltd 追記型情報記録媒体の情報記録における交代処理方法
US5905858A (en) * 1996-11-01 1999-05-18 Micron Electronics, Inc. System for method memory error handling
JP2000339874A (ja) * 1999-05-24 2000-12-08 Kenwood Corp 光デイスク装置
KR20040004735A (ko) * 2002-07-05 2004-01-14 주식회사 히타치엘지 데이터 스토리지 코리아 광디스크 장치에서의 디펙트 블록 대체 기록방법
JP2006500721A (ja) * 2002-09-27 2006-01-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ライトワンスメディアに関する欠陥及び割当て管理方法及び装置
JP4026517B2 (ja) * 2003-03-12 2007-12-26 ソニー株式会社 記録媒体、記録装置、記録方法
JP2005216395A (ja) * 2004-01-30 2005-08-11 Sony Corp 記録媒体評価方法、記録再生装置、記録媒体
EP1745480A1 (en) * 2004-05-10 2007-01-24 Matsushita Electric Industrial Co., Ltd. Data recording/reproduction for write-once discs
JP2007536677A (ja) * 2004-05-10 2007-12-13 松下電器産業株式会社 追記形ディスクに対するデータ記録/再生
JP4379276B2 (ja) * 2004-08-16 2009-12-09 ソニー株式会社 記録方法、記録装置、再生方法、再生装置、記録媒体

Also Published As

Publication number Publication date
WO2005109425A3 (en) 2006-02-02
JP2007536676A (ja) 2007-12-13
TWI313859B (en) 2009-08-21
EP1745478A2 (en) 2007-01-24
US20080192595A1 (en) 2008-08-14
US7823032B2 (en) 2010-10-26
WO2005109425A2 (en) 2005-11-17
TW200606885A (en) 2006-02-16

Similar Documents

Publication Publication Date Title
KR101066807B1 (ko) 일회-기록형 디스크용 데이터 기록/재생
US7894316B2 (en) Write-once recording medium, a recording apparatus and a reproducing apparatus for a write-once recording medium
KR101208321B1 (ko) 1회 기록형 디스크들 상에 데이터를 의사-겹쳐쓰기하는 방법
US7768892B2 (en) Recording device, reproduction device, host device, drive device, recording method, reproduction method, program, and information recording medium
KR100891088B1 (ko) 1회 기록 디스크 상에 데이터를 기록하는 방법 및 장치, 및반도체 집적 회로
KR20070029704A (ko) 1회 기록 디스크들을 위한 데이터 기록/재생
CN100562937C (zh) 一次写入型光盘的数据记录方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20120801

Effective date: 20140128