KR100786032B1 - 드라이브장치 및 추기형 기록매체 - Google Patents

드라이브장치 및 추기형 기록매체 Download PDF

Info

Publication number
KR100786032B1
KR100786032B1 KR1020077019608A KR20077019608A KR100786032B1 KR 100786032 B1 KR100786032 B1 KR 100786032B1 KR 1020077019608 A KR1020077019608 A KR 1020077019608A KR 20077019608 A KR20077019608 A KR 20077019608A KR 100786032 B1 KR100786032 B1 KR 100786032B1
Authority
KR
South Korea
Prior art keywords
replacement
recording
data
area
information
Prior art date
Application number
KR1020077019608A
Other languages
English (en)
Other versions
KR20070093463A (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 마쯔시다덴기산교 가부시키가이샤
Publication of KR20070093463A publication Critical patent/KR20070093463A/ko
Application granted granted Critical
Publication of KR100786032B1 publication Critical patent/KR100786032B1/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/1883Methods for assignment of alternate areas for defective 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
    • 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
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/007Arrangement of the information on the record carrier, e.g. form of tracks, actual track shape, e.g. wobbled, or cross-section, e.g. v-shaped; Sequential information structures, e.g. sectoring or header formats within a track
    • 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/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

Abstract

드라이브장치(310)는 기록 재생부(314)와 드라이브 제어부(311)를 포함한다. 드라이브 제어부(311)는 기록 지시에 포함되는 위치 대신에 사용자 데이터 영역 내의 교체처 위치에 데이터를 기록하도록 기록 재생부(314)를 제어하는 것(S1108)과 사용자 데이터 영역 내의 교체처 위치에 데이터를 기록하는 것이 성공하였는지의 여부를 판정하는 것(S1109)과 사용자 데이터 영역 내의 교체처 위치에 데이터를 기록하는 것이 실패한 경우에는 교체영역 내의 위치에 데이터를 기록하도록 기록 재생부(314)를 제어하는 것(S1110)을 포함하는 처리를 실행한다.
드라이브장치, 기록 재생부, 드라이브 제어부, 기록 지시, 교체처 위치, 교체원 위치

Description

드라이브장치 및 추기형 기록매체{Drive apparatus and write-once recording medium}
본 발명은 정보기록매체에 데이터를 기록하고, 정보기록매체에 기록된 데이터를 재생하는 드라이브장치에 관한 것이다.
최근, 디지털 데이터의 기록에 여러 가지 형태의 정보기록매체가 사용되고 있고, 반복하여 데이터가 재기록 가능한 재기록형 광 디스크나, 기록회수가 1회에 한정되어 있는 한편, 매체의 가격이 저가인 추기형 광 디스크가 존재한다.
이러한 재기록형 광 디스크의 예로서, DVD-RAM 디스크, BD-RE(Blu-ray Disc Rewritable) 디스크 등이 있다.
또한, 추기형 광 디스크의 예로서, DVD-R 디스크, BD-R(Blu-ray Disc Recordable) 디스크 등이 있다.
재기록형 광 디스크에서는 디스크상에 기록되는 데이터의 신뢰성을 향상시키기 위해서, 결함 관리기구가 도입되어 있다.
결함 관리기구는 크게 나누면 슬리핑 리플레이스먼트(slipping replacement) 알고리즘과 리니어 리플레이스먼트(linear replacement) 알고리즘으로 이루어진다.
슬리핑 리플레이스먼트 알고리즘은 주로 디스크의 포맷시에 실시된다. 즉, 포맷처리에 있어서, 사용자 데이터영역 중의 전체 ECC 클러스터를 검사하여, 결함 클러스터가 발견되면, 그 위치를 프라이머리 디펙트 리스트(이후, PDL)에 등록하여, 대응하는 논리 클러스터를 다음의 결함이 아닌 물리 클러스터에 엇갈리게 하여 대응시킨다.
이것에 의해, 사용자 데이터의 기록시에 있어서는 PDL에 등록된 결함 클러스터를 피하여 기록을 하게 되어, 데이터 기록의 신뢰성을 향상시키는 것이 가능해진다.
한편, 리니어 리플레이스먼트 알고리즘에서는 사용자 데이터의 기록시에 실시된다.
즉, 데이터를 기록하였을 때에, 그 기록결과를 확인하는 베리파이처리를 한다. 만약 기록에 실패한 경우, 기록을 한 ECC 클러스터는 결함 클러스터가 되고, 세컨드리 디펙트 리스트(이후, SDL)에 의해 그 위치가 관리된다.
그리고, 사용자 데이터는 디스크상의 최내주나 최외주에 설치되어 있는 교체영역에 대체기록된다.
대체기록에 있어서도 상술한 베리파이처리가 행하여진다. 기록이 성공하면 데이터 기록위치가 결정되기 때문에, 이 시점에서, 결함 클러스터의 위치정보와 대체처의 ECC 클러스터의 위치정보를 대응시키는 정보인 SDL 엔트리를 생성하여, 상기한 SDL에 등록한다.
또, SDL 엔트리는 교체영역에 포함되는 모든 ECC 클러스터에 대하여 설치되 고, 각각의 ECC 클러스터가 교체처로서 사용 가능, 즉 현재는 빈 영역인지, 이미 교체처로서 사용 완료인지를 관리하는 경우도 있다. 이 교체영역 중의 빈 영역은 스페어 클러스터라고도 불린다.
재생시에는 PDL이나 SDL을 참조하여, 필요에 따라서 대체처의 ECC 클러스터의 재생을 한다.
상술한 PDL이나 SDL은 디스크상의 리드인영역 내에 설치되는 디펙트 매니지먼트 에어리어(이후, DMA)에 기록된다. DMA에는 그 외에, 교체영역의 용량 등의 정보도 포함한다.
재기록형 광 디스크의 경우, 결함 관리에 관한 정보의 갱신은 DMA를 재기록함으로써 한다.
또한, 추기형 광 디스크에 있어서도, 예를 들면 특허문헌1에 개시하는 바와 같이, 결함 관리기구의 도입이 가능하다.
특허문헌1의 FIG.3a에서는 디스크의 데이터 구조에 관해서 설명하고 있다. 특허문헌1의 디스크는 DMA가 리드인영역 및 리드아웃영역 중에 설치되어 있다.
또, 템포러리 디펙트 매니지먼트 에어리어(TDMA)가 리드인영역 및 리드아웃영역 중에 설치되어 있다.
추기형 광 디스크의 경우, 결함 관리에 관한 정보의 갱신은 결함정보를 갱신할 때마다 TDMA에 결함정보를 추기함으로써 행하여진다.
그리고, 디스크의 클로즈 또는 파이널라이즈를 할 때에, 최신의 TDMA의 내용을 DMA에 기록한다.
TDMA에는 일시결함 관리정보(Temporary defect management information : 이후, TDDS) 및 일시결함정보(Temporary Defect Information : 이후, TDFL)가 기록된다.
특허문헌1에 있어서의 FIG.5b에는 TDDS의 데이터 구조가 개시되어 있다. TDDS는 대응하는 TDFL로의 포인터정보를 포함한다. TDFL은 TDMA 중에 복수회 기록되기 때문에, 포인터정보도 각각의 TDFL에 대하여 기록된다.
또, TDDS에는 추기형 광 디스크상의 최종 기록 어드레스(last recorded address)가 기록된다. 특허문헌1의 FIG.5b에 도시되는 바와 같이, 하나의 추기형 광 디스크에 대하여 복수의 최종 기록 어드레스를 가질 수 있다.
또한 TDDS에는 추기형 광 디스크상의 최종 기록 교체 어드레스(last recorded replacement address)가 기록된다. 특허문헌1의 FIG.5b에 도시되는 바와 같이, 하나의 디스크에 대하여 복수의 최종 기록 교체 어드레스를 가질 수 있다.
특허문헌1의 FIG.6에는 TDFL의 데이터 구조가 도시되어 있다.
TDFL에는 결함 관련정보(information regarding defect) #1, #2, #3 등이 포함된다.
결함 관련정보는 상태정보(state information), 결함 클러스터로의 포인터, 대체 클러스터로의 포인터를 포함한다.
결함 관련정보는 상술한 SDL에 포함되는 SDL 엔트리와 같은 데이터 구조와 기능을 다하는 것이다.
도 33a 및 도 33b는 특허문헌1의 FIG.9a 및 FIG.9b에서 도시되는 TDFL의 갱 신방법을 도시한다.
도 33a는 TDFL #0의 데이터 구조를 도시하고 있다. TDFL #0은 결함 #1, #2, #3에 대한 결함 관련정보 #1, #2, #3을 포함한다.
TDFL #0이 기록된 후, 추기형 광 디스크에 새로운 데이터 기록이 행하여지고, 결함 #4, #5가 발생하였다고 한다. 이 때, 도 33b에 도시하는 TDFL #1이 추기형 광 디스크상에 기록된다.
여기에서 TDFL #1은 TDFL #0에 포함되는 결함 관리정보를 모두 유지한 채로, 새롭게 결함 #4, #5에 대한 결함 관련정보 #4, #5를 추가함으로써 생성된다.
특허문헌1의 FIG.10에는 결함 관련정보의 데이터 구조가 도시되어 있다.
결함 관련정보는 상태정보를 포함한다. 상태정보는 결함영역이 연속결함 블록(continuous defect block)인지, 단독결함 블록(single defect block)인지를 나타내는 정보를 포함한다.
또, 결함 관련정보는 결함영역으로의 포인터(결함영역의 디스크상에서의 위치)를 포함한다.
또, 결함 관련정보는 결함영역에 대응하는 대체영역으로의 포인터를 포함한다.
결함영역이 연속적인 결함 블록열인 경우, 상태정보는 결함영역으로의 포인터가 연속결함 블록의 개시 또는 종료위치인 것을 나타낸다. 또한, 대체영역으로의 포인터가, 이들의 대체블록의 개시 또는 종료위치인 것을 나타낸다.
이들의 데이터 구조를 사용함으로써 추기형 광 디스크에 있어서 결함 관리기 구가 실현된다.
또, 상술과 같은 결함 관리기구를 사용하면, 추기형 광 디스크에 있어서도 의사적인 덮어쓰기 기록이 실현 가능해진다.
도 31 및 도 32를 사용하여, 추기형의 정보기록매체에 있어서의 의사적인 덮어쓰기 기록에 관해서 설명한다.
상술한 바와 같이 결함 관리기구에 있어서는 결함 관련정보나 SDL 엔트리와 같은 교체정보에 의해, 데이터가 기록되어 있는 외관상의 논리 어드레스를 바꾸지 않고, 실제로 데이터가 기록되는 물리 어드레스를 미리 확보된 별도의 장소에 맵핑(mapping)하는 것이 행하여진다.
그래서, 만약, 추기형 광 디스크상의 기록 완료의 논리 어드레스에 대하여 데이터의 덮어쓰기가 지시된 경우, 그 데이터를 별도의 물리 어드레스상의 섹터에 기록하고, 원래의 논리 어드레스를 유지하도록 교체정보를 갱신하면, 외관상은 데이터가 덮어쓰기 기록된 상태를 실현하는 것이 가능해진다. 이후, 이러한 기록방법을, 의사덮어쓰기 기록이라고 부른다.
도 31은 추기형 광 디스크인 정보기록매체(1)에 몇개인가의 디렉토리와 파일이 기록된 상태를 도시하는 도면이다. 또, 이 상태에서는 아직 의사덮어쓰기 기록은 행하여지지 않은 것으로 한다.
추기형 광 디스크에 있어서는 디스크상의 사용자 데이터영역을 트랙 및 세션이라는 단위로 관리한다.
도 31에 있어서는 사용자 데이터영역상에 기록되는 사용자 데이터의 관리는 파일 시스템에 의해서 행하여진다. 파일 시스템이 관리를 하는 공간을 볼륨공간(2)이라고 부른다.
또, 이하의 설명에 있어서는 파일 시스템을 구성하는 볼륨/파일 구조로서 정보기록매체(1)에 기록되는 기술자나 포인터, 메타데이터 파티션이나 메타데이터 파일의 구조 등은 특별히 상세한 기재가 없는 한, ISO/IEC 13346 규격 또는 UDF(Universal Disk Format) 규격에 규정된 데이터 구조를 가지는 것으로 한다.
도 31에서는 볼륨공간(2) 내에, 볼륨 구조영역(3)과, 물리 파티션(4)이 기록되어 있다.
물리 파티션(4) 내에는 UDF 규격버전 2.5로 규정되어 있는 메타데이터 파티션(5a, 5b)이 포함된다.
또한 물리 파티션(4) 내에는 메타데이터 파일(6a)과 그 복제인 메타데이터 미러 파일(6b)이 기록되어 있다.
그리고, 이들의 물리 파티션(4) 중에서의 기록위치를 나타내는 파일 엔트리(FE)인 FE(메타데이터 파일; 7a) 및 FE(메타데이터 미러 파일; 7b)가 기록되어 있다. 또한, 데이터 파일(File-a; 8), 데이터 파일(File-b; 9)도 기록되어 있다.
FE나 디렉토리 파일 등의 파일 구조의 정보는 전부 메타데이터 파티션, 즉, 메타데이터 파일 내에 배치되어 있다.
UDF 규격으로 규정되는 데이터 구조에서는 볼륨 구조영역(3) 중에 메타데이터 파티션(5a) 및 파일 집합 기술자(12; FSD)의 기록위치가 기록되어 있다.
FSD(12)의 기점으로서, 파일 구조를 ROOT 디렉토리로부터 순차 검색하여, 예를 들면 데이터 파일(File-a; 8)에 액세스하는 것이 가능해진다.
다음에, 도 31의 상태에 새롭게 데이터 파일(File-c)을 의사덮어쓰기하면 도 32에 도시하는 상태가 된다.
여기에서는 데이터 파일(File-c)이 정보기록매체(1) 상의 ROOT 디렉토리 바로 아래에 기록되었다고 한다.
데이터 파일(File-c)의 기록에 있어서는 데이터 파일(File-c)의 추가를 위해서 필요한 파일 구조의 정보가 갱신·생성된다. 구체적으로는 FE(ROOT; 13)의 갱신이나 FE(File-c; 14)의 생성이다.
그리고, 데이터 파일(File-c; 15)이 도 31의 미기록영역에 기록되어, 도 32의 상태가 된다.
FE(File-c; 14)가 기록될 때, FE(File-c; 14)는 메타데이터 파티션(5a; 즉 메타데이터 파일(6a)) 중의 미기록영역(11a)에 기록된다.
다음에, FE(ROOT; 16)가 FE(ROOT; 13)에 대하여, 의사덮어쓰기 기록된다.
이 때, 도 32에 도시하는 바와 같이, FE(ROOT; 16)의 데이터는 교체영역(17)에 기록된다.
또, 디스크 관리정보(2)에 포함되는 교체정보를 갱신하여, FE(ROOT; 13)를 FE(ROOT; 16)에 맵핑한다.
이러한 파일의 기록처리 후가 행하여진 후, 데이터 파일(File-c; 15)을 재생하는 동작은 다음과 같아진다.
정보기록매체(1)의 볼륨 구조영역(3)으로부터 FE(메타데이터 파일; 7a)와 FSD(12)의 위치정보가 취득된다.
다음에, 파일 구조의 재생이 행하여진다. 파일 구조의 재생을 위해서, 취득 완료의 FE(메타데이터 파일; 7a)와 FSD(12)의 위치정보를 바탕으로, FSD(12)의 재생이 행하여진다.
재생된 FSD(12)로부터 FE(ROOT; 13)의 위치정보가 논리 어드레스로서 취득된다.
취득된 FE(ROOT; 13)의 위치정보(논리 어드레스)를 바탕으로, FE(ROOT; 13)의 재생이 행하여진다.
이 때, 교체정보가 참조되어, FE(ROOT; 13)의 위치정보(논리 어드레스)에 맵핑되어 있는 FE(ROOT; 16)가 재생된다.
FE(ROOT; 16)는 최신의 ROOT 디렉토리 파일을 포함하기 때문에, FE(File-c; 14)로의 위치정보를 가진다.
그리고, FE(File-c; 14)로부터 얻어진 데이터 파일(File-c; 15)의 위치정보를 사용하여 데이터 파일(File-c; 15)의 재생이 행하여진다.
이상과 같이 추기형 광 디스크에 있어서도, 결함 관리기구를 사용함으로써 의사덮어쓰기 기록이 가능해진다.
특허문헌1 : 미국특허출원공개 제2004/0076096호 명세서
발명이 해결하고자 하는 과제
그렇지만, 상기에서 설명한 바와 같은 추기형 광 디스크의 의사덮어쓰기 기록방식에서는 교체영역 중의 미기록영역이 없어지면 사용자 데이터영역에 미기록영역이 남아 있었다고 해도 그 이상의 데이터 기록을 할 수 없게 된다고 하는 과제가 있다. 왜냐하면, 파일 시스템정보의 갱신을 할 수 없게 되기 때문이다.
특히, 추기형 광 디스크의 경우, 교체영역의 용량을 필요한 시점에서 확장 가능한 재기록형 광 디스크와는 달리, 디스크의 포맷(초기화)시에 결정되어 버린다.
그리고, 의사덮어쓰기 기록을 하는 것을 상정하고, 사전에 적절한 교체영역의 용량을 정하는 것은 곤란하다.
만약 사전에 결정한 교체영역의 용량이 지나치게 크면, 사용자 데이터영역의 용량이 줄어 버리고, 지나치게 작으면 사용자 데이터영역에 미기록영역이 남아 있는 데 그 이상의 데이터 기록을 할 수 없는 상황이 발생하여 버린다. 어떤 경우도 추기형 광 디스크의 사용자 데이터영역을 유효하게 이용할 수 없다.
본 발명은 상기한 과제를 해결하는 것으로, 추기형 광 디스크의 의사덮어쓰기 기록에 있어서, 사용자 데이터영역을 낭비 없이 사용하는 것을 가능하게 하는 드라이브장치를 제공하는 것을 목적으로 한다.
과제를 해결하기 위한 수단
본 발명의 드라이브장치는 추기형 기록매체에 대하여 의사덮어쓰기 기록을 하는 드라이브장치로, 상기 추기형 기록매체는 교체영역과 사용자 데이터영역을 포 함하고, 상기 사용자 데이터영역에는 적어도 하나의 트랙이 할당되어 있고, 상기 드라이브장치는 상기 추기형 기록매체에 대하여 기록동작 또는 재생동작을 하는 기록 재생부와, 상기 기록 재생부를 제어하는 드라이브 제어부를 포함하고, 상기 드라이브 제어부는 데이터가 기록되어야 하는 위치를 포함하는 기록 지시를 수취하는 것과, 상기 기록 지시에 포함되는 상기 위치에 대응하는 상기 적어도 하나의 트랙 중의 하나의 트랙을 결정하는 것과, 상기 기록 지시에 포함되는 상기 위치 대신에 상기 사용자 데이터영역 내의 교체처 위치에 상기 데이터를 기록하도록 상기 기록 재생부를 제어하는 것과, 상기 사용자 데이터영역 내의 상기 교체처 위치에 상기 데이터를 기록하는 것이 성공하였는지의 여부를 판정하는 것과, 상기 사용자 데이터영역 내의 상기 교체처 위치에 상기 데이터를 기록하는 것이 실패한 경우에는 상기 교체영역 내의 위치에 상기 데이터를 기록하도록 상기 기록 재생부를 제어하는 것을 포함하는 처리를 실행한다.
상기 드라이브 제어부는 상기 교체영역의 상기 위치에 상기 데이터를 기록하는 것이 성공하였는지의 여부를 판정하는 것과, 상기 교체영역 내의 상기 위치에 상기 데이터를 기록하는 것이 실패한 경우에는 상기 교체영역에 상기 데이터를 기록하는 것이 성공할 때까지, 상기 교체영역에 상기 데이터를 기록하는 것을 반복하는 것을 더욱 포함하는 처리를 실행하여도 좋다.
상기 결정된 트랙은 오픈 트랙이어도 좋다.
상기 결정된 트랙은 미기록영역을 포함하는 클로즈드 트랙이어도 좋다.
본 발명의 다른 드라이브장치는 추기형 기록매체에 대하여 의사덮어쓰기 기 록을 하는 드라이브장치로, 상기 추기형 기록매체는 교체영역과 사용자 데이터영역을 포함하고, 상기 드라이브장치는 상기 추기형 기록매체에 대하여 기록동작 또는 재생동작을 하는 기록 재생부와, 상기 기록 재생부를 제어하는 드라이브 제어부를 포함하고, 상기 드라이브 제어부는 교체원 위치와 교체처 위치를 포함하는 교체 관리정보를 생성하는 것과, 상기 교체 관리정보를 상기 추기형 기록매체에 기록하도록 상기 기록 재생부를 제어하는 것을 포함하는 처리를 실행하여, 의사덮어쓰기 기록을 목적으로 하는 교체가 발생한 경우에는 상기 드라이브 제어부는 상기 교체 관리정보의 상기 교체처 위치에 제 1 범위의 값을 설정하고, 결함에 의한 기록을 목적으로 하는 교체가 발생한 경우에는 상기 드라이브 제어부는 상기 교체 관리정보의 상기 교체처 위치에 제 2 범위의 값을 설정한다.
상기 제 1 범위는 상기 사용자 데이터영역의 범위이며, 상기 제 2 범위는 상기 교체영역의 범위이어도 좋다.
발명의 효과
본 발명에 의하면, 추기형 광 디스크의 의사덮어쓰기 기록에 있어서, 사용자 데이터영역을 낭비 없이 사용하는 것을 가능하게 하는 드라이브장치를 제공할 수 있다.
이하, 도면을 참조하면서, 본 발명의 실시형태를 설명한다.
(실시형태 1)
1-1. 추기형 기록매체
도 1a는 본 발명의 실시형태에 있어서의 정보기록매체(100)의 외관을 도시한다.
정보기록매체(100)의 최내주에 리드인영역(101)이 배치되어 있다. 정보기록매체(100)의 최외주에 리드아웃영역(103)이 배치되어 있다. 정보기록매체(100)의 리드인영역(101)과 리드아웃영역(103)의 사이에 데이터영역(102)이 배치되어 있다.
리드인영역(101)에는 후술하는 기록 재생부(314)에 포함되는 광픽업이 정보기록매체(100)에 액세스할 때에 필요한 기준정보나, 다른 기록매체와의 식별정보 등이 기록되어 있다. 리드아웃영역(103)에도 리드인영역(101)에 기록되어 있는 정보와 같은 정보가 기록되어 있다.
리드인영역(101), 데이터영역(102) 및 리드아웃영역(103)에는 복수의 물리 섹터가 할당되어 있다. 각 물리 섹터는 최소의 액세스 단위이다. 각 물리 섹터는 물리 섹터번호(이후, PSN)라는 어드레스정보에 의해 식별된다.
복수의 물리 섹터를 포함하는 ECC 클러스터(또는 ECC 블록)를 최소의 단위로 하여 데이터의 기록·재생이 행하여진다.
도 1b는 정보기록매체(100)의 데이터 구조를 도시한다. 도 1b에서는 도 1a에서 동심원형으로 도시되어 있는 리드인영역(101), 데이터영역(102) 및 리드아웃영역(103)을 가로방향으로 배치하여 도시하고 있다.
리드인영역(101)은 디스크 관리정보영역(104)을 포함하고, 리드아웃영 역(103)은 디스크 관리정보영역(105)을 포함한다.
디스크 관리정보영역(104, 105)의 각각은 디스크 관리정보가 기록된다. 디스크 관리정보는 후술하는 교체 관리정보 리스트나, 세션 관리정보, 빈 영역 관리정보 등을 포함한다. 디스크 관리정보영역(104, 105)은 디스크 관리정보를 갱신하기 위한 영역으로서 사용된다. 이 갱신을 위한 영역은 일시 디스크 관리정보영역이라고도 불린다.
또, 본 발명을 BD-R 규격에 적용하는 경우에는 본 명세서에 있어서의 용어 「디스크 관리정보영역」을 「디스크 관리영역」으로 바꾸어 읽고, 본 명세서에 있어서의 용어 「일시 디스크 관리정보영역」을 「일시 디스크 관리영역」으로 바꾸어 읽고, 본 명세서에 있어서의 용어 「디스크 관리정보」를 「디스크 관리 구조」로 바꾸어 읽고, 본 명세서에 있어서의 용어 「일시 디스크 관리정보」를 「일시 디스크 관리 구조」로 바꾸어 읽기로 한다.
데이터영역(102)은 내주 교체영역(106)과, 사용자 데이터영역(108)과, 외주 교체영역(107)을 포함한다.
사용자 데이터영역(108)은 사용자 데이터를 기록하기 위해서 사용되는 영역이다.
도 1c는 사용자 데이터영역(108)의 데이터 구조를 도시한다.
사용자 데이터영역(108)은 복수의 세션을 포함한다. 각 세션은 복수의 트랙을 포함한다.
각 트랙은 정보기록매체(100) 상의 연속영역이다. 각 트랙은 후술하는 트랙 관리정보에 의해서 관리된다.
또, 본 발명을 BD-R 규격에 적용하는 경우에는 본 명세서에 있어서의 용어 「트랙」을 「시퀀셜 기록영역(SRR)」으로 바꾸어 읽기로 한다.
각 세션은 정보기록매체(100) 상에 연속하여 배치되는 복수의 트랙을 포함한다. 각 세션은 후술하는 세션 관리정보에 의해서 관리된다.
도 2a는 세션을 관리하기 위한 세션 관리정보(200)의 데이터 구조를 도시한다. 세션 관리정보(200)는 디스크 관리정보에 포함된다.
세션 관리정보(200)는 헤더정보(201)와, 복수의 트랙 관리정보를 포함한다.
헤더정보(201)는 세션 관리정보(200)의 식별자나, 도 2b에 도시되는 트랙 관리정보(210)의 수 등의 일반적인 정보를 갖는다.
트랙 관리정보 #N은 도 1c에 도시되는 트랙 #N에 대응하는 정보를 갖는다. 여기에서, N은 1이상의 정수이다.
도 2b는 트랙을 관리하기 위한 트랙 관리정보(210)의 데이터 구조를 도시한다. 트랙 관리정보(210)는 디스크 관리정보에 포함된다.
트랙 관리정보(210)는 트랙이 세션의 선두 트랙인지의 여부를 나타내는 세션 개시정보(211)와, 트랙의 개시위치를 나타내는 트랙 개시위치정보(212)와, 트랙 내에서 최후에 데이터가 기록된 위치를 나타내는 트랙 내 최종 데이터 기록위치정보(이후, LRA(213)를 포함한다.
만약 어떤 트랙 관리정보(210)에 의해서 관리되는 트랙이 세션의 선두에 위 치하는 경우에는 그 트랙이 세션의 선두에 위치하는 것을 나타내는 값(예를 들면, "1")이 세션 개시정보(211)에 설정된다. 그 이외의 경우에는 다른 값(예를 들면, "0")이 세션 개시정보(211)에 설정된다.
트랙 개시위치정보(212)는 트랙의 개시위치를 나타내는 물리 어드레스를 포함한다.
트랙 내 최종 데이터 기록위치정보(213)는 트랙 내에서 유효한 데이터가 기록된 최종 위치를 나타내는 물리 어드레스를 포함한다. 유효한 데이터란, 예를 들면, 호스트장치(305)로부터 공급된 사용자 데이터이다. 도 1c에 도시되는 LRA(120)나 LRA(121)는 트랙 내 최종 데이터 기록위치정보(213)의 일례이다.
또, 본 발명을 BD-R 규격에 적용하는 경우에는 본 명세서에 있어서의 용어 「트랙 관리정보」를 「시퀀셜 기록영역 엔트리」로 바꾸어 읽고, 본 명세서에 있어서의 용어 「세션 관리정보」를 「시퀀셜 기록영역정보」로 바꾸어 읽기로 한다.
또, 정보기록매체(100)가 ECC 클러스터를 최소 단위로 하여 데이터 기록을 하는 경우에는 트랙 내 최종 데이터 기록위치정보(213)는 반드시 ECC 클러스터 경계하는 것은 아니다. 일반적으로, 기록 지시되는 데이터 용량은 ECC 클러스터의 용량의 정수배가 되지 않기 때문이다. 이 때, LRA(213)는 기록 지시된 데이터가 기록된 최후의 물리 섹터의 어드레스를 나타낸다.
또한, LRA(213)가 ECC 클러스터 경계에 일치하지 않는 경우, 기록 지시된 데이터에 이어, 패딩 데이터가 ECC 클러스터 경계까지 기록된다.
본 실시형태에 있어서는 트랙마다 데이터의 기록이 가능하다. 새로운 데이터의 기록은 각 트랙의 선두로부터 행하여지고, 트랙 내에서는 연속적으로 데이터가 배치된다(시퀀셜 기록). 그 트랙 내에서 데이터의 기록이 행하여지면, 그 트랙 내에서 최후에 기록된 위치가 트랙 내 최종 데이터 기록위치정보(213)에 반영된다.
그 트랙 내에서 기록을 재개하는 경우에는 최신의 트랙 내 최종 데이터 기록위치정보(213)의 값을 조사함으로써, 그 트랙 내에서의 다음의 기록 개시위치를 알 수 있다.
또, 트랙이 할당된 직후에서, 그 트랙에 데이터가 완전히 기록되어 있지 않은 경우는 그 상태를 나타내는 소정의 값(예를 들면, "O")을 트랙 내 최종 데이터 기록위치정보(213)에 설정하도록 하여도 좋다.
다음번 기록 가능 위치(이후, NWA)는 트랙 내 최종 데이터 기록위치정보(213)에 의해서 나타내지는 물리 섹터의 다음의 물리 섹터의 위치를 나타낸다. 또는 정보기록매체(100)가 어떤 ECC 클러스터를 최소 단위로 하여 데이터 기록을 하는 경우에는 NWA는 트랙 내 최종 데이터 기록위치정보(213)에 의해서 나타내지는 물리 섹터를 포함하는 ECC 클러스터의 다음의 ECC 클러스터의 선두위치를 나타낸다.
이것을 수식을 사용하여 나타내면, (수학식 1)과 같이 된다.
(수학식 1)
(a) LRA≠0일 때,
NWA=N×(Floor(LRA/N)+1)
N:ECC 클러스터에 포함되는 물리 섹터수(예를 들면, N=32)
(b) LRA=0일 때,
NWA=(해당 트랙의 개시위치)
단, Floor(x)는 x이하의 최대의 정수치.
이후의 설명에서는 NWA는 ECC 클러스터의 선두위치를 나타내는 것으로 가정한다.
데이터의 기록이 가능한 상태에 있는 트랙은 오픈 트랙이라고 불린다.
오픈 트랙의 트랙번호는 도 2a에 도시되는 세션 관리정보(200) 중의 헤더정보(201)에 포함된다(예를 들면, 제 1 오픈 트랙번호(203), 제 2 오픈 트랙번호(204) 등).
한편, 오픈 트랙이 아닌 트랙은 클로즈드 트랙이라고 불린다.
예를 들면, 미기록영역이 존재하지 않는 트랙이나, 사용자로부터 지시된 트랙이 클로즈드 트랙이 된다.
오픈 트랙과는 달리, 클로즈드 트랙의 트랙번호는 세션 관리정보(200) 중의 헤더정보(210) 내에 격납되지 않는다.
클로즈드 트랙에 대한 데이터 기록은 금지되어 있다.
오픈 트랙번호와 트랙 관리정보(210) 중의 트랙 내 최종 데이터 기록위치정보(213)를 조사함으로써, 정보기록매체(100) 상에서의 미기록영역을 알 수 있다.
또, 본 발명을 BD-R 규격에 적용하는 경우, 오픈 트랙은 오픈 SRR을 나타낸 다. 또한, 클로즈드 트랙은 클로즈드 SRR을 나타낸다.
또한, 추기형의 정보기록매체(100)에서도, 기록 완료의 ECC 클러스터를 관리함으로써, 정보기록매체 상의 임의의 위치(물리 어드레스)에 데이터를 기록하는 일종의 랜덤기록을 하는 것이 가능하다.
이러한 랜덤기록을 실현하기 위해서는 정보기록매체(100) 상에서의 빈 영역의 관리와 최종 데이터 기록위치의 관리를 할 필요가 있다.
본 실시형태에 있어서는 도 2c에 도시되는 빈 영역 관리정보(220)와 디스크 관리정보영역(104, 105)에 기록된 디스크 관리정보를 사용하여 이러한 관리를 실현한다.
랜덤기록을 하는 경우에는 디스크 관리정보영역(104)에 도 2c에 도시되는 빈 영역 관리정보(220)가 기록된다.
도 2c는 빈 영역정보(220)의 데이터 구조를 도시한다. 빈 영역정보(220)는 헤더정보(221)와, 관리대상영역정보(222)와, 빈 영역정보(223)를 포함한다.
헤더정보(221)는 빈 영역 관리정보(220)의 식별자 등의 일반적인 정보를 갖는다.
관리대상영역정보(222)는 빈 영역 관리정보(220)에 의해서 미기록/기록 완료 상태가 관리되는 섹터가 포함되는 사용자 데이터영역(108) 중의 영역을 특정하는 정보를 포함한다. 예를 들면, 관리대상영역정보(222)는 그 영역의 개시위치나 그 영역의 길이를 포함한다.
빈 영역정보(223)는 관리대상이 되는 영역에 포함되는 각 ECC 클러스터가 미 기록인지 기록 완료인지를 나타내는 정보를 포함한다. 예를 들면, 각 ECC 클러스터에 대하여 1비트씩의 데이터를 할당하여, 해당 ECC 클러스터가 미기록이면 예를 들면 "0"을, 기록 완료이면 예를 들면 "1"을 설정함으로써, 대상영역의 모든 ECC 클러스터에 대한 빈 상황을 관리하는 것이 가능해진다.
디스크 관리정보영역(104)에 기록된 디스크 관리정보는 도 3에 도시되는 디스크 구조정보(1100)를 포함한다. 디스크 구조정보(1100)는 최종 데이터 기록위치정보(1107)를 포함한다. 최종 데이터 기록위치정보(1107)는 사용자 데이터영역(108) 내에서 최후에 데이터가 기록된 위치를 나타내는 물리 어드레스를 포함한다.
디스크 구조정보(1100)는 디스크 구조정보(1100) 전반에 관한 일반정보(1101)와, 최신의 교체 관리정보 리스트(1000)의 디스크 관리정보영역(104, 105) 내에서의 위치정보를 나타내는 교체 관리정보 리스트위치정보(1102)와, 사용자영역(108)의 개시위치를 나타내는 사용자영역 개시위치정보(1103)와, 사용자영역(108)의 종단위치를 나타내는 사용자영역 종단위치정보(1104)와, 디스크 관리정보영역정보(1107b), 내주 교체영역(106), 외주 교체영역(107)의 용량이나 교체를 위해서 사용 가능한 영역을 나타내는 교체영역정보(1105) 및 교체영역 관리정보(1108)를 더욱 포함한다.
디스크 관리정보영역정보(1107b)를 사용함으로써, 디스크 관리정보영역의 용량을 정보기록매체마다 변경하는 것이 가능하게 된다. 또, 디스크 관리정보영역정보(1107b)를 사용함으로써, 내주 교체영역(106)이나 외주 교체영역(107) 중에 상술 한 일시 디스크 관리정보영역의 용량을 변경하는 것이 가능하게 된다.
교체영역정보(1105)를 사용함으로써, 교체영역의 용량을 정보기록매체마다 변경하는 것이 가능해진다. 예를 들면, 내주 교체영역(106)이나 외주 교체영역(107)의 용량을 0으로 지정하는 것도 가능하다.
교체영역 관리정보(1108)는 내주 교체영역(106), 외주 교체영역(107)에 있어서, 다음에 이용 가능한 위치를 나타내는 다음번 사용 가능 위치정보를 포함한다.
각 교체영역에서는 트랙과 마찬가지로 시퀀셜하게 기록된다. 각 교체영역에서의 다음번 사용 가능 위치정보는 트랙에 있어서의 NWA와 같은 기능을 다하는 것으로, 각 교체영역에 대한 새로운 데이터의 기록은 다음번 사용 가능 위치정보에 의해 나타내지는 위치로부터 시퀀셜하게 행하여진다.
디스크 구조정보(1100)는 최신의 세션 관리정보(200)의 디스크 관리정보영역 (104, 105) 내에서의 위치정보를 나타내는 세션 관리정보 위치정보(1109)와, 최신의 빈 영역 관리정보(220)의 디스크 관리정보영역 내(104, 105) 내에서의 위치정보를 나타내는 빈 영역 관리정보 위치정보(1110)를 더욱 포함한다.
상술한 바와 같이, 세션 관리정보(200) 또는 빈 영역 관리정보(220) 중 어느 것을 사용하여도, 정보기록매체(100) 상의 물리 섹터의 빈 상황을 관리하는 것이 가능하다. 따라서, 용도에 따라서 세션 관리정보(200) 또는 빈 영역 관리정보(220)의 어느 하나를 선택하여 사용하도록 하여도 좋다. 또는 양쪽을 동시에 사용하도록 하여도 좋다. 이러한, 빈 영역 관리방식에 관한 정보는 디스크 구조정 보(1100)의 기록 종별정보(1106)에 포함된다.
또, 디스크 관리정보영역(105)은 정보기록매체(100)의 신뢰성을 향상시키기 위해서, 디스크 관리정보영역(104)에 기록된 디스크 관리정보의 복제를 기록하거나, 디스크 관리정보 등을 갱신할 때에, 디스크 관리정보영역(104)에 다 격납할 수 없는 경우에 사용되는 확장영역이기 때문에, 이후에서는 상세한 설명은 생략한다. 또한, 교체영역 중 등에 기록되는 일시 디스크 관리정보 등에 대해서도 동일하다.
도 1c에 도시되는 예에서는 사용자 데이터영역(108) 상에 기록되는 사용자 데이터의 관리는 파일 시스템에 의해서 행하여진다. 파일 시스템이 관리를 하는 공간은 볼륨공간(109)이라고 불린다.
볼륨공간에는 복수의 논리 섹터가 할당되어 있다. 각 논리 섹터는 논리 섹터번호(이후, LSN)라는 어드레스정보에 의해 식별된다.
또, 이하의 설명에 있어서는 파일 시스템을 구성하는 볼륨/파일 구조로서 정보기록매체(100)에 기록되는 기술자나 포인터, 메타데이터 파티션이나 메타데이터 파일 등은 특별히 상세한 기재가 없는 한, ISO/IEC 13346 규격 또는 UDF(Universal Disk Format) 규격에 규정된 데이터 구조를 가지는 것으로 한다. 물론, 다른 파일 시스템을 사용하는 것도 가능하다.
또, 도 1a 내지 도 1c에 도시되는 정보기록매체(100)는 하나의 기록층을 갖는 것으로서 설명하였지만, 2개 이상의 기록층을 갖는 정보기록매체도 존재할 수 있다.
도 4는 2개의 기록층을 갖는 정보기록매체(100b)의 데이터 구조를 도시한다.
도 4에 있어서, L0이 제 1 층을 도시하고, L1이 제 2 층을 도시한다. 제 1 층 및 제 2 층의 각각은 정보기록매체(100)와 거의 같은 구조를 갖고 있다. 즉, 리드인영역(101)은 제 1 층의 최내주측에 설치되어 있고, 리드아웃영역(103a)은 제 2 층의 최내주에 설치되어 있다. 또, 제 1 층의 최외주에는 외주영역(103b)이 설치되어 있고, 제 2 층의 최외주에는 외주영역(103c)이 설치되어 있다. 리드인영역(101), 외주영역(103b), 리드아웃영역(104a), 외주영역(103c)은 각각, 디스크 관리정보영역(104, 105, 104a, 105a)을 포함한다.
또한, 도 4에 도시되는 바와 같이, 교체영역(106, 106a, 107, 107a)이 설치된다. 각 교체영역의 용량은 상술한 바와 같이 정보기록매체마다 변경하는 것이 가능하다. 또한, 각 교체영역 중에 추가의 일시 디스크 관리정보영역을 설치하는 것도 가능하다. 그리고, 사용자 데이터영역(108 및 108a)은 연속적인 논리 어드레스를 갖는 논리적으로 하나의 볼륨공간으로서 취급된다.
이상으로부터, 복수의 기록층을 가진 정보기록매체를 논리적으로는 하나의 기록층을 갖는 정보기록매체로서 취급하는 것이 가능해진다. 이후에서는 하나의 기록층을 갖는 정보기록매체에 관해서 설명하지만, 이들의 설명은 복수의 기록층을 갖는 정보기록매체에도 적용하는 것이 가능하다. 그 때문에, 특히 설명이 필요한 경우에 관해서만, 복수의 기록층을 갖는 정보기록매체에 관한 설명을 적절하게 하기로 한다.
1-2. 의사덮어쓰기 기록
다음에 도 5a 및 도 5b를 참조하여 교체정보에 관해서 설명한다.
교체정보란, 정보기록매체 상에서 결함이 생긴 클러스터(결함 클러스터)의 위치를 나타내는 교체원 위치정보와, 그 결함 클러스터를 교체하는 대체 클러스터의 위치를 나타내는 교체처 위치정보를 포함하는 교체 관리정보(또는 디펙트 리스트 엔트리)를 포함하는 교체 관리정보 리스트(또는 디펙트 리스트)를 말한다.
또한, 본 발명은 사용자 데이터영역에 대체 클러스터를 기록하는 것을 가능하게 한다.
또, 본 발명은 교체정보를 사용하여 추기형의 정보기록매체에 있어서의 의사적인 덮어쓰기 기록을 실현한다.
도 1b에 도시되는 바와 같이, 데이터영역(102)은 내주 교체영역(106)과, 사용자 데이터영역(108)과, 외주 교체영역(107)을 포함한다.
내주 교체영역(106) 및 외주 교체영역(107) 중의 적어도 일부는 사용자 데이터영역(108) 상에 기록된 데이터의 대체기록을 하기 위한 영역으로서 사용된다.
예를 들면, 사용자 데이터영역(108) 상에 결함 클러스터가 존재하는 경우에는 내주 교체영역(106) 및 외주 교체영역(107) 중의 적어도 일부가, 그 결함 클러스터를 교체하는 대체 클러스터를 기록하기 위한 영역으로서 사용된다.
또는 내주 교체영역(106) 및 외주 교체영역(107) 중의 적어도 일부는 후술하는 의사덮어쓰기 기록에 있어서의 갱신 후의 데이터를 기록하기 위한 영역으로서도 사용될 수 있다.
교체정보와 교체영역을 조합한 교체기록은 베리파이처리(verify process)와 함께 실시된다.
베리파이처리란, 데이터를 기록한 직후에 그 데이터를 재생하여, 기록한 데이터와 재생된 데이터를 비교하여, 데이터가 정확하게 기록되어 있는지의 여부를 조사하는 처리이다. 이러한 일련의 처리는 베리파이 애프터 라이트처리라고 불린다.
베리파이처리시에 에러가 생긴 경우, 즉, 데이터가 정확하게 기록되지 않은 경우에, 교체기록이 실시된다. 즉, 결함 클러스터는 대체 클러스터로 교체되고, 데이터는 대체 클러스터에 기록된다.
이 대체 클러스터는 내주 교체영역(106; 또는 외주 교체영역(107)) 또는 사용자 데이터영역(108) 내에 기록된다.
의사적인 덮어쓰기 기록이란, 데이터가 기록되어 있는 외관상의 논리 어드레스를 바꾸지 않고, 실제로 데이터가 기록되는 물리 어드레스를 별도의 장소에 맵핑하는 수법이다.
만약, 기록 완료의 논리 어드레스에 대하여 데이터의 덮어쓰기가 지시된 경우, 그 덮어쓰기 전에 데이터가 기록되어 있던 물리 어드레스와는 다른 물리 어드레스상의 ECC 클러스터에 새로운 데이터를 기록하고, 덮어쓰기 전의 ECC 클러스터와 새로운 데이터가 기록된 대체 클러스터의 맵핑을 한다.
이 의사적인 덮어쓰기 기록에 있어서의 대체 클러스터는 교체영역 또는 사용자 데이터영역 내에 기록된다.
이러한 맵핑을 하기 위한 교체정보로서, 도 5a에 도시되는 교체 관리정보 리스트(1000)가 사용된다.
이러한 맵핑처리에 의해, 실제로 데이터가 덮어쓰기된 것은 아니지만, 의사적으로 데이터가 덮어쓰기된 것 같은 상태를 실현하는 것이 가능해진다. 이후, 이러한 기록방법을, 의사덮어쓰기 기록이라고 부른다.
도 5a는 본 발명의 교체정보인 교체 관리정보 리스트(1000)의 데이터 구조를 도시한다. 교체 관리정보 리스트(1000)는 결함 클러스터의 위치와 대체 클러스터의 위치의 맵핑을 하기 위해서 사용된다. 교체 관리정보 리스트(1000)는 헤더정보(1001)와, 복수의 교체 관리정보(1010; 교체 관리정보 #1, #2, #3···)를 포함한다.
헤더정보(1001)는 교체 관리정보 리스트(1000)에 포함되는 교체 관리정보의 수를 포함한다. 교체 관리정보는 상기 맵핑을 나타내는 정보를 포함하고 있다.
도 5b는 교체 관리정보(1010)의 데이터 구조를 도시한다. 교체 관리정보(1010)는 상태정보(1011)와, 교체원 위치정보(1012)와, 교체처 위치정보(1013)를 포함한다.
상태정보(1011)는 상기 맵핑에 관한 상태정보를 포함한다. 예를 들면, 교체 관리정보(1010)의 종류나 속성, 교체원 위치정보(1012) 및 교체처 위치정보(1013)의 유효·무효상태 등을 나타낸다.
교체원 위치정보(1012)는 교체원의 정보(예를 들면, 결함 클러스터)의 위치를 나타낸다.
교체처 위치정보(1013)는 교체처의 정보(예를 들면, 대체 클러스터)의 위치를 나타낸다.
또한, 의사덮어쓰기 기록의 경우는 덮어쓰기 전의 ECC 클러스터의 위치를 교체원 위치정보(1012)로 지시하고, 덮어쓰기 후의 ECC 클러스터의 위치를 교체처 위치정보(1013)로 지시함으로써 맵핑이 행하여진다.
여기에서, 교체 관리정보(1010)에 등록되는 교체원 위치정보(1012)와 교체처 위치정보(1013)는 대응하는 ECC 클러스터의 선두 섹터의 물리 어드레스(예를 들면, PSN)를 사용하여 나타내져도 좋다. 결함 관리 및 의사덮어쓰기 기록에 있어서, ECC 클러스터 단위에서의 맵핑이 행하여지기 때문이다.
종래의 리니어 리플레이스먼트에 있어서는 대체 클러스터는 교체영역에 기록되어 있었다. 따라서, 교체처 위치정보(1013)에는 항상, 교체영역 내의 ECC 클러스터의 위치정보가 설정되어 있었다.
한편, 본 발명에 있어서는 대체 클러스터는 교체영역에 한정되지 않고, 사용자 데이터영역에도 기록 가능하게 한다. 그 때문에, 교체처 위치정보(1013)에는 교체영역 내의 ECC 클러스터의 위치를 나타내는 정보, 또는 사용자 데이터영역 내의 ECC 클러스터의 위치를 나타내는 정보를 설정하는 것이 가능하다.
그리고, 교체처 위치정보(1013)가 두개의 영역 중 어느 하나에 기록된 ECC 클러스터를 가리키는 것이 가능해졌기 때문에, 교체처 위치정보(1013)가 교체영역 내의 ECC 클러스터를 가리키는 것인지, 교체처 위치정보(1013)가 사용자 데이터영역 내의 ECC 클러스터를 가리키는 것인지를 판별하기 위해서, 상태정보(1011)에 그 판별정보를 설치하도록 하여도 좋다.
1-3. 기록 재생장치
도 6은 본 발명의 실시형태에 있어서의, 정보기록 재생장치(300)의 구성을 도시한다.
정보기록 재생장치(300)는 호스트장치(305)와 드라이브장치(310)를 포함한다.
호스트장치(305)는 예를 들면, 컴퓨터 시스템 또는 퍼스널 컴퓨터일 수 있다.
드라이브장치(310)는 기록장치, 재생장치, 기록 재생장치의 어느 하나일 수 있다. 또, 정보기록 재생장치(300) 전체를 기록장치, 재생장치, 기록 재생장치라고 불러도 좋다.
호스트장치(305)는 시스템 제어부(301)와, 메모리회로(302)를 포함한다. 호스트장치(305)는 하드디스크 드라이브와 같은 자기 디스크장치(304)를 더 포함하여도 좋다. 호스트장치(305) 내의 구성요소는 I/O 버스(303)를 통해서 서로 접속되어 있다.
시스템 제어부(301)는 예를 들면, 시스템의 제어 프로그램이나 연산용 메모리를 포함하는 마이크로 프로세서에 의해서 실현될 수 있다. 시스템 제어부(301)는 파일 시스템의 볼륨 구조/파일 구조의 기록·재생, 후술하는 메타데이터 파티션/파일 구조의 기록·재생, 파일의 기록·재생, 리드인/리드아웃영역의 기록·재생 등의 처리의 제어나 연산을 한다.
메모리회로(302)는 볼륨 구조, 파일 구조, 메타데이터 파티션/파일 구조 및 파일의 연산이나 일시보존 등에 사용된다.
드라이브장치(310)는 드라이브 제어부(311)와, 메모리회로(312)와, 기록 재생부(314)를 포함한다. 드라이브장치(310) 내의 구성요소는 내부 버스(313)를 통해서 서로 접속되어 있다.
드라이브 제어부(311)는 예를 들면, 드라이브의 제어 프로그램이나 연산용 메모리를 포함하는 마이크로 프로세서에 의해서 실현될 수 있다. 드라이브 제어부(311)는 디스크 관리정보영역이나 교체영역의 기록·재생, 의사덮어쓰기 기록·재생 등의 처리의 제어나 연산을 한다.
또, 도 6에 도시되는 시스템 제어부(301)나, 드라이브 제어부(311)는 LSI 등의 반도체집적회로에 의해서 실현되어도 좋고, 범용 프로세서와 메모리(예를 들면 ROM)에 의하여 실현되어도 좋다.
메모리(예를 들면 ROM)에는 컴퓨터(예를 들면 범용 프로세서)가 실행 가능한 프로그램이 격납되어 있다. 이 프로그램은 상술 및 후술하는 본 발명의 재생처리 및 기록처리를 나타내고 있고, 컴퓨터(예를 들면 범용 프로세서)는 이 프로그램에 따라서, 본 발명의 재생처리 및 기록처리를 실행한다.
메모리회로(312)는 디스크 관리정보영역이나 교체영역에 관한 데이터 및 드라이브장치(310)에 전송되어 온 데이터의 연산이나 일시보존 등에 사용된다.
1-4. 기록처리순서(1)
다음에, 도 7을 참조하여, 본 실시형태에 있어서의 포맷처리가 행하여진 후 의 정보기록매체(100) 상의 데이터 구조를 설명한다.
사용자 데이터영역(108)에, 트랙 #1(401), 트랙 #2(402), 트랙 #3(403)이 할당되어 있다.
사용자 데이터영역(108)에 볼륨공간(109)이 할당되어 있다. 볼륨공간(109) 내에, 볼륨 구조영역(410)과, 물리 파티션(420)과, 볼륨 구조영역(411)이 할당되어 있다.
물리 파티션(420) 내에는 UDF 규격버전 2.5, 또는 그 이후의 버전으로 규정되는 메타데이터 파티션(430)이 포함된다.
물리 파티션(420) 내에는 메타데이터 파일(440)이 기록되어 있다. 또, 이후의 설명에서는 간단하게 하기 위해서, 메타데이터 파일(440)의 복제인 메타데이터 미러 파일에 관한 설명은 생략하지만, 물론, 메타데이터 미러 파일이 기록되어 있어도 좋다.
그리고, 메타데이터 파일(440)의 물리 파티션(420) 중에서의 기록위치를 나타내는 파일 엔트리(FE)인 FE(메타데이터 파일; 441)가 기록되어 있다.
사용자 데이터 파일의 기록위치나 용량을 나타내는 FE나, 디렉토리 파일 등의 파일 구조의 정보는 전부 메타데이터 파티션(430), 즉, 메타데이터 파일(440) 내에 배치되어 있다.
도 7에서는 ROOT 디렉토리만이 기록되어 있고, 그 때문에, 메타데이터 파일(440) 중에는 파일 집합 기술자(FSD; 433) 및 FE(ROOT; 442)만이 기록되어 있다. 또, 디렉토리 파일에 관해서는 설명을 간단하게 하기 위해서, 각 FE 내에 포함되는 형식으로 한다.
또한, 이 시점에서는 어떠한 교체기록도 행하여지지 않은 상태라고 한다. 또, 메타데이터 파티션(430) 중의 빈 영역 관리는 UDF 규격버전 2.5로 규정되어 있는 바와 같이 메타데이터 비트맵(도시하지 않음)으로 행하여도 좋다.
또는 메타데이터 파티션(430)의 빈 영역을 미기록인채로 하고, 트랙 #1의 LRA(405)에 의해서 메타데이터 파티션(430) 중의 빈 영역 관리를 하도록 하여도 좋다.
또, 트랙의 할당방법은 도 7에 도시하는 것에 한정되지 않고, 예를 들면, 더욱 많은 트랙을 할당하여도 좋다. 또한, 사용자 데이터영역의 최후미의 트랙을, 신규의 트랙이 추가 가능한 상태로 하여 두고, 필요한 시점에서 트랙을 추가하도록 하여도 좋다.
다음에, 도 8a에 도시하는 플로차트를 참조하여, 본 발명에 있어서의 데이터 기록의 순서를 설명한다.
여기에서는 데이터 파일(File-a)이 정보기록매체(100)에 기록되는 것으로 한다.
또, 정보기록매체(100)의 사용자 데이터영역(108)에는 복수의 논리 어드레스와 복수의 물리 어드레스가 할당되어 있고, 그 복수의 논리 어드레스와 그 복수의 물리 어드레스의 대응관계는 미리 결정되어 있는 것으로 한다.
그 복수의 논리 어드레스의 각각은 예를 들면, 논리 섹터번호(LSN) 또는 논리 블록 어드레스(LBA)에 의해서 나타내진다.
그 복수의 물리 어드레스의 각각은 예를 들면, 물리 섹터번호(PSN) 또는 물리 블록 어드레스(PBA)에 의해서 나타내진다. 또한, 사용자 데이터영역(108)에는 적어도 하나의 트랙이 할당되어 있는 것으로 한다.
(스텝 S101) 데이터 파일(File-a)의 기록에 앞서, 드라이브 제어부(311)는 데이터 기록의 준비처리를 실행한다. 이러한 데이터 기록의 준비처리는 예를 들면, 정보기록매체(100)가 드라이브장치(310)에 로딩되었을 때에 실행된다.
예를 들면, 드라이브 제어부(311)는 정보기록매체(100)의 디스크 관리정보영역(104; 또는 디스크 관리정보영역(105))으로부터 최신의 디스크 관리정보를 판독한다.
그 디스크 관리정보로부터, 사용자 데이터영역(108)에 할당되어 있는 복수의 논리 어드레스와 복수의 물리 어드레스의 대응관계를 나타내는 초기 논리 어드레스-물리 어드레스 맵핑을 결정하기 위해서, 도 3의 사용자 데이터영역 개시위치정보(1103), 사용자 데이터영역 종단위치정보(1104), 교체영역정보(1105) 등을 취득한다.
이후, 드라이브 제어부(311)는 초기 논리 어드레스-물리 어드레스 맵핑에 따라서, 논리 어드레스와 초기 물리 어드레스의 변환을 한다.
또한, 드라이브 제어부(311)는 디스크 관리정보에 포함되는 트랙 관리정보를 취득한다.
(스텝 S102) 드라이브 제어부(311)는 호스트장치(305)로부터 기록 지시를 수취한다. 기록 지시는 데이터가 기록되어야 하는 위치를 나타내는 논리 어드레스를 포함한다. 이 논리 어드레스는 예를 들면, 논리 섹터번호(LSN) 또는 논리 블록 어드레스(LBA)에 의해서 나타내진다. 기록 지시는 단일한 데이터가 기록되어야 하는 위치를 나타내는 단일한 논리 어드레스를 포함하고 있어도 좋고, 복수의 데이터가 각각 기록되어야 하는 복수의 위치를 나타내는 복수의 논리 어드레스를 포함하고 있어도 좋다.
기록 지시에 포함되는 논리 어드레스는 예를 들면, 특정한 트랙 내에서 다음에 데이터가 기록 가능한 위치를 나타내는 논리 어드레스(즉, 논리 NWA)에 기초하여 호스트장치(305)에 의해서 결정된다.
논리 NWA는 예를 들면, 호스트장치(305)로부터 드라이브장치(310)로의 리퀘스트(request)에 응답하여, 드라이브장치(310)로부터 호스트장치(305)에 출력된다.
논리 NWA는 상술한 (수학식 1)로부터 결정된 NWA를, 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 변환함으로써 얻어진다. 이러한 변환은 드라이브 제어부(311)에 의해서 행하여진다. NWA 및 논리 NWA의 결정순서는 후술되는 실시형태 2에서 자세히 설명한다.
호스트장치(305)의 시스템 제어부(301)는 데이터 파일(File-a)을 기록하는 데 있어서, 필요한 파일 시스템정보의 생성이나 갱신을 한다. 예를 들면, 시스템 제어부(301)는 메모리회로(302)에 있어서, 데이터 파일(File-a)에 대한 FE(File-a)의 생성이나, 데이터 파일(File-a)의 페어런트 디렉토리인 ROOT 디렉토리의 갱신을 한다.
이러한 생성된 데이터 파일(File-a)에 대한 FE(File-a)나 갱신된 ROOT 디렉 토리는, 호스트장치(305)로부터 드라이브장치(310)에 기록 지시를 출력함으로써 정보기록매체(100)에 기록되어, 최신 파일 시스템정보가 반영된다.
그 외, 호스트장치(305)는, 필요에 따라서, 교체기록을 하기 위한 미기록영역이 남아 있는지의 여부 등을 소정의 커맨드를 사용하여 드라이브장치(310)에 문의한다.
또, 호스트장치(305)로부터 드라이브장치(310)에 출력되는 지시는 SCSI 멀티미디어 커맨드 등의 규격화된 커맨드이어도 좋다.
예를 들면, 논리 NWA의 리퀘스트나 기록 지시는 각각, READ TRACK INFORMATION 커맨드나 WRITE 커맨드이어도 좋다.
(스텝 S103) 드라이브 제어부(311)는 초기 논리 어드레스-물리 어드레스 맵핑에 따라서, 스텝 S102에 있어서 수취한 기록 지시에 포함되는 논리 어드레스를 물리 어드레스로 변환한다.
(스텝 S104) 드라이브 제어부(311)는 그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스와 디스크 관리정보에 포함되는 트랙 관리정보(210; 도 2b)에 기초하여, 사용자 데이터영역(108)에 할당된 적어도 하나의 트랙 중의 하나의 트랙(오픈 트랙)을 결정한다.
드라이브 제어부(311)는 그 결정된 트랙의 LRA(213)에 기초하여, 그 결정된 트랙 내에서 다음에 데이터가 기록 가능한 위치를 나타내는 물리 어드레스(즉, NWA)를 결정한다. 이 NWA는 예를 들면, 상술한 (수학식 1)에 따라서 결정되는 다음번 기록 가능 어드레스이다.
또, NWA의 결정은 스텝 S104에 있어서 행하여져도 좋지만, 그 밖의 스텝에서 행하여져도 좋다. 예를 들면, 상술한 데이터 기록의 준비처리에 있어서 미리 행하여져도 좋다.
여기에서, LRA(213)를 사용하여 NWA를 산출하는 것으로, NWA의 정보를 트랙 관리정보에 보존할 필요가 없고, 트랙 관리정보의 데이터 구조를 간단하게 할 수 있다.
(스텝 S105) 드라이브 제어부(311)는 그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스가 NWA보다 작은지의 여부를 결정한다.
그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스가 NWA보다 작다고 결정된 경우에는 그 기록 지시는 사용자 데이터영역(108)의 중의 기록 완료 영역에 대한 기록 지시라고 하여 결정된다. 즉, 기록 지시된 데이터 기록이 의사덮어쓰기 기록이라고 하여 결정된다. 이 경우에는 처리는 스텝 S106으로 진행한다. 그렇지 않으면, 처리는 스텝 S108로 진행한다.
(스텝 S106) 드라이브 제어부(311)는 기록해야 하는 데이터를 결정한다. 정보기록매체(100)에 있어서의 데이터 기록의 단위가 ECC 클러스터인 경우, 드라이브 제어부(311)는 기록 지시에 의해서 지정된 데이터를 기록해야 하는 데이터로서 결정한다. 예를 들면, 기록 지시에 의해서 지정된 데이터의 기록위치와 용량이 ECC 클러스터 경계에 일치하는 경우에는 ECC 클러스터 전체가 재기록되기 때문에, 기록 지시에 의해서 지정된 데이터 자체를 기록해야 하는 데이터로서 결정한다.
일치하지 않는 경우에는 드라이브 제어부(311)는 후술하는 리드 모디파 이(modify) 라이트처리를 실행한다. 이 경우에는 드라이브 제어부(311)는 리드 모디파이 라이트처리의 과정에서 얻어지는 ECC 클러스터 단위의 데이터를 기록해야 하는 데이터로서 결정한다.
(스텝 S107) 드라이브 제어부(311)는 스텝 S106에 의해서 결정된 기록해야 하는 데이터의 기록위치를 결정한다. 구체적으로는 드라이브 제어부(311)는 그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치 이외의 특정한 위치로, 사용자 데이터영역(108)에 있어서의 특정한 위치를 스텝 S106에 의해서 결정된 기록해야 하는 데이터의 기록위치로서 결정한다.
여기에서, 그 특정한 위치는 스텝 S104에 있어서 결정된 트랙 내의 NWA이어도 좋다.
또는, 그 특정한 위치는 스텝 S104에 있어서 결정된 트랙과는 다른 오픈 트랙 내의 NWA이어도 좋다. 이 경우에는 그 오픈 트랙 내의 NWA는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치에 가장 가까운 위치를 나타내는 것이 바람직하다.
(스텝 S108) 드라이브 제어부(311)는 그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스가 NWA와 같은지의 여부를 결정한다. 그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스가 NWA와 같다고 결정된 경우에는 그 기록 지시는 NWA에 의해서 나타내지는 위치에 대한 기록 지시라고 하여 결정된다. 즉, 기록 지시된 데이터 기록이 추기(신규기록)라고 하여 결정된다. 이 경우에는 처리는 스텝 S109로 진행한다. 그렇지 않으면, 처리는 스텝 S111로 진행한 다.
(스텝 S109) 드라이브 제어부(311)는 기록해야 하는 데이터를 결정한다. 구체적으로는 드라이브 제어부(311)는 기록 지시에 의해서 지정된 데이터를 기록해야 하는 데이터로서 결정한다.
이 때, 드라이브 제어부(311)는 기록 지시에 의해서 지정된 데이터의 종단이 ECC 클러스터 경계에 일치하는지의 여부를 판단한다. 만약, 일치하지 않는 경우는 패딩 데이터(예를 들면 전부 00h의 데이터)를 삽입하여, 데이터의 종단이 ECC 클러스터 경계에 일치시키고, 기록해야 하는 데이터로서 결정한다.
(스텝 S110) 드라이브 제어부(311)는 스텝 S109에 의해서 결정된 기록해야 하는 데이터의 기록위치를 결정한다. 구체적으로는 드라이브 제어부(311)는 그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치(즉, NWA에 의해서 나타내지는 위치)를 스텝 S109에 의해서 결정된 기록해야 하는 데이터의 기록위치로서 결정한다.
(스텝 S111) 드라이브 제어부(311)는 에러처리를 한다.
(스텝 S112) 드라이브 제어부(311)는 결정된 기록위치로의 기록처리를 실행한다.
스텝 S105의 판정이 「예」인 경우에는 드라이브 제어부(311)는 스텝 S106에 있어서 결정된 기록해야 하는 데이터를 스텝 S107에 있어서 결정된 기록위치에 기록하도록 기록 재생부(314)를 제어한다.
스텝 S108의 판정이 「예」인 경우에는 드라이브 제어부(311)는 스텝 S109에 있어서 결정된 기록해야 하는 데이터를 스텝 S110에 있어서 결정된 기록위치에 기록하도록 기록 재생부(314)를 제어한다.
또, 드라이브 제어부(311)는 기록된 데이터에 대하여 베리파이처리를 함으로써, 그 데이터의 기록이 성공하였는지의 여부를 결정한다. 그 데이터의 기록에 성공한 경우에는 처리는 스텝 S113으로 진행한다.
그 데이터의 기록에 실패한 경우에는 내주 교체영역(106) 등의 교체영역 및 사용자 데이터영역(108)의 어느 하나의 영역 중의 미기록영역이 대체 클러스터로서 할당되고, 그 대체 클러스터에 그 데이터가 기록된다.
그 데이터의 기록이 최종적으로 성공한 후에, 처리는 스텝 S113으로 진행한다.
또, 상술한 스텝 S106 및 스텝 S112의 처리는 리드 모디파이 라이트처리(이후, RMW처리)에 의해서 실현되어도 좋다.
RMW처리에서는 첫번째로, 드라이브 제어부(311)는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치에 있는 물리 섹터를 포함하는 ECC 클러스터에 기록된 데이터를 재생하도록 기록 재생부(314)를 제어하고, 그 ECC 클러스터로부터 재생된 데이터를 메모리회로(312)에 격납한다(리드처리).
또, 이 재생처리를 하는 시점에서 재생대상의 ECC 클러스터가 교체기록되어 있을 가능성이 있다. 이 때문에, 드라이브 제어부(311)는 교체 관리정보 리스트(1000)를 참조하여, 필요에 따라서 교체처의 ECC 클러스터에 기록된 데이터를 재 생하도록 기록 재생부(314)를 제어한다. 교체 관리정보 리스트(1000)를 참조한 데이터 재생의 순서에 관해서는 후술한다.
두번째로, 드라이브 제어부(311)는 그 ECC 클러스터로부터 재생된 데이터 중, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치에 있는 물리 섹터에 기록된 데이터를 기록 지시에 의해서 지정되는 데이터로 바꾼다(모디파이처리). 그 결과, 갱신 후의 ECC 클러스터의 데이터가 얻어진다.
드라이브 제어부(311)는 리드처리 및 모디파이처리를 스텝 S106에 있어서 실시한다.
도 8b는 도 8a에 도시되는 스텝 S106으로 리드처리 및 모디파이처리를 할 때에 실시되는 스텝을 도시한다. 도 8b에 도시되는 각 스텝은 드라이브장치(310)의 드라이브 제어부(311)에 의해서 실행된다.
(스텝 S151) 드라이브 제어부(311)는 기록 지시에 의해서 지정된 위치를 포함하는 ECC 클러스터가 대체 클러스터에 이미 교체되어 있는지의 여부를 결정한다. 이러한 결정은 예를 들면, 교체 관리정보 리스트(1000)를 검색함으로써 행하여진다.
기록 지시에 의해서 지정된 위치를 교체원으로서 나타내는 교체 관리정보(1010)가 발견된 경우, 대체 클러스터에 이미 교체되어 있다고 결정하여, 처리는 스텝 S152A로 진행한다. 그렇지 않은 경우는 처리는 스텝 152B로 진행한다.
또, 스텝 S151의 판정결과를 내부변수의 값으로서 유지하여 두고, 다른 스텝 에서 필요할 때, 그 내부변수의 값을 참조함으로써, 기록 지시에 의해서 지정된 위치를 포함하는 ECC 클러스터가 대체 클러스터에 이미 교체되어 있는지의 여부를 결정하도록 하여도 좋다. 이것에 의해, 동일한 처리를 반복 실행하는 것을 피할 수 있다. 예를 들면, 스텝 S151의 판정결과가 「예」인 경우에는 그 내부변수의 값으로서 "1"을 유지하여 두고, 스텝 S151의 판정결과가 「아니오」인 경우에는 그 내부변수의 값으로서 "0"을 유지하여 놓도록 하여도 좋다.
(스텝 S152A) 드라이브 제어부(311)는 RMW처리가 필요한지의 여부를 결정한다. 예를 들면, 기록 지시에 의해서 지정되는 데이터의 위치와 사이즈가 ECC 클러스터 경계에 일치하는 경우에는 드라이브 제어부(311)는 RMW처리가 필요가 없다고 결정하고, 기록 지시에 의해서 지정되는 데이터의 위치와 사이즈가 ECC 클러스터 경계에 일치하지 않는 경우에는 드라이브 제어부(311)는 RMW처리가 필요하다고 결정한다.
RMW처리가 필요하다고 결정된 경우에는 처리는 스텝 S153으로 진행하고, 그렇지 않은 경우에는 처리는 스텝 S157로 진행한다.
스텝 S151과 동일하게 하여, 스텝 S152A의 판정결과를 내부변수의 값으로서 유지하여 두고, 다른 스텝에서 필요할 때, 그 내부변수의 값을 참조함으로써, RMW처리가 필요한지의 여부를 결정하도록 하여도 좋다.
(스텝 S152B) 드라이브 제어부(311)는 RMW처리가 필요한지의 여부를 결정한다. 스텝 S152B의 처리는 스텝 S152A의 처리와 동일하다.
RMW처리가 필요하다고 결정된 경우에는 처리는 스텝 S154로 진행하고, 그렇 지 않은 경우에는 처리는 스텝 S157로 진행한다.
(스텝 S153) 드라이브 제어부(311)는 기록 지시에 의해서 지정된 위치를 포함하는 ECC 클러스터 대신에, 스텝 S151에서 발견한 교체 관리정보(1010)가 나타내는 대체 클러스터에 기록되어 있는 데이터를 재생하도록 기록 재생부(314)를 제어하여, 재생된 데이터를 메모리회로(312)에 격납한다.
(스텝 S154) 드라이브 제어부(311)는 기록 지시에 의해서 지정된 위치를 포함하는 ECC 클러스터에 기록되어 있는 데이터를 재생하도록 기록 재생부(314)를 제어하여, 재생된 데이터를 메모리회로(312)에 격납한다.
(스텝 S155) 드라이브 제어부(311)는 재생된 데이터를 기록 지시에 의해서 지정된 데이터에 의해서 치환함으로써, 수정된 데이터를 생성한다.
(스텝 S156) 드라이브 제어부(311)는 수정된 데이터를 정보기록매체(100)에 기록해야 하는 데이터로서 결정한다.
(스텝 S157) 드라이브 제어부(311)는 기록 지시에 의해서 지정된 데이터를 정보기록매체(100)에 기록해야 하는 데이터로서 결정한다.
이상으로 리드처리 및 모디파이처리를 완료한다.
세번째로, 드라이브 제어부(311)는 모디파이처리에 있어서 얻어진 갱신 후의 ECC 클러스터의 데이터를 원래의 ECC 클러스터의 위치에 기록하도록 기록 재생부(314)를 제어한다(라이트처리). 드라이브 제어부(311)는 라이트처리를 스텝 S112에 있어서 실시한다.
단, 본 발명에 있어서는 정보기록매체는 추기형 미디어이기 때문에, 실제로 는 원래의 ECC 클러스터의 위치에는 기록할 수 없다.
그래서, 내주 교체영역(106) 등의 교체영역 및 사용자 데이터영역(108)의 어느 하나의 영역 중의 미기록영역이 대체 클러스터로서 할당되고, 그 대체 클러스터에 갱신 후의 데이터가 기록된다.
또, 드라이브 제어부(311)는 기록된 데이터에 대하여 베리파이처리를 함으로써, 그 데이터의 기록이 성공하였는지의 여부를 결정한다. 그 데이터의 기록에 성공한 경우에는 처리는 스텝 S113으로 진행한다.
그 데이터의 기록에 실패한 경우에는 내주 교체영역(106) 등의 교체영역 및 사용자 데이터영역(108)의 어느 하나의 영역 중의 미기록영역이 더욱 대체 클러스터로서 할당되고, 그 대체 클러스터에 그 데이터가 더욱 기록된다.
그 데이터의 기록이 최종적으로 성공한 후에, 처리는 스텝 S113으로 진행한다.
또, 기록 지시에 의해서 지정된 영역이 ECC 클러스터 전체에 대응하는 경우에는 모든 ECC 클러스터가 재기록되기 때문에 상술한 리드처리는 불필요하게 된다.
(스텝 S113) 드라이브 제어부(311)는 스텝 S112에 있어서의 처리에 따라서 교체 관리정보(1010)를 생성하고, 그 교체 관리정보를 메모리회로(312)에 격납한다. 예를 들면, 스텝 S112에 있어서, 드라이브 제어부(311)가, 그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치 이외의 특정한 위치이고, 사용자 데이터영역(108)에 있어서의 특정한 위치에 데이터를 기 록하도록 기록 재생부(314)를 제어(의사덮어쓰기를 실시)한 경우에는 드라이브 제어부(311)는 그 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스를 그 특정한 위치를 나타내는 물리 어드레스에 맵핑하는 교체 관리정보(1010)를 생성한다.
또, 기존의 교체 관리정보 리스트(1000)를 검색함으로써, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스와 동일한 교체원 위치정보(1012)를 갖는 교체 관리정보(1010)가 기존의 교체 관리정보 리스트(1000) 중에 발견되었는지의 여부를 결정하도록 하여도 좋다.
만약 발견된 경우에는 드라이브 제어부(311)는 그 특정한 위치를 나타내는 물리 어드레스를 새로운 교체처 위치정보(1013)로서 설정하도록 그 교체 관리정보(1010)를 갱신한다.
만약 발견되지 않은 경우에는 드라이브 제어부(311)는 새로운 교체 관리정보(1010)를 생성하고, 그 새로운 교체 관리정보(1010)를 교체 관리정보 리스트(1000)에 추가한다.
다음에, 드라이브 제어부(311)는 교체 관리정보 리스트(1000)의 재배열을 한다. 예를 들면, 드라이브 제어부(311)는 상태정보(1011)에 관해서 교체 관리정보 리스트(1000)의 재배열을 하고, 다음에 교체원 위치정보(1012)의 물리 어드레스에 관해서 교체 관리정보 리스트(1000)의 재배열을 하여도 좋다.
이렇게 하여, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스를 그 특정한 위치를 나타내는 물리 어드레스에 맵핑하는 교체 관리정보(1010)를 포함하는 새로운 교체 관리정보 리스트(1000)가 생성된다.
(스텝 S114) 드라이브 제어부(311)는 상술한 기록동작을 반영하도록 디스크 관리정보를 갱신한다. 예를 들면, 드라이브 제어부(311)는 최종 데이터 기록위치정보(1107)를 갱신한다. 또한, 드라이브 제어부(311)는 최신의 기록상태를 반영하기 위해서 데이터가 기록된 트랙에 대응하는 트랙 관리정보(210) 내의 LRA(213)를 갱신한다.
또, 드라이브 제어부(311)는 새로운 교체 관리정보 리스트(1000)나 트랙 관리정보(210) 등의 갱신된 정보를 포함하는 새로운 디스크 관리정보를 생성한다. 또한, 새로운 교체 관리정보 리스트(1000)나 트랙 관리정보(210)의 정보기록매체(100) 상에서의 최신의 기록위치를 나타내기 위해서, 새로운 디스크 관리정보에 포함되는 교체 관리정보 리스트위치정보(1102)나 세션 관리정보 위치정보(1109)를 설정한다.
드라이브 제어부(311)는 새로운 디스크 관리정보를 정보기록매체(100) 상의 소정의 영역(예를 들면, 일시 디스크 관리정보영역)에 기록하도록 기록 재생부(314)를 제어한다. 이렇게 하여, 디스크 관리정보가 최신의 상태로 갱신된다.
또, 데이터의 기록이 종료한 후, 드라이브장치(310)는 상술한 기록동작의 결과를 호스트장치(305)에 통지하도록 하여도 좋다. 기록동작의 결과란, 예를 들면, 데이터의 기록이 성공한 것, 또는 데이터의 기록이 실패한 것 등을 나타내는 정보이다.
이러한 통지는 소정의 타이밍으로 호스트장치(305)에 송신될 수 있다. 예를 들면, 스텝 S108의 종료시나, 스텝 S112에서 에러가 발생하였을 때에 이러한 통지를 호스트장치(305)에 송신하도록 하여도 좋다. 또는 데이터의 기록이 실제로 종료하기 전에 이러한 통지를 호스트장치(305)에 송신하도록 하여도 좋다. 예를 들면, 드라이브장치(310)가 호스트장치(305)로부터 기록 지시를 수취하고, 그 기록 지시를 정확하게 해석할 수 있는 시점에서 기록종료를 나타내는 통지를 호스트장치(305)에 송신하도록 하여도 좋다.
또, 상술한 교체기록처리에 있어서, 교체원의 ECC 클러스터의 위치로부터 PSN이 커지는 방향으로 미기록영역을 검색하도록 하여도 좋다. 그와 같은 검색에 있어서 미기록영역이 발견되면, 그 미기록영역이 대체 클러스터로서 할당된다.
또, 최초에 교체원 클러스터를 포함하는 트랙 내에서 미기록영역을 검색하고, 다음에 그 트랙으로부터 PSN이 커지는 방향으로 차례로 각 트랙 내의 미기록영역을 검색하도록 하여도 좋다.
미기록영역이 발견되지 않은 채로 미기록영역의 검색이 사용자 데이터영역(108)의 종단에 도달한 경우에는 그 사용자 데이터영역(108)에 계속되는 영역인 외주 교체영역(107)에 있어서 미기록영역을 검색하도록 하여도 좋다.
또, 미기록영역이 발견되지 않은 채로 미기록영역의 검색이 교체영역(107)의 종단에 도달한 경우에는 정보기록매체(100)의 내주측의 소정의 위치(예를 들면, 내주 교체영역(106)의 선두, 사용자 데이터영역(108)의 선두, 또는 이들의 선두로부터 소정의 거리만큼 떨어진 위치)로부터 PSN이 커지도록 미기록영역을 검색하도록 하여도 좋다.
또, 데이터 기록의 순서의 스텝 S105 및 스텝 S108에서는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스와 NWA를 비교함으로써, 그 데이터 기록이 의사덮어쓰기 기록인지, 추기인지를 결정하였다.
이러한 비교처리에 의해, 그 데이터 기록이 의사덮어쓰기 기록인지, 추기인지를 결정할 수 있는 것은 정보기록매체(100)가 추기형의 정보기록매체이고, 또, 그 추기형의 정보기록매체에 대하여 시퀀셜 기록이 행하여지기 때문이다.
본 발명에서 설명한, 사용자 데이터영역을 사용한 교체기록은 재기록형 광 디스크에도 적응 가능하다. 그렇지만, 재기록형 광 디스크의 경우에는 그 데이터 기록이 덮어쓰기 기록인지, 추기(또는 신규기록)인지를 결정하기 위해서는 더욱 복잡한 처리순서가 필요하게 된다. 왜냐하면, 재기록형 광 디스크의 경우에는 광 디스크상의 임의의 장소가 랜덤으로 재기록 가능하기 때문이다.
만약, 상술한 실시형태와 같이, 재기록형 광 디스크 상의 빈 영역 관리를 드라이브장치가 하고자 하면, 배경 기술의 설명에서 설명한 바와 같이, 예를 들면, SDL에 의해 재기록형 광 디스크상의 모든 ECC 클러스터에 대응하는 교체 관리정보를 관리할 필요가 있다. 그 다음, 어떤 재기록형 광 디스크상의 사용자 데이터영역 중의 어떤 장소에 대한 데이터 기록이 덮어쓰기 기록인지, 신규기록인지는 예를 들면, 교체 관리정보 리스트(1000)를 전부 검색하여, 기록 완료인지의 여부를 판단할 필요가 있다. 마찬가지로, 어떤 ECC 클러스터가 대체 클러스터로서 이미 사용되고 있은지의 여부를 알기 위해서 교체 관리정보 리스트(1000)를 전부 검색할 필요가 있다. 이러한 처리는 교체 관리정보 리스트(1000)의 용량에 따라서 처리량도 증대하여, 점점 더 용량이 증가하여 가는 광 디스크에 대하여 큰 과제가 되어 버린다.
한편, 본 발명에 있어서는 추기형의 정보기록매체이고, 시퀀셜 기록이기 대문에, 어떤 트랙 내에서, NWA보다 작은 어드레스치를 가지는 영역은 전부 기록 완료인 것이 보증되어 있다.
따라서, 스텝 S105 및 108과 같은 비교처리에 의해, 교체 관리정보 리스트(1000)의 용량에 상관없이, 그 데이터 기록이 의사덮어쓰기 기록인지, 추기인지의 결정을 간단하게 하는 것이 가능해진다. 또한, 대체 클러스터도 NWA 이후의 위치로부터 선택하면 되기 때문에 용이하게 선택하는 것이 가능하다.
또한, 추기형 광 디스크의 랜덤기록방식에 있어서 의사덮어쓰기 기록을 하는 경우도 재기록형 광 디스크의 경우와 같다.
또, 추기형 광 디스크의 랜덤기록방식의 경우에는 상술한 빈 영역 관리정보(220)와 같은 특별한 구조가 필요하게 된다. 시퀀셜 기록방식의 빈 영역 관리와 비교하여 랜덤기록방식의 빈 영역 관리정보(220)는 드라이브 제어부(311)에 대한 처리 부하가 대폭으로 커진다.
특히 시퀀셜 기록방식에 있어서는 오픈 트랙의 수를 파일 시스템에 대한 편리성을 손상시키지 않을 정도로 제한하는(예를 들면 최대 4개) 것이 가능하다.
이 때, 오픈 트랙의 수는 파일 시스템의 구조에 의존하는 것으로, 광 디스크의 용량이 증가하여도 영향을 받지 않지만, 한편, 랜덤기록의 빈 영역 관리정보(220)는 광 디스크의 용량의 증가에 따라, 그 용량이 증가하여, 처리 부하도 증 대한다.
즉, 점점 더 용량이 증가하는 광 디스크에 대하여, 시퀀셜 기록방식에 있어서 의사덮어쓰기 방식을 하는 본 발명의 효과는 대단히 크다.
또한, 의사덮어쓰기 기록인지, 추기인지의 결정을 위해서, NWA를, 최신의 트랙 관리정보(210)에 포함되는 LRA(213)와 (수학식 1)에 따라서 결정하는 것이 발명의 특징이다.
데이터 기록에 의해서 갱신된 LRA(213)를 디스크상에 기록하여 두는 것으로, 정보기록매체(100)를 드라이브장치(310)에 로딩하였을 때에, 최신의 LRA(213)를 찾아내는 시간이 빨라진다.
그리고 LRA(213)를 사용하여 NWA를 산출하는 것으로, NWA의 정보를 트랙 관리정보에 보존할 필요가 없고, 트랙 관리정보의 데이터 구조를 간단하게 할 수 있다.
만약, 본 발명에 의하지 않으면, 의사덮어쓰기 기록인지, 추기인지의 결정을 하기 위해서, 예를 들면, 다음과 같은 순서가 필요하게 된다.
즉, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스를 포함하는 트랙을 결정하고, 그 트랙의 선두로부터 순차 ECC 클러스터를 조사하여, 기록 완료인지의 여부를 판단해야만 하게 된다.
그리고, 기록 지시된 위치의 ECC 클러스터가 기록 완료이면 의사덮어쓰기 기록이라고 결정한다.
이러한 처리는 특히 트랙의 용량이 커지면 처리량도 커져 버려 바람직하지 못하다.
한편, 본 실시형태이면, 트랙의 용량에 의하지 않고, 의사덮어쓰기 기록인지, 추기인지의 결정을 용이하게 행하는 것이 가능해진다.
또한, 트랙 관리정보 내(210)에 LRA(213)를 포함하게 함으로써, 드라이브(10)가 기록 지시를 받았을 때, 기록처의 트랙을 결정하는 동시에, NWA의 결정을 용이하게 하는 것이 가능해진다.
도 9는 이러한 기록순서에 의해 데이터 파일이 기록된 후의 정보기록매체(100) 상의 데이터 구조를 도시한다.
도 9에서는 데이터 파일의 일례로서 데이터 파일(File-a; 460)에 관해서 설명한다. 데이터 파일(File-a; 460)에서는 상술한 기록순서에 있어서, 결함 클러스터 #1과 결함 클러스터 #2가 검출된 것으로 한다.
그 때문에, 결함 클러스터 #1을 대체 클러스터 #1에 교체시키는 것을 나타내는 교체 관리정보와 결함 클러스터 #2를 대체 클러스터 #2에 교체시키는 것을 나타내는 교체 관리정보를 포함하는 디스크 관리정보가 디스크 관리정보영역(104) 중에 기록되어 있는 것으로 한다.
도 9에 도시하는 바와 같이, 대체 클러스터 #1은 교체영역(106)에 기록되어 있고, 대체 클러스터 #3은 사용자 데이터영역(108)에 기록되어 있다.
또, 데이터 파일(File-a; 460)은 그 기록이 행하여지고 나서, 의사덮어쓰기 기록에 의해, 내용이 갱신되어 있다.
구체적으로는 갱신 클러스터 #2 및 갱신 클러스터 #4의 부분이 의사덮어쓰기 기록에 의한 갱신부분에 상당한다.
의사덮어쓰기 기록에 의해 갱신된 새로운 데이터는 갱신 클러스터 #2 및 갱신 클러스터 #4를 대체로서 할당된 대체 클러스터 #2 및 대체 클러스터 #4에 각각 기록되고, 대응하는 교체정보가 디스크 관리정보영역(104) 중에 기록되어 있는 것으로 한다.
도 9에 도시하는 바와 같이, 대체 클러스터 #2는 교체영역(106)에 할당되어 있고, 대체 클러스터 #4는 사용자 데이터영역(108)에 할당되어 있다.
1-5. 재생처리순서(1)
파일의 재생처리에 관해서, 도 10의 플로차트를 참조하여 설명한다. 여기에서는 도 9에 도시되는 데이터 파일(File-a; 460)을 재생하는 동작을 예로 들어 설명한다.
(스텝 S201) 데이터의 재생에 앞서, 드라이브 제어부(311)는 데이터 재생의 준비처리를 실행한다. 이러한 데이터 재생의 준비처리는 예를 들면, 정보기록매체(100)가 드라이브장치(310)에 로딩되었을 때에 실행된다. 예를 들면, 드라이브 제어부(311)는 정보기록매체(100)의 디스크 관리정보영역(104; 또는 디스크 관리정보영역(105))으로부터 디스크 관리정보를 판독한다.
드라이브 제어부(311)는 사용자 데이터영역(108)에 할당되어 있는 복수의 논리 어드레스와 복수의 물리 어드레스의 대응관계를 나타내는 초기 논리 어드레스-물리 어드레스 맵핑을 결정하기 위해서, 그 디스크 관리정보로부터, 사용자 데이터영역 개시위치정보(1103), 사용자 데이터영역 종단위치정보(1104), 교체영역정 보(1105) 등을 취득한다.
이후, 드라이브 제어부(311)는 초기 논리 어드레스-물리 어드레스 맵핑에 따라서, 논리 어드레스와 초기 물리 어드레스의 변환을 한다.
*(스텝 S202) 우선, 시스템 제어부(301)는 드라이브장치(310)에 재생 지시를 내리고, 정보기록매체(100)의 소정의 위치(예를 들면, LSN=256)에 기록되어 있는 AVDP를 재생한다.
또, AVDP는 UDF 규격으로 정해진, 파일 시스템정보의 기점이 되는 데이터 구조이며, 볼륨 구조영역(410) 및 볼륨 구조영역(411)에 기록된다.
(스텝 S203) 다음에, 시스템 제어부(301)는 AVDP로부터, 볼륨 구조영역(410) 중에 기록되어 있는 주볼륨 기술자열(410A)의 위치정보를 취득한다. 시스템 제어부(301)는 또, 드라이브장치(310)에 지시를 내리고 주볼륨 구조(410A)를 재생한다.
시스템 제어부(301)는 또, 재생한 주볼륨 기술자열(410A)로부터 순차, 데이터 구조를 판독하여, FE(메타데이터 파일; 441)의 위치정보(LSN)를 취득한다.
(스텝 S204) 다음에, 시스템 제어부(301)는 파일 구조의 재생을 한다. 파일 구조의 재생을 위해서, 시스템 제어부(301)는 취득한 FE(메타데이터 파일; 441)의 위치정보(LSN)를 바탕으로, 드라이브장치(310)에 재생의 지시를 내리고, FE(메타데이터 파일; 441)를 재생한다.
여기에서, 시스템 제어부(301)는 취득한 FE(메타데이터 파일; 441)의 정보로 부터, 메타데이터 파일(440)의 위치정보를 얻어, 메타데이터 파일(440)에 액세스 가능해진다.
(스텝 S205)이후, 통상의 UDF 규격의 재생순서에 의해, FSD(433), FE(ROOT; 442), FE(File-a; 443), 데이터 파일(File-a; 460)의 순서로 재생이 행하여진다(디렉토리 파일의 재생에 관해서는 설명을 생략한다).
상술한 재생처리의 각 스텝에서, 호스트장치(305)로부터 드라이브장치(310)에 재생 지시가 출력된다. 드라이브장치(310)의 드라이브 제어부(311)는 호스트장치(305)로부터 재생 지시를 수취하고, 그 재생 지시에 따라 재생처리를 실행한다.
재생 지시는 데이터가 재생되어야 하는 위치를 나타내는 논리 어드레스를 포함한다. 논리 어드레스는 예를 들면, 논리 섹터번호(LSN)에 의해서 나타내진다. 또는 논리 어드레스는 논리 블록 어드레스(LBA)에 의해서 표시되어도 좋다. 또, 재생 지시는 예를 들면, READ 커맨드이다.
드라이브 제어부(311)는 초기 논리 어드레스-물리 어드레스 맵핑(예를 들면, 도 12 참조)에 따라서, 재생 지시에 포함되는 논리 어드레스를 물리 어드레스로 변환한다.
다음에, 드라이브 제어부(311)는 교체 관리정보 리스트(1000)를 검색함으로써, 재생 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스와 동일한 교체원 위치정보(1012)를 갖는 교체 관리정보(1010)가 교체 관리정보 리스트(1000) 중에 발견되었는지의 여부를 결정한다.
만약 발견된 경우에는 드라이브 제어부(311)는 그 교체 관리정보(1010)의 교체처 위치정보(1013)를 참조하여, 그 교체처 위치정보(1013)에 의해서 나타내지는 위치로부터 데이터를 재생하도록 기록 재생부(314)를 제어한다.
만약 발견되지 않은 경우에는 드라이브 제어부(311)는 재생 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치로부터 데이터를 재생하도록 기록 재생부(314)를 제어한다. 이렇게 하여 재생된 데이터는 호스트장치(305)에 회신된다.
1-6.기록처리순서(2)
도 11은 교체 관리정보(1010B)의 데이터 구조를 도시한다. 교체 관리정보(1010B)는 도 5b에 도시되는 교체 관리정보(1010)의 다른 실시형태를 도시한다.
도 11의 교체 관리정보(1010B)에서는 상태정보(1011)로서 다음의 3개의 정보를 포함한다. 이 3개의 정보를 도 11에 도시하는 바와 같이, Flag1, Flag2, Flag3으로 한다.
Flag1은 교체 관리정보(1010B)의 분류를 위한 정보로, 그 교체정보가 대체기록을 위한 것인지, 결함 클러스터를 지시하기 위한 것인지를 나타내는 정보를 포함한다.
Flag2는 교체 관리정보(1010B)가 관리하는 대체 클러스터의 기록위치에 관한 정보로, 교체영역 중 또는 교체처가 없는지, 사용자 데이터영역 중인지를 나타내는 정보를 포함한다.
Flag3은 교체 관리정보(1010B)가 관리하는 클러스터의 수에 관한 정보로, 그 교체정보가 단일 클러스터에 대응하는 것인지, 연속적인 복수 클러스터에 대응하는 것인지를 나타내는 정보를 포함한다. 연속적인 복수 클러스터에 대응하는 경우에는 Flag3은 연속영역의 개시위치에 대응하는지, 종료위치에 대응하는지를 나타내는 정보를 더욱 포함한다.
이후, 도 11에 따라서, 본 발명의 상세한 기록순서에 관해서 설명한다.
또, 이후에서는 필요에 따라서 교체 관리정보의 종별을 도 11의 우단 열의 기호를 사용하여 나타내는 것으로 한다. 예를 들면, 제 1 행째의 Flag1=1(대체용), Flag2=0(교체영역으로의 대체), Flag3=O0(단일 클러스터)이라는 상태정보(1011)를 가지는 교체 관리정보는 교체 관리정보(1)로 표기한다.
도 12는 본 발명에 있어서의 정보기록매체(100) 상에서의, 물리 어드레스공간과 논리 어드레스공간의 데이터 구조의 예시도이다.
또한, 도 12는 호스트장치(305)로부터 보았을 때의 정보기록매체(100) 상에서의 위치를 나타내는 논리 어드레스인 논리 섹터번호(LSN)와, 정보기록매체(100) 상에서의 실제의 위치를 나타내는 물리 어드레스인 물리 섹터번호(PSN)의 초기 상태에 있어서의 대응관계도 도시하고 있다. 이러한 대응관계를 초기 논리 어드레스-물리 어드레스 맵핑이라고 부른다(도면 중, 파선 화살표시로 도시한다. 이후 동일).
도 12에 도시되는 하나의 행이 하나의 ECC 클러스터에 대응한다. 도 12에서는 물리 어드레스(PSN)와, 그 물리 어드레스에 할당되어 있는 논리 어드레스(LSN) 가 동일행에 도시되어 있다.
도 12에 있어서, PSN 및 LSN의 값은 대응하는 ECC 클러스터의 선두 섹터로부터 종단 섹터의 PSN 및 LSN의 값으로서 도시되어 있다.
여기에서는 하나의 ECC 클러스터가 32섹터로부터 구성되는 경우를 예로 하고 있지만 다른 구성이어도 상관없다.
PSN은 내주 교체영역(106), 외주 교체영역(107) 및 사용자 데이터영역(108)에 할당된다.
그리고, 사용자 데이터영역(108)의 선두로부터 트랙이 할당되어 있는 것으로 한다. 도 12의 상태에서는 데이터가 완전히 기록되어 있지 않기 때문에 LRA(500)는 사용자 데이터영역(108)의 선두를 가리킨다.
한편, LSN은 사용자 데이터영역(108(또는 볼륨공간(109))에만 할당된다.
호스트장치(305)는 이 LSN을 사용하여 정보기록매체(100) 상의 특정한 논리 섹터를 지정하여, 기록이나 재생의 지시를 한다.
드라이브장치(310)는 호스트장치(305)로부터 수취한 LSN을 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 PSN으로 변환하여, 얻어진 PSN에 따라서 물리 섹터나 ECC 클러스터로의 액세스를 한다.
이후에서 설명하는 대체기록에 있어서는 초기 논리 어드레스-물리 어드레스 맵핑을 기본으로 하여, 이 대응관계와 다른 논리 어드레스-물리 어드레스 맵핑이 필요할 때에 교체 관리정보(1010)가 사용된다.
또, 도 12에 있어서의 PSN이나 LSN의 값은 설명을 위한 예에 지나지 않고, 정보기록매체(100)의 구성이나 용량에 따라서 실제의 값은 다르다.
또한, 상술한 바와 같이, 디스크 관리정보나 교체영역의 용량은 가변이지만, 이들의 용량은 호스트장치(305)로부터의 지시 등에 의해 행하여지는 포맷처리시에 결정된다. 그리고, 포맷처리 후에 있어서는 사용자 데이터영역(108)의 개시 및 종료위치는 변화하지 않는다.
*초기 논리 어드레스-물리 어드레스 맵핑은 디스크 관리정보에 포함되는 디스크 구조정보(1100)의 정보(더욱 상세하게는 사용자 데이터영역 개시위치정보(1103), 사용자 데이터영역 종단위치정보(1104), 교체영역정보(1105) 등)로부터, 소정의 연산 등에 의해 일의로 결정하는 것이 가능하다.
도 12 내지 도 17b를 참조하여, 도 11에 도시되는 교체 관리정보(1010B)의 사용예에 관해서 설명한다.
우선, 도 12의 상태로부터 도 13a의 상태로의 변화에 관해서 설명한다.
호스트장치(305)는 LSN=0의 위치에 데이터 "A"를 신규로 기록하도록 지시한다.
이 기록 지시를 수취한 드라이브장치(310)는 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 LSN=0을 PSN=1100으로 변환하여, PSN=1100의 위치에, 데이터 "A"를 기록한다.
다음에, 드라이브장치(310)는 기록한 데이터를 베리파이한다. 여기서는 베리파이가 성공한 것으로 한다.
또, 호스트장치(305)는 LSN=0의 위치에 데이터 "A1"을 의사덮어쓰기 기록하도록 지시한다.
이 기록 지시를 수취한 드라이브장치(310)는 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 LSN=0을 PSN=1100으로 변환하여, PSN=1100의 위치에 RMW처리를 한다. 그리고, 교체영역(106) 중의 PSN=100의 위치에, 데이터 "A1"을 기록한다.
이 때, 드라이브장치(310)에 의해 교체 관리정보(511)가 생성된다. 교체 관리정보(511)의 교체원에는 데이터 "A"의 기록위치인 PSN=1100이 설정되어 있고, 교체 관리정보(511)의 교체처에는 데이터 "A1"의 기록위치인 PSN=100이 설정되어 있다. 교체 관리정보(511)의 상태정보(1011)는 도 11에 따라서 설정되어 있다.
또, 교체 관리정보(511)는 도 13a 중의 실선 화살표시에 대응한다. 화살표시의 기점이 교체원을 나타내고, 화살표시의 선이 교체처를 나타낸다(이후 동일).
또, 도 13a에서는 호스트장치(305)는 LSN=2의 위치에 데이터 "B"를 기록하도록 지시한다.
데이터 "B"의 기록에 있어서 베리파이에 실패하였다고 하면, 데이터 "B"는 내주 교체영역(106) 내의 PSN=132의 위치에 기록된다.
이 교체기록에 대응하여 교체 관리정보(512)가 생성된다. 교체 관리정보(512)의 교체원에는 PSN=1032가 설정되어 있고, 교체 관리정보(512)의 교체처에는 PSN=132가 설정되어 있다. 교체 관리정보(512)의 상태정보(1011)도 마찬가지로, 도 11에 따라서 설정되어 있다.
상기한 기록 후의 데이터 배치와 교체 관리정보 리스트는 도 13a 및 도 13b와 같아진다. 도 13b의 교체 관리정보 리스트(1000a)에서는 교체 관리정보(1)가 사용되고 있다.
한편, 도 14a 및 도 14b는 교체 관리정보(4, 7)가 사용될 때의 상태를 설명하기 위한 도면이다.
여기에서는 호스트장치(305)는 LSN=64의 위치에 데이터 "C"의 기록을 지시한다. 이 기록 지시에 따라, 드라이브장치(310)는 데이터 "C"를 PSN=1164의 위치에 기록한다. 여기서 베리파이의 결과가 에러였다고 하면, 사용자 데이터영역(108) 내의 미기록영역(PSN=1196)이 할당되고, 데이터 "C"는 PSN=1196의 위치에 대체기록된다.
이 결과에 따라서, 교체 관리정보(513)가 생성된다.
또, 호스트장치(305)는 LSN=128의 위치에 데이터 "D"의 기록 지시를 하고, 그 후, 데이터 "D1"의 기록을 지시한다.
그리고, 데이터 "D1"의 기록 후의 베리파이가 실패하였다고 하면, 데이터 "D1"은 PSN=1292의 위치에 대체기록된다.
이 때, 교체 관리정보(514)가 생성된다.
또한, PSN=1260은 대체처의 없는 결함 클러스터가 되어, 대응하는 교체 관리정보(515)가 생성된다.
또, 호스트장치(305)가 LSN=128의 위치에 데이터 "D2"의 의사덮어쓰기 기록을 지시하였다고 하면, 데이터 "D2"는 PSN=1324의 위치에 대체기록된다.
이 때, 교체 관리정보(514A)가 생성된다. 한편, 교체 관리정보(514)는 불필요하게 되기 때문에, 교체 관리정보 리스트(1000)로부터는 삭제된다.
이상의 기록처리 후는 LRA는 500B의 위치에 갱신된다.
또, 교체 관리정보 리스트(1000B; 도 14b)는 상태정보(1011) 중의 Flag1에 관해서 재배열이 행하여지고, 다음에 교체원 위치정보(1012)의 PSN의 값에 관해서 재배열이 행하여진다.
도 15a 및 도 15b는 교체 관리정보(5, 6)가 사용될 때의 상태를 설명하기 위한 도면이다.
여기에서는 호스트장치(305)는 LSN=256 내지 X1의 위치에 데이터 "E"를 기록하도록 지시한다.
이 때, 베리파이에 실패하여, 데이터 "E"는 PSN=x2 내지 x3의 위치에 대체기록되었다고 하면, 교체 관리정보(516) 및 교체 관리정보(517)가 생성된다. 각각의 교체 관리정보는 대체기록의 개시위치에 상당하는 ECC 클러스터의 선두 PSN 및 종료위치에 상당하는 ECC 클러스터의 선두 PSN을 나타낸다.
도 16a 및 도 16b에서 또, 호스트장치(305)는 LSN=257 내지 X1의 위치에 데이터 "E1"을 의사덮어쓰기 기록하도록 지시하였다고 한다.
이 때, 데이터 "E1"은 도 15a에서는 미기록영역이던 PSN=x4 내지 x5의 위치에 기록된다.
그리고, 이 교체의 개시점을 나타내는 정보로서 교체 관리정보(516A)가, 대체기록의 종료점을 나타내는 정보로서 교체 관리정보(517A)가 생성된다.
이 시점에서, 교체 관리정보(516, 517)는 불필요하게 되기 때문에, 교체 관리정보 리스트로부터는 삭제된다.
또, 도 15a 및 16a에서는 대체 기록처를 전부 사용자 데이터영역 내(108)로 하였지만, 물론 교체영역(106) 내로 하여도 좋다. 이 경우, 교체 관리정보(2, 3)가 사용된다.
또, 도 8a를 참조하여 설명한 바와 같이, 갱신된 교체 관리정보 리스트는 디스크 관리정보영역에 기록된다.
1-7. 재생처리순서(2)
이와 같이 기록된 데이터를 재생할 때는 이하와 같은 처리가 행하여진다.
데이터의 재생에 앞서, 드라이브 제어부(311)는 데이터 재생의 준비처리를 실행한다. 이러한 데이터 재생의 준비처리는 예를 들면, 상술한 스텝 S201과 같다.
그리고, 예를 들면, 도 13a의 상태에 있어서, LSN=32의 데이터 "B"의 재생 지시가 호스트장치(305)로부터 행하여졌다고 하면, 드라이브장치(310)는 초기 논리 어드레스-물리 어드레스 맵핑에 따라서, PSN=1132를 얻는다.
그래서 드라이브장치(310)는 최신의 교체 관리정보 리스트(1000)로부터, 교체원으로서 PSN=1132를 가지는 교체 관리정보를 검색한다.
여기에서는 교체 관리정보(512)가 발견되기 때문에, 거기로부터 교체처의 PSN=132를 취득한다.
드라이브장치(310)는 PSN=132로부터 데이터 "B"를 재생하여, LSN=32의 재생 데이터로서 호스트장치(305)에 회신한다.
호스트장치(305)가 지정하는 LSN이 변하였다고 해도 드라이브장치(310)측의 처리는 같다. 수취한 LSN을 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 PSN으로 변환하여, 대응하는 교체 관리정보가 발견되면, 대체 클러스터로부터 데이터를 재생한다. 대응하는 교체 관리정보가 발견되지 않으면, 그대로 PSN에 따라서 재생을 하면 좋다.
이상에 의해, 정보기록매체(100)의 의사덮어쓰기 기록에 있어서, 사용자 데이터영역을 교체처로서 낭비 없이 사용하는 것이 가능해진다.
1-8. 기록처리순서(3)
도 18은 상술한 교체 관리정보(1010)나 교체 관리정보(1010B)와 같은 교체 관리정보의 다른 구성예인 DFL 엔트리(2010)를 도시한다.
DFL 엔트리(2010)에 포함되는 스테이터스 1(2011A) 및 스테이터스 2(2011B), 결함 클러스터 선두 PSN(2012), 대체 클러스터 선두 PSN(2013)은 각각 상술한, 상태정보(1011), 교체원 위치정보(1012), 교체원 위치정보(1013)와 같은 것이다.
여기에서, 도 5b를 참조하여 설명한 것과 같이, 결함 클러스터 선두 PSN(2012)과 대체 클러스터 선두 PSN(2013)은 대응하는 ECC 클러스터의 선두 섹터의 물리 어드레스(예를 들면, PSN)를 사용하여 나타내져도 좋다. 결함 관리 및 의사덮어쓰기 기록에 있어서, ECC 클러스터 단위에서의 맵핑이 행하여지기 때문이다.
여기에서 스테이터스 1(2011A)은 적어도 교체 관리정보(1010B)에서의 Flag1 및 Flag2와 같은 정보를 포함한다. 즉, 예를 들면, 스테이터스 1(2011A)의 값이 "1000"인 경우는 그 교체정보는 교체처가 없는 것을 나타낸다(F1ag2=0이고 교체처가 없는 경우에 상당). 이 경우, 대체 클러스터 선두 PSN(2013)에는 "0"이 설정된다.
한편, 교체처가 존재하는 경우는 스테이터스 1에 "O000"이 설정된다(F1ag2=O이고 교체처가 있는 경우에 상당).
또한, 스테이터스 2(2011B)는 적어도 교체 관리정보(1010B)에서의 Flag3과 같은 정보를 포함한다.
즉, 예를 들면, 스테이터스 2(2011B)의 값이 "0000"인 경우는 그 교체정보는 단일 클러스터에 대응한다(Flag3=00에 상당).
마찬가지로, 스테이터스 2의 값이, 예를 들면, "0001"인 경우는 그 교체정보는 복수의 클러스터를 포함하는 연속영역의 개시 클러스터의 선두 섹터의 위치에 대응한다(Flag3=O1에 상당). 한편, "O010"인 경우는 복수의 클러스터를 포함하는 연속영역의 종단 클러스터의 선두 섹터의 위치에 대응한다(Flag3=10에 상당).
이 DFL 엔트리(2010)는 모든 실시형태에 적용 가능하다.
다음에, 도 18에 도시한 DFL 엔트리(2010)의 데이터 구조와, 도 19a의 플로차트를 참조하여, 상술한 도 8a를 사용하여 설명한 스텝 S113에 있어서의 교체 관리정보에 대한 처리예를 더욱 자세히 설명한다.
여기에서는 도 8a의 스텝 S112에서 의사덮어쓰기 기록을 위한 교체처로의 기록이 행하여지고, 스텝 S113으로 진행한 경우를 상정한다.
(스텝 S301) 우선, 이 의사덮어쓰기 기록이, 1회째의 덮어쓰기 기록인지, 2회째 또는 그 이후의 덮어쓰기 기록인지를 판단한다.
이 판단은 예를 들면, 최신의 교체 관리정보 리스트에 대하여, 도 8a의 스텝 S103에서 얻어진, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스를 포함하는 ECC 클러스터의 선두 PSN의 값을, 결함 클러스터 선두 PSN(2012)의 값으로서 가지는 DFL 엔트리(2010)를 검색함으로써 행할 수 있다.
이 최신의 교체 관리정보 리스트는 예를 들면, 스텝 S101(도 8a)에 있어서, 디스크 관리정보영역으로부터 재생되어, 메모리회로(312)에 유지된다.
만약, 해당하는 교체 관리정보(예를 들면, DFL 엔트리(2010))가 교체 관리정보 리스트 중에 발견되지 않은 경우에는 1회째의 의사덮어쓰기 기록이라고 하여, 처리는 스텝 S302로 진행한다.
해당하는 교체 관리정보가 교체 관리정보 리스트 중에 발견된 경우에는 2회째의 의사덮어쓰기 기록이라고 하여, 처리는 스텝 S304로 진행한다.
또, 의사덮어쓰기 기록이, 1회째의 덮어쓰기 기록인지, 2회째 또는 그 이후의 덮어쓰기 기록인지의 판단은 다른 스텝에서 미리 행하여 두어도 좋다. 예를 들면, 스텝 S106에서 행하여도 좋다. 그 때의 판단결과를 유지하여 두고, 스텝 S301에서 사용하도록 하여도 좋다.
(스텝 S302) 1회째의 교체기록의 경우는 다음의 처리를 한다.
우선, 드라이브 제어부(311)에 의해 새로운 DFL 엔트리(2010)가 드라이브장치(310)의 메모리회로(312) 상에 생성된다.
(스텝 S303) 다음에, 이 DFL 엔트리(2010)에 값을 설정한다.
즉, 스테이터스 1(2011A)에 대하여 적절한 값을 설정한다. 예를 들면, 교체처가 존재하는 교체기록이면 "O000"이 설정된다.
다음에, 결함 클러스터 선두 PSN(2012)에 대하여, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 위치하는 ECC 클러스터의 선두 PSN의 값을 설정한다.
다음에, 대체 클러스터 선두 PSN(2013)에 대하여, 직전의 교체기록에 있어서, 실제로 데이터가 기록된 대체 클러스터의 선두 PSN의 값을 설정한다.
또, 이 DFL 엔트리(2010)의 스테이터스 2(2011B)에 대하여 적절한 값을 설정한다. 예를 들면, 단일 클러스터의 교체기록이면 "O000"이 설정된다.
(스텝 S304) 2회째 이후의 교체기록인 경우는 다음의 처리를 한다.
즉, 직전의 스텝에서 발견된 DFL 엔트리(2010)에 대한 갱신처리를 하기 위해서, 스텝 S305로 진행한다.
(스텝 S305) 우선, 이 DFL 엔트리(2010)의 스테이터스 1(2011A)을 적절한 값으로 갱신한다. 예를 들면, 교체처가 존재하는 교체기록이면 "O000"이 설정된다.
다음에, 대체 클러스터 선두 PSN(2013)을, 직전의 교체기록에 있어서, 실제로 데이터가 기록된 대체 클러스터의 선두 PSN의 값으로 갱신한다. 즉, 새로운 교체처가 설정된다.
또, 결함 클러스터 선두 PSN(2012)에 관해서는 같은 ECC 클러스터에 대한 2 회째 이후의 교체기록이기 때문에, 변경의 필요는 없고, 같은 값을 유지하면 좋다.
또, 이 DFL 엔트리(2010)의 스테이터스 2(2011B)를 적절한 값으로 갱신한다. 예를 들면, 단일 클러스터의 교체기록이면 "O000"이 설정된다. (스텝 S306) 이상의 처리에 의해, 교체 관리정보 리스트의 갱신이 행하여진다. 즉, 새로운 DFL 엔트리(2010)의 추가, 또는 기존의 DFL 엔트리(2010)의 값이 갱신된다.
그리고, 교체 관리정보 리스트의 재배열을 한다. 이 재배열은 예를 들면, 스테이터스 1(2011A)에 관해서 재배열을 한다. 또, 결함 클러스터 선두 PSN(2012), 스테이터스 2(2011B), 대체 클러스터 선두 PSN(2013)의 순서로 재배열을 한다.
이상으로 도 8a의 스텝 S113은 종료이다. 여기에서 얻어진, 최신의 교체 관리정보 리스트는 (일시)디스크 관리정보영역에 추기된다.
또, 상술한 처리예에서는 의사덮어쓰기 기록을 위한 교체기록이 행하여진 경우에 관해서 설명하였지만, 이것이, 결함 클러스터의 발생에 의한 교체기록에 관해서도 마찬가지로 적용 가능하다.
그런데, 배경기술에서 도 33a 및 도 33b를 참조하여 설명한 바와 같이, 종래의 추기형 광 디스크의 결함 관리에 있어서는 교체기록이 발생할 때마다 기존의 교체 관리정보를 남기고, 새로운 교체 관리정보를 추가하였다.
이러한 방법을, 본 실시형태와 같이 사용자 데이터영역을 교체처로서 사용하는 기록방법에 적용하면, 교체기록이 발생할 때마다 교체 관리정보가 증가하여, 교 체 관리정보 리스트의 용량이 커지기 때문에, 드라이브장치 등의 실장상 바람직하지 못하다.
특히, 종래의 추기형 광 디스크의 결함 관리에 있어서는 일단 교체된 클러스터는 다시 교체되지 않았지만, 본 실시형태와 같이, 의사덮어쓰기 기록이 행하여지는 경우는 몇번이나 교체기록의 대상이 될 수 있다. 그 때문에, 교체 관리정보 리스트의 용량은 대단히 커질 가능성이 있다.
또한, 같은 결함 클러스터 선두 PSN(2012)의 값을 가지는 교체 관리정보가 교체 관리정보 리스트 중에 복수 존재하게 되어, 최신의 교체 관리정보를 얻기 위해서 더욱 추가의 처리나 기구가 필요하게 된다.
또한, 재기록형 광 디스크의 결함 관리에 있어서는 모든 교체처 클러스터에 대하여, 이미 교체처로서 사용 완료인지의 여부에 관계 없이, 교체 관리정보를 설치하였다.
이러한 방법을, 본 실시형태와 같이 사용자 데이터영역을 교체처로서 사용하는 방법에 적용하면, 처음부터 대단히 대량의 교체 관리정보가 필요하게 되어, 역시 실장상 바람직하지 못하다.
한편, 도 19a를 사용한 방법에 의하면, 필요 최저한의 결함 관리정보만을 생성하여 관리하면 좋고, 최신의 교체 관리정보도 용이하게 찾아내는 것이 가능해진다.
1-9. 기록처리순서(4)
도 19b를 참조하여, 데이터 기록의 순서에 있어서의 교체 관리정보의 처리예 를 더욱 자세히 설명한다.
도 19b에 도시되는 각 스텝은 도 8a에 도시되는 스텝 S113에 포함된다. 이하의 설명에서는 도 18에 도시한 교체 관리정보의 일례인 DFL 엔트리(2010)의 데이터 구조를 참조한다.
또, 여기에서는 도 8a의 스텝 S112에 있어서 의사덮어쓰기 기록을 위한 교체처로의 기록이 행하여지고, 스텝 S113으로 진행한 경우를 상정한다.
(스텝 S601) 드라이브 제어부(311)는 기록 지시에 의해서 지정된 영역이 물리 어드레스공간에서 연속영역인지의 여부를 결정한다.
예를 들면, 드라이브 제어부(311)는 기록 지시에 의해서 지정되는 기록위치와 기록 지시에 의해서 지정되는 기록되어야 하는 데이터의 용량에 기초하여 물리 어드레스공간상의 영역의 사이즈를 결정한다. 이렇게 하여 결정된 물리 어드레스공간상의 영역의 사이즈가, 하나의 ECC 클러스터의 사이즈보다도 큰 경우에는 드라이브 제어부(311)는 기록 지시에 의해서 지정된 영역이 물리 어드레스공간에서 연속영역이라고 결정한다.
스텝 S601의 판정결과가 「예」인 경우에는 처리는 스텝 S602로 진행한다. 스텝 S601의 판정결과가 「아니오」인 경우에는 처리는 스텝 S603으로 진행한다.
(스텝 S602) 드라이브 제어부(311)는 스텝 S112에 있어서 실제로 데이터가 기록된 영역이 물리 어드레스공간에서 연속영역인지의 여부를 결정한다.
예를 들면, 스텝 S112에서 기록처리를 실시한 영역의 사이즈가, 기록 지시에 의해서 지정된 영역의 사이즈와 같은 경우, 드라이브 제어부(311)는 스텝 S112에 있어서 실제로 데이터가 기록된 영역이 물리 어드레스공간에서 연속영역이라고 결정한다.
스텝 S602의 판정결과가 「예」인 경우에는 처리는 스텝 S604로 진행한다. 스텝 S602의 판정결과가 「아니오」인 경우에는 처리는 스텝 S603으로 진행한다.
(스텝 S603) 드라이브 제어부(311)는 예를 들면, 도 19a를 참조하여 설명한 처리를 한다.
(스텝 S604) 드라이브 제어부(311)는 의사덮어쓰기 기록이, 1회째의 덮어쓰기 기록인지, 2회째 또는 그 이후의 덮어쓰기 기록인지를 결정한다.
이러한 결정은 예를 들면, 최신의 교체 관리정보 리스트를 검색함으로써, 스텝 S601에서 결정된 연속영역과 같은 영역을 나타내는 교체원 위치정보를 갖는 제 1 DFL 엔트리(2010(스테이터스 2(2011B)="0001")와 제 2 DFL 엔트리(2010(스테이터스 2(2011B)="0010")가 교체 관리정보 리스트 중에 발견되었는지의 여부에 따라서 행하여진다.
해당하는 제 1 DFL 엔트리(2010)와 제 2 DFL 엔트리(2010)가 교체 관리정보 리스트 중에 발견되지 않은 경우에는 1회째의 의사덮어쓰기 기록이라고 하여, 처리는 스텝 S605로 진행한다.
해당하는 제 1 DFL 엔트리(2010)와 제 2 DFL 엔트리(2010)가 교체 관리정보 리스트 중에 발견된 경우에는 2회째의 의사덮어쓰기 기록이라고 하여, 처리는 스텝 S607로 진행한다.
(스텝 S605) 드라이브 제어부(311)는 새로운 제 1 DFL 엔트리(2010)와 새로 운 제 2 DFL 엔트리(2010)를 생성하여, 이들을 메모리회로(312)에 격납한다.
(스텝 S606) 드라이브 제어부(311)는 제 1 및 제 2 DFL 엔트리(2010)에 값을 설정한다.
제 1 DFL 엔트리(2010)의 스테이터스 1(2011A)에는 교체처가 존재하는 교체기록인 것을 나타내는 "O000"이 설정된다.
제 1 DFL 엔트리(2010)의 결함 클러스터 선두 PSN(2012)에는 기록 지시에 의해서 지정된 영역의 개시위치를 포함하는 ECC 클러스터의 선두 PSN의 값이 설정된다.
제 1 DFL 엔트리(2010)의 교체 클러스터 선두 PSN(2013)에는 실제로 데이터가 기록된 연속영역의 개시위치를 포함하는 ECC 클러스터의 선두 PSN의 값이 설정된다.
제 1 DFL 엔트리(2010)의 스테이터스 2(2011B)에는 연속영역의 개시위치인 것을 나타내는 "0001"이 설정된다.
제 2 DFL 엔트리(2010)의 스테이터스 1(2011A)에는 교체처가 존재하는 교체기록인 것을 나타내는 "0000"이 설정된다.
제 2 DFL 엔트리(2010)의 결함 클러스터 선두 PSN(2012)에는 기록 지시에 의해서 지정된 영역의 종단위치를 포함하는 ECC 클러스터의 선두 PSN의 값이 설정된다. 기록 지시에 의해서 지정된 영역의 종단위치는 예를 들면, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스와, 기록되어야 하는 데이터의 데이터 길이로부터 구해진다.
제 2 DFL 엔트리(2010)의 교체 클러스터 선두 PSN(2013)에는 실제로 데이터가 기록된 연속영역의 종단위치를 포함하는 ECC 클러스터의 선두 PSN의 값이 설정된다.
제 2 DFL 엔트리(2010)의 스테이터스 2(2011B)에는 연속영역의 종단위치인 것을 나타내는 "O010"이 설정된다.
(스텝 S607) 드라이브 제어부(311)는 스텝 S604에 있어서 발견된 제 1 및 제 2 DFL 엔트리(2010)에 대한 갱신처리를 한다. 구체적으로는 이 갱신처리는 스텝608에 있어서, 제 1 및 제 2 DFL 엔트리(2010)에 값을 설정함으로써 행하여진다.
(스텝 S608) 드라이브 제어부(311)는 제 1 및 제 2 DFL 엔트리(2010)에 값을 설정한다.
제 1 DFL 엔트리(2010)의 교체 클러스터 선두 PSN(2013)에는 실제로 데이터가 기록된 연속영역의 개시위치를 포함하는 ECC 클러스터의 선두 PSN의 값이 설정된다. 즉, 새로운 교체처영역의 개시위치가 설정된다.
제 1 DFL 엔트리(2010)의 결함 클러스터 선두 PSN(2012)에 관해서는 변경의 필요는 없고, 같은 값을 유지하면 좋다. 같은 ECC 클러스터에 대한 2회째 이후의 교체기록이기 때문이다.
제 2 DFL 엔트리(2010)의 교체 클러스터 선두 PSN(2013)에는 실제로 데이터가 기록된 연속영역의 종단위치를 포함하는 ECC 클러스터의 선두 PSN의 값이 설정된다. 즉, 새로운 교체처영역의 종료위치가 설정된다.
제 2 DFL 엔트리(2010)의 결함 클러스터 선두 PSN(2012)에 관해서는 변경의 필요는 없고, 같은 값을 유지하면 좋다. 같은 ECC 클러스터에 대한 2회째 이후의 교체기록이기 때문이다.
(스텝 S609) 상술한 처리에 의해, 교체 관리정보 리스트의 갱신이 행하여진다. 즉, 새로운 제 1 및 제 2 DFL 엔트리(2010)가 교체 관리정보 리스트에 추가된다. 또는 교체 관리정보 리스트 내의 기존의 제 1 및 제 2 DFL 엔트리(2010)의 값이 갱신된다.
교체 관리정보 리스트의 재배열이 행하여진다. 이 재배열은 예를 들면, 갱신 관리정보의 스테이터스 1(2011A)의 순서로 행하여진다. 또, 재배열은 결함 클러스터 선두 PSN(2012), 스테이터스 2(2011B), 교체 클러스터 선두 PSN(2013)의 순서로 행하여진다.
이상에서 도 8a의 스텝 S113은 종료이다. 여기에서 얻어진, 최신의 교체 관리정보 리스트는 (일시)디스크 관리정보영역에 추기된다.
또, 상술한 처리예에서는 의사덮어쓰기 기록을 위한 교체기록이 행하여진 경우에 관해서 설명하였지만, 이것이, 결함 클러스터의 발생에 의한 교체기록에 관해서도 마찬가지로 적용 가능하다.
도 20a로부터 도 24b를 사용하여, 기록처리순서에 관해서 더욱 설명한다.
도 20a는 도 13a 등과 같이 정보기록매체(100) 상의 물리 어드레스공간과 논리 어드레스공간을 도시한다. 도 20a에서는 포맷처리 직후에, LSN=0의 위치에 데이터 "A0"이 기록된 상태를 도시한다. 물리 어드레스공간에서는 PSN=1000의 위치에 데이터 "A0"이 기록되어 있다.
이 때, LSN=0과 PSN=1000은 초기 논리 어드레스-물리 어드레스 맵핑의 관계를 유지하고 있다.
그 때문에, 도 20b에 도시하는 도 20a에 대응하는 교체 관리정보 리스트는 교체 관리정보는 포함되어 있지 않고, 헤더정보(1001)만을 포함한다.
다음에, 도 20a의 상태에서, 호스트장치(305)로부터 LSN=0의 위치에 데이터 "A1"을 기록하도록 지시가 이루어졌다고 한다. 이 기록이 행하여진 후의 상태를 도 21a에 도시한다.
도 21a에 도시하는 바와 같이, PSN=1000의 위치는 이미 기록 완료이기 때문에, 데이터 "A1"은 예를 들면 사용자 데이터영역 중의 PSN=1132의 위치에 교체된다.
이 때의 교체기록은 1회째의 교체기록이기 때문에, 도 19a를 사용하여 설명한 스텝 S302 이후의 순서에 따라서, 도 21b에 도시하는 DFL 엔트리(2100A)가 교체 관리정보 리스트에 추가된다.
다음에, 도 21a의 상태에서, 호스트장치(305)로부터 LSN=0의 위치에 데이터 "A2"를 기록하도록 지시가 이루어졌다고 한다. 이 기록이 행하여진 후의 상태를 도 22a에 도시한다.
도 22a에 도시하는 바와 같이, PSN=1000은 이미 기록 완료이기 때문에, 데이터 "A2"는 예를 들면 사용자 데이터영역 중의 PSN=1164의 위치에 교체된다.
이 때의 교체기록은 2회째의 교체기록이기 때문에, 도 19a를 사용하여 설명한 스텝 S304 이후의 순서에 따라서, 도 22b에 도시하는 바와 같이, DFL 엔트 리(2100A)가 갱신되어, DFL 엔트리(2100B)가 된다(즉, DFL 엔트리의 추가는 행하여지지 않는다). 다음에, 도 22a의 상태에서, 호스트장치(305)로부터 LSN=96의 위치에 데이터 "B0"을, LSN=128 내지 192의 위치에 데이터 "C0"을 기록하도록 지시가 이루어졌다고 한다. 이 기록이 행하여진 후의 상태를 도 23a에 도시한다.
도 23a에 도시하는 바와 같이, 데이터 "B0"을 PSN=1196의 위치에 기록할 때, 베리파이처리가 에러가 되었다고 한다.
이 때, 데이터 "B0"은 예를 들면, 외주 교체영역(107) 중의 PSN=x10에 교체된다.
이 때의 교체기록은 1회째의 교체기록이기 때문에, 도 19a를 사용하여 설명한 스텝 S302 이후의 순서에 따라서, 도 23b에 도시하는 바와 같이, DFL 엔트리(2101A)가 추가된다.
한편, 데이터 "CO"의 기록 후의 베리파이에는 성공한 것으로 하면 교체 관리정보 리스트는 변화하지 않는다.
다음에, 도 23a의 상태에서, 호스트장치(305)로부터 LSN=128 내지 192의 위치에 데이터 "C1"을 기록하도록 지시가 이루어졌다고 한다. 이 기록이 행하여진 후의 상태를 도 24a에 도시한다.
도 24a에 도시하는 바와 같이, PSN=1228 내지 1292의 위치는 이미 기록 완료이기 때문에, 데이터 "C1"은 예를 들면 사용자 데이터영역 중의 PSN=1324 내지 1388의 위치에 교체된다.
이 때의 교체기록은 1회째의 교체기록이기 때문에, 도 19a를 사용하여 설명 한 스텝 S302 이후의 순서에 따라서, 도 24b에 도시하는 바와 같이, DFL 엔트리(2102A 및 2103A)가 추가된다.
여기에서, 이 교체기록은 연속영역(2200(PSN=1228 내지 1292))으로부터 연속영역(2201(PSN=1324 내지 1388))으로의 교체기록이기 때문에, 상술과 같이, 교체영역의 선두를 나타내는 DFL 엔트리(2102A)와, 종료위치를 나타내는 DFL 엔트리(2103A)를 사용하고 있다.
즉, 본 발명의 드라이브장치(310)는 연속영역(2200)을 사용자 데이터영역(108) 중의 연속영역(2201)으로 교체하는 의사덮어쓰기에 있어서, 연속영역(2200)의 개시위치를, 연속영역(2201)의 개시위치에 맵핑하는 제 1 교체 관리정보(DFL 엔트리(2102A))와, 연속영역(2200)의 종료위치를, 연속영역(2201)의 종료위치에 맵핑하는 제 2 교체 관리정보(DFL 엔트리(2103A))를 생성한다.
여기에서, 3개의 ECC 클러스터분의 연속영역의 교체기록을 하였음에도 불구하고, DFL 엔트리는 2개밖에 추가되어 있지 않다. 이것은 DFL 엔트리(2102A) 및 DFL 엔트리(2103A)에 의해서, 사용자영역 중의 교체처를 연속영역으로서 맵핑함으로써 얻어지는 효과이다.
또, 연속영역의 교체에 관해서도, 2회째 이후에 관해서는 기존의 DFL 엔트리를 갱신하는 것은 말할 필요도 없다.
(실시형태 2)
2-1. NWA 결정처리순서
여기에서는 호스트장치(305)의 요구에 의해 드라이브장치(310)가 회신하는 논리 어드레스로 나타내진 다음번 기록 가능 위치(이후, 논리 NWA)의 결정방법에 관해서 설명한다.
본 실시형태에 있어서는 논리 NWA는 다음의 수순에 의해 결정된다.
우선, LRA로 나타내지는 물리 섹터를 포함하는 ECC 클러스터의 다음의 ECC 클러스터를 결정한다. 이 ECC 클러스터가 다음의 기록 ECC 클러스터이다. 기록 ECC 클러스터의 선두 물리 섹터가 다음번 기록 가능 위치가 되고, 이 물리 어드레스로 나타내진 다음번 기록 가능 위치가 상술한 NWA이다.
논리 NWA의 값은 이 NWA가 나타내는 PSN의 값을 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 LSN으로 변환하여 얻어지는 값이 된다.
이하, 몇개인가의 구체적인 예를 사용하여 설명을 한다.
도 12의 상태에 있어서는 LRA(500)가 사용자 데이터영역(108)의 선두를 가리키고 있기 때문에, 이 시점에서의 물리 어드레스공간에서의 NWA는 PSN=1100이다. PSN=1100에 대한 LSN은 LSN=0이기 때문에, 논리 NWA=0이 된다.
도 13a에서는 호스트장치(305)는 드라이브장치(310)로부터 논리 NWA=0을 얻어, 데이터 "A"를 LSN=0에 기록하도록 지시를 하고 있다.
또한, 데이터 "A"의 기록 직후에서는 트랙 #1의 LRA는 PSN=1100을 포함하는 ECC 클러스터를 가리키기 때문에, 그 NWA는 PSN=1132이다. 따라서 논리 NWA=32가 된다. 이 때, 호스트장치(305)는 논리 NWA=32에 대하여 데이터 "B"의 기록을 지시하는 경우가 있을 수 있다.
데이터 "B"의 기록 직후에서는 트랙 #1의 LRA는 PSN=1132를 포함하는 ECC 클 러스터 내의 물리 섹터를 가리키기 때문에, 그 NWA는 PSN=1164이다. 따라서 논리 NWA=64가 된다.
이상과 같은 논리 NWA의 결정방법의 특징은 초기 논리 어드레스-물리 어드레스 맵핑의 관계를 유지하도록 논리 NWA를 정하는 것이다. 즉, 트랙 내의 LRA로부터 NWA를 먼저 정하고 나서, 초기 논리 어드레스-물리 어드레스 맵핑에 의해 논리 NWA를 얻고 있기 때문에, 신규의 데이터 기록에 관해서는 교체 관리정보(1010B)가 필요 없다.
또, 도 14a에서, 실제의 최신의 논리 NWA가 LRA(500B)에 대응함에도 불구하고, 호스트장치(305)가 논리 NWA로서 LRA(501B)에 대한 값을 유지하여 버릴 경우가 있다.
이러한 상태는 PSN=1292의 위치 이후에 대한 기록이, 드라이브장치(310)에 의해 호스트장치(305)로부터는 독립된 동작으로서 실행되고, 또한, 호스트장치(305)가 드라이브장치(310)로부터 최신의 논리 NWA를 취득하지 않은 경우에 생긴다.
그리고 만약, 이 상태에서 호스트장치(305)가 신규데이터를 기록 지시하고자 하면, LRA(501B)에 대응하는 논리 NWA로 기록 지시를 내리게 되지만, 실제의 데이터는 드라이브장치(310)에 의해 PSN=1336의 위치에 기록된다.
이 기록은 교체기록이 되기 때문에, 새로운 교체 관리정보가 필요하게 되어 버린다.
한편, 호스트장치(305)가 최신의 LRA(500B)에 대응하는 논리 NWA를 드라이브 장치(310)로부터 취득하고 나서 신규데이터의 기록을 지시하면, 그 기록은 교체기록이 되지 않고, 새로운 교체 관리정보도 불필요하다.
도 15a 및 도 16a에서도 마찬가지로, 각 도면에 있어서 호스트장치(305)는 논리 NWA로서 LRA(501C)에 대한 값을 유지하는 경우가 있지만, 실제의 최신의 LRA는 각각 LRA(500C) 및 LRA(500D)이다.
따라서 호스트장치(305)는 신규데이터의 기록 전에, 최신의 논리 NWA를 취득하는 것이 바람직하다.
이상, 정리하면, 호스트장치(305)가 신규데이터의 기록을 지시할 때, 예를 들면, 도 8a의 스텝 S102의 직전에, 최신의 논리 NWA를 드라이브장치(310)로부터 취득하기 위한 요구를 출력한다. 한편, 이 요구를 수취한 드라이브장치(310)는 상술한 순서에 의해, LRA 및 NWA로부터 결정되는 논리 NWA를 호스트장치(305)로 되돌린다.
논리 NWA를 수취한 호스트장치(305)는 그 값을 바탕으로, 다음의 기록 지시를 한다.
이러한 동작에 의해, 신규데이터의 기록에는 교체 관리정보(1010B)가 불필요하고, 교체기록을 하였을 때에만 교체 관리정보(1010B)가 필요하게 된다.
그 결과, 교체 관리정보 리스트(1000)의 데이터량의 증가를 억제하는 것이 가능해져, 데이터 기록 재생시의 처리량의 저감, 메모리량의 삭감, 정보기록매체(100) 상에서의 데이터 용량의 삭감 등의 효과를 얻을 수 있다.
(실시형태 3)
3-1. 기록처리순서(1)
상술한 실시형태 2에 있어서의 NWA 결정방법에서는 어떤 LSN이 사용되지 않는 상황이 발생한다.
예를 들면, 도 14a에서, LSN=96의 위치의 논리 섹터는 호스트장치(305) 또는 파일 시스템으로부터 보면, 한번도 데이터가 기록되어 있지 않은 논리 섹터가 된다.
이러한 논리 섹터는 미기록 논리 섹터, 또는 미사용 논리 섹터, 고립 논리 섹터 등이라고 불린다.
또한, 이러한 미기록 논리 섹터로 이루어지는 논리 클러스터를 미기록 논리 클러스터라고 부른다. 예를 들면, 도 14a에서는 LSN=96 내지 127의 위치가 미기록 논리 클러스터이다.
마찬가지로, 도 15a에서는 LSN=X2의 위치가 미기록 논리 섹터이다.
도 14a 등에 도시하는 바와 같이, 이러한 미기록 논리 섹터에 대해서도, 다른 통상의 논리 섹터와 같이, LSN이 할당되고, 그 이후의 논리 섹터의 LSN도 변화하지 않는 것이 상술한 실시형태에 있어서의 NWA 결정처리순서의 특징이다.
이러한 미기록 논리 섹터에 대한 기록 지시가 행하여진 경우는 상술한 실시형태와 마찬가지로, 의사덮어쓰기 기록이 행하여진다. 예를 들면, 다음과 같은 처리를 고려할 수 있다.
여기에서는 도 14a의 상태에서, LSN=96의 위치에 대한 데이터 "F"의 기록 지시가 발생하였다고 한다.
이 때 드라이브장치(310)는 LSN=96을 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 PSN=1196으로 변환한다.
PSN=1196과 NWA를 비교하면, PSN=1196은 기록 완료인 것을 알 수 있다.
이 때, 상술한 다른 실시형태와 같이 의사덮어쓰기 기록을 한다.
그래서, 드라이브장치(310)는 NWA로 나타내지는 위치(이 경우, PSN=1336)에 데이터 "F"를 기록하고, 또, 교체 관리정보(518)를 생성한다.
이러한 처리에 의해, LSN=96의 위치에 대한 기록이 행하여진다. 그 결과, LSN=96은 미기록 논리 클러스터가 아니게 되고, 통상의 논리 클러스터가 된다.
단, PSN=1336의 위치에 대하여 초기 논리 어드레스-물리 어드레스 맵핑으로 관련지어지는 LSN=256 내지 287의 위치가 새롭게 미기록 논리 클러스터가 된다.
또, 데이터 "G"의 기록을 한다고 하면 도 17a 및 도 17b의 상태가 된다.
3-2. 재생처리순서(1)
도 14a에서, LSN=224의 위치의 논리 클러스터는 미기록 논리 클러스터이다.
LSN=224의 위치의 미기록 논리 클러스터에 대하여, 초기 논리 어드레스-물리 어드레스 맵핑으로 대응하는 물리 클러스터는 PSN=1324의 위치가 된다.
PSN=1324의 위치의 물리 클러스터는 또, 교체 관리정보(514)에 의해, PSN=1228의 위치의 물리 클러스터와 관련지어져 있다.
그리고 PSN=1228의 위치의 물리 클러스터는 초기 논리 어드레스-물리 어드레스 맵핑에 따라서, LSN=128의 위치의 논리 클러스터와 맵핑된다.
즉, PSN=1228의 위치의 물리 클러스터는 LSN=128의 위치의 논리 클러스터와, LSN=224의 위치의 미기록 논리 클러스터의 2개의 논리 클러스터가 할당되어 있다.
이러한 2개의 논리 클러스터가 하나의 물리 클러스터에 할당되어 있는 상태로 재생이 행하여질 때의 순서에 관해서 이하에 설명한다.
우선, LSN=128의 위치의 논리 클러스터에 대하여 호스트장치(305)로부터 재생 지시가 나려지면, 우선, 드라이브장치(310)는 수취한 LSN을 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 PSN으로 변환한다(재생처 PSN이라고 부른다).
여기에서는 재생처 PSN은 PSN=1228이 된다. 교체 관리정보 리스트에 대하여 PSN=1228을 교체원으로서 가지는 교체 관리정보를 검색하면 교체 관리정보(514A)가 발견된다.
그리고 교체 관리정보(514A)가 가리키는 대체 클러스터인 PSN=1324의 위치의 물리 클러스터를 재생한다.
한편, LSN=224의 위치의 논리 클러스터에 대하여 재생 지시가 내려지면, 초기 논리 어드레스-물리 어드레스 맵핑에 따라서, 재생처 PSN으로서 PSN=1324의 값이 얻어진다. 그렇지만, 교체 관리정보 리스트에 대하여 PSN=1324를 교체원으로서 가지는 교체 관리정보를 검색하여도 발견되지 않는다.
그래서 드라이브장치(310)는 PSN=1324로부터 데이터를 재생한다.
이러한 재생처리에 의해, 논리적으로는 한번도 데이터가 기록되어 있지 않은 미기록 논리 섹터에 대하여 재생 지시가 내려진 경우에도, 대응하는 물리 섹터로부 터 데이터가 재생된다.
따라서, 호스트측의 파일 시스템 등으로부터 보면, 정보기록매체(100) 상의 영역에 대하여 예외적인 영역이 없어지고, 그 시스템 구성 중에 복잡한 에러처리를 실장할 필요가 없어져, 더욱 간단한 실장으로 시스템을 구축하는 것이 가능해진다.
또, 미기록 논리 섹터에 대하여 재생 지시가 행하여졌을 때, 상술과 같이 대응하는 물리 클러스터로부터 데이터의 재생을 하여 버리면, 원래 재생되어서는 안되는 데이터가 재생되게 된다. 만약, 이러한 데이터 재생이 시스템 구성상, 부적당한 경우는 다음과 같은 재생순서를 이용하여도 좋다.
즉, 데이터의 재생에 있어서, 재생 지정된 LSN을 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 PSN으로 변환하여, 얻어진 PSN을 교체 관리정보 리스트(1000) 중의 교체원 위치정보(1012)로서 가지는 교체 관리정보(1010B)를 검색한다.
만약, 대응하는 교체원 위치정보(1012)가 발견되면, 상술한 다른 실시형태 와 마찬가지로, 교체처 위치정보(1013)가 나타내는 위치의 ECC 클러스터로부터 데이터를 재생한다.
만약, 발견되지 않으면, 다음에, 교체처 위치정보(1013)를 대상으로 하여, 재생지정된 LSN에 대응하는 PSN의 값을 가지는 교체원 위치정보(1012)를 검색한다.
만약, 해당하는 교체처 위치정보(1013)가 발견되면, 그 교체처 위치정 보(1013)로 지시되는 ECC 클러스터는 대체 클러스터로서 이미 기록 완료라고 판단된다.
*이 때, 드라이브장치(310)는 이 ECC 클러스터로부터 데이터를 재생하지 않고, 그 대신에 재생 데이터로서 소정의 값, 예를 들면 전부 0의 값을 호스트장치(305)로 회신한다.
이러한 재생처리에 의해, 미기록 논리 섹터에 대하여 재생 지시가 내려진 경우에도, 대응하는 물리 섹터로부터 적절한 데이터가 재생된다.
또, 이러한 재생처리는 도 10을 참조하여 설명한 재생처리의 각 스텝에서, 드라이브장치(310)가 호스트장치(305)로부터 재생 지시를 수취하였을 때에 실행된다.
3-3. NWA 결정순서의 비교
상술한 실시형태와는 달리, 미기록 논리 섹터가 발생하지 않는 NWA 결정순서에 관해서 설명한다.
본 NWA 결정순서에 있어서는 논리 LRA를 관리하여, 논리 LRA의 인접하는 위치인 논리 NWA에 새로운 데이터를 기록한다.
이 때, 논리 NWA를 나타내는 LSN을 초기 논리 어드레스-물리 어드레스 맵핑에 의해 PSN(PSN-1로 한다)으로 변환한다.
또한, 이 논리 NWA에 대하여, 실제로 데이터를 기록하는 ECC 클러스터는 LRA(213)로 나타내지는 PSN을 포함하는 ECC 클러스터의 다음의 ECC 클러스터인 NWA 로 한다(이 NWA의 위치를 나타내는 PSN을 PSN-2로 한다).
이 PSN-1을 교체원, PSN-2를 교체처로 하는 교체기록을 한다.
이 때, 논리 NWA를 관리하기 위해서, 도 25에 도시하는 트랙 관리정보(3210)의 다른 실시형태를 사용한다.
도 25의 트랙 관리정보(3210)에서는 새롭게 트랙 내 최종 데이터 기록 논리위치정보(3214)가 정의된다.
트랙 내 최종 데이터 기록 논리위치정보(3214)는 트랙 내 최종 데이터 기록위치정보(213)가 PSN에 의한 물리 어드레스공간에서의 최종 기록위치를 관리하였던 것에 대하여, LSN에 의한 논리 어드레스공간에 의한 최종 기록위치를 관리하기 위해서이다.
드라이브장치(310)는 트랙 내 최종 데이터 기록 논리위치정보(3214)를 참조함으로써, 각 트랙마다의 논리 NWA를 정할 수 있다.
트랙 내 최종 데이터 기록 논리위치정보(3214)의 갱신방법은 이하와 같다.
즉, 트랙 내 최종 데이터 기록 논리위치정보(3214)의 초기치로서 0이 설정된다. 그리고, 호스트장치(305)로부터 기록 지시를 수취한 드라이브장치(310)는 기록위치를 LSN으로서 수취한다. 수취한 LSN이 트랙 내 최종 데이터 기록 논리위치정보(3214)보다도 큰 경우, 그 LSN으로 트랙 내 최종 데이터 기록 논리위치정보(3214)를 갱신한다.
이러한 처리에 의해, 트랙 내 최종 데이터 기록 논리위치정보(3214)를 최대의 값으로 유지하는 것이 가능하다.
도 26a에, 상술한 NWA 결정순서에 의해서, 도 13a, 도 14a, 도 17a와 같은 순서로 데이터 "A", "B", "C", "D", "F", "G"의 기록을 한 경우의 데이터 구조를 도시한다.
도 26b에서는 모든 결함 클러스터를 교체 관리정보(7)로서 등록하고 있다. 단, 이들의 교체 관리정보(7)에 관해서는 교체 관리정보 리스트(1000F)로부터 삭제하여도 좋다. 삭제함으로써, 교체 관리정보 리스트(1000F) 중의 용량을 작게 할 수 있다.
여기에서, 도 17b와, 도 26b의 각각의 교체 관리정보 리스트(1000E와 1000F)를 비교하면, 교체 관리정보 리스트(1000E)가 교체 관리정보의 수가 적어져 있다.
교체 관리정보(7)를 삭제한 상태로 비교하면, 교체 관리정보 리스트(1000E)가 더욱 교체 관리정보의 수가 적다.
따라서, 실시형태 1이나 실시형태 2에서 설명한, 미기록 논리 섹터가 발생하는 NWA의 결정방법은 도 26a를 참조하여 설명한 미기록 논리 섹터가 발생하지 않는 방법보다, 교체 관리정보 리스트의 데이터 용량을 억제할 수 있는 점에서 바람직하다.
또, 교체 관리정보 리스트(1000F) 중에서, 교체 관리정보(7)를 남겨 둠으로써, 정보기록매체 상(100)의 결함 클러스터의 분포를 미리 파악할 수 있고, 재생시에 있어서 이들을 피하면서 데이터를 선판독하는 등의 처리의 최적화에 이용 가능하다.
(실시형태 4)
본 실시형태에 있어서, 데이터의 기록순서에 관해서 더욱 설명한다.
도 27은 본 실시형태에 의한 데이터 기록이 행하여지기 전의 정보기록매체(100)의 데이터 구조의 일례를 도시하는 도면이다. 도면 중에서 ▼로 도시되는 위치는 ECC 클러스터간의 경계를 나타내고 있다. 이후, 다른 도면에 있어서도 동일하다.
이 상태에 있어서, 호스트장치(305)로부터, 데이터 "D1"(4622)과 데이터 "E1"(4623)의 기록 지시가 드라이브장치(310)에 내려졌을 때의 기록순서에 대해서 설명한다.
데이터 "D1"(4622)의 기록 지시는 예를 들면 기록 완료 영역(4600) 중의 PSN=a0의 위치로의 의사덮어쓰기 기록이 된다.
기록 지시를 하는 데 있어서, 호스트장치(305)는 논리 NWA를 드라이브장치(310)에 요구한다.
논리 NWA가 요구된 드라이브장치(310)는 LRA(4610A)로부터 NWA(4611A)를 결정하여, NWA(4611A)에 대응하는 논리 NWA를 호스트장치(305)에 회신한다.
이 때, 호스트장치(305)가 드라이브장치(310)에 대하여, PSN=a0에 대응하는 LSN=A0으로의 데이터 "D1"(4622)의 기록 지시와, NWA(4611A(PSN=a2))에 대응하는 LSN=A2로의 데이터 "E1"(4623)의 기록 지시를 연속적으로 하는 경우가 있을 수 있다.
만약, 드라이브장치(310)가, 호스트장치(305)의 기록 지시대로 데이터 "D1"(4622), 데이터 "E1"(4623)의 순서로 기록 지시를 하면, 그 기록결과는 도 28과 같아진다.
여기에서, 데이터 "D1"(4622)의 기록 지시는 기록 완료 영역(4600)으로의 의사덮어쓰기 기록이 된다. 따라서, 데이터 "D1"(4622)은 NWA(4611A(PSN=a2))로 교체된다. 그리고, NWA(4611A)는 NWA(4611B(PSN=a3))가 된다.
이 교체기록에 의해 PSN=a2의 위치는 기록 완료가 되기 때문에, 데이터 "E1"(4623)은 또, NWA(4611B(PNS=a3))로 교체된다.
상술한 바와 같이, 호스트장치(305)는 NWA(4611A(PSN=a2))에 대응하는 LSN=A2에 대하여 기록 지시를 내렸음에도 불구하고, 실제로는 그것과는 다른 위치(PNS=a3)에 기록되게 된다.
따라서, 데이터 "D1"(4622A)에 대해서뿐만 아니라, 데이터 "E1"(4223A)에 대한 교체 관리정보(1010)가 생성되어 버려, 교체 관리정보 리스트(1000)의 용량이 증가한다고 하는 과제가 발생한다.
이러한 과제는 호스트장치(305)가 예기하지 않은 교체기록이 드라이브장치에 의해 실시된 것이 원인이다.
즉, 드라이브장치에 의한 교체기록의 실시 후, 호스트장치(305)로부터의 더욱 기록 지시에 의해, 교체처리가 필요하게 되어, 교체 관리정보 리스트(1000)의 용량을 증가시켜 버린다.
한편, 본 실시형태에 있어서의 기록순서에 있어서, 데이터 "E1"(4623)에 대한 교체 관리정보(1010)가 발생하지 않는 방법을 이후에서 설명한다.
본 실시형태에 있어서는 도 27의 상태에서 호스트장치(305)가 기록 지시를 하는 경우, 먼저 추기를 기록 지시하기로 한다.
그리고 추기의 기록 지시의 후에 덮어쓰기 기록의 기록 지시를 한다. 이러한 기록순서의 결과는 도 29와 같은 데이터 구조가 된다.
또, 호스트장치(305) 상에서 동작하는 파일 시스템은 모든 파일의 갱신이나 신규작성의 관리를 하기 때문에, 기록 지시의 순서를 결정할 수 있다.
도 29에서는 데이터 "E1"(4623B)이, NWA(4611A(PSN=a2))에 기록되어 있다. 또한, 데이터 "D1"(4622B)이 PSN=a4에 기록되어 있다.
상술한 바와 같이, 호스트장치(305)는 NWA(4611A(PSN=a2))에 대하여 기록 지시를 내렸기 때문에, 기록 지시가 이루어진 위치와 실제로 기록된 위치가 같아진다. 따라서 이 기록은 교체기록이 되지 않는다.
즉, 데이터 "E1"(4623)에 대한 교체 관리정보(1010)가 생성되지 않고, 교체 관리정보 리스트(1000)의 용량 증가를 막는 것이 가능해진다.
또, 데이터 "D1"(4622)의 기록에 있어서는 도 28 및 도 29의 어떤 경우에나, 같은 만큼의 교체 관리정보(1010)가 필요하게 된다. 도 28 및 도 29에 있어서, 데이터 "D1"(4622)의 기록위치(즉 교체처의 위치)가 변할 뿐이며, 필요한 교체 관리정보(1010)의 수는 변화하지 않는다.
이상으로부터, 본 실시형태는 호스트장치(305)가, 덮어쓰기 기록과 추기를 하려고 하는 있는 경우는 추기쪽을 우선하여 기록 지시함으로써, 교체 관리정보(1010)의 발생을 회피하는 것이 가능해져, 교체 관리정보 리스트(1000)의 데이터 용량 삭감에 효과가 있다.
(실시형태 5)
여기에서, 어떤 용량의 데이터를 호스트장치(305)가 ECC 클러스터의 용량(예를 들면 64KB)마다 분할하여, 분할한 단위마다 드라이브장치(310)에 순차, 기록 지시를 하는 경우를 생각한다.
드라이브장치(310)가 이들의 데이터를 연속적으로 기록하고 있을 때, 어떤 기록위치에서 결함 클러스터가 존재하고, 그 결함 클러스터를 대체하기 위해서 인접하는 ECC 클러스터가 사용되는 경우가 있다.
이러한 경우, 그 이후의 기록위치 이후에서, 모든 기록이 1클러스터씩, PSN이 큰 방향으로 데이터를 교체기록하게 된다.
이 때, 기록 단위마다 교체 관리정보가 필요하게 되어, 기록하는 데이터 용량이 큰 경우, 다수의 교체 관리정보가 필요하게 되고, 교체 관리정보 리스트(1000)의 데이터 용량이 커져 버린다.
그래서 본 실시형태에 있어서는 교체기록에 있어서, 교체 관리정보 리스트(1000)의 데이터 용량 삭감에 효과가 있다, 드라이브장치(310)에 의한 대체 클러스터의 기록처 선택순서에 관해서 도 30을 참조하여 설명한다.
도 30에서는 예를 들면, 호스트장치(305)에 의한 기록 지시에 의해, 교체원 클러스터(5700)를 교체원으로 하는 교체기록이 행하여진다.
이 때, 교체처는 이하의 순서에 의해 결정된다.
도 30에서, 대체 클러스터가 할당 가능한 교체처로서는 미기록영역(5601A; 트랙 #N(5602) 중), 미기록영역(5612; 트랙 #N+1(5610) 중), 미기록영역(5622; 트랙 #N+2(5620) 중), 미기록영역(5632; 트랙 #N+3(5630) 중)이 있다.
여기에서, 교체원 클러스터(5700)의 위치(예를 들면, 교체원 클러스터(5700) 중의 선두물리 섹터)로부터, 교체처의 후보의 위치(예를 들면, 오픈 트랙의 NWA 위치)에 대한 거리를 조사한다. 도 30에 있어서는 상술한 각 교체처 후보에 대하여, 각각 D13, D12, D10, D11이 된다.
여기에서 각 거리의 값의 대소관계가, D13>D12>D11>D10이라고 한다.
가장 거리가 가까운(즉 D10의) 미기록영역(5622)을 교체처로서 선택함으로써, 교체원으로부터 교체처로의 거리는 그 시점에서의 최단이 되어, 데이터의 재생에 있어서는 액세스시간을 최단으로 하는 것이 가능해진다.
그렇지만, 미기록영역(5622)은 교체원 위치(5700)와 같은 트랙 #N+2(5620)에 포함된다. 따라서, 교체처를 미기록영역(5622)으로 하면, 상술한 바와 같이, 호스트장치(305)로부터 연속적인 기록 지시가 행하여진 경우에, 교체 관리정보 리스트(1000)의 데이터 용량이 증가한다고 하는 과제가 발생한다.
그래서 본 실시형태에 있어서는 교체원 클러스터로부터 가장 거리가 가까운 미기록영역을 교체처로서 선택하지만, 이 선택에 있어서는 교체원 클러스터와 동일 트랙 내의 미기록영역을 제외하는 것을 특징으로 한다.
즉, 가장 거리가 가까운 미기록영역(5622)을 제외하고, 다음으로 거리가 가까운(즉 D11의) 미기록영역(5632)을 교체처로 한다.
따라서, 교체원 클러스터(5700)에 대하여 호스트장치(305)로부터 기록 지시 가 행하여졌을 때, 드라이브장치(310)는 미기록영역(5632)의 NWA 위치에 교체처 클러스터(5710)를 기록한다.
그리고, 교체원 클러스터(5700)로부터 교체처 클러스터(5710)로의 맵핑을 나타내는 교체 관리정보를 생성하여, 기록한다.
스텝 S107 및 S112(도 8a)를 참조하여 설명한 바와 같이, 본 발명의 드라이브 제어부(311)는 의사덮어쓰기 기록을 실행할 때, 수취한 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치 이외의 특정한 위치이며, 사용자 데이터영역(108)에 있어서의 특정한 위치에 데이터를 기록하도록 기록 재생부(314)를 제어한다.
본 실시예에 있어서는 그 특정한 위치는 스텝 S104(도 8a)에 있어서 결정된 트랙과는 다른 오픈 트랙 내의 NWA이다.
또, 그 오픈 트랙 내의 NWA는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스에 의해서 나타내지는 위치에 가장 가까운 위치를 나타내는 것이다.
이러한 기록순서에 의해, 호스트장치(305)에 의해 또, 계속해서 기록 지시가 내려졌다고 해도, 미기록영역(5622)으로의 신규의 데이터 기록을 하여도 교체기록은 되지 않고, 교체 관리정보의 추가는 불필요하다.
또한, 교체원으로부터 교체처로의 거리는 동일 트랙을 제외하고 가장 가까워진다. 따라서, 데이터의 재생에 있어서 액세스시간을 단축할 수 있다.
또, 교체원 클러스터보다 큰 PSN을 가지는 미기록영역만을 대상으로 하여 거 리를 조사하여, 교체처를 정하도록 하여도 좋다. 추기형의 정보기록매체에서는 PSN이 증가하는 방향으로 시퀀셜 기록을 하기 때문에, PSN이 증가하는 방향으로 교체기록한 것이, 데이터로의 액세스를 효율적으로 할 수 있기 때문이다. 이 경우, 큰 PSN을 가지는 미기록영역이 없어지면, 작은 PSN을 가진 미기록영역을 대상으로 하면 좋다.
또, 거리가 같은 미기록영역이 복수 있는 경우, PSN이 증가하는 방향을 선택하는 것이 바람직하다. 추기형의 정보기록매체에서는 PSN이 증가하는 방향으로 시퀀셜 기록을 하기 때문에, PSN이 증가하는 방향으로 교체기록한 것이, 데이터로의 액세스를 효율적으로 할 수 있기 때문이다.
또, 교체원과 교체처의 거리에 관해서는 교체원과 교체처의 PSN치의 차로부터 결정하여도 좋다. 또는 교체원과 교체처의 물리적인 거리로부터 결정하여도 좋다. 정보기록매체(100)에 있어서는 PSN은 내주측으로부터 스파이럴형으로 증가하여 가기 때문에, PSN치의 차가 물리적인 거리에 일치하지 않는 경우도 있을 수 있기 때문이다. 예를 들면 정보기록매체(100)의 반경방향으로 인접하는 ECC 클러스터끼리는 물리적으로는 거리가 가깝지만, PSN치의 차는 최소가 되지는 않는다.
(실시형태 6)
도 34를 참조하여, 본 실시형태의 데이터 기록의 순서를 설명한다. 여기에서는 도 6에 도시되는 정보기록 재생장치(300)를 사용하여, 데이터가 정보기록매체(100)에 기록되는 것으로 한다. 도 34에 도시되는 각 스텝은 드라이브장치(310)의 드라이브 제어부(311)에 의해서 실행된다.
(스텝 S1101) 드라이브 제어부(311)는 호스트장치(305)로부터 기록 지시를 수취한다. 기록 지시는 기록되어야 하는 데이터와, 그 데이터가 기록되어야 하는 위치를 나타내는 논리 어드레스를 지정한다.
이 처리는 도 8a에 도시되는 스텝 S102의 처리와 동일하다.
(스텝 S1102) 드라이브 제어부(311)는 기록 지시에 포함되는 논리 어드레스를 물리 어드레스로 변환한다. 이러한 변환은 예를 들면, 초기 논리 어드레스-물리 어드레스 맵핑에 따라서 행하여진다.
이 처리는 도 8a에 도시되는 스텝 S103의 처리와 동일하다.
(스텝 S1103) 드라이브 제어부(311)는 사용자 데이터영역(108) 내에 할당된 적어도 하나의 트랙 중으로부터 하나의 트랙을 결정한다. 이러한 결정은 예를 들면, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스와 디스크 관리정보에 포함되는 트랙 관리정보(210; 도 2b)에 기초하여 행하여진다. 트랙 관리정보(210)는 트랙의 데이터영역(102) 상에서의 범위를 나타내기 때문에, 물리 어드레스를 알면, 대응하는 트랙을 결정할 수 있다.
이 처리는 도 8a에 도시되는 스텝 S104의 처리와 동일하다.
(스텝 S1104) 드라이브 제어부(311)는 스텝 S1103에 있어서 결정된 트랙이 오픈 트랙인지 클로즈드 트랙인지를 결정한다. 이러한 결정은 예를 들면, 트랙 관리정보(210; 도 2b)에 기초하여 행하여진다. 헤더정보(201)에 트랙번호가 포함되어 있지 않은 트랙이 클로즈드 트랙이다.
또, 오픈 트랙의 정의에 관해서는 실시형태 1을 참조할 것이다. 클로즈드 트랙의 정의에 관해서는 실시형태 1을 참조할 것이다.
또, 본 발명을 BD-R 규격에 적용하는 경우에는 본 명세서에 있어서의 용어 「오픈 트랙」을 「오픈 SRR」으로 바꾸어 읽기로 하고, 본 명세서에 있어서의 용어 「클로즈드 트랙」을 「클로즈드 SRR」로 바꾸어 읽기로 한다.
스텝 S1104에 있어서 오픈 트랙이라고 결정된 경우에는 처리는 스텝 S1105로 진행하고, 클로즈드 트랙이라고 결정된 경우에는 스텝 S1106으로 진행한다.
(스텝 S1105) 본 스텝에서는 오픈 트랙에 대한 기록처리가 실행된다. 오픈 트랙에 대한 기록처리는 예를 들면, 도 8a에 도시되는 스텝 S105 내지 S114를 포함한다.
(스텝 S1106) 본 스텝에서는 클로즈드 트랙에 대한 기록처리가 실행된다. 클로즈드 트랙에 대한 기록처리는 예를 들면, 도 8a에 도시되는 스텝 S106 내지 S114를 포함한다.
즉, 클로즈드 트랙으로의 기록처리에 있어서는 의사덮어쓰기 기록이 행하여진다. 이 때, 교체처로서는 스텝 S1104에서 결정된 클로즈드 트랙과는 다른 오픈 트랙의 NWA일 수 있다.
이하, 도 34에 도시되는 데이터 기록의 순서에 따른 구체적인 처리의 예를 설명한다.
도 35a는 도 34에 도시되는 데이터 기록의 순서에 따른 처리가 행하여지기 전의 정보기록매체(100)의 데이터 구조의 일례를 도시한다.
도 35a에 도시되는 예에서는 트랙 #N-1, 트랙 #N이 사용자 데이터영역(108) 내에 할당되어 있다. 여기에서, 트랙 #N-1은 오픈 트랙이다.
트랙 #N-1에는 기록 완료 영역(6600)과 미기록영역(6602)이 포함된다.
도 35a에 도시되는 상태에 있어서, 드라이브 제어부(311)가 호스트장치(305)로부터 기록 지시를 수신하였다고 가정한다. 여기에서, 이 기록 지시는 데이터 "A"(6602)를 LSN=A1(PSN=a1)의 위치에 기록하는 것을 지시하기로 한다.
종래의 시퀀셜 기록방법에 의하면, 이러한 기록 지시는 기록 에러로 되어 있었다. LSN=A1이 NWA(6611A)보다 크기 때문이다.
또는 이러한 기록 지시를 기록 에러로 하지 않는 경우는 도 36a에 도시하는 바와 같이, PSN=b1로부터 PSN=a1까지의 영역에 더미 데이터 또는 패딩 데이터(예를 들면, 모든 값이 "00h")를 기록하고, 그 영역에 계속되는 영역에 데이터 "A"(6602)를 기록하는 처리가 행하여졌다. 이러한 처리는 예를 들면, 도 8a에 도시되는 스텝 S112의 직전에 더미 데이터 또는 패딩 데이터를 기록하는 스텝을 삽입함으로써 달성된다.
*이 방법에 의하면, PSN=a1의 위치에 데이터 "A"(6602)가 기록된다. 그러나, 패딩 데이터의 기록이라는 불필요한 동작이 필요하게 되거나, 또는 정보기록매체(100)의 용량을 불필요하게 소비하여 버린다고 하는 다른 과제가 발생한다.
또한, 도 36a에 도시하는 방법은 데이터의 추기를 하고 있기 때문에, 트랙 #N-1이 오픈 트랙인 경우에 밖에 사용할 수 없다.
만약, 트랙 #N-1이 클로즈드 트랙이면, 데이터의 추기가 금지된다. 따라서, 클로즈드 트랙에 대해서는 도 36a에 도시하는 방법에 의한 기록은 할 수 없다.
트랙 #N-1이 오픈 트랙인지 클로즈드 트랙인지에 상관없이, 데이터를 기록하는 것을 가능하게 하기 위해서는 예를 들면, 도 37a에 도시하는 바와 같이, PSN=a1의 위치에 데이터 "A"(6602)를 기록하는 대신에, 교체영역 내의 특정한 위치에 데이터 "A"(6602)를 기록하도록 하면 좋다.
도 37a에 도시되는 예에서는 내주 교체영역(106) 내의 PSN=s1의 위치에 데이터 "A"(6602)가 기록되어 있다. 이와 같이, 도 37a에 도시되는 예에서는 트랙 #N-1 내에 데이터가 기록되지 않기 때문에, LRA(6610A)의 위치도 갱신되지 않는다.
드라이브 제어부(311)는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=A1)를 데이터 "A"(6602)가 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=s1)에 맵핑하기 위해서, 교체 관리정보(6615)를 생성한다.
도 37b는 교체 관리정보(6615)의 데이터 구조의 일례를 도시한다. 교체 관리정보(6615)는 교체원 어드레스로서의 결함 클러스터 선두 PSN(2012)과, 교체처 어드레스로서의 교체 클러스터 선두 PSN(2013)을 포함하고 있다. 교체 관리정보(6615)의 결함 클러스터 선두 PSN(2012)에는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=a1)가 설정되어 있다. 교체 관리정보(6615)의 교체 클러스터 선두 PSN(2013)에는 데이터 "A"(6602)가 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=s1)가 설정되어 있다.
이러한 교체 관리정보(6615)를 생성함으로써, LSN=A1의 위치로부터 데이터를 재생하는 것을 나타내는 재생 지시를 드라이브 제어부(311)가 호스트장치(315)로부 터 수신한 경우에는 LSN=A1에 대응하는 PSN=a1의 위치 대신에, PSN=s1의 위치로부터 데이터 "A"(6602)를 재생하는 것이 가능하게 된다.
또는 스텝 S1104에 있어서 트랙 #N-1이 오픈 트랙이라고 결정된 경우에는 도 38a에 도시하는 바와 같이, 트랙 #N-1의 NWA(6611A)의 위치(즉, PSN=b1의 위치)에 데이터 "A"(6602)를 기록하도록 하여도 좋다. 이 경우에는 데이터 "A"(6602)의 기록에 따라, 트랙 #N-1 내의 최종 기록위치를 나타내는 LRA(6610A)가 LRA(6610B)로 갱신된다.
드라이브 제어부(311)는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=a1)를 데이터 "A"(6602)가 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=b1)에 맵핑하기 위해서, 교체 관리정보(6616)를 생성한다.
도 38b는 교체 관리정보(6616)의 데이터 구조의 일례를 도시한다. 교체 관리정보(6616)의 구조는 교체 관리정보(6615)의 구조와 동일하다. 교체 관리정보(6616)의 결함 클러스터 선두 PSN(2012)에는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=a1)가 설정되어 있다. 교체 관리정보(6616)의 교체 클러스터 선두 PSN(2013)에는 데이터 "A"(6602)가 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=b1)가 설정되어 있다.
이러한 교체 관리정보(6616)를 생성함으로써, LSN=A1의 위치로부터 데이터를 재생하는 것을 나타내는 재생 지시를 드라이브 제어부(311)가 호스트장치(315)로부터 수신한 경우에는 LSN=A1에 대응하는 PSN=a1의 위치 대신에, PSN=b1의 위치로부터 데이터 "A"(6602)를 재생하는 것이 가능하게 된다.
또는 스텝 S1104에 있어서 트랙 #N-1이 클로즈드 트랙이라고 결정된 경우에는 도 39a에 도시하는 바와 같이, 트랙 #N-1과는 다른 오픈 트랙의 NWA의 위치에 데이터 "A"(6602)를 기록하도록 하여도 좋다.
도 39a에 도시되는 예에서는 트랙 #N-1에 인접하는 트랙 #N이 오픈 트랙이기 때문에, 트랙 #N의 NWA(6621A)의 위치에 데이터 "A"(6602)가 기록되어 있다. 이 경우에는 데이터 "A"(6602)의 기록에 따라, 트랙 #N 내의 최종 기록위치를 나타내는 LRA(6621A)가 LRA(6621B)로 갱신된다.
한편, 기록 지시가 행하여진 클로즈드 트랙인 트랙 #N-1 내의 최종 기록위치를 나타내는 LRA(6611A)는 갱신되지 않는다.
또, 트랙 #N과는 다른 오픈 트랙은 트랙 #N에 인접하는 트랙에 한정되지 않는다. 트랙 #N과는 다른 오픈 트랙은 트랙 #N 이외의 임의의 오픈 트랙일 수 있다.
예를 들면, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스로부터 가까운 오픈 트랙의 다음번 기록위치이면, 액세스성의 관점에서 바람직하다.
드라이브 제어부(311)는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=A1)를 데이터 "A"(6602)가 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=b2)에 맵핑하기 위해서, 교체 관리정보(7615)를 생성한다.
도 39b는 교체 관리정보(7615)의 데이터 구조의 일례를 도시한다. 교체 관리정보(7615)의 구조는 교체 관리정보(6615)의 구조와 동일하다. 교체 관리정 보(7615)의 결함 클러스터 선두 PSN(2012)에는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=a1)가 설정되어 있다. 교체 관리정보(7615)의 교체 클러스터 선두 PSN(2013)에는 데이터 "A"(6602)가 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=b2)가 설정되어 있다.
이러한 교체 관리정보(7615)를 생성함으로써, LSN=A1의 위치로부터 데이터를 재생하는 것을 나타내는 재생 지시를 드라이브 제어부(311)가 호스트장치(315)로부터 수신한 경우에는 LSN=A1에 대응하는 PSN=a1의 위치 대신에, PSN=b2의 위치로부터 데이터 "A"(6602)를 재생하는 것이 가능하게 된다.
도 37a, 도 38a 및 도 39a의 어떤 경우에나, 정보기록매체(100)에 있어서 사용된 영역은 기록 지시에 의해 지정되는 데이터 "A"(6602)의 용량분뿐이며, 더미 데이터 등의 불필요한 기록은 할 필요가 없다.
이상으로부터, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스가 NWA보다도 큰 경우에도, 교체 관리정보를 사용한 교체기록을 함으로써, 기록 에러가 되지 않고, 또한, 효율적인 데이터 기록을 하는 것이 가능해진다.
도 40a는 도 34에 도시되는 데이터 기록의 순서에 따른 처리가 행하여지기 전의 정보기록매체(100)의 데이터 구조의 일례를 도시한다.
도 40a에 도시되는 예에서는 트랙 #N-1, 트랙 #N이 사용자 데이터영역(108) 내에 할당되어 있다. 여기에서, 트랙 #N-1은 미기록영역(6701)을 포함하는 클로즈드 트랙이다. 트랙 #N은 오픈 트랙이다.
트랙 #N-1에는 데이터 "A"(6700)가 이미 기록되어 있지만, 트랙 #N-1은 클로 즈드 트랙이기 때문에, 트랙 #N-1로의 신규데이터의 추기는 금지되어 있다.
상술한 바와 같이, 클로즈드 트랙은 헤더정보(201)에 트랙번호가 포함되어 있지 않은 트랙이고, 신규데이터의 추가가 금지되어 있는 트랙이기 때문이다.
트랙 #N은 오픈 트랙이기 때문에, 트랙 #N으로의 신규데이터의 추기는 가능하다.
도 40a에 도시되는 상태에 있어서, 드라이브 제어부(311)가 호스트장치(305)로부터 기록 지시를 수신하였다고 가정한다. 여기에서, 이 기록 지시는 데이터 "A1"(6703A)을 LSN=A1(PSN=a1)의 위치에 기록하는 것을 지시하기로 한다. 여기에서, LSN=A1(PSN=a1)의 위치는 데이터 "A"(6700)가 이미 기록되어 있는 위치이다. 따라서, 이 기록 지시는 데이터 "A1"(6703)을 데이터 "A"(6700)에 의사덮어쓰기 기록하는 것을 지시하는 것이다.
여기에서, 가령, 도 41a에 도시하는 바와 같이, 클로즈드 트랙인 트랙 #N-1의 미기록영역 중의 NWA(6711A)의 위치(즉, PSN=a2의 위치)에 데이터 "A1"(6703A)을 기록하였다고 한다.
이 경우에는 드라이브 제어부(311)는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=a1)를 데이터 "A1"(6703A)이 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=a2)에 맵핑하기 위해서, 교체 관리정보(6730)를 생성한다.
도 41b는 교체 관리정보(6730)의 데이터 구조의 일례를 도시한다. 교체 관리정보(6730)의 구조는 교체 관리정보(6615)의 구조와 동일하다. 교체 관리정 보(6730)의 결함 클러스터 선두 PSN(2012)에는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=A1)가 설정되어 있다. 교체 관리정보(6730)의 교체 클러스터 선두 PSN(2013)에는 데이터 "A1"(6703A)이 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=a2)가 설정되어 있다.
데이터 "A1"(6730)의 기록에 따라, 트랙 #N-1 내의 최종 기록위치를 나타내는 LRA(6710A)가 LRA(6710B)로 갱신된다. 이와 같이, 클로즈드 트랙의 미기록영역에 데이터를 기록하기 위해서는 클로즈드 트랙 내의 LRA를 갱신하는 처리가 필수가 된다.
정보기록매체(100)의 기록 용량의 증가에 따라, 사용자 데이터영역(108)에 할당 가능한 트랙의 수는 대단히 커져 있다. 특히, 클로즈드 트랙에 관해서는 일단 할당된 경우, 그 수는 감소하지 않는다(한편, 오픈 트랙의 수는 증감한다. 예를 들면, 오픈 트랙이 클로즈드 트랙이 될 때, 오픈 트랙의 수가 감소한다).
그 결과, 클로즈드 트랙 내의 LRA의 갱신처리는 대단히 처리량이 큰 처리가 될 가능성이 있다.
이와 같이 처리량이 큰 처리를 피하기 위해서, 본 실시형태에 있어서는 도 39a를 참조하여 설명한 데이터 기록의 순서와 같이, 트랙 #N-1이 클로즈드 트랙이라고 결정된 경우에는 도 42a에 도시하는 바와 같이, 트랙 #N-1과는 다른 오픈 트랙의 NWA의 위치에 데이터 "A1"(6703A)을 기록한다.
도 42a에 도시되는 예에서는 트랙 #N-1에 인접하는 트랙 #N이 오픈 트랙이기 때문에, 트랙 #N의 NWA(6721A)의 위치에 데이터 "A1"(6703A)이 기록되어 있다.
드라이브 제어부(311)는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=A1)를 데이터 "A1"(6703A)이 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=a3)에 맵핑하기 위해서, 교체 관리정보(6733)를 생성한다.
도 42b는 교체 관리정보(6733)의 데이터 구조의 일례를 도시한다. 교체 관리정보(6733)의 구조는 교체 관리정보(6615)의 구조와 동일하다. 교체 관리정보(6733)의 결함 클러스터 선두 PSN(2012)에는 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스(즉, PSN=a1)가 설정되어 있다. 교체 관리정보(6733)의 교체 클러스터 선두 PSN(2013)에는 데이터"A1"(6703A)이 실제로 기록된 위치를 나타내는 물리 어드레스(즉, PSN=a3)가 설정되어 있다.
데이터 "A1"(6703A)의 기록에 따라, 트랙 #N 내의 최종 기록위치를 나타내는 LRA(6721A)가 LRA(6721B)로 갱신된다. 그러나, 트랙 #N-1 내의 최종 기록위치를 나타내는 LRA(6710A)를 갱신할 필요는 없다. 이와 같이, 오픈 트랙의 미기록영역에 데이터를 기록하기 위해서, 클로즈드 트랙 내의 LRA를 갱신하는 처리는 불필요하다.
이러한 데이터 기록의 순서에 의해, 클로즈드 트랙에 대한 의사덮어쓰기 기록을 가능하게 하면서, 클로즈드 트랙 내의 LRA(213)의 관리를 불필요로 하는 것이 가능해진다.
또, 실시형태 1에 있어서, 데이터의 기록은 RMW처리에 의해서 실현되어도 좋다고 설명하였다.
만약, 기록 지시에 의해 지정되는 데이터의 종단이 ECC 클러스터 경계에 일치되어 있지 않고, 또한, 기록 지시에 포함되는 논리 어드레스에 대응하는 물리 어드레스가 클로즈드 트랙 중의 미기록영역에 포함된다고 결정된 경우, 기록되어야 하는 데이터에 패딩 데이터(예를 들면, "O0h")를 삽입하여, 트랙에 기록되는 데이터의 종단이 ECC 클러스터 경계에 일치하도록 한 데이터를 트랙에 기록하도록 하여도 좋다.
(실시형태 7)
상술한 바와 같이, 도 8a의 스텝 S112에 있어서, 기록처로서 지정된 위치에 데이터가 기록된다. 데이터가 기록된 후에, 그 데이터의 기록이 성공하였는지의 여부를 판정하는 처리가 실행된다. 이러한 처리를 베리파이처리라고 한다. 베리파이처리의 결과, 그 데이터의 기록이 실패하였다고 판정된 경우에는 베리파이 에러가 발생하였다고 한다. 베리파이처리는 예를 들면, 기록한 데이터를 정보기록매체(100)로부터 판독하고, 그 판독된 데이터가 기록되어야 하는 데이터에 일치하는지의 여부를 판정함으로써 행하여진다.
상술한 교체기록에 있어서, 사용자 데이터영역(108) 중의 교체 클러스터에 데이터를 기록하였을 때에 베리파이 에러가 발생하는 경우가 있을 수 있다. 이 경우에는 그 교체 클러스터를 결함 클러스터로서, 교체영역 중에 새로운 교체 클러스터를 할당하고, 그 새로운 교체 클러스터에 데이터를 기록한다.
교체영역 중의 새로운 교체 클러스터에 데이터를 기록하였을 때 베리파이 에러가 발생한 경우에는 그 새로운 교체 클러스터를 교체영역 중의 다른 새로운 교체 클러스터에 교체시키는 처리를 반복한다.
도 43은 도 8a의 스텝 S112에 있어서 실행되는 처리의 순서의 일례를 도시한다. 도 43에 도시되는 각 스텝은 드라이브장치(310)의 드라이브 제어부(311)에 의해서 실행된다.
(스텝 S1108) 드라이브 제어부(311)는 사용자 데이터영역(108)의 특정한 위치에 데이터를 기록한다. 여기에서, 그 특정한 위치는 도 8a의 스텝 S107, 110에 있어서 결정된다.
(스텝 S1109) 드라이브 제어부(311)는 사용자 데이터영역(108)으로의 데이터의 기록이 성공하였는지의 여부를 판정한다. 이러한 판정은 예를 들면, 상술한 베리파이처리를 실행함으로써 이루어진다. 만약 성공이면, 처리는 도 8의 스텝 S113으로 진행한다. 만약 실패이면, 처리는 스텝 S1110으로 진행한다.
(스텝 S1110) 드라이브 제어부(311)는 교체영역(예를 들면, 내주 교체영역(106) 또는 외주 교체영역(107))의 특정한 위치에 데이터를 기록한다. 여기에서, 그 특정한 위치는 교체영역 관리정보(1108)에 포함되는 교체영역 중에서의 다음번 사용 가능 위치정보를 참조함으로써 결정된다.
(스텝 S1111) 드라이브 제어부(311)는 교체영역에 대한 데이터의 기록이 성공하였는지의 여부를 판정한다. 이러한 판정은 예를 들면, 상술한 베리파이처리를 실행함으로써 이루어진다. 만약 성공이면, 처리는 도 8a의 스텝 S113으로 진행한다. 만약 실패이면, 처리는 스텝 S1110으로 되돌아간다. 이와 같이, 교체영역에 대한 데이터의 기록이 성공할 때까지 교체영역에 대한 데이터의 기록이 반복된다.
상술한 바와 같이, 사용자 데이터영역(108) 내에 결함 클러스터가 존재하는 경우에는 내주 교체영역(106) 및 외주 교체영역(107) 중의 적어도 일부가, 그 결함 클러스터를 교체하는 대체 클러스터를 기록하기 위한 영역으로서 사용된다.
또는 내주 교체영역(106) 및 외주 교체영역(107) 중의 적어도 일부는 후술하는 의사덮어쓰기 기록에 있어서의 갱신 후의 데이터를 기록하기 위한 영역으로서도 사용될 수 있다.
즉, 의사덮어쓰기 기록의 교체기록에 있어서의 베리파이 에러에 의해 사용자 데이터 영역(108) 내에서 결함 클러스터가 발생한 경우에는 내주 교체영역(106) 및 외주 교체영역(107) 중의 적어도 일부는 의사덮어쓰기 기록에 있어서의 갱신 후의 데이터를 기록하기 위한 영역으로서 사용될 수 있다.
이하, 도 34, 도 43에 도시되는 데이터 기록의 순서에 따른 구체적인 처리의 예를 설명한다.
도 44a는 도 34에 도시되는 데이터 기록의 순서에 따른 처리가 행하여지기 전의 정보처리매체(100)의 데이터 구조의 일례를 도시한다.
도 44a에 도시되는 예에서는 트랙 #M(7000), 트랙 #N(7100)이 사용자 데이터영역(108) 내에 할당되어 있다. 여기에서, 트랙 #M(7000)은 데이터 "A"(7001)를 포함하는 기록 완료영역(7003)과 미기록영역(7002)을 포함하는 오픈 트랙이다.
또한, 트랙 #N(7100)은 미기록영역(7102)을 포함하는 오픈 트랙이다.
도 44a에 도시되는 상태에 있어서, 드라이브 제어부(311)가 호스트장치(305)로부터 기록 지시를 수신하였다고 가정한다. 여기에서, 이 기록 지시는 데이터 "A1"(7101)을 LSN=A0(PSN=a0)의 위치에 기록하는 것을 지시하기로 한다. 여기에서, LSN=A0(PSN=a0)의 위치는 데이터 "A"(7001)가 이미 기록되어 있는 위치이다. 따라서, 이 기록 지시는 데이터 "A1"(7101)을 데이터 "A"(7001)에 의사덮어쓰기 기록하는 것을 지시하는 것이다.
드라이브 제어부(311)는 사용자 데이터영역(108)의 특정한 위치에 데이터 "A1"(7101A)을 기록한다(스텝 S1108).
도 45a에 도시되는 예에서는 사용자 데이터영역(108) 중의 하나의 NWA의 위치인 PSN=a1의 위치에 있는 교체 클러스터에 데이터 "A1"(7101A)이 기록되어 있다.
이 경우, 드라이브 제어부(311)는 PSN=a1의 위치에 있는 교체 클러스터로의 데이터 "A1"(7101A)의 기록이 성공하였는지의 여부를 판정한다(스텝 S1109).
만약 성공이면, 드라이브 제어부(311)는 도 45b에 도시하는 교체 관리정보(7200)를 생성한다. 만약 실패이면, 드라이브 제어부(311)는 교체영역의 특정한 위치에 데이터 "A1"(7101A)을 기록한다(스텝 S1110).
도 46a에 도시되는 예에서는 내주 교체영역(106) 내의 위치인 PSN=s1의 위치에 있는 교체 클러스터에 데이터 "A1"(7101A)이 기록되어 있다. 이 경우, 드라이브 제어부(311)는 PSN=s1의 위치에 있는 교체 클러스터로의 데이터 "A1"(7101A)의 기록이 성공하였는지의 여부를 판정한다(스텝 S1111).
만약 성공이면, 드라이브 제어부(311)는 도 46b에 도시하는 교체 관리정보(7201)를 생성한다. 만약 실패이면, 드라이브 제어부(311)는 교체영역의 특정한 위치에 데이터 "A1"(7101A)을 기록한다.
교체영역으로의 데이터 기록이 성공할 때까지, 교체영역으로의 데이터 기록이 반복된다. 따라서, 교체기록이 몇번 행하여질지는 사전에 알 수 없다.
따라서, 드라이브장치(310)가 1회의 기록 지시를 호스트장치(305)로부터 수신한 경우에 있어서, 드라이브장치(310)가 복수회의 교체기록을 하는 경우가 있을 수 있다. 이 때, 2회째 이후의 교체기록은 호스트장치(305)가 예기하지 않은 교체기록이 된다.
실시형태 4 등에서 설명한 바와 같이, 호스트장치(305)가 예기하지 않은 교체기록이 드라이브장치에 의해 실시되면 교체 관리정보 리스트(1000)의 용량이 증가한다고 하는 과제가 있다.
한편, 본 실시형태에 있어서는 의사덮어쓰기에 의한 교체가 오픈 트랙의 NWA에 대하여 행하여지고, 베리파이 에러가 된 경우, 이후의 교체기록은 교체영역에 하기로 한다.
이것에 의해, 사용자 데이터영역 내에서, 호스트장치(305)가 예기하지 않은 교체기록이 발생하지 않게 된다.
따라서 호스트장치(305)가 연속적으로 기록 지시를 한 경우에도, 교체 관리정보 리스트의 용량 증가가 생기지 않는다.
또한, 베리파이 에러가 된 경우, 교체처를 사용자 데이터영역으로 하지 않고, 교체영역으로 함으로써, NWA가 정해질 때까지 시간을 단축하는 것이 가능해진다.
만약, 교체처를 사용자 데이터영역 내에 할당한다고 하면, NWA에 교체한 후, 베리파이처리가 종료할 때까지, 최신의 NWA가 정해지지 않는다.
왜냐하면, 교체처에서 베리파이처리가 성공할 때까지 NWA로 계속 갱신되기 때문이다.
한편, 본 발명에 의하면, NWA는 의사덮어쓰기 기록이 행하여지는 것이 결정된 시점에서 정해지기 때문에, 드라이브장치(310)는 호스트장치(305)로부터의 요구에 대하여, 시간적인 지연을 발생시키지 않고 최신의 NWA를 회신하는 것이 가능해진다.
또, 상기에서는 트랙 #M(7000)이 오픈 트랙인 예를 설명하였지만, 트랙 #M(7000)은 클로즈드 트랙이어도 좋다. 또한, 기록 지시가 나타내는 위치가 미기록영역(7002)에 포함되어 있어도 좋다. 어떤 경우에나, 상기와 같이, 도 43에 도시되는 스텝 S1118 내지 S1111이 실행된다.
또, 각 실시형태에 있어서, 교체 관리정보로서, 도 5b의 교체 관리정보(1010), 도 11의 교체 관리정보(1010B), 도 16의 DFL 엔트리(2010) 모두 사용할 수 있다.
교체 관리정보는 교체원 위치정보(1012; 또는 결함 클러스터 선두 PSN(2012))와, 교체처 위치정보(1013; 또는 교체 클러스터 선두 PSN(2013))를 적어도 포함한다.
또, 교체의 목적(결함에 의한 교체, 또는 의사덮어쓰기에 의한 교체)에 의하지 않고, 같은 교체 관리정보를 사용할 수 있다. 이것에 의해, 교체의 목적이나 교체처의 종류나 위치에 관계없이, 단일한 구조의 교체 관리정보에 의해 의사덮어 쓰기 기록방식을 실현 가능하다.
이것에 의해, 의사덮어쓰기 기록된 정보기록매체(100)에서 데이터를 재생할 때는 교체의 목적이나 교체처의 종류나 위치를 의식하지 않고, 동일한 처리로 재생하는 것이 가능해져, 드라이브장치(310)가 용이하게 실장 가능해진다.
또, 교체 관리정보의 교체처 위치정보(1013; 또는 교체 클러스터 선두 PSN(2013))에는 의사덮어쓰기를 목적으로 하는 교체가 발생한 경우에는 사용자 데이터영역(108)의 특정한 위치를 나타내는 물리 어드레스가 설정되어, 결함에 의한 기록을 목적으로 하는 교체가 발생한 경우에는 교체영역(예를 들면, 내주 교체영역(106) 또는 외주 교체영역(107))의 특정한 위치를 나타내는 물리 어드레스가 설정된다.
그 때문에, 의사덮어쓰기를 목적으로 하는 교체가 발생한 경우에 교체 관리정보의 교체처 위치정보(1013; 또는 교체 클러스터 선두 PSN(2013))에 설정되는 물리 어드레스의 범위는 사용자 데이터영역(108)의 범위(이하, 제 1 범위라고도 한다)에 한정된다. 또한, 결함에 의한 기록을 목적으로 하는 교체가 발생한 경우에 교체 관리정보의 교체처 위치정보(1013; 또는 교체 클러스터 선두 PSN(2013))에 설정되는 물리 어드레스의 범위는 교체영역의 범위(이하, 제 2 범위라고도 한다)에 한정된다.
이와 같이, 교체의 목적에 관한 정보를 유지한 채로, 단일한 구조로 교체 관리정보를 생성할 수 있기 때문에, 교체 클러스터로부터의 재생시에 에러가 발생한 경우의 회복을 위한 정보로서 이용할 수 있다.
즉, 교체 관리정보가 결함에 의한 기록을 목적으로 하는 교체인 경우, 교체원에는 교체처와 같은 데이터가 기록되어 있다고 판단할 수 있다. 이 때, 교체원을 재생하여 봄으로써, 올바른 데이터를 재생할 수 있는 경우가 있다. 올바른 데이터를 재생할 수 있는 경우, 재생 에러를 회피하는 것이 가능해진다.
(실시형태 8)
본 실시형태에 있어서는 교체기록에 있어서, 대체 클러스터의 기록처를 선택하기 위한 순서에 관해서 도 47을 참조하여 설명한다.
도 47은 본 발명의 정보기록매체(100)에 있어서, 교체영역이나 트랙 구조, 미기록영역의 상태의 일례를 나타내고 있다.
정보기록매체(100)에는 내주 교체영역(106), 외주 교체영역(107) 및 이들의 미기록영역(601A, 601B)이 포함된다.
또한, 트랙 #1(8610(오픈)), 트랙 #2(8620(오픈)) 및 이들의 미기록영역(8612, 8622)이 포함된다.
따라서 정보기록매체(100) 상에는 복수의 대체 클러스터의 기록처가 존재하게 된다.
본 실시형태는 교체영역 중의 미기록영역의 용량이 소정의 기준을 만족시키는 상태에 있어서는 사용자 데이터영역을 우선적으로 대체 클러스터의 기록처로서 사용한다.
즉, 대체 클러스터의 기록처를 결정할 때, 그 시점에서의 교체영역 중의 미기록영역의 용량을 디스크 구조정보(1100)로부터 취득한다.
그리고, 미기록영역의 용량이 소정의 기준치를 만족시키고 있는지의 여부를 판별한다.
만약, 만족되었으면, 기록처로서 사용자 데이터영역을 선택한다.
여기에서 소정의 기준치란, 예를 들면, 미기록영역의 용량치가 소정의 용량치를 하회하고 있거나, 미기록영역의 용량치가 교체영역의 전체 내 용량에 대한 소정의 비율을 하회하고 있는 등이다.
또, 사용자 데이터영역에 미기록영역이 없어졌을 때에는 교체영역을 대체 클러스터의 기록처로서 사용하여도 좋다.
이러한 교체 클러스터는 예를 들면 도 47의 다음번 사용 가능 위치정보(8600a)에 나타내지는 위치에 기록된다.
또한, 일반적으로, 예를 들면 UDF와 같은 파일 시스템에서는 특정한 정보(예를 들면 LVID라고 불리는 데이터 구조)를 정보기록매체(100)를 클로즈할 때에 반드시 갱신할 필요가 있다.
그리고 사용자 데이터영역에 미기록영역이 없어지면, 그 이상 사용자 데이터의 추가는 할 수 없기 때문에, 정보기록매체(100)의 클로즈처리가 행하여진다.
본 실시형태에 의하면, 이 상태에 있어서도 교체영역에 미기록영역이 남기 때문에, LVID와 같은 정보를 확실히 기록 가능하다.
반대로, 만약 교체영역을 먼저 사용하여 버리면, 정보기록매체(100)를 클로즈할 때에 LVID를 기록할 수 없게 되어, 클로즈처리가 불가능해진다.
즉, 확실한 클로즈처리의 실행이 본 실시형태의 효과의 하나이다.
또, 상술한 설명은 결함 클러스터 및 의사덮어쓰기 기록의 양쪽의 대체기록에 관해서 적용 가능한 것은 물론이다.
(실시형태 9)
본 실시형태에 있어서는 교체기록에 있어서, 대체 클러스터의 기록처를 선택하기 위한 순서에 관해서 도 48을 참조하여 설명한다.
도 48에서는 교체원 위치(9650)가 결함 클러스터이고, 이 위치를 교체원으로 하는 교체기록이 행하여진다.
이 때, 교체처는 이하의 순서에 의해 결정된다.
도 48에 있어서, 대체 클러스터가 기록 가능한 교체처로서는 미기록영역(9601A; 내주 교체영역(106) 중), 미기록영역(9612; 트랙(9610) 중), 미기록영역(9622; 트랙(9620) 중, 9601B(외주 교체영역(107) 중))이 있다.
여기에서, 내주 교체영역(106)으로부터, 소정의 범위를 D1로서 나타내고 있다.
본 실시형태에 있어서는 교체원 클러스터가 D1의 범위에 있는 경우는 교체처를 내주 교체영역(106)으로 한다.
마찬가지로, 외주 교체영역(107)으로부터, 소정의 범위를 D4로서 나타내고 있다.
본 실시형태에 있어서는 교체원 클러스터가 D4의 범위에 있는 경우는 교체처를 외주 교체영역(107)으로 한다.
도 48의 교체원 위치(9650)는 내주 교체영역(106)으로부터 D2의 위치에 있 고, D1>D2라고 하면, 교체원 위치(9650)의 교체처는 내주 교체영역(106)에 결정된다.
이 때, 교체 클러스터는 예를 들면 도 48의 다음번 사용 가능 위치정보(9600a)에 나타내지는 위치에 기록된다.
여기에서, 교체원 위치(9650)로서 미기록영역(9612)도 사용 가능하지만, 교체원 위치(9650)는 내주 교체영역(106)으로부터 소정의 범위 D1에 있기 때문에, 미기록영역(9612)을 사용하지 않는 점이 본 실시형태의 특징의 하나이다.
한편, 도 48의 교체원 위치(9651)는 내주 교체영역(106)으로부터 D3의 위치에 있고, D1<D3이기 때문에, 교체원 위치(9651)의 교체처는 내주 교체영역(106)은 아니다. 마찬가지로, 외주 교체영역(107)으로도 교체되지 않는다.
여기에서, 교체원 위치(9651)는 예를 들면 미기록영역(9622) 등의 사용자 데이터영역 내에 교체된다. 즉, 내주 교체영역(106)이나 외주 교체영역(107)에 미기록영역이 있었다고 해도, 상술한 범위에 관한 조건을 만족시키지 않는 경우, 이들을 사용하지 않는 점이 본 실시형태의 특징의 하나이다.
이러한 교체처 선택순서에 의해, 볼륨공간의 선두부분은 우선적으로 정보기록매체(100)의 내주부분인 내주 교체영역(106)으로 교체된다. 또한, 볼륨공간의 말미부분은 우선적으로 정보기록매체(100)의 외주부분인 외주 교체영역(107)으로 교체된다.
일반적으로, 예를 들면 UDF와 같은 파일 시스템에서는 볼륨공간의 선두와 말미에 볼륨 구조나, 디렉토리 구조의 기점이 되는 정보(예를 들면, FSD나 ROOT 디렉 토리), 스페이스 비트맵 등을 배치한다.
이들의 데이터는 정보기록매체(100)의 읽어들일 때에 최초에 액세스되고, 또한, 빈번하게 액세스되는 경우가 많다.
본 실시형태에 의하면, 이들의 데이터가 교체영역 중에 집중적으로 배치되게 되기 때문에, 데이터의 기록 재생의 성능을 향상시키는 것이 가능해진다.
또, 여기에서는 결함 클러스터의 대체기록에 관해서 설명하였지만, 대체기록이라는 의미에서는 같고, 의사덮어쓰기 기록에 있어서도 상술은 적용 가능하다.
(실시형태 10)
본 실시형태에 있어서, 데이터의 기록순서에 관해서 더욱 설명한다.
도 49a는 본 실시형태에 의한 데이터 기록이 행하여지기 전의 정보기록매체(100)의 데이터 구조의 일례를 도시하는 도면이다.
도 49a에서, 트랙 #N-1(10000), 트랙 #N1(0010)이 할당되어 있다.
트랙 #N1(0010)에 있어서는 전부가 미기록영역(10003)이다. 또한, 트랙 #N1(0010)은 사용자 데이터영역의 종단에 위치한다.
종래의 시퀀셜 기록방식에서는 트랙 #N1(0010)과 같은 사용자 데이터영역의 종단에 위치하는 트랙 중에 있어서만, 임의의 위치에서 새로운 트랙을 할당하는 것이 가능하다.
도 49a의 상태에 있어서, 호스트장치(305)로부터 드라이브장치(310)에 대하여, 데이터 "B"(10820)의 기록의 지시가 이루어졌다고 한다.
여기에서 데이터 "B"(10820)가 LSN=A2(PSN=a2)에 대하여 기록 지시되었다고 하면, 종래의 시퀀셜 기록에 있어서의 기록방법이면, 예를 들면 더미 데이터를 PSN=a2의 직전까지 기록하고 나서 데이터 "B"(10820)를 기록하였다.
이 방법이면 데이터의 기록은 행하여지지만, 정보기록매체(100)의 용량을 더미 데이터에 의해 불필요하게 소비하여 버린다고 하는 과제가 발생한다. 특히, PSN=a2가 사용자 데이터영역의 종단에 가까운 경우, 사용자 데이터영역의 대단히 큰 영역이 낭비가 되어 버린다.
또는 도 50a에 도시하는 바와 같이, 트랙 #N1(0010)의 일부를 트랙 #N+1(10020)에서 새롭게 추가하여, 트랙 #N+1(10020)의 선두로부터 데이터 "B"(10820)를 기록하였다.
이 경우, 사용자 데이터영역의 낭비는 없지만, 사용자 데이터영역의 종단에 트랙을 할당하여 버리게 되어, 더 이상의 트랙 추가가 불가능해져 버린다고 하는 과제가 발생한다.
그래서 본 실시형태에 있어서는 다음과 같은 기록방법에 의해, 이들의 과제를 해결한다.
즉, 새로운 트랙이 추가 가능한 트랙에 있어서, NWA보다 큰 물리 어드레스에 대하여 기록 지시가 행하여진 경우, 그 데이터는 대체 클러스터상에 교체기록한다.
그리고, 기록 지시된 물리 클러스터를 교체원으로 하고, 실제로 기록을 한 대체 클러스터를 교체처로 하는 교체 관리정보(1010)를 생성한다.
예를 들면, 도 51a는 교체처를 외주 교체 관리영역(107)으로 한 경우의 데이 터 구조의 일례이다.
도 51a에서 데이터 "B"(10820B)는 외주 교체영역(107)에 기록되어 있다. 한편, 트랙 #N1(0010) 중의 PSN=a2의 위치, 즉, 호스트장치(305)로부터 기록 지시가 있는 위치에는 데이터는 기록되지 않는다. 따라서, LRA(10030A)도 갱신되어 있지 않다.
이 때, 생성되는 교체 관리정보(10817)는 도 51b에 도시하는 바와 같이, 교체원 위치정보(1012)에 PSN=a2가, 교체처 위치정보(1013)에 PSN=s2가, 각각 설정된다.
PSN=a2는 상술한 바와 같이, 호스트장치(305)로부터 기록 지시가 있는 위치에 상당한다. 한편, PSN=s2는 외주 교체영역(107) 내에 데이터 "B"(10820)가 실제로 기록된 위치이다.
이러한 교체 관리정보(817)를 생성함으로써, 호스트장치(305)로부터의 LSN=A2에 대한 재생 지시가 있는 경우, PSN=s2로부터 데이터 "B"(10820)를 재생하는 것이 가능해진다.
마찬가지로, 도 52a에서는 데이터 "B"(10820C)는 기록 가능한 트랙 #N-1(10000)의 NWA(10011A)의 위치에 기록되어 있다. 이 기록에 따라서, LRA(10010A)가 LRA(11001OC)로 갱신된다.
그리고 이 때, 생성되는 교체 관리정보(10818)는 도 52b에 도시하는 바와 같이, 교체원 위치정보(1012)에 PSN=a2가, 교체처 위치정보(1013)에 PSN=b1(NWA(611A)에 대응하는 물리 어드레스)이 각각 설정된다.
또, PSN=b1에 대응하는 논리 클러스터는 미기록 클러스터가 되기 때문에, 교체원 위치정보(1012)에 PSN=b1이, 교체처 위치정보(1013)에 0이 설정된 교체 관리정보(10819)를 설치하도록 하여도 좋다.
이러한 교체 관리정보(10818)를 생성함으로써, 호스트장치(305)로부터의 LSN=A2에 대한 재생 지시가 있는 경우, PSN=b1로부터 데이터 "B"(10820C)를 재생하는 것이 가능해진다.
또한, 교체 관리정보(10819)를 생성함으로써, 호스트장치(305)로부터 PSN=b1에 대응하는 LSN으로의 재생 지시가 있는 경우, 데이터 "B"를 재생하지 않고, 예를 들면 전부 0의 데이터를 되돌리는 것이 가능해진다.
도 51a 및 도 52a의 어떤 경우에나, 정보기록매체(100)에서 사용한 영역은 기록 지시가 있는 데이터 "B"(10802)의 용량분뿐이며, 더미 데이터 등의 불필요한 기록은 할 필요가 없다.
또한, 새로운 트랙을 추가하지 않고 데이터 기록을 하고 있기 때문에, 트랙 #N1(0010)에 대하여, 한층 더 트랙의 추가는 자유롭게 하는 것이 가능하다.
이상으로부터, 새로운 트랙이 추가 가능한 트랙에 있어서, NWA보다도 큰 어드레스위치에 데이터의 기록이 지시된 경우에도, 교체 관리정보를 사용한 교체기록을 함으로써, 기록 에러가 되지 않고, 효율적으로, 그 후의 새로운 트랙의 추가를 방해하지 않는 데이터 기록을 하는 것이 가능해진다.
또한, 도 53a는 도 52a의 상태로부터 또, 트랙 #N1(0010)에 대하여 데이터가 기록되어, 기록 완료 영역(10840)이 형성된 후, PSN=a2의 직전의 ECC 클러스 터(PSN=c1)에 데이터 "C"(10842)가 기록될 때의 데이터 구조의 예시도이다.
여기에서는 데이터 "C"(10842)의 기록 후의 베리파이처리에 의해 PSN=c1의 ECC 클러스터가 결함 클러스터(10841)이고, 그 결과, 데이터 "C"(10842A)가 PNS=a2의 ECC 클러스터에 교체기록되어 있다.
이 교체기록을 반영하기 위해서, 도 53b에 도시하는 교체 관리정보(10820)가 설치된다. 교체 관리정보(10820)의 교체원은 PNS=c1, 교체처는 PNS=a2가 된다.
도 52a의 상태에서는 PNS=a2에는 데이터는 기록되지 않았지만, 도 53a와 같이, 시퀀셜 기록에 의해, 순차 데이터가 기록된 후에는 그와 같은 영역에 데이터를 기록하게 되고, 사용자 데이터영역을 유효하게 이용하는 것이 가능하다.
(실시형태 11)
본 실시형태에 있어서, 데이터의 기록순서에 관해서 더욱 설명한다.
여기에서는 UDF 규격에 따라, 파일 시스템의 포맷처리를 하는 처리를 예로 하여, 기록순서에 관해서 설명한다.
도 54는 교체기록이 행하여지지 않았을 때의, 논리 어드레스공간과 물리 어드레스공간의 대응예를 도시하는 도면이다.
또한, 도 54에서는 UDF 규격으로 정해진 볼륨 구조영역(410)에 포함되는 데이터의 배치에 관해서도 도시하고 있다.
파일 시스템의 포맷처리란, 이들의 볼륨 구조영역(410)의 데이터나, 파티션공간 내의 메타데이터 파일(440) 등을 포함하는 파일 관리정보를 기록하는 처리이다.
종래, 파일 시스템은 도 54의 상태를 상정하여 파일 관리정보를 메모리회로(302) 등 내에서 생성하고 나서 정보기록매체(100)에 기록하여 간다.
실제로 기록을 하면, 예를 들면 도 55와 같이, 도중에서 결함 클러스터가 발생하여, 교체기록이 행하여지는 경우가 있다.
이 교체기록에 따라, 이후의 데이터는 전부 교체기록해야만 하게 된다.
이것에 의해, 교체 관리정보 리스트(1000)의 용량이 증가하여 버린다.
이러한 상황을 회피하는 하나의 방법은 PSN=1292의 결함 클러스터를 교체영역에 교체기록하는 것이다.
그렇지만, 볼륨 구조영역(410)이나 메타데이터 파일(440)은 정보기록매체(100) 중의 사용자 데이터에 액세스하기 위해서 반드시 최초에 판독할 필요가 있는 데이터이다.
이러한 데이터가, 교체영역에 분산되어 기록되면 사용자 데이터의 재생 개시까지의 시간이 연장되어 버려, 사용자의 편리성을 잃어버린다.
또한, 다른 회피방법은 파일 관리정보 내의 데이터를 변경하여, 기록처의 논리 어드레스를 변경하는 것이다. 즉, 교체기록에 의해 기록처가 어긋나 버리는 경우, 그 어긋난 만큼을, 파일 관리정보의 기록처를 변경함으로써 흡수하여 버린다. 이것에 의해, 교체기록의 필요가 없어진다.
그렇지만, 이러한 처리를 위해서는 포맷처리의 개시시에 확정되어 있는 파일 관리정보의 데이터를 다시 생성할 필요가 발생하여, 파일 시스템의 복잡함을 증가시키고, 처리시간의 증대로 이어진다.
그래서 본 실시형태에 있어서는 다음과 같은 기록방법에 의해, 이들의 과제를 해결한다.
즉, 도 56에 도시하는 바와 같이, 볼륨 구조영역(410)에 포함되는 데이터를 기록할 때에, 개시 볼륨 기술자 포인터(703)와 그 이외의 데이터의 사이에 소정의 수의 예약 클러스터(9000)를 확보하여 파일 시스템의 포맷처리를 한다.
예약 클러스터(9000)는 초기 상태에서는 유효한 데이터가 기록되지 않는 영역이지만, 볼륨 구조영역(410)의 기록시에, 베리파이처리에 실패한 경우, 대체 클러스터로서 사용하기 위한 영역이다.
본 실시형태에 있어서는 볼륨 식별자(700), 주볼륨 기술자열(701) 및 논리 볼륨 보전 기술자(702)를 차례로 베리파이 애프터 라이트처리에 의해 기록하여 간다.
그리고 베리파이처리에 실패한 경우는 예약 클러스터(11000)에 교체기록을 한다.
도 56에서는 예를 들면, PSN=1132가 결함 클러스터이고 그 교체처가 PSN=1164이다. 이후, 논리 볼륨 보전 기술자(702)도 교체기록되지만, 예약 클러스터(11000)를 복수개 확보하여 둠으로써, 개시 볼륨 기술자 포인터(703)나 그 이후의 파티션공간(710)은 기록위치를 엇갈리게 하지 않고, PSN=1356에 기록하는 것이 가능해진다.
또, 본 실시형태에 있어서는 예약 클러스터(11000) 내에 개시 볼륨 기술자 포인터(703)의 예비기록을 한다.
개시 볼륨 기술자 포인터(703)의 예비기록이란, 개시 볼륨 기술자 포인터(703)의 실제의 기록에 앞서, 개시 볼륨 기술자 포인터(703)와 같은 내용의 데이터를 기록하여 두는 것이다.
도 56에 있어서는 PSN=1292나 1324로의 기록이 그것에 해당한다.
예비기록을 하는 것에 의한 효과는 다음과 같다.
만약, PSN=1356으로의 개시 볼륨 기술자 포인터(703)의 기록이 실패한 경우, 교체기록이 필요하게 된다.
그 시점에서, 예비기록 완료의 PSN=1292나 1324를 교체처에 지정한 교체 관리정보(1010)를 생성하면, 개시 볼륨 기술자 포인터(703)가 교체기록된 것이 되고, 또, PSN=1356 이후에 어드레스 어긋남을 발생시키지 않는다.
또한, 파일 관리정보에 관해서는 교체처와 교체원이 대단히 가까워지고, 재생시의 액세스시간도 단축된다.
또, 개시 볼륨 기술자 포인터(703)와 파티션공간(710)의 선두의 사이에 더욱 예약 클러스터(11000)를 설치하도록 하여도 좋다.
이상으로부터, 본 실시형태는 UDF 규격에 의한 파일 시스템의 포맷처리에 있어서, 파일 관리정보로의 고속의 액세스를 실현하고, 또, 교체 관리정보(1010)의 발생을 회피하는 것을 가능하게 한다.
또, 예약 클러스터(11000)를 특정한 기록 완료 클러스터와 관련짓기 위한 특별한 교체 관리정보(1010)를 정의하여도 좋다.
구체적으로는 교체 관리정보(1010)의 상태정보(1011)에, 이 특별한 교체정보 인 것을 나타내는 새로운 플래그를 설치한다.
그리고, 교체원 위치정보(1012)에, 기록 완료 클러스터의 PSN을 설정한다. 한편, 교체처 위치정보(1013)에, 예약 클러스터(11000)의 PSN을 설정한다.
예를 들면, PSN=1196의 논리 볼륨 보전 기술자(702)에 대하여, PSN=1228의 미기록 예약 클러스터(11001)의 관련짓기가 가능해진다.
이 미기록 클러스터에 대해서는 교체 관리정보(1010)에 의해 관련지어진 기록 완료 클러스터의 의사덮어쓰기 기록시에만 데이터의 기록이 허가된다.
이러한 관련짓기를 함으로써, 어떤 기록 완료 클러스터의 장래에 있어서의 의사덮어쓰기 기록이 보증된다.
예를 들면, 논리 볼륨 보전 기술자(702)는 UDF 규격으로 포맷된 정보기록매체(100)에 있어서, 최후에 반드시 기록할 필요가 있는 데이터이다.
따라서, 특정한 기록 완료 클러스터와 예약 클러스터를 관련지어 둠으로써, 그 의사덮어쓰기 기록을 확실히 실행할 수 있게 된다.
본 발명은 추기형 광 디스크의 의사덮어쓰기 기록에 있어서, 사용자 데이터영역을 낭비 없이 사용하는 것을 가능하게 하는 드라이브장치 등을 제공하는 것으로서 유용하다.
도 1a는 본 발명의 실시형태에 있어서의 정보기록매체(100)의 외관의 일례를 도시하는 도면.
도 1b는 본 발명의 실시형태에 있어서의 정보기록매체(100)의 데이터 구조의 일례를 도시하는 도면.
도 1c는 도 1b에 도시되는 사용자 데이터영역(108)의 데이터 구조의 일례를 도시하는 도면.
도 2a는 본 발명의 실시형태에 있어서의 세션 관리정보(200)의 데이터 구조의 일례를 도시하는 도면.
도 2b는 본 발명의 실시형태에 있어서의 트랙 관리정보(210)의 데이터 구조의 일례를 도시하는 도면.
도 2c는 본 발명의 실시형태에 있어서의 빈 영역 관리정보(220)의 데이터 구조의 일례를 도시하는 도면.
도 3은 본 발명의 실시형태에 있어서의 디스크 구조정보(1100)의 데이터 구조의 일례를 도시하는 도면.
도 4는 본 발명의 실시형태에 있어서의 다른 정보기록매체(100b)의 데이터 구조의 일례를 도시하는 도면.
도 5a는 본 발명의 실시형태에 있어서의 교체 관리정보 리스트(1000)의 데이터 구조의 일례를 도시하는 도면.
도 5b는 본 발명의 실시형태에 있어서의 교체 관리정보(1010)의 데이터 구조 의 일례를 도시하는 도면.
도 6은 본 발명의 실시형태에 있어서의 정보기록 재생장치(300)의 구성의 일례를 도시하는 블록도.
도 7은 본 발명의 실시형태에 있어서의 포맷처리 후의 정보기록매체 상의 데이터 구조의 일례를 도시하는 도면.
도 8a는 본 발명의 실시형태에 있어서의 기록처리를 도시하는 플로차트.
도 8b는 본 발명의 실시형태에 있어서의 RMW처리를 도시하는 플로차트.
도 9는 본 발명의 실시형태에 있어서의 기록처리 후의 정보기록매체 상의 데이터 구조의 일례를 도시하는 도면.
도 10은 본 발명의 실시형태에 있어서의 재생처리를 도시하는 플로차트.
도 11은 본 발명의 실시형태에 있어서의 교체 관리정보(1010B)의 데이터 구조의 일례를 도시하는 도면.
도 12는 본 발명의 실시형태에 있어서의 물리 어드레스공간과 논리 어드레스공간의 데이터 구조의 일례를 도시하는 도면.
도 13a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 13b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 14a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 14b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 15a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 15b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 16a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 16b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 17a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 17b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 18은 본 발명의 실시형태에 있어서의 교체 관리정보인 DFL 엔트리(2010)의 데이터 구조의 일례를 도시하는 도면.
도 19a는 본 발명의 실시형태에 있어서의 기록처리를 도시하는 플로차트.
도 19b는 본 발명의 실시형태에 있어서의 기록처리를 도시하는 플로차트.
도 20a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 20b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 21a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 21b는 본 발명의 실시의 형태에 있어서의 교체 관리정보에 관한 설명도.
도 22a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 22b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 23a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 23b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 24a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 24b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 25는 본 발명의 실시형태에 있어서의 트랙 관리정보의 데이터 구조의 예시도.
도 26a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 26b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 27은 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 28은 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 29는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 30은 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 31은 종래의 기술에 있어서의 정보기록매체 상의 데이터 구조의 일례를 도시하는 도면.
도 32는 종래의 기술에 있어서의 파일기록처리 후의 정보기록매체 상의 데이터 구조의 일례를 도시하는 도면.
도 33a는 종래의 기술에 있어서의 TDFL의 데이터 구조의 일례를 도시하는 도면.
도 33b는 종래의 기술에 있어서의 TDFL의 데이터 구조의 일례를 도시하는 도면.
도 34는 본 발명의 실시형태에 있어서의 기록처리를 도시하는 플로차트.
도 35a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 36a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 37a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 37b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 38a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 38b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 39a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 39b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 40a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 41a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 41b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 42a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 42b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 43은 본 발명의 실시형태에 있어서의 기록처리를 도시하는 플로차트.
도 44a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 45a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 45b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 46a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 46b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 47은 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 48은 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 49a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 50a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 51a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 51b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 52a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 52b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 53a는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 53b는 본 발명의 실시형태에 있어서의 교체 관리정보에 관한 설명도.
도 54는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 55는 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
도 56은 본 발명의 실시형태에 있어서의 교체기록에 관한 설명도.
* 도면의 주요 부분에 대한 부호의 간단한 설명 *
100, 100b : 정보기록매체
101 : 리드인영역
102, 102a : 데이터영역
103 : 리드아웃영역
103b, 103c : 외주영역
104, 104a, 105, 105a : 디스크 관리정보영역
106, 106a : 내주 교체영역
107, 107a : 외주 교체영역
108, 108a : 사용자영역
109 : 볼륨공간
122 :미기록영역
120, 121 : LRA
210 : 트랙 관리정보
211 : 세션 개시정보
212 : 트랙 개시위치정보
213 : 트랙 내 최종 데이터 기록위치정보(LRA)
300 : 정보기록 재생장치
301 : 시스템 제어부
302 : 메모리회로
303 : I/O 버스
304 : 자기 디스크장치
310 : 드라이브장치
311 : 드라이브 제어부
312 : 메모리회로
313 : 내부 버스
314 : 기록 재생부
410 : 볼륨 구조영역
420 : 물리 파티션
440 : 메타데이터 파일
450 : 메타데이터 미러 파일
1000 : 교체 관리정보 리스트
1010, 1010B : 교체 관리정보
1011 : 상태정보
1012 : 교체원 위치정보
1013 : 교체처 위치정보
1100 : 디스크 구조정보
1103 : 사용자 데이터영역 개시위치정보
1104 : 사용자 데이터영역 종단위치정보
1105 : 교체영역정보
2010 : 0DFL 엔트리
2011A : 스테이터스
2012 : 결함 클러스터 선두 PSN
2011B : 스테이터스
22013 : 대체 클러스터 선두 PSN

