JP5128131B2 - 追記形ディスクに対するデータ記録/再生 - Google Patents

追記形ディスクに対するデータ記録/再生 Download PDF

Info

Publication number
JP5128131B2
JP5128131B2 JP2006534499A JP2006534499A JP5128131B2 JP 5128131 B2 JP5128131 B2 JP 5128131B2 JP 2006534499 A JP2006534499 A JP 2006534499A JP 2006534499 A JP2006534499 A JP 2006534499A JP 5128131 B2 JP5128131 B2 JP 5128131B2
Authority
JP
Japan
Prior art keywords
metadata
track
write
file
data
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2006534499A
Other languages
English (en)
Other versions
JP2007536675A (ja
Inventor
ギャレット ジェイ. ブーバン,
芳稔 後藤
ラジーブ ワイ. ナーガル,
サロシュ シー. ハヴェワラ,
ヴィシャル ブイ. ゴーゲ,
ラビンダー エス. シンド,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Microsoft Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Microsoft Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd, Microsoft Corp filed Critical Panasonic Corp
Publication of JP2007536675A publication Critical patent/JP2007536675A/ja
Application granted granted Critical
Publication of JP5128131B2 publication Critical patent/JP5128131B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/036Insert-editing
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10898Overwriting or replacing recorded data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10898Overwriting or replacing recorded data
    • G11B2020/10907Overwriting or replacing recorded data using pseudo-overwriting, i.e. virtually or logically overwriting data on WORM media by remapping recorded blocks to alternate areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1288Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B2020/1873Temporary defect structures for write-once discs, e.g. TDDS, TDMA or TDFL
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • G11B2020/1893Methods for assignment of alternate areas for defective areas using linear replacement to relocate data from a defective block to a non-contiguous spare area, e.g. with a secondary defect list [SDL]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/218Write-once discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、論理的な上書き可能メカニズムを用いる、追記形ディスクへの記録方法および記録装置と、再生方法および再生装置と、記録装置および/または再生装置に使用するための半導体集積回路とに関する。
OSTA(Optical Storage Technology Association)から公開されているUDF(Universal Disk Format(登録商標))仕様を開発する様々な活動を通じ、光ディスク用のファイルシステムは進歩した。
追記形ディスクに関しては、マルチセッション記録からVAT(Virtual Allocation Table)を利用するファイルごとの記録へと記録方法が改善された。
他方、書換え可能なディスクに関しては、国際規格であるECMA167に定義される非連続記録を用いた構造から、UDF Revision2.5(以下、UDF2.5という)に規定されるメタデータパーティションを用いた構造へとボリューム構造およびファイル構造が改善された。メタデータパーティションを用いることの利点としては、ファイルエントリ/ディレクトリ等のメタデータを検索する際の性能の向上、メディアのダメージに対する堅牢性の向上が挙げられる。
しかしながら、メタデータパーティションは、追記形ディスクへのデータ追加用途には使用することができない。これは、メタデータパーティションとVATとの組み合わせを実施することが困難であることから、UDF2.5ではメタデータパーティションをVATと共に使用することが可能でないためである。
一般的に、追記形ディスク用の新規な記録方法を開発することも困難である。これは、追記形ディスクの物理的特性上、一度書込まれたデータが上書きされることが可能でないためである。新規な記録方法はコンピュータアーキテクチャと互換性が必要であり、ドライブ装置内で実装される必要があるため、また、民生用機器の利用可能なリソースも考慮して、新規な記録方法の研究がいくつかの局面からなされた。
本発明は、上記主題を鑑みてなされ、追記形ディスクへの記録用途において、メタデータパーティションの利点を提供するという目的を含む。
疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するための記録方法であって、追記形ディスクは本発明に従って複数のトラックを含み、(a)少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、(b)追記形ディスクの位置からファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出してメタデータファイルのファイルエントリを取得することをドライブ装置に命令するステップと、(c)複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、(d)メタデータファイルのファイルエントリとトラック情報とに基づいて、メタデータを次に書込むトラックを複数のトラックから決定する、ステップと、(e)追記形ディスクの位置からメタデータを読み出してメタデータを取得することをドライブ装置に命令するステップと、(f)ステップ(d)で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、トラックは複数のトラックの中から選択される、ステップと、(g)メタデータを更新して、書込み要求によって指定されるデータの書込みを反映する、ステップと、(h)書込み要求によって指定されたデータを追記形ディスク内の次の書込み可能なアドレスによって示される位置へ書込むことを、ドライブ装置に命令する、ステップと、(i)更新済みのメタデータのうちの少なくとも一部を、ステップ(e)においてメタデータが読み出される追記形ディスク内の位置へ書込むようにドライブ装置に命令する、ステップとを包含する、方法である。
本発明の一実施形態において、本方法は、ステップ(d)において決定されたトラックにおける次の書込み可能なアドレスが有効であるか否かを決定するステップと、ステップ(d)において決定されたトラック内にある次の書込み可能なアドレスが有効でないことが決定された場合、メタデータを次に書込む第1のトラックと、データを次に書込む第2のトラックとを割付けることをドライブ装置に命令し、ステップ(f)において取得された次の書込み可能なアドレスを第2のトラック内にある次の書込み可能なアドレスへ更新するステップとをさらに含む。
本発明の一実施形態において、第1のトラックと第2のトラックとは、ステップ(f)において選択されたトラック内で割付けられる。
本発明の一実施形態において、本方法は、更新済みメタデータのうちの少なくとも一部を第1のトラック内にある次の書込み可能なアドレスによって示される位置へ書込むことを、ドライブ装置に命令するステップと、第1のトラックが割付けられ、更新済みメタデータのうちの少なくとも一部が第1のトラック内に書込まれたか否かを決定するステップと、第1のトラックが割付けられ、更新済みメタデータのうちの少なくとも一部が第1のトラック内に書込まれたことが決定された場合、メタデータファイルのファイルエントリを更新して更新済みメタデータのうちの少なくとも一部の書込みを反映させ、さらに、メタデータファイルの更新済みファイルエントリを追記形ディスク内のステップ(b)においてメタデータファイルのファイルエントリが読出された位置へ書込むことを、ドライブ装置に命令するステップとをさらに含む。
本発明の別の態様によると、疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するためのシステムコントローラであって、追記形ディスクは複数のトラックを含み、システムコントローラはドライブ装置を制御するためのコントローラを備え、コントローラは、(a)少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、(b)追記形ディスクの位置からファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出してメタデータファイルのファイルエントリを取得することをドライブ装置に命令するステップと、(c)複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、(d)メタデータファイルのファイルエントリとトラック情報とに基づいて、メタデータを次に書込むトラックを複数のトラックから決定する、ステップと、(e)追記形ディスクの位置からメタデータを読み出してメタデータを取得することをドライブ装置に命令するステップと、(f)ステップ(d)で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、トラックは複数のトラックの中から選択される、ステップと、(g)メタデータを更新して、書込み要求によって指定されるデータの書込みを反映する、ステップと、(h)書込み要求によって指定されたデータを追記形ディスク内の次の書込み可能なアドレスによって示される位置へ書込むことを、ドライブ装置に命令する、ステップと、(i)更新済みのメタデータのうちの少なくとも一部を、ステップ(e)においてメタデータが読み出される追記形ディスク内の位置へ書込むようにドライブ装置に命令する、ステップとを含む処理を実行するように構成されている、システムコントローラが提供される。
本発明の一実施形態において、コントローラは、半導体集積回路を含む。
本発明の別の態様によると、疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するためのシステムコントローラにおいて使用するプログラムであって、追記形ディスクは複数のトラックを含み、プログラムは、(a)少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、(b)追記形ディスクの位置からファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出してメタデータファイルのファイルエントリを取得することをドライブ装置に命令するステップと、(c)複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、(d)メタデータファイルのファイルエントリとトラック情報とに基づいて、メタデータを次に書込むトラックを複数のトラックから決定する、ステップと、(e)追記形ディスクの位置からメタデータを読み出してメタデータを取得することをドライブ装置に命令するステップと、(f)ステップ(d)で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、トラックは複数のトラックの中から選択される、ステップと、(g)メタデータを更新して、書込み要求によって指定されるデータの書込みを反映する、ステップと、(h)書込み要求によって指定されたデータを追記形ディスク内の次の書込み可能なアドレスによって示される位置へ書込むことを、ドライブ装置に命令する、ステップと、(i)更新済みのメタデータのうちの少なくとも一部を、ステップ(e)においてメタデータが読み出される追記形ディスク内の位置へ書込むようにドライブ装置に命令する、ステップとを含む処理を実行するように構成されている、プログラムが提供される。
本発明の別の態様によると、追記形ディスクへデータを書込むための記録方法であって、追記形ディスクは複数の物理セクタを有し、追記形ディスクはボリューム空間を有し、ボリューム空間は複数の論理セクタを有し、複数の論理セクタのそれぞれは複数の物理セクタのうちの1つに対応し、追記形ディスクは複数のトラックを有し、複数のトラックのそれぞれは、複数の物理セクタのうちの少なくとも1つの物理セクタを含み、記録方法は、(a)データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、(b)複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、(c)書込み命令とステップ(b)において取得されたトラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを複数のトラックから決定するステップと、(d)書込み命令によって指定された論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、(e)書込み命令によって指定された論理セクタが未記録の物理セクタと対応していると決定された場合に、未記録の物理セクタへデータを書込むステップと、(f)書込み命令によって指定された論理セクタが記録済みの物理セクタと対応していると決定された場合に、ステップ(c)において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内にデータを書込み、記録済み物理セクタの元のアドレスを、次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピングテーブルを生成し、リマッピング情報を含むリマッピングテーブルを追記形ディスクへ書込むステップとを包含する、方法が提供される。
本発明の一実施形態において、方法は、割付命令を受け取るステップと、少なくとも1つのトラックを割付命令に応じて割付けるステップとを包含する。
本発明の一実施形態において、少なくとも1つのトラックを割付けるステップは、ステップ(c)で決定されたトラック内で第1のトラックと第2のトラックとを割付けるステップをさらに包含する。
本発明の別の態様によると、追記形ディスクへデータを書込むためのドライブ装置であって、追記形ディスクは複数の物理セクタを有し、追記形ディスクはボリューム空間を有し、ボリューム空間は複数の論理セクタを有し、複数の論理セクタのそれぞれは複数の物理セクタのうちの1つに対応し、追記形ディスクは複数のトラックを有し、複数のトラックのそれぞれは、複数の物理セクタのうちの少なくとも1つの物理セクタを含み、ドライブ装置は、追記形ディスクに対して記録操作を実行するためのドライブメカニズムと、ドライブメカニズムを制御するためのドライブコントローラとを備え、ドライブコントローラは、(a)データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、(b)複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、(c)書込み命令とステップ(b)において取得されたトラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを複数のトラックから決定するステップと、(d)書込み命令によって指定された論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、(e)書込み命令によって指定された論理セクタが未記録の物理セクタと対応していると決定された場合に、未記録の物理セクタへデータを書込むようにドライブメカニズムを制御するステップと、(f)書込み命令によって指定された論理セクタが記録済みの物理セクタと対応していると決定された場合に、ステップ(c)において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内にデータを書込むようにドライブメカニズムを制御し、記録済み物理セクタの元のアドレスを、次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピング情報を含むリマッピングテーブルを生成し、リマッピングテーブルを追記形ディスクへ書込むようにドライブメカニズムを制御するステップとを含む処理を実行するように動作可能である、ドライブ装置が提供される。
本発明の別の態様によると、追記形ディスクへデータを書込むためのドライブ装置において使用する半導体集積回路であって、追記形ディスクは複数の物理セクタを有し、追記形ディスクはボリューム空間を有し、ボリューム空間は複数の論理セクタを有し、複数の論理セクタのそれぞれは複数の物理セクタのうちの1つに対応し、追記形ディスクは複数のトラックを有し、複数のトラックのそれぞれは、複数の物理セクタのうちの少なくとも1つの物理セクタを含み、半導体集積回路は、追記形ディスクに対して記録操作を実行するためのドライブメカニズムを制御するように構成されており、半導体集積回路は、(a)データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、(b)複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、(c)書込み命令とステップ(b)において取得されたトラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを複数のトラックから決定するステップと、(d)書込み命令によって指定された論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、(e)書込み命令によって指定された論理セクタが未記録の物理セクタと対応していると決定された場合に、未記録の物理セクタへデータを書込むようにドライブメカニズムを制御するステップと、(f)書込み命令によって指定された論理セクタが記録済みの物理セクタと対応していると決定された場合に、ステップ(c)において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内にデータを書込むようにドライブメカニズムを制御し、記録済み物理セクタの元のアドレスを、次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピングテーブルを生成し、リマッピング情報を含むリマッピングテーブルを追記形ディスクへ書込むようにドライブメカニズムを制御するステップとを含む処理を実行するように動作可能である、半導体集積回路が提供される。
添付図面を参照し以下の詳細な説明を読み、理解すれば、本発明のこれらの利点および他の利点が当業者にとって明白となろう。
ドライブ装置によって実行される、追記形ディスク用の上書きを可能にする機能が研究されてきた。しかしながら、ドライブ装置は将来上書きされるデータの量やデータが上書きされる場所を知ることができないため、この機能を実用化するのは困難であった。
たとえば、上書きされるデータは追記形ディスクということで、他の位置へ保存され、元の位置を特定するための情報および代替位置を示す情報がドライブ装置内で扱われなければならない。上書きされたデータの量が増えると、そのデータを代替する場所を探すためにはより長い時間がかかる。したがって、このようなドライブ装置は、リソース(たとえばCPUの速度およびメモリ)が小さいため十分な性能で読出し/書込みができなかった。
新規なファイルシステムは上書きされるデータを新たに書込まれるデータとを区別すべきであり、それによって新規なファイルシステムは上書き可能な機能を有するドライブ装置と適合することができると考えられる。そうすれば、追記形ディスクへのデータ追加用途にVATを使用せずに、メタデータパーティションを適用する可能性が見出される。
このアイデアの戦略上の重要な点としては、実在のブロックの上書きを機器に扱わせることによって、ファイルシステムはその論理を導入する必要がないということが挙げられる。このことによって、ファイルシステムドライバの複雑性が低減される。
同時に、追記形のメディアは、リムーバブルメディアにデータを書込むための最も安価かつ高速な方法の1つである。しかしながら、追記形のメディアは本質的にドライブに対して、ある位置にデータを記録することを要求する。この位置は、データが書込まれると先へ移動する。一般的に、このことはデータの実質的な断片化という結果につながり得る。すなわち、所定の種類のデータまたはファイルがディスク上の多数の領域に分散してしまうということである。
以下に記載するアイデアは、ディスク上で複数の書込み点を使用することによって、上記断片化を幾分か軽減するのを促すための方法である。すなわち、メタデータとファイルとがディスク上の別個の位置に保存される。ディスク上の異なる位置に書込むためのメカニズムを提供することによって、追記形ディスクの有用性に対する一部制限を取り払うことができる。
以下の実施形態において、このアイデアに基づく研究を詳細に示す。
(実施形態1)
上書きされるデータの量は、ファイルシステムにおける手順を最適化することによって削減され得る。この実施形態では、追記形ディスクの上書き可能な機能を備えるドライブ装置に対する新規な記録方法に従った、基本的な読出し/書込み操作を説明する。
以下、図面を参照し、本発明の実施形態を説明する。
図1および図2は、領域の構成を示す図である。図4は、ファイルを記録するための手順を示すフローチャートである。図1は、論理フォーマット操作の後の状態を示す。図2は、図1に示す状態のディスク上の、ルートディレクトリ内にData−Aファイルを記録した後の状態を示す。
図1について初めに説明する。
データ領域は、リードイン領域と、ボリューム空間と、リードアウト領域とを含む(リードイン領域およびリードアウト領域は物理層によって管理される)。物理セクタはデータ領域内のアドレス指定可能な単位であり、各物理セクタには物理セクタ番号が昇順に割当てられている。ボリューム空間は論理セクタからなり、各論理セクタには論理セクタ番号が昇順に割当てられている。各論理セクタは、あらかじめ物理セクタと独自に対応している。たとえば、論理セクタ番号0を有する論理セクタは物理セクタ番号10000を有する物理セクタに対応し、ボリューム空間の開始アドレスはリードイン領域内に保存されている。
欠陥管理領域(DMA)は、代替操作における、代替されるブロックのアドレスと代替済のブロックのアドレスとの対応を示す情報が、欠陥リストとして記録される領域である。
臨時DMA(TDMA)は、追記操作において臨時欠陥リストが記録される領域である。ディスクをファイナライズして追記操作を禁止すると、臨時欠陥リストが欠陥リストとしてDMA内に登録される。DMAは、ディスクの内側部分と外側部分との2箇所に設定され、欠陥リストは2つの異なる領域に2度記録される。DMAには、トラック情報、スペア領域の位置情報などのディスク情報が記録される。
スペア領域は、代替領域であり、リニアリプレースメント(linear replacement)方法と同等の代替操作によってデータが記録される。スペア領域は、ファイルシステムが扱うボリューム空間の外側に割り当てられる。この例では、データはスペア領域の一部分に記録済みである。本来、スペア領域内のアドレスは物理アドレスを用いて特定されるが、説明を簡潔にするために、スペア領域内の相対アドレスをSA(スペア領域内アドレス)として示している。スペア領域内のセクタは未記録状態である。
本発明では、一般的に欠陥管理に利用されているリニアリプレースメントアルゴリズムを、ドライブ装置によって実行される書換えに応用する。
ボリューム空間は4つのトラックを含む。トラックとは領域であり、その領域では追記形ディスクにおいて、トラックの始めからシーケンシャルにデータが記録される。トラック内にある記録済み領域の終端がドライブ装置によって管理される。トラック状態(クローズおよびオープン)は、トラックの状態を示すものである。「クローズ」は、トラック内の全てのセクタがデータ記録に使用されたことを示し、「オープン」は、データ記録に使用されていないセクタが少なくとも1つのトラック内に存在することを示している。すなわち、オープン状態であるトラックにはデータを追記することができる。
(ボリューム構造)
ボリューム構造およびファイル構造は、UDF2.5に準拠している。より小さな論理セクタ番号を有する領域に配置されているボリューム構造は、アンカーボリューム記述子ポインタと、ボリューム認識シーケンスと、ボリューム記述子シーケンスと、論理ボリューム保全シーケンスとを含む。より大きな論理セクタ番号を有する領域に配置されているボリューム構造は、アンカーボリューム記述子ポインタとボリューム記述子シーケンスとを含む。論理ボリューム保全記述子が記録されている論理ボリューム保全シーケンスは、ボリューム構造の一部である。ボリューム構造が以前に記録されているため、トラック#1およびトラック#4はクローズ状態である。トラック#2は、データを書込むために割当てられた領域である。図1では、一例として、トラック#2内に割付けられたメタデータファイルは、未記録領域を有している。メタデータファイルはメタデータパーティションとも呼ばれる。トラック#2とトラック#3とからなる領域は、物理パーティションと呼ばれる。トラック#3は、ファイルのデータを書込むために割当てられた領域である。したがって、記録済み領域に続く領域は未記録状態である。
(ファイル構造)
メタデータビットマップFE(メタデータビットマップファイルファイルエントリ)とは、メタデータビットマップに対して割付けられた領域を編成するためのファイルエントリである。メタデータビットマップは、メタデータファイル内にある使用の準備が整った利用可能なセクタを指定するためのビットマップである。未記録領域のみでなく、ファイルエントリまたはディレクトリを消去することによって未使用となった領域も、利用可能な領域としてビットマップ内に登録されている。メタデータファイルFE(メタデータファイルファイルエントリ)は、メタデータファイルに対して割付けられた領域を編成するファイルエントリである。メタデータファイルには、ファイルエントリとディレクトリとが記録されている。UDFにはファイル集合記述子も記録されているが、図には示していない。
ルートディレクトリFE(ルートディレクトリファイルエントリ)は、ルートディレクトリに対して割付けられた領域を編成するファイルエントリである。MA#1内にはルートディレクトリFEが記録されている。MA#0内にはルートディレクトリが記録されている。
(ファイル記録手順)
図2および図4に関連して、図1の追記形ディスクへData−Aファイルを記録する例示的な手順を説明する。
ステップS101において、メタデータファイル内で記録する領域を取得するために、メタデータビットマップをメモリ上に読み出し、メモリ上で更新する。
ステップS102において、ファイルを登録するディレクトリをメモリ上に読み出し、メモリ上で更新する。この例では、ルートディレクトリを読み出し、Data−Aファイルを登録する。
ステップS103において、ディレクトリのファイルエントリをメモリ上に読み出し、ディレクトリの情報(サイズ、更新時等)を更新する。
ステップS104において、トラック#3内の未記録領域の先頭からData−A ファイルのデータを記録する。
ステップS105において、記録したデータの位置情報を登録するために、Data−Aファイルのファイルエントリをメモリ上に生成する。
ステップS106において、メモリ上で更新または生成されたメタデータとメタデータビットマップとを記録する。ルートディレクトリに関して、ドライブ装置は、MA#2(未記録セクタ)へデータを書込むように命令される。したがって、MA#1に記録されたルートディレクトリは無効になり、MA#1にあるセクタが論理空間内の利用可能なセクタになる。ドライブ装置が、メタデータファイル内のこのような利用可能な領域内にデータを書込むように命令された場合でも、その領域が既に記録済みである限り、その領域に物理的にデータを書込むことは不可能である。ルートディレクトリのファイルエントリに関しては、データがMA#0(既に記録されている領域)に書込まれるように命令され、データはスペア領域内のSA#0へ保存される。SA#0は、スペア領域内の未記録領域の先頭である。Data−Aファイルのファイルエントリに関しては、データはMA#3(未記録セクタ)へ書込まれるように命令される。メタデータビットマップに関しては、データは同じ場所(既に記録されている領域)へ書込まれるように命令され、次いでデータがSA#1へ保存される。
代替操作は、本発明の疑似書換え操作である。本明細書において使用する「疑似書換え操作」という用語は、論理的な上書き操作を指す。疑似書換え操作においては、既に記録済みの領域へデータを書込むという命令に応じてデータを未記録領域へ書込むために、代替操作のメカニズムが用いられる。
ステップS107において、ファイル構造の保全状態を示すために、論理ボリューム保全記述子を更新することが命令される。データは疑似書換え操作によってスペア領域(図示せず)へ保存される。
ステップS106で説明したように、可能な限り多くの細切れのデータが同じECCブロック(記録タイミング)内に記録されるように、キャッシュを用いて複数の細切れのデータをまとめて記録することによって、未記録領域を有効に利用することが出来る。特に、メタデータビットマップや論理ボリューム保全記述子は、ファイルを記録する毎に更新しなくてもよい。メタデータビットマップや論理ボリューム保全記述子を複数のファイルが記録された後に記録することによって、スペア領域内の未記録領域を有効に利用することができる。
Data−Aファイルは以下の方法で読み出される。トラック#1内のボリューム構造が読み出された後、メタデータファイルにアクセスするために、まず、メタデータファイルのファイルエントリを読み出す。その後、ルートディレクトリのファイルエントリを読み出す際に、実際のデータはスペア領域内に記録されているため、光ディスクの外側の領域にアクセスする必要がある。次いで、セクタMA#2に記録されているルートディレクトリと、セクタMA#3に記録されているData−Aファイルのファイルエントリとを読み出す。したがって、Data−Aのアドレス情報を取得すると、ファイルデータにアクセスすることができる。
図5は、本発明による光ディスク情報記録再生システム500を示す。情報記録再生システム500は、システムコントローラ510と、光ディスクから情報を読み出したり、光ディスクへ情報を書込んだりするためのドライブ装置520と、入力/出力バス530とを備える。
システムコントローラ510とドライブ装置520との間で、コマンドセットを用いた命令および応答と、読出しデータ/書込みデータの転送とが入力/出力バス530を介して実行され。
システムコントローラ510は、コントローラ511とメモリ512とを含む。システムコントローラ510はパーソナルコンピュータであり得る。コントローラ511は、たとえばCPU(中央処理装置)のような半導体集積回路であり得、本発明の実施形態に記載の方法を実行する。
さらに、実施形態に記載の方法をコントローラ511に実行させるためのプログラムがメモリ512に格納されている。コントローラ511では、ファイルシステムか、ユーティリティプログラムか、デバイスドライバかが実行され得る。
ドライブ装置520はシステムLSI521と、メモリ522と、ドライブメカニズム523とを含む。本発明の実施形態において説明する方法をシステムLSI521に実行させるためのプログラムが、メモリ522内に格納され得る。システムLSI521は半導体チップ上に形成され得、マイクロプロセッサを含み得る。
ドライブメカニズム523は、光ディスクをローディングするためのメカニズムと、ディスクへデータを書込む/ディスクからデータを読出すためのピックアップ524と、ピックアップ524を移動するためのトラバースメカニズムとを含む。ドライブメカニズム523はシステムLSI521によって制御されている。
以上に説明したように、ファイルのデータは上書きせずに記録し、メタデータのいくつかは疑似書換えを用いて記録することができる。一般的に、ファイルを更新する必要のあるメタデータのサイズは、ファイルのデータサイズよりも小さく、上書きされるデータのサイズを削減することができる。ファイルエントリのサイズは2048バイトであり、ディレクトリのサイズは、ファイルの数とファイル名の長さとに依存する。一例として、各ファイル名が12文字であり、39個のファイルがディレクトリ内に記録されている場合、ディレクトリ情報は2048バイトのセクタ内に記録できる。したがって、読出し操作/書込み操作は基本的に、新規な記録方法と、上書き機能を備えるドライブ装置とを組み合わせることによって、追記形ディスクに対して実現可能である。
(実施形態2)
この実施形態は、メタデータファイル内の全領域をあらかじめ記録することによってファイル読み出し時のアクセス性能を改善する記録方法を説明する。
UDF2.5では、ファイルエントリやディレクトリ情報等のメタデータを局所領域内に記録して、ボリューム空間内にメタデータが分散するのを防ぐように、メタデータファイルが導入され、それによってファイル管理情報への効率的なアクセスが達成されている。このことはさらに、損傷したディスク上にあるメタデータをスキャンディスクのようなユーティリティによって修復する際の性能を著しく改善する。しかし、実施形態1で説明したように、データが疑似書換え操作を受ける必要がある場合、メタデータファイル内の一部のデータは必ずスペア領域内に記録される。したがって、余分なアクセス時間が必要となる。記録されるファイルの数が少ない場合、余分なアクセス時間はさほど問題ではない。しかしながら、ディレクトリの階層が深くなり、各ディレクトリ下にあるファイル数が増えると、特に大容量の光ディスクの場合、所定のファイルにアクセスするのに必要な時間が長くなり問題となる。
この実施形態では、メタデータファイル内の全領域を論理フォーマット時に記録する。図3は、図2に示すものと同様のデータが書込まれたディスクの領域の構成を示す図である。図3の図2との違いは、メタデータファイルに対して割付けられた領域が、ファイルが書込まれる前に記録されているということである。したがって、トラック#2はクローズ状態である。
図3を参照して、Data−Aファイルを記録するための手順を説明する。ファイルシステムは、ルートディレクトリをMA#2へ論理的に記録するようにドライブ装置に命令する。データはメタデータファイル内の論理的に利用可能な領域に記録されるがメタデータファイル内の領域は既に記録済みの領域である。したがって、ルートディレクトリをMA#2へ物理的に書込むことは不可能である。そこで、疑似書換え操作によってルートディレクトリをSA#0へ物理的に書込む。同様に、ファイルシステムはルートディレクトリFEをMA#0へ論理的に記録するように命令するが、データは疑似書換え操作によってSA#1内に物理的に書込まれる。その後、Data−Aファイルのデータは、トラック#3へ、未記録領域の先頭から書込まれる。ファイルシステムは、書込み操作を実行する前に未記録領域の先頭のアドレス情報を入手する。Data−Aファイルを記録する位置を特定するために、ファイルシステムは、Data−AファイルのファイルエントリをMA#3へ論理的に記録するように命令し、データは疑似書換え操作によって実際にはSA#2内へ書込まれる。
ファイルシステムは、ルートディレクトリと、ルートディレクトリFEと、Data−A FEとが、メタデータファイル内に論理的に記録されたことを認識する。疑似書換え操作が光ディスクドライブ装置によって実行されると、論理的なアドレス情報のみがドライブ装置とそのシステムコントローラとの間のインタフェース上でやり取りされる。この時点で、メタデータファイル内の領域のうち、MA#1が利用可能であり、MA#2およびMA#3は既に論理的に記録済みである。上記の状態を示すために、ファイルシステムは、メタデータビットマップが更新記録されるように命令し、対応するデータが疑似書換え操作によってスペア領域内のSA#3へ記録される。
本発明の記録方法を用いて記録された図3のData−Aファイルは、以下のように読み出される。トラック#1からボリューム構造を読み出した後、メタデータファイルのファイルエントリを読み出す。その後、スペア領域内にあるルートディレクトリのファイルエントリと、ルートディレクトリと、Data−Aのファイルエントリとを読み出す。これらの情報は全て、疑似書換え操作によってスペア領域内に記録されている。したがって、メタデータファイルとスペア領域との間ではアクセスを行う必要がない。
メタデータファイルを導入した本来の目的が達成される。これは、メタデータファイルは物理パーティション内に論理的に割付けられるが、メタデータファイル内に書込まれたファイルは実際には疑似書換え操作によってスペア領域内に書込まれるためである。このように、メタデータファイル内の欠陥の有無にかかわらず、データはスペア領域内に記録される。
図6は、ドライブ装置とシステムコントローラとの間のコマンドのデータのやり取りを示す図である。特定のコマンドをANSI(American National Standards Institute)によって定義される規格、あるいは、INCITS(Inter National Committee for Information Technology Standards)のT10によって定義されるMulti−Media Command Set規格に適用することができる。
ステップS601、S603、S605、およびS607は、システムコントローラによって実行される手順を示す。ステップS602、S604、S606、およびS608は、ドライブ装置の手順を示す。
ステップS601において、ドライブ装置へローディングされたメディアのタイプがシステムコントローラから要求され、システムコントローラは、メディアが追記形疑似書換え可能ディスクであることを認識し、また、ドライブ装置が疑似書換え機能をサポートしていることを認識する。
ステップS602において、ドライブ装置はローディングされたディスクのタイプ情報を読み出す。ドライブ装置はまた、そのディスクに対して疑似書換え機能がサポートされているか否かを判断する。ドライブ装置は、これらの細切れの情報をシステムコントローラへ通知する。
ステップS603において、システムコントローラは、追記形ディスクのトラック情報を要求することによってドライブ装置からトラック情報を取得する。具体的には、トラック#3内の未記録領域のサイズと、トラック内にある次の書込み可能なアドレスまたはトラック内にある最後の記録済みアドレスとが要求される。ファイルのデータを書込むためには、上記情報をあらかじめ得ることが必要であり、未記録領域が規定のサイズ以上であるか否かがチェックされる。トラック#3には追加のメタデータファイルが割付けられ得るため、たとえば、規定サイズは全容量が23GBのディスクに対して128MBであり得る。未記録領域のサイズが規定サイズ未満である場合、ディスクは読取り専用ディスクとして使用される。サイズが規定サイズ以上である場合、手順は次のステップへ行く。ファイルエントリのサイズは2KBである。128MBの利用可能な領域内にファイルエントリのみを記録する場合、最大で65,536個のファイルに対応するファイルエントリを記録することができる。
ステップS604において、ドライブ装置は、トラック数に関連する情報か、各トラックの位置情報およびオープン/クローズ状態か、最後の記録済みアドレス情報かを、ローディングしたディスクのリードイン領域、DMA、またはTDMAから読出す。システムコントローラはこれらの情報を通知される。
ステップS605において、ドライブ装置は、メタデータビットマップ領域を読出すように命令される。その結果、システムコントローラはメタデータビットマップを取得し、利用可能なセクタがあるか否かをチェックする。利用可能なセクタがある場合、手順は次のステップへ行く。利用可能なセクタがない場合、利用可能なセクタを予約するために、メタデータファイル用の追加領域がトラック#3の未記録領内に割当てられる。このチェックにおいて、システムコントローラは、利用可能なセクタに対する規定サイズを用いて、メタデータファイル用の追加領域が予約されるか否かを決定し得る。たとえば、規定サイズは128KBであり得る。
ステップS606において、ドライブ装置は指定された領域からデータを読出し、そのデータをシステムコントローラへ転送する。
ステップS607において、システムコントローラは、ドライブ装置にスペア領域情報を要求することによって情報を取得し、スペア領域内に規定サイズ以上の未記録領域があるか否かをチェックする。
たとえば、未記録領域のサイズが8MB以上である場合、ディスクは記録可能なディスクとして使用可能である。サイズが8MB未満である場合、ディスクは読取り専用ディスクとして使用される。スペア領域は、疑似書換えのみでなく欠陥管理にも使用される。したがって、ディスク上の欠陥セクタを回復するために、追加の未記録領域が必要である。
ステップS608において、ドライブ装置は、スペア領域の数と、スペア領域のサイズと、各スペア領域内の未記録領域のサイズとを、ローディングしたディスクのリードイン領域、DMA、またはTDMAから読出す。システムコントローラはこれらの細切れの情報を通知される。
上述したように、データは、疑似書換えまたは欠陥管理によってスペア領域内の未記録領域に記録される。本発明の追記形ディスクドライブ装置は、メディアのタイプ情報と同じく空き領域情報をもシステムコントローラへ送る機能を有する。これは、ドライブ装置はどこかの位置にデータを保存し、その位置はファイルシステムが予期する位置とは異なり得るためである。ファイルを記録する度にこの空き領域情報を要求することによって、システムコントローラはファイルを記録することができるか否かを決定する。その結果、システムコントローラは、関連データと共に正確にファイルをメタデータファイル内に記録することができる。
(実施形態3)
先の実施形態2では、メタデータを引き出すアクセスタイムを短縮するために、メタデータはスペア領域へリマップされている。これを達成するためには、十分なサイズのスペア領域を、フォーマット時に追記形ディスク上で割り当てなければならない。スペア領域のサイズは後から拡張することができないためである。しかしながら、ユーザは、ディスク上に記録されるファイルの数やファイルのサイズを知ることができない。したがって、フォーマット時にスペア領域の適切なサイズを決定するのは困難である。スペア領域が全て使用されている場合、未記録領域がユーザデータ領域内に残っていても、ファイルをディスクに記録することはできない。他方、より大きなスペア領域が割り当てられている場合、ユーザデータ領域がすべて使用された後、未記録領域はスペア領域内に残り得る。
さらに、実施形態2の例では、リマッピングテーブル中の、実施形態1よりも多くのエントリが使用される。このためには、リマップされたセクタを探索するためにより大きなテーブルを扱うことが可能なドライブ装置が必要である。ファイルを記録する度に、ファイルシステムドライバはスペア領域内の未記録領域のサイズをチェックしなければならないため、空間管理を実施するのが困難になる。
そこで、以下に、データを代替する方向がスペア領域のみでなくユーザデータ領域内でもある記録方法を説明する。
初めに、本発明のアイデアを説明する。
デバイスは、次の書込み可能なブロックに新たなデータを書込み、ドライブ装置が保存しているリマッピングテーブル中にエントリを作成することによって、既存データの上書きを扱う。ファイルシステムは同じ論理ブロック番号を使用し続け、ドライブ装置は、テーブル中のエントリに基づく新たな位置へリクエストをリマップする。このテーブルのサイズを縮小するために、ブロックが解放された後、ファイルシステムはこれらのブロックを再使用しない。すなわち、ファイルシステムは追記形メディアを使用していることを知っていなければならず、また、それに従って動作を調整しなければならない。
デバイスは、リマップされたデータを保存するために通常のボリューム空間を用いる。すなわち、デバイスは、元のブロックが存在するのと同じトラック内にある、次の書込み可能な位置へ書込んでいる。新たな空間を割付けることが必要になる度に、ファイルシステムは次の書込み可能なブロックをデバイスに問い合わせる。したがって、ファイルシステムおよびデバイスの双方は同じ書込み用空間を共有する。
次に、図7A〜図7D、図8A〜図8B、および図9を用いて、上記のアイデアの有効性を説明する。
図7A〜図7Dおよび図8A〜図8Bは、ユーザデータ領域内のブロックを示す。ここでは、セクタではなくブロックを用いてこのアイデアを一般的に説明する。ユーザデータ領域は、ファイルシステムによってボリューム空間として認識される。各ブロックには物理ブロックアドレス(以下、PBAと記載する)と論理ブロックアドレス(以下、LBAと記載する)とが割当てられ、その結果、PBAとLBAとの間の対応があらかじめ決定される。ここでは、一例として、PBAは100番から割当てられ、LBAは0番から割当てられている。
図9は、ドライブ装置が保存しているリマッピングテーブルのデータ構造を示す。テーブルはエントリを有し、各エントリは元のアドレスとリマッピングアドレスとを指定する。このデータ構造は、書換え可能なディスクに対する欠陥管理のために使用される欠陥リストと共通のデータ構造であり得る。
一般的に、書換え可能なディスクに適用した場合に矛盾があるため、上記のアイデアは有効でないように思われた。
図7Aに示すように、書換え可能なディスクは、たとえば200番からPBAが割当てられているスペア領域を有する。書換え可能なディスクの通常の場合、LBA2およびLBA5のブロックにデータが書込まれており、これらのブロックが欠陥のあるものである場合、これらのデータは、リニアリプレースメントアルゴリズムを用いてスペア領域内のブロックPBA200およびPBA201へ保存される。このことは、LBA2およびLBA5がPBA200およびPBA201へ再度割り当てられることを意味する。したがって、ボリューム空間内のいくつかのブロックが欠陥によって使用不可能なブロックになると、そのブロックはスペア領域内にある有効なブロックによって補われる。
上記のアイデアを、図7Bに示すように書換え可能なディスクに適用したとすると、LBA2およびLBA5を書込むデータは、ユーザデータ領域(たとえばPBA103およびPBA107)内のブロックに保存されよう。しかしながら、PBA103およびPBA107のうちのこれらのリマップされたブロックは、LBA3およびLBA7へ要求されたデータを保存するのに使用され得ない。それは、これらのブロックがLBA2およびLBA5として代替されるためである。この状況は、欠陥のない論理的空間を提供するという前提を破り、ファイルシステムが任意のデータを記録した場合に、書換え可能なディスク上のデータ容量を減らす。さらに、この状況では、ドライブ装置はデータをリマップする位置を決定することができない。これは、ファイルシステムがランダムにデータを書込み得、ファイルシステムのみが、記録用に利用可能な領域を指定する空間ビットマップを扱うためである。
実施形態1で説明したように、リニアリプレースメントアルゴリズムは追記形ディスクへも適用できる。図7Cに示すように、スペア領域はあらかじめ追記形ディスクに対して割当てられる。ブロックが上書きされるか、欠陥のため書込みできない場合、ブロックはスペア領域内のブロックによって補われる。例として、データD1がLBA2へ書込まれる際に、ブロックが欠陥のあるものである場合、ブロックはPBA200のブロックによって補われる。LBA5がデータD2によって書込まれる場合、PBA105が既に記録済みであっても、データはPBA201内に保存される。
上書きされるブロックおよび欠陥のあるブロックがボリューム空間外に属する別のブロックによって補われることが想定されている。本発明のアイデアは、書換え可能なディスクに対してのみでなく追記形ディスクに対しても矛盾であるように見える。
しかしながら、本発明によれば、追記形ディスクは書換え可能なディスクのように欠陥のない論理空間を提供することを保証しなくてもよい。それは、追記形ディスク上のブロックは一度書込まれると、ブロック内のデータを変更することができないためである。また、追記形ディスク用の新規なファイルシステムはシーケンシャルな記録を用いてデータを書込み得る。この点において、本発明のアイデアは図7Dに示すような追記形ディスクに有効である。データD1、D2、およびD3は、LBA0、LBA1、LBA2へシーケンシャルに書込まれている。この時点でブロックPBA102が欠陥のあるものである場合、データは次のブロックPBA103へ書込まれ得る。さらに、データD4、D5、およびD6がLBA4、LBA5、LBA6へシーケンシャルに書込まれ、次いで更新されたデータD5’がLBA5へ上書きされ得る。この上書きを行うと、データは次の書込み可能な位置であるブロックPBA107へ保存される。このように、ユーザデータ領域を使い果たすまでは、上書きが必要になる度にデータを次の書込み可能な位置へ書込むことができるため、このアイデアは論理ブロック番号の割当てを変更する必要がない。書換え可能なディスクの場合、データはリマッピングに用いられるブロックへは記録できないが、追記形ディスクの本発明に関しては何の問題もない。たとえば、データはさらにLBA7のブロックへ記録され得る。この場合、データはPBA108へ保存され、PBA107という元のアドレスからPBA108というリマッピングアドレスへのこのリマッピングを指定するエントリが、リマッピングテーブルへ追加される。
先に説明したように、本発明によれば、論理ブロックアドレスがダブルブッキングであっても、新たな物理ブロックアドレスをNWAに割当てることによってドライブ装置がデータを記録できる。
上記のアイデアによって実用的な、別の重要な点は、ファイルシステムからドライブ装置へ次の書込み可能なアドレスを問い合わせることによって、リマッピングテーブル内に保存されるエントリを節約するということである。図8Aおよび図8Bは、テーブルのサイズを縮小するためのメカニズムを示す。この図では、ブロックPBA100〜105はあらかじめ記録されている。図8Aに示すように、データD1をLBA1に書込むと、データは次の書込み可能な位置PBA106に保存され、PBA101がPBA106へリマップされることを指定する1つのエントリが追加される。この瞬間、ファイルシステムはデータがリマップされる場所を知らない。新たなデータD2を以前の次の書込み可能な位置LBA6へ書込むようにファイルシステムが命令した場合、データは次のブロックPBA107へ保存され、1つのエントリが追加される。本発明では、ファイルシステムは書換えを行わずに任意のデータを記録する前に、更新された次の書込み可能なアドレスをチェックし、更新された次の書込み可能なアドレスにデータを書込むように命令する。更新された次の書込み可能なアドレスは図8BのLBA7である。このように、追加のエントリは不必要である。、ファイルシステムは同様の理由で、上書きの必要がなければ消去されたファイル領域へデータを再度割付けることもない。
さらに、ファイルシステムは記録用の新たな領域を割付けるのにNWAのみを各トラック内で用いるため、ファイルシステムによる空間管理を単純化することができる。このことは、ファイルシステムがスペア領域内でチェックされなくてもよいこと、また、空間ビットマップ、特にメタデータビットマップを記録しなくてもよいことを意味する。
領域をリマップする単位は、複数の物理セクタを有するECCブロックであり得る。物理セクタをリマップすると、その物理セクタが属するECCブロック内の全ての物理セクタがリマップされる。この場合、リマッピングテーブルのエントリ内にある元のアドレスおよびリマッピングアドレスは、ECCブロックの開始セクタの物理アドレスによって指定される。アドレス可能な単位として、物理ブロックおよび論理ブロックは物理セクタおよび論理セクタであり得る。1つのセクタを新たに書込む場合でも、そのセクタを含む1つのECCブロックが書込まれ、NWAが次のECCブロックの開始セクタへ移動される。したがって、いくつかのデータを書込む場合、これらのデータは、これらのデータが同じECCブロックに対して書込まれるように割付けられる。
本発明によって、追記形ディスク上で使用できるメタデータパーティションを用いることにメリットが提供され得る。初めに、上書きされるデータはメタデータ書込み用のトラック内にリマップされ、その結果メタデータを検索するためのアクセスが局所化され、検索の性能が改善する。通常どおり、上書きされたデータは、トラックが未記録セクタを有する限り同じトラック内に保存される。トラックがデータ記録によって使い果たされると、そのブロックには同じトラック内にあるその他の未記録の物理ブロックへのデータ書き込みの優先順位を与えられ、上書きされたデータはその他のトラックへ保存され得る。次に、追加のトラックがメタデータミラーファイルへ割当てられると、エラーへの堅牢性(robustness)を改善するためにメタデータミラーファイルを記録することができる。
これらのメリットは、以下のアイデアによるものである。
データを書込む際、ファイルシステムは、データのタイプに基づき、どのトラックを用いるかを決定する。ファイルシステムは、次いで、このトラックに対する次の書込み点の位置を決定するためにデバイスに問い合わせる。トラックが一杯になると、ファイルシステムは自身の判断で異なるトラックを選択し得る。
一例として、2つのトラックを有するようにフォーマットされたメディアを検討されたい。第1のトラックはメタデータを保存するために用いられる。第2のトラックはファイルデータを保存するために用いられる。ファイルシステムがメタデータを書込む必要がある場合、ファイルシステムはデバイスに第1のトラックの書込み点を問い合わせ、その位置をメタデータの保存に使用する。ファイルシステムがファイルデータを書込む必要がある場合、ファイルシステムはデバイスに第2のトラックの書込み点を問い合わせ、その位置をファイルデータの保存に使用する。いずれかのトラックが一杯になると、ファイルシステムは、もう一方のトラック内に存在し得るフリースペースを使用することを決定し得る。このことによって、ファイルシステムがメタデータおよびファイルデータを可能な限りグループ化することが可能になる。データをグループ化することによって、断片化が低減される。
このアイデアは、Universal Disk Format(UDF)ファイルシステムによって利用され得る。そのため、バージョン2.50の利点の一部を追記形ディスクに利用することができる。現在、UDF2.50は、メタデータの保存方法上、書換え可能なメディアを必要とする。UDF2.50が開発された主な理由の1つは、メタデータを、ファイルデータとは別個にグループ化することである。この利点は追記形ディスク上では失われる。本発明のアイデアを利用することによって、この利点は追記形メディア上でも実現され得る。
本発明のアイデアは、同様のデータを特定の目的のためにグループ化するのにも利用できる。たとえば、1つのトラックに音声を保存することができ、別のトラックに映像を保存することができる。あるいは、1つのトラックには静止画像を保存し、別のトラックには映像を保存することができる。ユーザが写真を頻繁に作成、編集、および消去する場合、このデータは、連続的に追加される映像とは別個に維持される。このことによって写真データが映像ストリームと混ざるのを防ぐ。
2つのトラックが予約されている場合、特別な割付方法が用いられ得る。この方法は、1つの固定されたサイズの予約済みトラックを作成し、第2のトラックをオープン状態にする。第1のトラックが一杯になると、第2のトラックが現在の書込み点でクローズされ得、2つの新たなトラックが作成され得る。これらの新たなトラックは、初めの2つのトラックと同じパターンに従う。このプロセスは、ディスクが一杯になるまで継続され得る。このことによって、ファイルシステムは同様のデータを大きな領域にグループ化することができる。たとえば、これをUDFファイルシステムと共に利用することができ、それによって、メタデータは、UDF2.50によって書換え可能なメディア上に保存されるのと類似の方法で、追記形のメディア上に大きな領域として保存されることが可能である。
図10A〜図10Eは、上記のマルチトラック記録の方針を説明する、領域の構成を示す図である。特別な割付方法を図10A〜図10Eに示す。
図10Aでは、メタデータとファイルデータとを書込むために2つのトラックが予約される。メタデータ用の第1のトラックが使い果たされると、ファイルシステムは、図10Bに示すデータ用トラック内にドライブ装置が新たなトラックを割当てることを要求する。次いで、メタデータ書込み用の新たなトラック#3を図10Aのトラック#2内に予約し、残りのトラック#4をデータの書込みに使用し得る。トラック#1およびトラック#2にはもはやNWAが存在しないということは明らかである。トラック#3およびトラック#4が新たに割付けられると、NWAはトラック内の新たに割当てられた開始アドレスにおいて利用可能である。図10Cにおいて、メタデータおよびファイルデータは新たなトラック、すなわちトラック#3およびトラック#4へ書込まれ得る。
図10Dでは、メタデータとファイルデータとを書込むために2つのトラックが予約されている。この場合、メタデータを必要な限り記録するために、メタデータ書込み用のトラック#1は図10Aで説明したトラックよりも大きい。データ用の第2のトラックが使い果たされると、ファイルシステムは、図10Eに示すように、メタデータ用トラックの後ろにドライブ装置が新たなトラックを割当てることを要求し、その結果、第1のトラックおよび第2のトラックは未記録領域を有する。次いで、データ書込み用の新たなトラック#2が図10Dのトラック#1内に予約される。したがって、より短いトラックがトラック#1として割付けられる。トラック#2が予約された後、図10Dのトラック#2のトラック番号は図10Eにおいてトラック#3に変更される。トラック#3内にはNWAはそれ以上存在しない。トラック#2が新たに割付けられると、NWAは新たに予約されたトラック内の開始アドレスにおいて利用可能である。図10Eでは、メタデータおよびファイルデータは新たなトラック、すなわちトラック#1およびトラック#2へ書込まれ得る。
ここで、ディスクの容量が23GB(=23×1024^3バイト)であり、ECCブロックが32セクタからなり、セクタのサイズが2KB(=2×1024バイト)である例示の場合について、上書きのポテンシャルを概算する。ディスク上に記録されているファイルの平均サイズが128KBであり、平均10個のファイルがディレクトリ内に記録されている場合、約188,000のファイルおよび18,800のディレクトリをディスク上に記録することができる。更新するファイルエントリをファイルシステムがECCブロック内に集める場合、リマッピングテーブルには約6,400のエントリが必要である。エントリのサイズが8バイトである場合、テーブルのサイズは約50KBになる。ドライブ装置がリマッピングテーブルのうちの256KBを最大サイズとして扱うことができる場合、188,000のファイルおよび18,800のディレクトリがランダムに書込まれる。このように、本発明は、ブルーレーザ技術を用いた次世代の追記形光ディスクに実用的である。
上記のアイデアを、UDFと次世代の追記形ディスクとに基づく新たなファイルシステムに適用する例について説明する。
図11は、上記のリマッピングを説明するための、領域の構成を示す図である。実施形態1において説明した領域のレイアウトをこの実施形態にも使用する。
欠陥管理領域(DMA)は欠陥リストが記録される領域であり、臨時DMA(TDMA)は一時的欠陥リストが記録される領域である。リマッピングテーブルは、欠陥リストおよび一時的欠陥リストと共にDMAおよびTDMA内に記録され得る。ここで、欠陥リストおよび一時的欠陥リストは、欠陥管理による代替情報と、同じデータ構造を用いたリマッピング情報との両方を指定するために使用され得る。エントリの解釈は欠陥管理と疑似書換えとで共通しているため、それはドライブ装置の実施を単純化するのに役立つ。エントリがリマッピング情報を指定する場合、テーブル内のエントリは、リマップされるブロックのアドレスとリマップされたブロックのアドレスとの対応を示す。
スペア領域は、ボリューム空間の外側に割り当てられ、スペア領域内のアドレスはSA(スペア領域アドレス)によって示されている。
ボリューム空間は3つのトラックを含む。各トラックにはデータがシーケンシャルに記録される。トラック内の未記録領域の開始アドレスが次の書込み可能なアドレス(NWA;Next Writable Address)として管理される。これらのトラック内のデータが上書き可能であり、予約されたトラック内でデータがリマップされ得るということを示すために、トラックの状態を「使用済み」、「予約済み」という新たな用語によって説明する。使用済みトラックは、トラック内の全てのセクタがデータの記録に使用されたということを意味する。予約済みトラックは、まだ記録されていないセクタが存在することを意味する。換言すれば、データは予約済みのトラックへ追記され得るということである。ボリューム構造が以前に記録されているため、トラック#1は使用済みトラックである。トラック#2は、メタデータ記録用に割当てられた予約済みトラックである。トラック#3は、ユーザデータ記録用に割り当てられた予約済みトラックである。
Data−Aファイルを更新したり、Data−Bファイルを追記形光ディスクへ記録したりするための例示的な手順を示す。
初めに、メタデータファイルに対して割付けられた領域を得るためにメタデータファイル FEを読出し、トラック情報を取得する。そこで、ファイルシステムは、どのトラックがメタデータの書込みに利用できるかを認識できる。ここで、MA(メタデータファイルアドレス)はメタデータファイルにおける相対アドレスを示す。
ファイルシステムがData−Aファイルを更新する際には、更新済みのデータを書込む位置を特定するための情報と関連情報(例えば、サイズ、更新時など)とをメモリに登録するために、ファイルエントリをメモリ上に読出し、そのファイルエントリを更新する。ファイルシステムは、Data−Aファイルのデータを論理的に上書きするようにドライブ装置に命令する。次いで、対応する物理セクタが既に記録済みであるため、ドライブ装置はデータ(Data−A’)を物理的にNWAへ保存し、ドライブ装置は欠陥リストにエントリを追加する。ファイルシステムが、ドライブ装置に問い合わせた後でデータをNWAへ書込むように命令した場合、欠陥リストにエントリを追加する必要はない。データの位置をファイルエントリ内に登録できるため、本発明では、エントリを節約するこの方法が薦められるが、大きなファイルの一部を更新しなければならない場合、更新されるデータは、ファイルの全体のデータを書込む代わりに、上書きされ得る。データをディスクに書込んだ後、ファイルシステムは、書込まれたデータの位置および更新時を特定するために、ファイルエントリ(Data−A’FE)を論理的に上書きするように命令する。次いで、ドライブ装置は、MA#k+1に示すセクタへデータを物理的に書込み、エントリを欠陥リストへ保存する。
ファイルシステムがData−Bファイルをルートディレクトリ下に新たに記録する際、そのディレクトリをメモリ内に読出し、ディレクトリを更新してその新たなファイル(Data−Bファイル)をメモリ上でこのディレクトリに追加する。Data−Bファイルのファイルエントリは、あらかじめメモリ内で作成され、Data−Bファイルのデータはトラック#3内のNWAへ書込まれ、次いで、そのファイルエントリ(Data−B FE)と、メモリ上のルートディレクトリとがトラック#2内のMA#k+2として示すNWAから書込まれる。ルートディレクトリの新たな位置を特定するために、そのディレクトリに関する更新済みのファイルエントリは、上書きされるように命令され、MA#k+4として示すNWAにデータが書込まれる。このようにして、メタデータの中からディレクトリのファイルエントリのみを上書きしてエントリを節約し、その他のメタデータ(ファイルのファイルエントリおよびディレクトリ)とファイルのデータとを書換えずに書込む。
ファイル構造の保全性を示すために、更新済みの論理ボリューム保全記述子は上書きを命令される(この図には示していない)。
上記の疑似書換え操作では、上書きされるデータは、既に記録済みの領域へデータを書込む命令に応じて、スペア領域または予約済みのトラック内のNWAへ保存され得る。データを保存する先は、ドライブ装置によって決定され得る。同様に、欠陥のためにデータをセクタ内に保存できない場合、データは欠陥管理によってスペア領域またはトラック内のNWA内に代替され得る。
書換え可能なディスクの場合、ファイルシステムは利用可能な領域を再使用する。しかしながら、本発明では、利用可能な領域を一度使用すると、その利用可能な領域は再使用されない。たとえば、図11では、ルートディレクトリが書込まれたMA#i+1の論理セクタは利用可能なセクタになったが、ファイルシステムはMA#i+1にはデータを割付けない。データを再びMA#i+1へ書込むと、そのデータはリマップされる。ECCブロックを基準としてデータを書込む場合、そのECCブロックのうちの1つのセクタのみを書込み、そのECCブロックの他のセクタには無効データを記録するように命令した場合でも、1つのECCが書込まれる。同様の理由で、ファイルシステムは、無効データが記録されている領域も再使用しない。
図12は、上記のリマッピングを説明するための、領域の構成を示す図である。図11同様に、Data−Aファイルが更新され、Data−Bファイルが新たに記録される。図11と比較して、メタデータミラーファイルに使用することを意図されたトラックは、トラック#4として追加的に予約され、メタデータミラーファイルFEがメタデータミラーファイルの位置を指定する。UDF2.5によれば、メタデータミラーファイルが存在する場合には、任意のメタデータはメタデータファイル内、およびメタデータミラーファイル内へ、同じ相対アドレスにそれぞれ記録されることになる。簡略化のために、メタデータミラーファイルFEは図11、図13、図14には示していないが、メタデータミラーファイルが存在しない場合にはメタデータミラーファイルFEがメタデータファイルの位置を示す。
追記形光ディスク上にData−Aファイルを更新したりData−Bファイルを記録したりするための手順は、図11に関する説明と同様である。この例では、メタデータをメタデータファイルに書込んだ後、メタデータミラーファイルへ同様のメタデータが書込まれる。ファイルシステムは、メタデータファイルおよびメタデータミラーファイルに対して割付けられた領域を知るために、メタデータファイルFEおよびメタデータミラーファイルFEを読み出すようドライブ装置に命令する。次いで、ファイルシステムは、どのトラックがメタデータの書込みに利用できるかを認識する。ここで、MA(メタデータファイルアドレス)はメタデータファイルおよびメタデータミラーファイル内の相対アドレスを示す。
ファイルシステムがData−Aファイルを更新する場合、ファイルエントリ(Data−A’ FE)をメタデータファイルのトラック#2へ論理的に上書きすることをファイルシステムが命令した後、ファイルシステムは、メタデータミラーファイル内の同一の相対アドレスMA#kに同一のファイルエントリを上書きするようにドライブ装置に命令する。ドライブ装置は、MA#k+1に示すセクタ内に物理的にデータを書込み、そのエントリを欠陥リストへ保存する。
ファイルシステムがData−Bファイルをルートディレクトリ内に新たに記録する場合、MA#k+2として示すNWAからファイルエントリ(Data−B FE)とルートディレクトリとをトラック#2のメタデータファイルへ書込むことをファイルシステムが命令した後、ファイルシステムは、MA#k+2として示すNWAから同一のファイルエントリと同一のルートディレクトリとをトラック#4のメタデータミラーファイル内へ書込むようにドライブ装置に命令する。次いで、トラック#2のメタデータファイル内のMA#k+4として示されたNWAにディレクトリに対する更新済みファイルエントリを上書きすることをファイルシステムが命令した後、ファイルシステムは、トラック#4のメタデータミラーファイル内のMA#k+4として示されたNWAに同一の更新済みファイルエントリを上書きすることを命令する。
このように、メタデータファイルおよびメタデータミラーファイル内の同一の相対アドレスに同一のメタデータを書込むため、メタデータを読出す際のエラーへの堅牢性が改善される。
図13は、上記のリマッピングを説明する、領域の構成を示す図である。図13では、図11で説明したボリューム空間上に新たな予約済みトラックがトラック#3として割当てられている。メタデータ書込み用のトラック#2が使い果たされたため、追加のメタデータを書込むように、このトラックはユーザデータ書込み用のトラック内にある未記録領域で予約される。たとえば、図11のトラック#3は記録済み領域の終了で終端する。トラック#3の終端後、その未記録領域から新たなトラック#4が割当てられる。
図14は、上記のリマッピングを説明する、領域の構成を示す図である。図14では、図13で説明したボリューム空間上のルートディレクトリ内に、Data−Cファイルが新たに記録されている。ディレクトリがメモリ内に読出され、ディレクトリは更新され、メモリ内で新たなファイル(Data−Cファイル)がこのディレクトリに追加される。Data−Cファイルのファイルエントリはメモリ内に作成され、Data−Cファイルのデータはトラック#5内のNWAに書込まれる。次いで、メモリ上にあるファイルエントリ(Data−C FE)とルートディレクトリとが、MA#k+5として示されたNWAからトラック#4内に書込まれる。ルートディレクトリの新たな位置を特定するために、そのディレクトリに対する更新済みのファイルエントリはMA#iへ上書きされるように命令される。トラック#2が使い果たされたため、データは他のトラック内にあるNWAに書込まれる。この例では、データはトラック#4内のMA#k+7に書込まれている。メタデータファイルの追加的なエクステント#2を指定するために、メタデータファイルFEは上書きされるように命令され、データはMA#k+8として示されたNWAに書込まれる。メタデータファイルはメタデータファイルFEを更新することによって拡張されるため、メタデータファイルに割付けられたエクステントは、新たに割当てられたトラックと同じでなくてもよい。したがって、メタデータファイルのエクステントはトラックの一部であり得る。
以下、本発明の書込み手順を説明する。この書込み手順は、図5で説明した光ディスク情報記録再生システムによって実行される。
図15A〜図15Dは、疑似書換え方法を用いてデータが書込まれる際の、ユーザデータ領域内のブロックを示す図をそれぞれ含む。ユーザデータ領域PBAおよびLBAは、図7で説明したのと同様の定義である。
ファイルを更新するための手順を図15Aおよび図15Bで説明する。図15Aに示すように、ファイルが更新される前に、ブロックPBA100、PBA101、PBA102が記録されており、2つのトラックが予約されている。更新されるファイルのファイルエントリ(D3)はブロックLBA2内に保存されている。図15Bに示すように、ファイルシステムは、
1)あらかじめLBA2からファイルエントリを読出すことを命令し、
2)ドライブ装置にNWAを問い合わせ、
3)ファイルの更新済みデータ(D4)を、書換えを行わずにデータが書込まれるように、データ書込み用のトラック内のNWA(LBA9)へ書込むことを命令し、また、読出されたファイルエントリ内の位置情報が、更新されたデータが書込まれる領域を指定するように変更して、ファイルエントリ(D3’)を作成し、次いで、
4)更新済みのファイルエントリ(D3’)を、ファイルエントリが書換えられるように、メタデータ書込み用のトラック内にあるLBA2へ書込むことを命令する。この例では、その前の書込みがPBA109であったため、データD3’は物理的にPBA110へ書込まれる。このように、書換えによって、ドライブ装置はデータを他のトラックへ書込み得る。
ファイルをディレクトリ内に記録するための手順を図15Cおよび図15Dで説明する。図15Cに示すように、ブロックPBA100、PBA101、PBA102、PBA108、PBA109が記録されており、2つのトラックが予約されている。ディレクトリのファイルエントリ(D1)およびディレクトリ(D2)は、ブロックLBA0およびLBA1内に保存されている。図15Dに示すように、ファイルシステムは、
1)ディレクトリのファイルエントリとディレクトリとをLBA0から読出すことを命令し、
2)LBA1からディレクトリを読出すことを命令し、
3)上書きを行わずにデータを書込む位置を決定するために、ドライブ装置に各トラックのNWAを問い合わせ、
3−1)ファイルのデータに対して割付けられた領域の位置情報を有するファイルの、ファイルエントリ(D6)を作成し、
3−2)新たなファイルが、読出されたディレクトリ(D2)内に登録されるように、ディレクトリ(D7)を作成し、
3−3)読出されたファイルエントリ(D1)内の位置情報が、更新されたディレクトリが割付けられる領域を指定するように変更して、ディレクトリのファイルエントリ(D1’)を作成し、
4)ファイルのデータ(D5)を、データ書込み用のトラック#2内にあるNWA(LBA10)へ書込むことを命令し、
5)ファイルのファイルエントリ(D6)をメタデータ書込み用のトラック#1内にあるNWA(LBA3)から書込むことを命令し、
6)データが連続的に書込まれるように、ディレクトリ(D7)を次のアドレスへ書込むことを命令し、次いで、
7)更新されたファイルエントリ(D1’)を、ファイルエントリが上書きされるようにLBA0へ書込むことを命令する。
このように、任意のデータを書込む前に、ファイルシステムはNWAを問い合わせる。これは、ドライブ装置がリマッピングを用いてドライブ装置自体の中へデータを書込むと、NWAが変化し得るからである。次に、ファイルシステムは、データが上書きを行わずに書込まれるように、NWAからデータを書込む命令を与える。次いで、ファイルシステムは、書換えを伴って更新済みデータを書込むように命令する。データを書込むためのこの順序は、リマッピングテーブル内のエントリを節約するために重要である。
図15Bの場合には、書込み手順がこの順でなかった場合、すなわち、データD4が書込まれる前にデータD3’が書換えられた場合、データD3’はPBA109へ書込まれ得、NWAが変更される。このことは、データD4は書換えを伴ってLBA9へ書込まれるが、データはPBA110へリマップされるということを意味する。図15Dの場合には、書込み手順がこの順序でなかった場合、同様に、追加のエントリがリマッピングテーブルに追加される。
書換え可能なディスクの場合、このような必要条件はない。一般的に、書換え可能なディスクの場合には、書込み手順が誤って終了した場合の回復を考慮した信頼性を改善するために、異なる順序が用いられる。他方、追記形ディスクの場合には、このような回復は重要でない。それよりも、リマッピングテーブル内のエントリをセーブすることが重要である。これは、追記形の特徴上、以前の状態が残っているためである。
図11Aおよび図11Bは、追記形光ディスクにデータを書込むための手順を図示するフローチャートをそれぞれ含む。この書込み手順は、図5で説明した光ディスク情報記録再生システムによって実行される。
ファイルを更新する際に、ファイルシステムは、データが上書きを行わずに書込まれるようにファイルのデータを書込むことを命令し、ファイルシステムは、書込まれたファイルエントリを更新することによってファイルエントリを作成し、また、そのファイルエントリが上書きされるように、ファイルエントリを書込むことを命令する。
新たなファイルがディレクトリ下に記録されると、ファイルシステムは、そのファイルのファイルエントリを作成し、メモリ内にある書込まれたディレクトリとそのファイルエントリとを更新することによって、ディレクトリとそのディレクトリのファイルエントリとを作成し、また、上書きを行わずにファイル、ファイルエントリ、ディレクトリのデータを書込むように命令する。次いで、ファイルシステムは、そのファイルエントリが書換えられるようにディレクトリのファイルエントリを書込むことを命令する。
図16は、追記形光ディスクへデータを書込むための手順に含まれるステップを示す。プログラムはその手順を実施するために用いられ、システムコントローラ510に含まれているコントローラ511によって実行される。システムコントローラ510は、ドライブ装置520に、追記形光ディスクにデータを書込むように命令する。コントローラ511は半導体集積回路を含み得る。プログラムは様々な方法で提供される。たとえば、プログラムは、記録されたプログラムを有するコンピュータ可読媒体という形で提供され得る。代替的に、プログラムは、インターネットを介してサーバからプログラムをダウンロードすることによって提供され得る。プログラムが一度コンピュータへインストールされると、コンピュータはシステムコントローラ510として機能する。追記形光ディスクは、複数のトラックを含む。
図17Aおよび図17Bは、ドライブ装置520によって実行される手順を示す。
ステップS1601において、システムコントローラ510は、書込まれるファイルに対して少なくとも1つのデータを指定する、書込みの要求をユーザから受け取る。たとえば、要求は、Data−Aファイルを新たなデータとして代替すること、あるいは他のメディアからディスク上のルートディレクトリ下へData−Bファイルをコピーすることの要求である。書込まれるデータは、システムコントローラ510内のメモリ512へ転送され、ディレクトリツリー構造内のパスネームによってデータの記録先が示されている。
ステップS1602において、コントローラ511は、メタデータファイルのファイルエントリ、すなわちメタデータファイルFEを読出すようにドライブ装置520に命令する。メタデータファイルFEは、追記形ディスクからユーザによって要求されたファイルを管理するためのメタデータを含んでいる。このメタデータから、ファイルFEが取得される。
ステップS1603において、コントローラ511は、複数のトラックのうちのそれぞれの位置を示すトラック情報を取得することをドライブ装置520に命令する。
ステップS1604において、コントローラ511は各トラックをチェックし、メタデータファイルのファイルエントリおよびトラック情報に基づいて、メタデータを次に書込むトラックを決定する。トラックの一部がメタデータファイルまたはメタデータミラーファイルのエクステントに割当てられている場合、トラックは、それぞれメタデータファイルまたはメタデータミラーファイルへメタデータを書込むために用いられる。
ステップS1605において、コントローラ511は、追記形光ディスク上のある位置からメタデータを読出すことによってメタデータを取得することをドライブ装置520に命令する。ファイルエントリ、ディレクトリ等のメタデータは、メタデータファイルから読出される。
ステップS1606において、コントローラ511は、データを書込むことをドライブ装置520に命令する前に、トラック内で次にデータを書込む位置を示す、次の書込み可能なアドレスNWAをドライブ装置520に問い合わせる。これは、ドライブ装置520がNWAを移動させる可能性があるためである。ドライブ装置520は、問い合わせされたNWAをシステムコントローラ510へ送り、システムコントローラ510はそのNWAをコントローラ511へ送る。トラックは複数のトラックから選択される。コントローラ511は、複数のトラックに対するNWAを問い合わせ得るが、ステップS1604で決定されたトラック以外のトラックに対するNWAを、少なくとも1つ問い合わせる。
ステップS1607において、コントローラ511は、ステップS1604で決定されたトラック内にある次の書込み可能なアドレスNWAが有効であるか否かを決定する。そのトラック内にあるNWAが有効でない場合、手順はステップS1608へ行く。たとえば、ステップS1606において無効なアドレスがNWAとして返ってきた場合、そのトラック内にはNWAは存在しないということが認識され得る。ステップS1604またはステップS1606において、ドライブ装置520への問い合わせを通じてトラックの状態が問い合わせられ得る。そのトラックが使用済みの状態であれば、そのトラック内にはNWAは存在しない。
ステップS1608において、コントローラ511は、次にメタデータを書込む第1のトラックと、次にデータを書込む第2のトラックとを割付けることをドライブ装置520に命令する。新たなトラックを割付けることをファイルシステムがドライブ装置520に命令すると、コントローラ511は、ステップS1606で取得したNWAを第2のトラック内のNWAに更新することができる。図13の場合、NWAはトラック#4およびトラック#5の開始アドレスにある。第1のトラックおよび第2のトラックは、ステップS1606で選択されたトラック内に割付けられる。
ステップS1609において、ユーザの書込み要求に応じて、コントローラ511は、書込まれるデータのタイプを区別することによって上書きされるデータ量が最小化されるように、メタデータの少なくとも一部を作成または更新する。図11の説明で述べたように、ファイルを更新する際、ファイルシステムは、書込むデータの位置を指定するためにファイルエントリを作成する。このファイルエントリが、上書きされるデータである。新たなファイルをディレクトリ下に記録する場合、ファイルシステムは新たなファイルのファイルエントリを作成し、ディレクトリを更新してその新たなファイルとディレクトリのファイルエントリとを登録する。ディレクトリのファイルエントリは上書きされるデータであり、その他のメタデータは上書きを行わずに書込むことのできるデータである。更新済みのメタデータの例として、更新済みのメタデータは、ファイルが記録されているディレクトリのファイルエントリか、そのファイルのファイルエントリかを含み得る。
ステップS1610において、コントローラ511は、上書きを行わずに書込むことのできるデータをNWAによって示された位置へ書込むことをドライブ装置520に命令する。
ステップS1611において、コントローラ511は、ドライブ装置520に、メタデータを読出す位置にある更新済みメタデータのうちの少なくとも一部を、データが論理セクタ内へ上書きされるように書込むことを命令する。ドライブ装置520は、ステップS1702において論理セクタの状態をチェックすることによって、データが上書きを伴って書込まれるべきか、上書きされずに書込まれるべきかを決定することができるため、ステップS1610およびステップS1611において、データを書込むことを命令するために同様の書込みコマンドを用いることができる。ステップS1610およびステップS1611において、データは、異なる方法で示された異なるアドレスへ書込まれる。たとえば、ステップS1610はユーザの書込み要求(ステップS1601)によって指定されたデータを書込み、ステップS1611は読出された(ステップS1602)メタデータを書込む。考えられるエラーを避けるために、ステップS1611はステップS1610の後に実行される。
ステップS1612において、コントローラ511は、第1のトラックが割付けられ、更新されたメタデータのうちの少なくとも一部が第1のトラック内に書込まれたか否かを決定する。第1のトラックが割付けられ、更新されたメタデータのうちの少なくとも一部が第1のトラック内に書込まれたと決定された場合、プロセスはステップS1613へ進む。
ステップS1613において、コントローラ511は、更新済みのメタデータのうちの少なくとも一部の書込みを反映するように、メタデータファイルのファイルエントリを更新し、ステップS1602でメタデータファイルのファイルエントリを読出した位置にメタデータファイルの更新済みファイルエントリを書込むことをドライブ装置520に命令する。
コントローラ511からのデータ書込み命令に応じて、ドライブ装置520が続いて行う手順を図17Aに示す。
ステップS1701において、ドライブ装置520は、少なくともデータを書込む論理セクタを指定する、書込み命令をコントローラ511から受け取り、どのトラックに書込むかをチェックする。ドライブ装置520はまた、複数のトラックのそれぞれの位置を示すトラック情報を取得し、トラックのそれぞれから、書込み命令とトラック情報とによって指定された論理セクタに基づいて、次にデータを書込むトラックを決定する。
ステップS1702において、ドライブ装置520は、書込み命令によって指定された論理セクタが記録済みの物理セクタまたは未記録の物理セクタに対応しているか否かを決定する。このチェックの際、ドライブ装置520は、コントローラ511によって書込みを命令された論理セクタ番号を用いて、物理セクタの状態を判断する。論理セクタ番号がNWAよりも小さい場合、物理セクタは記録済みであり、そうでなければ未記録である。書込み命令によって指定された論理セクタが未記録の物理セクタに対応している場合、プロセスはステップS1703へ進む。そうでなければ、論理セクタが記録済みのセクタと対応している場合には、プロセスはステップS1704へ進む。
ステップS1703において、ドライブ装置520は、あらかじめ論理セクタと対応している未記録の物理セクタへデータを書込む。
ステップS1704において、ドライブ装置520は、ステップS1701で決定された、トラック内にある次の書込み可能なアドレスによって示された物理セクタへデータを書込む。データがECCブロックを基準にリマップされる場合、他の未記録の物理セクタは、次の書込み可能なブロックであるECCブロックに属するセクタの1つである。たとえば、ECCブロックが32セクタからなる場合、そのECCブロック内の第2のセクタは上書きされるように命令され、データは、次の書込み可能なECCブロック内にある第2のセクタへ物理的に書込まれる。このように、ECCブロック内での相対アドレスは、リマップされたECCブロックに対して維持される。
ステップS1705において、ドライブ装置520は、リマッピング情報を含むリマッピングテーブルを生成する。リマッピング情報は、記録済みの物理セクタの元のアドレスを、次の書込み可能なアドレスによって示された物理セクタのリマッピングアドレスへリマップする。また、ドライブ装置520は、リマッピング情報を欠陥リスト/リマッピングテーブルに保存する。ECCブロックが32セクタからなる場合、元のアドレスは、元の物理セクタが属するECCブロックの開始アドレスであり、リマップ済みアドレスは、リマップ済みの物理セクタが属するECCブロックの開始アドレスである。
コントローラ511からのトラック予約命令に応じて、ドライブ装置520が続いて行う手順を図17Bに示す。
ステップS1711において、ドライブ装置520は、コントローラ511から割付け命令を受け取り、その割付け命令に応じて少なくとも1つのトラックを割付ける。少なくとも1つのトラックを割付けることは、ステップS1701で決定されたトラック内にある、第1のトラックと第2のトラックとを割付けることを含む。
消費者のためのビデオレコーダまたは消費者のためのビデオプレーヤ等の記録再生システムに本発明を適用した場合、コントローラ511およびドライブ装置520は、図18に示す一般的なマイクロプロセッサによって制御され得る。この場合、記録再生システムがNWAを知っているため、コントローラ511はドライブ装置520にNWAを問い合わせなくてもよい。ディスクがドライブユニットへローディングされたときに、初めに各トラック内のNWAがチェックされ、その後、何らかのデータが書込まれた後、このシステムはNWAを管理することができる。
図18は、消費者のためのビデオレコーダまたは消費者のためのビデオプレーヤの一部である、光ディスク情報記録再生システム1800を示す。情報記録再生システム1800は、コントローラ1811と、メモリ1812と、光ディスクから情報を読出したり、光ディスクへ情報を書込んだりするためのドライブメカニズム523とを備える。コントローラ1811は、たとえば、CPU(中央処理装置)のような半導体集積回路であり得、本発明の実施形態に記載の方法を実行する。さらに、実施形態に記載の方法をコントローラ1811に実行させるためのプログラムがメモリ1812に格納されている。コントローラ1811において、ファイルシステムか、ユーティリティプログラムか、デバイスドライバかが実行され得る。ドライブメカニズム523はコントローラ1811によって制御され得る。
図19は、図18において説明する情報記録再生システムによって追記形光ディスクへデータを書込むための手順を示すフローチャートである。
ステップS1901において、コントローラ1811はユーザからの要求を受け取る。たとえば、要求はData−Aファイルを新たなデータとして代替すること、あるいはData−Bファイルを他のメディアからこのディスク上のルートディレクトリへコピーすることへの要求である。書込まれるデータはメモリ1812へ転送され、ディレクトリツリー構造内のパスネームによってデータの記録先が示される。
ステップS1902において、ファイルシステムは、メタデータファイル FEであるデータを読出してメタデータファイルおよびメタデータミラーファイルに対して割付けられた領域を認識することを、ドライブ装置に命令する。
ステップS1903において、ファイルシステムはトラック情報を取得することをドライブ装置に命令する。
ステップS1904において、ファイルシステムは、トラックがメタデータ書込みに使用されているか、各トラックをチェックする。そのトラックの一部がメタデータファイルまたはメタデータミラーファイルのエクステントに割当てられている場合、トラックは、それぞれメタデータファイルまたはメタデータミラーファイルへメタデータを書込むために用いられる。
ステップS1905において、ファイルシステムはユーザが要求しているディレクトリまたはファイルを引き出すためにデータを読出す。ファイルエントリやディレクトリ等のメタデータがメタデータファイルから読出される。
ステップS1906において、ファイルシステムはデータの書込み前のNWAを取得する。
ステップS1907において、ファイルシステムは、各トラックが使用されているか否かをチェックする。メタデータ書込み用のトラックが使い果たされている場合、ステップS1908へ行く。
ステップS1908において、ドライブ装置は、データ書込みに用いられるトラック内に、予約済みトラックとして新たなトラックを割当てる。
ステップS1909において、ユーザの要求に応じて、ファイルシステムは、書込むデータのタイプを区別することによって、上書きするデータ量が最小化されるように、メタデータの一部を作成する。図11の説明で述べたように、ファイルを更新する際、ファイルシステムは、書込むデータの位置を特定するためにファイルエントリを作成する。このファイルエントリが、上書きされるデータである。新たなファイルがディレクトリ下に記録されると、ファイルシステムはその新たなファイルのファイルエントリを作成し、ディレクトリを更新してその新たなファイルとディレクトリのファイルエントリとを登録する。ディレクトリのファイルエントリは上書きされるデータであり、その他のデータは上書きを行わずに書込むことのできるデータである。データタイプは、タイプI:上書きの必要がないものと、タイプII:上書きの必要のあるものとに区別される。
ステップS1910において、ファイルシステムは、タイプIのデータをNWAから論理セクタへ書込むように命令する。次いで、ステップS1911へ行く。ステップS1911は上書きを行わずにデータを書込む操作である。
ステップS1912において、ファイルシステムは、タイプIIのデータを論理セクタへ書込むように命令する。次いで、ステップS1913へ行き、データを論理セクタ内へ上書きする操作を実行する。データを書込むために命令された書込みコマンドは、タイプIとタイプIIとでは異なり得る。
ステップS1911において、データは、あらかじめ論理セクタと対応している物理セクタへ書込まれる。
ステップS1913において、データは、論理セクタに論理的に上書きされ、他の未記録の物理セクタ、特にNWAに、物理的に書込まれる。
ステップS1914において、あらかじめ論理セクタと対応している物理セクタの元のアドレスと、データが書込まれた物理セクタのリマッピングアドレスとを特定するために、リマッピング情報のようなエントリが作成され、このエントリは欠陥リストへ保存される。
ステップS1915において、ファイルシステムは、メタデータファイルおよびメタデータミラーファイルのエクステントとして割付けられた領域が拡張されているか否かをチェックする。その領域が拡張されている場合、ステップS1916へ行く。
ステップS1916において、ファイルシステムは、拡張された領域をファイルエントリが特定するようにメタデータファイルおよびメタデータミラーファイルのファイルエントリを変更し、ステップS1902で読出した論理セクタ内にそのファイルエントリを書込むことをドライブ装置に命令する。
先に説明した図16、図17A、図17B、図19の方法を用いてディスクデータが書込まれている追記形ディスクからの、再生手順を以下に説明する。図20は、図5および図18において説明する情報記録再生システムによって追記形光ディスクからデータを読み出すための手順を示すフローチャートである。図20において、記録再生システムは、少なくともデータを読出す論理セクタを特定する、読出し命令を受け取る。
ステップS2001において、リマッピングテーブルに保存されている全てのエントリの元のアドレスが検索される。読出される論理セクタ番号が命令されると、あらかじめその論理セクタと対応している物理セクタ番号が、物理セクタがリマップされていることを示すエントリを検索するために用いられる。リマッピングがECCブロックを基準として実行される場合、ECCブロックの開始アドレスがエントリ内に登録される。この場合、物理セクタ番号がリマップ済みECCブロックに属しているか否かがチェックされる。図5で説明したような情報記録再生システムの場合、この操作はドライブ装置によって行われ得る。
ステップS2002において、エントリが見つかった場合、ステップS2003へ行き、そうでなければステップS2004へ行く。
ステップS2003において、物理セクタの元のアドレスは、その物理セクタのリマッピングアドレスで代替される。このリマッピングアドレスは、見つかったエントリ内に示されている。ステップS2002でエントリが見つからなかった場合、読出されるアドレスは、読出し命令によって指定された論理セクタに対応する、物理セクタのアドレスと決定される。S2002でエントリが見つかった場合、読出されるアドレスは、リマッピングテーブル内で見つかった元のアドレスに対応する、リマッピングアドレスと決定される。
ステップS2004において、所定のアドレスでデータが読出される。
先に説明したように、アドレスが見つからない場合、データはあらかじめ論理セクタと対応している物理セクタから読出される。それは、論理セクタ内に保存されたデータは他の物理セクタへリマップされていないということをリマッピングテーブルが示しているためである。
アドレスが見つかると、見つかったリマッピング情報の中のリマッピングアドレスによって特定される物理セクタから、データが読出される。それは、その論理セクタ内に保存されたデータはリマップ済みであるということをリマッピングテーブル内で見つかったエントリが示しているためである。
ボリューム空間内でデータをリマップする場合、特に、スペア領域へリマップするのではなく、トラック内のNWAへリマップする場合、データはより速く読出される。
上記の実施形態において説明したように、本発明は、上書きされるデータ量をファイルシステムが最小化し、また、上書きを行わずにデータを書込む場合には、ドライブ装置へ問い合わせることによって未記録のセクタへデータを書込むことをファイルシステムが命令するという前提に基づいて、ドライブ装置へ適用され得る。
(実施形態4)
本実施形態では、一例として、UDFファイルシステムの実施のためのガイドラインおよび必要条件を説明する。
(疑似書換え方法を用いることの利点)
物理的特性による複雑性を軽減するために、疑似書換え可能なメディアとして、上書き可能な特徴を備えた新規なシーケンシャル記録媒体が導入される。疑似書換え方法は、この疑似書換え可能なメディアへ適用される。以下は、新規なシーケンシャル記録媒体を導入することの一部の利点を示す。
1)書換え可能なメディアと同様、上書き可能なボリューム空間と欠陥のない空間とが提供される。換言すれば、上書き可能なメカニズムと欠陥管理とをサポートするドライブユニットによって追記形ディスクとの互換性が保証されている。
2)疑似書換えメディアをサポートする読取り専用ドライブユニットは未記録領域へのアクセスを有するため、セッションのクローズやボーダのクローズが不要である。
3)メタデータパーティションとそのミラーを使用することができる。
(疑似書換え可能なメディアの特性)
疑似書換え可能なメディアの物理的特性を、ファイルシステムドライバが要求する観点から説明する。
疑似書換え可能なメディアは、ボリューム空間内の論理セクタに対し、マルチトラック記録および上書き可能な機能をサポートする。2つ以上のトラックを記録に用いることができる。新たなトラックを予約済みトラックとして割当てることができる。空間管理を単純化するために、シーケンシャルな記録方式はトラック内で使用される。記録可能な領域に対するポインタは次の書込み可能なアドレス(NWA)であり、これはドライブ装置の問い合わせを通じて取得される。
データが記録済みの論理セクタへ記録されるように意図されている場合、データはスペア領域内にリニアリプレースメントアルゴリズムによって記録されるか、ボリューム空間内のNWAへ記録されるかのいずれかである。ボリューム空間内のNWAへデータをリマップすることの利点としては、スペア領域が全て記録済みであったとしても、全ての利用可能なメディア容量を使用することができるということである。Read modify write操作もサポートされているため、各論理セクタは個別に上書きされ得る。
データが元のアドレスから代替またはリマップされるアドレス情報は、ボリューム空間の欠陥リストエントリとして保存され、ドライブ装置によって管理されている。
(ファイルシステムによる書込み方針)
一般的に、トラックは、たとえばメタデータ、あるいは音声/映像データ、静止画像データ、音楽データのような特定のデータ等、データタイプを考慮することによって割当てることが可能である。マルチトラック記録では、予約されたトラックが使い果たされると、記録済みのデータ量に適合可能な新たなトラックが割当てられる。メタデータ書込み用のトラックは、メタデータファイルまたはメタデータミラーファイルの拡張として、明示的に示されている。
ボリューム空間の終端にトラックが割当てられた後には新たなトラックを割当てることができないという制限を疑似書換えメディアが有する場合、1つのAVDPのみがLSN256に記録されるという中間状態においてマルチトラック記録が用いられる。ECMA167の必要条件に従うためには、AVDPは3つの位置(すなわちLSN256、LSN−256、Last LSN)のうち少なくとも2つの位置に記録されることになる。この例では、AVDPを記録するためにLast LSN−256またはLast LSNへトラックが割当てられる。
メタデータミラーファイルも使用可能である。ディスクを保管用に保存する場合、メタデータミラーファイルを作成することが薦められる。各トラックの記録条件によって各トラック内のNWAのオフセットは時として同じでないこともあり得るが、オンラインの利用の場合、実装はメタデータファイルおよびメタデータミラーファイル内に記録されている内容が各ファイル内に同様のオフセットを有するように記録するようにされる。
図21Aは、論理フォーマット後のトラックレイアウトの一例を示す。初めに、LSN256にAVDPを含むボリューム構造と、それに関連するファイル構造とが記録される。次いで、メタデータ記録用にトラックが割当てられ、メタデータはそのトラック内に記録される。ボリューム空間内の残りの領域は、ファイルデータ記録に使用される。
図21Bは、いくつかのファイルが記録された後のトラックレイアウトの一例を示す。第1のトラックが使い果たされた後、新たなトラックが割当てられている。このように、追加のトラックが次々に割当てられ得る。
図21Cは、いくつかのファイルが記録された後のトラックレイアウトの一例を示す。メタデータ記録用のトラックが使い果たされると、メタデータファイル用の追加の、トラックではなく領域が、エクステントとしてデータトラック内に割り付けられ得る。
(ファイルシステムに対する必要条件)
疑似書換え方法に対する必要条件を、以下のように挙げる。
1)実装は、ドライブユニットへ問い合わせることによって疑似書換えメディアを認識するようにされる。
2)未割付け空間ビットマップおよび未割付け空間テーブルが記録されない。
3)メタデータビットマップファイルが記録されない。
4)実装は、常に、追加のデータ記録を書込む前に各トラック内のNWAを問い合わせるべきである。書込みコマンドが既に記録済みの領域に対して出されている場合、欠陥リストエントリが用いられる。したがって、欠陥リストのサイズが制限されるため、この必要条件は不必要な欠陥リストを削減するために重要である。
5)同様の理由で、消去されたブロックはNWAを問い合わせるため再度使用されるべきでない。
6)上書きされるメタデータは最小化されるべきである。ディレクトリファイルエントリのみを上書きすることが薦められる。
本発明は、論理的な上書き可能メカニズムを用いた、追記形ディスクへの記録方法と、記録装置または再生装置内で使用するための半導体集積回路とを提供するのに有用である。
図1は、ファイルを記録する際の領域の構成を示す図である。 図2は、図1に示す状態を有するディスクのルートディレクトリ内にData−Aファイルを記録する際の領域の構成を示す図である。 図3は、より大きなスペア領域を有するディスクのルートディレクトリ内にData−Aファイルを記録する際の領域の構成を示す図である。 図4は、ファイルを記録するための手順を示すフローチャートである。 図5は、光ディスク情報記録再生システムを示す図である。 図6は、ドライブ装置とシステムコントローラとの間でのコマンドのやり取りを示す図である。 図7A〜図7Dは、書換え可能なディスクの場合と追記形ディスクの場合とに対し、データがリマップされる際のユーザデータ領域内のブロックを示す図をそれぞれ含む。 図8Aおよび図8Bは、データがNWAへ書込まれる際の、ユーザデータ領域内のブロックを示す図をそれぞれ含む。 図9は、リマッピングテーブルのデータ構造を示す図である。 図10A〜図10Eは、マルチトラック記録の方針を説明するための、領域の構成を示す図をそれぞれ含む。 図11は、疑似書換え方法を説明するための、領域の構成を示す図である。 図12は、メタデータミラーファイル内にメタデータを書込むためのトラックを有する領域の構成を示す図である。 図13は、メタデータ書込み用の新しいトラックが割当てられた後の領域の構成を示す図である。 図14は、メタデータ書込み用の新しいトラックへメタデータが書込まれた後の領域の構成を示す図である。 図15A〜図15Dは、疑似書換え方法を用いてデータが書込まれる際の、ユーザデータ領域内のブロックを示す図をそれぞれ含む。 図16は、光ディスク情報記録再生システムのコントローラにおいて実行されるファイルシステムによってデータを書込むための手順を示すフローチャートである。 図17A〜図17Bは、光ディスク情報記録再生システムのドライブ装置によってデータを書込むための手順を示すフローチャートである。 図18は、消費者ビデオレコーダまたは消費者ビデオプレイヤーの一部である光ディスク情報記録再生システムを示す図である。 図19は、図18において説明する記録再生システムによって追記形光ディスクへデータを書込むための手順を示すフローチャートである。 図20は、図5および図18において説明する記録再生システムによって追記形光ディスクからデータを読出すための手順を示すフローチャートである。 図21A〜図21Cは、論理フォーマット後および一部のファイルの記録後のトラックレイアウトの一例をそれぞれ含む。