Claims (2)

  1. 추기형 기록매체(write-once recording medium)에 대하여 의사덮어쓰기 기록(pseudo-overwrite recording)을 실행하는 드라이브장치로서, 상기 추기형 기록매체는 교체영역과 사용자 데이터영역을 포함하는, 상기 드라이브장치에 있어서,
    상기 추기형 기록매체에 대하여 기록동작 또는 재생동작을 하는 기록/재생부;
    상기 기록/재생부를 제어하는 드라이브 제어부를 포함하고,
    상기 드라이브 제어부는,
    데이터가 기록되어야 하는 위치를 포함하는 기록 지시를 수취하는 것과,
    상기 기록 지시에 포함되는 상기 위치 대신에 상기 사용자 데이터영역의 교체처 위치에 상기 데이터를 기록하도록 상기 기록 재생부를 제어하는 것과,
    상기 사용자 데이터영역의 상기 교체처 위치에 상기 데이터를 기록하는 것이 성공하였는지의 여부를 판정하는 것과,
    상기 사용자 데이터영역의 상기 교체처 위치에 상기 데이터를 기록하는 것이 실패한 경우에, 상기 교체영역의 위치에 상기 데이터를 기록하도록 상기 기록/재생부를 제어하는 것과,
    상기 교체 영역의 위치에 상기 데이터를 기록하는 것이 성공했는지의 여부를 판정하는 것, 및
    상기 교체영역의 상기 위치에 상기 데이터를 기록하는 것이 실패한 경우에, 상기 교체영역에 상기 데이터를 기록하는 것이 성공할 때까지 상기 교체영역에 상기 데이터를 기록하는 것을 반복하는 것을 포함하는 처리를 실행하는, 드라이브장치.
  2. 의사덮어쓰기 기록이 실행되는 추기형 기록매체에 있어서,
    교체영역과 사용자 데이터영역을 포함하며,
    데이터가 기록되어야 하는 위치를 포함하는 기록 지시를 수취하는 경우에, 상기 데이터는 상기 기록 지시에 포함되는 상기 위치 대신에 상기 사용자 데이터영역의 교체처 위치에 기록되고,
    상기 사용자 데이터영역의 상기 교체처 위치에 상기 데이터를 기록하는 것이 실패한 경우에, 상기 데이터가 상기 교체영역의 위치에 기록되고,
    상기 교체영역의 상기 위치에 상기 데이터를 기록하는 것이 실패한 경우에, 상기 교체영역에 상기 데이터를 기록하는 것이 성공할 때까지 상기 교체영역에 상기 데이터를 기록하는 것이 반복되는, 추기형 기록매체.