Claims (7)

  1. 疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するための記録方法であって、該追記形ディスクは複数のトラックを含み、
    該記録方法は、
    (a)少なくとも書込まれるファイルに対するデータを指定する書込み要求を受け取るステップと、
    (b)該追記形ディスクのメタデータファイルファイルエントリから該ファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読み出すことを該ドライブ装置に命令することにより、該メタデータファイルの該ファイルエントリを取得するステップと、
    (c)該複数のトラックのうちの各トラックに対するトラック情報を取得するステップであって、該トラック情報は、トラック内の未記録領域の開始アドレス、または、トラック内の最後に記録されたアドレスと、トラック内の該未記録領域のサイズとを示す、ステップと、
    (d)該メタデータファイルの該ファイルエントリと該トラック情報とに基づいて、該複数のトラックのうち、メタデータが次に書込まれるべきトラックを決定するステップと、
    (e)該メタデータファイルの該ファイルエントリから該メタデータを読み出すことを該ドライブ装置に命令することにより、該メタデータを取得するステップと、
    (f)該ステップ(d)において決定されたトラック以外のトラックにおいて次にデータが書込まれる位置を示す次の書込み可能なアドレスを取得するステップであって、該トラックは、該複数のトラックの中から選択され、該次の書込み可能なアドレスは、該追記形ディスク上の該選択されたトラックにおける未記録領域の開始アドレスである、ステップと、
    (g)該書込み要求によって指定される該データの書込みを反映するように該メタデータを更新するステップと、
    (h)該書込み要求によって指定されたデータを該次の書込み可能なアドレスによって示される該追記形ディスク上の位置へ書込むことを該ドライブ装置に命令するステップと、
    (i)該更新されたメタデータのうちの少なくとも一部を該ステップ(e)において該メタデータが読み出された該追記形ディスク上の位置へ書込むことを該ドライブ装置に命令するステップであって、該ドライブ装置は、該更新されたメタデータのうちの少なくとも一部を該ステップ(e)において該メタデータが読み出された該追記形ディスク上の位置へ書込むという命令に応答して、該追記形ディスク上の該メタデータのために予約されているトラック内の未記録領域の開始アドレスである次の書込み可能アドレスを取得し、該更新されたメタデータのうちの少なくとも一部を該ステップ(i)において取得された該次の書込み可能アドレスによって指定された該追記形ディスク上の位置に記録し、該ステップ(d)において決定されたトラックが未記録領域を有している場合には、該メタデータのために予約されているトラックは、該ステップ(d)において決定されたトラックであり、該ステップ(d)において決定されたトラックが未記録領域を有していない場合には、該メタデータのために予約されているトラックは、新しいメタデータトラックである、ステップと、
    (g)該ステップ(e)において該メタデータが読み出された該追記形ディスク上の位置を該ステップ(i)において該更新されたメタデータのうちの少なくとも一部が記録された該追記形ディスク上の位置にマッピングするエントリを含むようにマッピングテーブルを更新するステップであって、該マッピングテーブルは、該追記形ディスクからメタデータを読み出す際に該ドライブ装置によって参照される、ステップと
    を包含する、記録方法。
  2. 前記ステップ(d)において決定されたトラックにおける未記録領域の開始アドレスである次の書込み可能なアドレスが有効であるか否かを決定するステップと、
    該ステップ(d)において決定された該トラックにおける該次の書込み可能なアドレスが有効でないことが決定された場合、メタデータを次に書込む第1のトラックと、データを次に書込む第2のトラックとを割付けることを前記ドライブ装置に命令し、前記ステップ(f)において取得された前記次の書込み可能なアドレスを該第2のトラックにおける未記録領域の開始アドレスである次の書込み可能なアドレスへ更新するステップと
    をさらに包含する、請求項1に記載の記録方法。
  3. 前記第1のトラックと前記第2のトラックとが前記ステップ(f)において選択されたトラック内で割付けられる、請求項2に記載の記録方法。
  4. 前記更新されたメタデータのうちの少なくとも一部を前記第1のトラックにおける未記録領域の開始アドレスである次の書込み可能なアドレスによって示される位置へ書込むことを、前記ドライブ装置に命令するステップと、
    該第1のトラックが割付けられ、該更新されたメタデータのうちの少なくとも一部が該第1のトラック内に書込まれたか否かを決定するステップと、
    該第1のトラックが割付けられ、該更新されたメタデータのうちの少なくとも一部が該第1のトラックに書込まれたことが決定された場合、該更新されたメタデータのうちの少なくとも一部の書込みを反映させるように前記メタデータファイルの前記ファイルエントリを更新し、さらに、該メタデータファイルの更新されたファイルエントリを前記ステップ(b)において該メタデータファイルの該ファイルエントリが読み出された前記追記形ディスク上の位置へ書込むことを該ドライブ装置に命令するステップであって、該ドライブ装置は、該メタデータファイルの更新されたファイルエントリを該ステップ(b)において該メタデータファイルの該ファイルエントリが読み出された該追記形ディスク上の位置へ書込むという命令に応答して、該追記形ディスク上の該メタデータのためのトラック内の未記録領域の開始アドレスである次の書込み可能アドレスを取得し、該更新されたファイルエントリを該次の書込み可能アドレスによって指定された該追記形ディスク上の位置に記録する、ステップと、
    該ステップ(b)において該ファイルエントリが読み出された該追記形ディスク上の位置を該更新されたファイルエントリが記録された該追記形ディスク上の位置にマッピングするエントリを含むようにマッピングテーブルを更新するステップと
    をさらに包含する、請求項2に記載の記録方法。
  5. 疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するためのシステムコントローラであって、該追記形ディスクは複数のトラックを含み、
    該システムコントローラは該ドライブ装置を制御するためのコントローラを備え、
    該コントローラは、
    (a)少なくとも書込まれるファイルに対するデータを指定する書込み要求を受け取るステップと、
    (b)該追記形ディスクのメタデータファイルファイルエントリから該ファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読み出すことを該ドライブ装置に命令することにより、該メタデータファイルの該ファイルエントリを取得するステップと、
    (c)該複数のトラックのうちの各トラックに対するトラック情報を取得するステップであって、該トラック情報は、トラック内の未記録領域の開始アドレス、または、トラック内の最後に記録されたアドレスと、トラック内の該未記録領域のサイズとを示す、ステップと、
    (d)該メタデータファイルの該ファイルエントリと該トラック情報とに基づいて、該複数のトラックのうち、メタデータが次に書込まれるべきトラックを決定するステップと、
    (e)該メタデータファイルの該ファイルエントリから該メタデータを読み出すことを該ドライブ装置に命令することにより、該メタデータを取得するステップと、
    (f)該ステップ(d)において決定されたトラック以外のトラックにおいて次にデータが書込まれる位置を示す次の書込み可能なアドレスを取得するステップであって、該トラックは、該複数のトラックの中から選択され、該次の書込み可能なアドレスは、該追記形ディスク上の該選択されたトラックにおける未記録領域の開始アドレスである、ステップと、
    (g)該書込み要求によって指定される該データの書込みを反映するように該メタデータを更新するステップと、
    (h)該書込み要求によって指定されたデータを該次の書込み可能なアドレスによって示される該追記形ディスク上の位置へ書込むことを該ドライブ装置に命令するステップと、
    (i)該更新されたメタデータのうちの少なくとも一部を該ステップ(e)において該メタデータが読み出された該追記形ディスク上の位置へ書込むことを該ドライブ装置に命令するステップであって、該ドライブ装置は、該更新されたメタデータのうちの少なくとも一部を該ステップ(e)において該メタデータが読み出された該追記形ディスク上の位置へ書込むという命令に応答して、該追記形ディスク上の該メタデータのために予約されているトラック内の未記録領域の開始アドレスである次の書込み可能アドレスを取得し、該更新されたメタデータのうちの少なくとも一部を該ステップ(i)において取得された該次の書込み可能アドレスによって指定された該追記形ディスク上の位置に記録し、該ステップ(d)において決定されたトラックが未記録領域を有している場合には、該メタデータのために予約されているトラックは、該ステップ(d)において決定されたトラックであり、該ステップ(d)において決定されたトラックが未記録領域を有していない場合には、該メタデータのために予約されているトラックは、新しいメタデータトラックである、ステップと、
    (g)該ステップ(e)において該メタデータが読み出された該追記形ディスク上の位置を該ステップ(i)において該更新されたメタデータのうちの少なくとも一部が記録された該追記形ディスク上の位置にマッピングするエントリを含むようにマッピングテーブルを更新するステップであって、該マッピングテーブルは、該追記形ディスクからメタデータを読み出す際に該ドライブ装置によって参照される、ステップと
    を含む処理を実行するように構成されている、システムコントローラ。
  6. 前記コントローラが半導体集積回路を含む、請求項5に記載のシステムコントローラ。
  7. 疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するためのシステムコントローラにおいて使用するプログラムであって、該追記形ディスクは複数のトラックを含み、
    該プログラムは、
    (a)少なくとも書込まれるファイルに対するデータを指定する書込み要求を受け取るステップと、
    (b)該追記形ディスクのメタデータファイルファイルエントリから該ファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読み出すことを該ドライブ装置に命令することにより、該メタデータファイルの該ファイルエントリを取得するステップと、
    (c)該複数のトラックのうちの各トラックに対するトラック情報を取得するステップであって、該トラック情報は、トラック内の未記録領域の開始アドレス、または、トラック内の最後に記録されたアドレスと、トラック内の該未記録領域のサイズとを示す、ステップと、
    (d)該メタデータファイルの該ファイルエントリと該トラック情報とに基づいて、該複数のトラックのうち、メタデータが次に書込まれるべきトラックを決定するステップと、
    (e)該メタデータファイルの該ファイルエントリから該メタデータを読み出すことを該ドライブ装置に命令することにより、該メタデータを取得するステップと、
    (f)該ステップ(d)において決定されたトラック以外のトラックにおいて次にデータが書込まれる位置を示す次の書込み可能なアドレスを取得するステップであって、該トラックは、該複数のトラックの中から選択され、該次の書込み可能なアドレスは、該追記形ディスク上の該選択されたトラックにおける未記録領域の開始アドレスである、ステップと、
    (g)該書込み要求によって指定される該データの書込みを反映するように該メタデータを更新するステップと、
    (h)該書込み要求によって指定されたデータを該次の書込み可能なアドレスによって示される該追記形ディスク上の位置へ書込むことを該ドライブ装置に命令するステップと、
    (i)該更新されたメタデータのうちの少なくとも一部を、該ステップ(e)において該メタデータが読み出される該追記形ディスク上の位置へ書込むことを該ドライブ装置に命令するステップであって、該ドライブ装置は、該更新されたメタデータのうちの少なくとも一部を該ステップ(e)において該メタデータが読み出された該追記形ディスク上の位置へ書込むという命令に応答して、該追記形ディスク上の該メタデータのためい予約されているトラック内の未記録領域の開始アドレスである次の書込み可能アドレスを取得し、該更新されたメタデータのうちの少なくとも一部を該ステップ(i)において取得された該次の書込み可能アドレスによって指定された該追記形ディスク上の位置に記録し、該ステップ(d)において決定されたトラックが未記録領域を有している場合には、該メタデータのために予約されているトラックは、該ステップ(d)において決定されたトラックであり、該ステップ(d)において決定されたトラックが未記録領域を有していない場合には、該メタデータのために予約されているトラックは、新しいメタデータトラックである、ステップと、
    (g)該ステップ(e)において該メタデータが読み出された該追記形ディスク上の位置を該ステップ(i)において該更新されたメタデータのうちの少なくとも一部が記録された該追記形ディスク上の位置にマッピングするエントリを含むようにマッピングテーブルを更新するステップであって、該マッピングテーブルは、該追記形ディスクからメタデータを読み出す際に該ドライブ装置によって参照される、ステップと
    を含む処理を実行するように構成されている、プログラム。
JP2006534499A 2004-05-10 2005-05-09 追記形ディスクに対するデータ記録/再生 Expired - Fee Related JP5128131B2 (ja)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US56953604P 2004-05-10 2004-05-10
US56953704P 2004-05-10 2004-05-10
US60/569,536 2004-05-10
US60/569,537 2004-05-10
US57773404P 2004-06-07 2004-06-07
US57761604P 2004-06-07 2004-06-07
US60/577,734 2004-06-07
US60/577,616 2004-06-07
US60549104P 2004-08-30 2004-08-30
US60/605,491 2004-08-30
US60548804P 2004-08-31 2004-08-31
US60/605,488 2004-08-31
US66823705P 2005-04-04 2005-04-04
US66823605P 2005-04-04 2005-04-04
US60/668,236 2005-04-04
US60/668,237 2005-04-04
PCT/JP2005/008823 WO2005109428A1 (en) 2004-05-10 2005-05-09 Data recording/reproduction for write-once discs

Publications (2)

Publication Number Publication Date
JP2007536675A JP2007536675A (ja) 2007-12-13
JP5128131B2 true JP5128131B2 (ja) 2013-01-23

Family

ID=34979252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006534499A Expired - Fee Related JP5128131B2 (ja) 2004-05-10 2005-05-09 追記形ディスクに対するデータ記録/再生