KR1020077019608A 2004-06-15 2005-06-14 드라이브장치 및 추기형 기록매체 KR100786032B1 (ko)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
JP2004177667 2004-06-15
JP2004177662 2004-06-15
JPJP-P-2004-00177663 2004-06-15
JP2004177663 2004-06-15
JPJP-P-2004-00177662 2004-06-15
JPJP-P-2004-00177664 2004-06-15
JP2004177664 2004-06-15
JP2004177666 2004-06-15
JPJP-P-2004-00177666 2004-06-15
JPJP-P-2004-00177667 2004-06-15
JPJP-P-2004-00189013 2004-06-25
JP2004189013 2004-06-25
JP2004255440 2004-09-02
JPJP-P-2004-00255440 2004-09-02

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020067004672A Division KR100774860B1 (ko) 2004-06-15 2005-06-14 드라이브장치

Publications (2)

Publication Number Publication Date
KR20070093463A KR20070093463A (ko) 2007-09-18
KR100786032B1 true KR100786032B1 (ko) 2007-12-17

Family

ID=35509958

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020067026497A KR101138639B1 (ko) 2004-06-15 2005-06-14 드라이브 장치
KR1020067004672A KR100774860B1 (ko) 2004-06-15 2005-06-14 드라이브장치
KR1020077019608A KR100786032B1 (ko) 2004-06-15 2005-06-14 드라이브장치 및 추기형 기록매체
KR1020077019607A KR100786031B1 (ko) 2004-06-15 2005-06-14 드라이브장치 및 추기형 기록매체

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020067026497A KR101138639B1 (ko) 2004-06-15 2005-06-14 드라이브 장치
KR1020067004672A KR100774860B1 (ko) 2004-06-15 2005-06-14 드라이브장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020077019607A KR100786031B1 (ko) 2004-06-15 2005-06-14 드라이브장치 및 추기형 기록매체