Country Status (7)

Country Link
US (1) US8072860B2 (ja)
EP (1) EP1745480A1 (ja)
JP (1) JP5128131B2 (ja)
KR (1) KR101066807B1 (ja)
CN (1) CN1957414B (ja)
TW (1) TWI345229B (ja)
WO (1) WO2005109428A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5128130B2 (ja) * 2004-05-10 2013-01-23 パナソニック株式会社 追記形ディスクに対するデータ疑似書換え
KR20070029705A (ko) * 2004-05-10 2007-03-14 마쯔시다덴기산교 가부시키가이샤 1회 기록 디스크들에 대한 데이터 기록/재생
US7823032B2 (en) * 2004-05-10 2010-10-26 Panasonic Corporation Data recording/reproduction for write-once discs
CN100578646C (zh) * 2004-07-05 2010-01-06 皇家飞利浦电子股份有限公司 在一次写入型记录载体上记录信息的设备和方法
US8515249B2 (en) * 2005-10-17 2013-08-20 Mediatek Inc. Methods and apparatus for creating and playing a playable unfinalized recordable disc
DE112007000828T5 (de) * 2006-04-06 2009-02-05 Matsushita Electric Industrial Co., Ltd., Kadoma-shi Datenaufzeichnungsverfahren und Datenaufzeichnungsvorrichtung für ein Aufzeichnungsmedium eines Einmal-Beschreibbar-Typs
JP5049518B2 (ja) * 2006-06-14 2012-10-17 株式会社日立製作所 記録方法及び光ディスク記録装置
JP4734215B2 (ja) * 2006-10-30 2011-07-27 株式会社日立製作所 記録方法及び光ディスク記録装置
WO2008056593A1 (fr) * 2006-11-06 2008-05-15 Panasonic Corporation Dispositif d'enregistrement
US8271751B2 (en) 2008-04-24 2012-09-18 Echostar Technologies L.L.C. Systems and methods for reliably managing files in a computer system
US8738621B2 (en) * 2009-01-27 2014-05-27 EchoStar Technologies, L.L.C. Systems and methods for managing files on a storage device
JP5259780B2 (ja) * 2010-09-14 2013-08-07 株式会社東芝 映像ファイル作成装置および映像ファイル作成方法
JP6429124B2 (ja) * 2015-03-27 2018-11-28 パナソニックIpマネジメント株式会社 光ディスク装置、方法およびコンピュータプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63146287A (ja) * 1986-12-10 1988-06-18 Ricoh 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
US6502174B1 (en) 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
JP2002117548A (ja) * 2000-10-06 2002-04-19 Mitsubishi Chemicals Corp 情報記録媒体及び情報記録媒体の記録再生方法
TWI235927B (en) 2001-04-25 2005-07-11 Koninkl Philips Electronics Nv Methods and devices for recording or reading files on/from a sequential medium and sequential medium
JP4100913B2 (ja) * 2002-01-15 2008-06-11 株式会社リコー 情報再生装置、データ管理情報取得方法、データ管理情報取得プログラム、記憶媒体、及び再生システム
JP5128130B2 (ja) * 2004-05-10 2013-01-23 パナソニック株式会社 追記形ディスクに対するデータ疑似書換え
KR20070029705A (ko) * 2004-05-10 2007-03-14 마쯔시다덴기산교 가부시키가이샤 1회 기록 디스크들에 대한 데이터 기록/재생
US7823032B2 (en) * 2004-05-10 2010-10-26 Panasonic Corporation Data recording/reproduction for write-once discs