Country Status (10)

Country Link
US (3) US8107332B2 (ko)
EP (2) EP1760715A4 (ko)
JP (4) JP4495155B2 (ko)
KR (4) KR101138639B1 (ko)
CN (1) CN101859579B (ko)
BR (1) BRPI0511380C1 (ko)
CA (2) CA2536003C (ko)
MY (2) MY149132A (ko)
TW (3) TWI431616B (ko)
WO (2) WO2005124767A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040028469A (ko) 2002-09-30 2004-04-03 엘지전자 주식회사 1 회 기록 가능한 광디스크의 디펙트 영역 관리방법
US7233550B2 (en) 2002-09-30 2007-06-19 Lg Electronics Inc. Write-once optical disc, and method and apparatus for recording management information on write-once optical disc
KR101036473B1 (ko) 2002-12-11 2011-05-24 엘지전자 주식회사 1회 기록가능한 광디스크에 있어서의 중첩기록 관리방법 및관리정보 기록방법
TWI314315B (en) 2003-01-27 2009-09-01 Lg Electronics Inc Optical disc of write once type, method, and apparatus for managing defect information on the optical disc
US7313065B2 (en) 2003-08-05 2007-12-25 Lg Electronics Inc. Write-once optical disc, and method and apparatus for recording/reproducing management information on/from optical disc
KR101014727B1 (ko) * 2004-06-23 2011-02-16 엘지전자 주식회사 1회 기록 가능한 광디스크의 중첩 기록 방법 및 장치
JP4739708B2 (ja) * 2004-08-25 2011-08-03 株式会社日立製作所 放送番組の記録方法及び放送受信装置、並びに、そのための情報記録装置
JP4933532B2 (ja) * 2006-04-06 2012-05-16 パナソニック株式会社 追記型記録媒体に対するデータ記録方法及びデータ記録装置
JP4662063B2 (ja) * 2006-05-25 2011-03-30 信越化学工業株式会社 フォトレジスト下層膜形成材料及びパターン形成方法
JP5296548B2 (ja) * 2006-11-06 2013-09-25 パナソニック株式会社 記録装置
JP4721063B2 (ja) * 2006-12-12 2011-07-13 ソニー株式会社 光ディスク装置及び記録制御方法
KR101453296B1 (ko) * 2008-01-10 2014-10-21 삼성전자주식회사 정보 저장 매체, 기록/재생 장치 및 기록/재생 방법
KR101566250B1 (ko) * 2009-01-13 2015-11-05 삼성전자주식회사 휴대용 단말기에서 멀티미디어 파일 스트리밍을 위한 장치 및 방법
WO2010128590A1 (ja) * 2009-05-08 2010-11-11 パナソニック株式会社 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置
KR101615623B1 (ko) * 2009-05-27 2016-04-27 삼성전자주식회사 정보 저장 매체, 기록 재생 방법 및 기록 재생 장치
JP5906957B2 (ja) * 2012-06-22 2016-04-20 ソニー株式会社 記録装置、記録方法、交替先選択方法
JP6056215B2 (ja) * 2012-06-28 2017-01-11 ソニー株式会社 記録装置、記録方法
US9070378B2 (en) 2012-10-10 2015-06-30 Seagate Technology Llc Partial write system
JP5966838B2 (ja) * 2012-10-10 2016-08-10 ソニー株式会社 記録制御装置および方法
JP2014186781A (ja) * 2013-03-25 2014-10-02 Hitachi-Lg Data Storage Inc データ記録再生装置、アーカイブシステム、記録制御方法
US20170083630A1 (en) * 2015-09-21 2017-03-23 Egemen Tas Method to virtualize large files in a sandbox
CN107615383A (zh) 2015-07-03 2018-01-19 松下知识产权经营株式会社 信息记录装置以及数据擦除方法
US10042582B2 (en) 2015-08-28 2018-08-07 Panasonic Intellectual Property Management Co., Ltd. Data erasing method
JP6937468B2 (ja) 2018-03-06 2021-09-22 パナソニックIpマネジメント株式会社 情報記録装置及びデータ消去方法
KR20200137739A (ko) 2019-05-31 2020-12-09 에스케이하이닉스 주식회사 반도체장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63103476A (ja) * 1986-10-20 1988-05-09 Matsushita Graphic Commun Syst Inc 交代記録再生方法
JPH06103577A (ja) * 1992-09-22 1994-04-15 Hitachi Maxell Ltd 書換型光ディスクのデータ記録方法
JPH10320924A (ja) * 1997-05-21 1998-12-04 Canon Inc 情報記録方法
JPH11339385A (ja) * 1998-05-22 1999-12-10 Canon Inc 情報再生方法
JP2002163862A (ja) * 2000-11-22 2002-06-07 Sony Corp 情報記録再生装置
WO2004049332A1 (ja) * 2002-11-22 2004-06-10 Sony Corporation 記録媒体、記録装置、再生装置、記録方法、再生方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4953122A (en) * 1986-10-31 1990-08-28 Laserdrive Ltd. Pseudo-erasable and rewritable write-once optical disk memory system
JPH0223417A (ja) * 1988-07-13 1990-01-25 Matsushita Electric Ind Co Ltd 情報記録方式と情報記録媒体
US5448728A (en) * 1991-08-08 1995-09-05 Sharp Kabushiki Kaisha Storage medium control system for controlling a write-once read-many storage medium
JPH06103557A (ja) * 1992-09-22 1994-04-15 Kao Corp 磁気記録媒体
JPH06338139A (ja) * 1993-05-31 1994-12-06 Olympus Optical Co Ltd 追記型情報記録媒体の情報記録における交代処理方法
KR0183160B1 (ko) * 1995-09-30 1999-05-15 김광호 멀티 세션 디스크 및 고속 억세스 방법
US6249506B1 (en) 1998-01-27 2001-06-19 Matsushita Electric Industrial Co., Ltd. Medium attaching device and disk drive apparatus
JPH11330385A (ja) * 1998-05-20 1999-11-30 Mitsumi Electric Co Ltd Cmosデバイス
US6160778A (en) * 1999-03-08 2000-12-12 Matsushita Electric Industrial Co., Ltd. Information recording medium, information recording method, information recording apparatus and information reproducing apparatus
JP3040779B1 (ja) * 1999-03-08 2000-05-15 松下電器産業株式会社 情報記録媒体、情報記録方法、情報記録装置および情報再生装置
JP4116740B2 (ja) * 1999-03-08 2008-07-09 松下電器産業株式会社 情報記録媒体、情報記録方法、情報記録装置および情報再生装置
JP2001110168A (ja) 1999-10-13 2001-04-20 Ricoh Co Ltd 情報記録再生装置と情報記録再生方法と情報記録再生プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003168876A (ja) 2001-11-30 2003-06-13 Toshiba Corp 電子機器
CN101281774A (zh) * 2002-01-22 2008-10-08 松下电器产业株式会社 多层信息记录媒介,信息记录设备,和记录方法
JP2004049332A (ja) * 2002-07-17 2004-02-19 Koa:Kk 遊技台のリーチ回数表示装置
JP3851896B2 (ja) 2002-09-27 2006-11-29 株式会社東芝 半導体装置の製造方法
EP1552518A2 (en) * 2002-09-27 2005-07-13 Koninklijke Philips Electronics N.V. Methods and devices for defect and reallocation management on write-once media
KR100739673B1 (ko) * 2002-10-10 2007-07-13 삼성전자주식회사 임시 결함 관리 영역을 사용한 결함 관리 방법
JP2004154496A (ja) 2002-11-01 2004-06-03 Chieko Takahashi 掛け布団と掛け布団カバーを固定するバンド
JP2004154422A (ja) 2002-11-07 2004-06-03 Toshiba Tec Corp マット式マッサージ機及びベッド
JP2006510160A (ja) * 2002-12-11 2006-03-23 エルジー エレクトロニクス インコーポレーテッド 追記型光ディスクへの上書きの管理方法及び装置
KR101036473B1 (ko) * 2002-12-11 2011-05-24 엘지전자 주식회사 1회 기록가능한 광디스크에 있어서의 중첩기록 관리방법 및관리정보 기록방법
US7869315B2 (en) * 2003-02-28 2011-01-11 Samsung Electronics Co., Ltd. Write-once optical disc having update area and access area
US7463562B2 (en) * 2003-04-30 2008-12-09 Samsung Electronics Co., Ltd. Method of recording temporary defect list on write-once recording medium, method of reproducing the temporary defect list, recording and/or reproducing apparatus, and the write-once recording medium
TW200501119A (en) * 2003-05-09 2005-01-01 Lg Electronics Inc Recording medium having data structure for managing at least a data area of the recording medium and recording and reproducing methods and apparatuses
EP1623423A1 (en) * 2003-05-09 2006-02-08 LG Electronics Inc. Write once optical disc, and method and apparatus for recovering disc management information from the write once optical disc
MXPA05012044A (es) * 2003-05-09 2006-02-03 Lg Electronics Inc Disco optico de una sola escritura, metodo y aparato par recuperacion de informacion de administracion de disco del disco optico de una sola escritura.
JP3861856B2 (ja) * 2003-06-13 2006-12-27 ソニー株式会社 記録再生装置、記録再生方法
TW200502932A (en) * 2003-07-07 2005-01-16 Hitachi Ltd A recording medium, recording method and recording apparatus
KR20050009031A (ko) * 2003-07-15 2005-01-24 엘지전자 주식회사 1회 기록 가능한 광디스크 및 광디스크의 관리정보 기록방법
WO2005024793A2 (en) * 2003-09-08 2005-03-17 Lg Electronics Inc. Write-once optical disc, and method and apparatus for recording management information thereon
JP2007505432A (ja) * 2003-09-08 2007-03-08 エルジー エレクトロニクス インコーポレーテッド 追記型光ディスク、並びにその上に管理情報を記録するための方法及び装置
JP4269942B2 (ja) * 2004-01-09 2009-05-27 株式会社日立製作所 記録媒体、記録装置及び再生装置
KR101024916B1 (ko) * 2004-03-19 2011-03-31 엘지전자 주식회사 1회 기록 가능한 고밀도 광디스크의 데이터 기록 방법 및장치
JP2005339622A (ja) * 2004-05-25 2005-12-08 Nec Corp 記録管理情報記録方法および情報記録装置および情報記録媒体
JP4078560B2 (ja) * 2004-05-25 2008-04-23 日本電気株式会社 光ディスク記録システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63103476A (ja) * 1986-10-20 1988-05-09 Matsushita Graphic Commun Syst Inc 交代記録再生方法
JPH06103577A (ja) * 1992-09-22 1994-04-15 Hitachi Maxell Ltd 書換型光ディスクのデータ記録方法
JPH10320924A (ja) * 1997-05-21 1998-12-04 Canon Inc 情報記録方法
JPH11339385A (ja) * 1998-05-22 1999-12-10 Canon Inc 情報再生方法
JP2002163862A (ja) * 2000-11-22 2002-06-07 Sony Corp 情報記録再生装置
WO2004049332A1 (ja) * 2002-11-22 2004-06-10 Sony Corporation 記録媒体、記録装置、再生装置、記録方法、再生方法

Also Published As

Publication number Publication date
JP2010049794A (ja) 2010-03-04
JPWO2005124767A1 (ja) 2008-04-17
US20080273448A1 (en) 2008-11-06
EP1760715A4 (en) 2013-03-13
KR20070093463A (ko) 2007-09-18
MY146234A (en) 2012-07-31
JP4511531B2 (ja) 2010-07-28
TWI431616B (zh) 2014-03-21
JPWO2005124768A1 (ja) 2008-04-17
CA2714798A1 (en) 2005-12-29
TW201001403A (en) 2010-01-01
BRPI0511380C1 (pt) 2008-07-15
TW201005735A (en) 2010-02-01
US8107332B2 (en) 2012-01-31
EP1758115A1 (en) 2007-02-28
KR20070043937A (ko) 2007-04-26
WO2005124768A1 (ja) 2005-12-29
KR100786031B1 (ko) 2007-12-17
US8259544B2 (en) 2012-09-04
CN101859579B (zh) 2012-04-04
EP1758115A4 (en) 2013-03-13
BRPI0511380A (pt) 2008-04-01
TWI329861B (en) 2010-09-01
KR101138639B1 (ko) 2012-04-26
US20080212431A1 (en) 2008-09-04
WO2005124767A1 (ja) 2005-12-29
MY149132A (en) 2013-07-15
KR100774860B1 (ko) 2007-11-08
US7948845B2 (en) 2011-05-24
KR20060120639A (ko) 2006-11-27
JP4495155B2 (ja) 2010-06-30
US20060288263A1 (en) 2006-12-21
CA2536003A1 (en) 2005-12-29
CA2536003C (en) 2012-01-17
KR20070093462A (ko) 2007-09-18
EP1760715A1 (en) 2007-03-07
CN101859579A (zh) 2010-10-13
JP4908575B2 (ja) 2012-04-04
JP2010080052A (ja) 2010-04-08
TW200614172A (en) 2006-05-01

Similar Documents

Publication Publication Date Title
KR100786032B1 (ko) 드라이브장치 및 추기형 기록매체
KR101138641B1 (ko) 드라이브 장치
KR101111472B1 (ko) 드라이브 장치
JP4830033B2 (ja) ドライブ装置
JP4773557B2 (ja) ドライブ装置

Legal Events

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

Payment date: 20121119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141117

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171114

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181121

Year of fee payment: 12