Also Published As

Publication number Publication date
US20080232210A1 (en) 2008-09-25
KR101066807B1 (ko) 2011-09-22
US8072860B2 (en) 2011-12-06
TW200606886A (en) 2006-02-16
TWI345229B (en) 2011-07-11
CN1957414B (zh) 2011-04-20
EP1745480A1 (en) 2007-01-24
CN1957414A (zh) 2007-05-02
JP2007536675A (ja) 2007-12-13
WO2005109428A1 (en) 2005-11-17
KR20070012822A (ko) 2007-01-29

Similar Documents

Publication Publication Date Title
JP5128131B2 (ja) 追記形ディスクに対するデータ記録/再生
JP5128130B2 (ja) 追記形ディスクに対するデータ疑似書換え
US7894316B2 (en) Write-once recording medium, a recording apparatus and a reproducing apparatus for a write-once recording medium
US7821896B2 (en) Data recording/reproduction for write-once discs
US7823032B2 (en) Data recording/reproduction for write-once discs
US7768892B2 (en) Recording device, reproduction device, host device, drive device, recording method, reproduction method, program, and information recording medium
JP2009230830A (ja) 情報記録媒体、および情報記録再生方法、情報記録再生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110112

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120405

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120412

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120427

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120604

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120705

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121003

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121031

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees