JPWO2005124772A1 - ドライブ装置 - Google Patents
ドライブ装置 Download PDFInfo
- Publication number
- JPWO2005124772A1 JPWO2005124772A1 JP2006514764A JP2006514764A JPWO2005124772A1 JP WO2005124772 A1 JPWO2005124772 A1 JP WO2005124772A1 JP 2006514764 A JP2006514764 A JP 2006514764A JP 2006514764 A JP2006514764 A JP 2006514764A JP WO2005124772 A1 JPWO2005124772 A1 JP WO2005124772A1
- Authority
- JP
- Japan
- Prior art keywords
- replacement
- recording
- data
- information
- management information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/30—Indexing; 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 the same track as the main recording
- G11B27/3027—Indexing; 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 the same track as the main recording used signal is digitally coded
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/32—Indexing; 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/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B7/00—Recording 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/004—Recording, reproducing or erasing methods; Read, write or erase circuits therefor
- G11B7/0045—Recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B2020/1218—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
- G11B2020/1222—ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1265—Control data, system data or management information, i.e. data used to access or process user data
- G11B2020/1285—Status of the record carrier, e.g. space bit maps, flags indicating a formatting status or a write permission
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B2020/1873—Temporary defect structures for write-once discs, e.g. TDDS, TDMA or TDFL
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
- G11B2020/1893—Methods 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]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/21—Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
- G11B2220/215—Recordable discs
- G11B2220/218—Write-once discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2541—Blu-ray discs; Blue laser DVR discs
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
ドライブ装置(310)は、記録再生部(314)と、ドライブ制御部(311)とを含む。ドライブ制御部(311)は、再生指示を受け取ることと、再生指示に応答して、最新の交替管理情報リストの再生に失敗したか否かを決定することと、最新の交替管理情報リストの再生に失敗したと決定された場合には、交替領域とユーザデータ領域に記録されている交替前位置情報を再生するように記録再生部(314)を制御することと、再生された交替前位置情報に基づいて、最新の交替管理情報リストを生成することと、最新の交替管理情報リストを所定の位置に記録するように記録再生部(314)を制御することとを少なくとも実行する。
Description
本発明は、情報記録媒体にデータを記録し、情報記録媒体に記録されたデータを再生するドライブ装置に関する。
近年、デジタルデータの記録に様々な形態の情報記録媒体が用いられており、繰り返しデータが書き換え可能な書き換え型光ディスクや、記録回数が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 manage ment 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、、、等が含まれる。
欠陥関連情報は、状態情報(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エントリという交替情報により、データが記録されている見かけ上の論理アドレスを変えることなく、実際にデータが記録される物理アドレスを予め確保された別の場所にマッピングすることが行われる。
そこで、もし、追記型光ディスク上の記録済みの論理アドレスに対してデータの上書きが指示された場合、そのデータを別の物理アドレス上のセクタに記録し、元の論理アドレスを維持するよう交替情報を更新すれば、見かけ上はデータが上書き記録された状態を実現することが可能となる。以降、このような記録方法を、疑似上書き記録と呼ぶ。
図31は、追記型光ディスクである情報記録媒体1にいくつかのディレクトリとファイルが記録された状態を示す図である。なお、この状態では、まだ疑似上書き記録は行われていないものとする。
追記型光ディスクにおいては、ディスク上のユーザデータ領域をトラック及びセッションという単位で管理する。
図31においては、ユーザデータ領域上に記録されるユーザデータの管理はファイルシステムによって行われる。ファイルシステムが管理を行う空間をボリューム空間2と呼ぶ。
なお、以下の説明においては、ファイルシステムを構成するボリューム/ファイル構造として情報記録媒体1に記録される記述子やポインタ、メタデータパーティションやメタデータファイルの構造等は、特に詳細な記載がない限り、ISO/IEC13346規格あるいは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及びファイル集合記述子(FSD)12の記録位置が記録されている。
FSD12の起点として、ファイル構造を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とFSD12の位置情報が取得される。
次に、ファイル構造の再生が行われる。ファイル構造の再生のため、取得済みのFE(メタデータファイル)7aとFSD12の位置情報を元に、FSD12の再生が行われる。
再生されたFSD12から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の再生が行われる。
以上のように追記型光ディスクにおいても、欠陥管理機構を用いることにより疑似上書き記録が可能となる。
米国特許出願公開第2004/0076096号明細書
しかしながら、上記で説明したような追記型光ディスクの疑似上書き記録方式では、交替領域中の未記録領域が無くなるとユーザデータ領域に未記録領域が残っていたとしてもそれ以上のデータ記録ができなくなるという課題がある。なぜなら、ファイルシステム情報の更新ができなくなるからである。
特に、追記型光ディスクの場合、交替領域の容量を必要な時点で拡張可能な書き換え型光ディスクとは違い、ディスクのフォーマット(初期化)時に決まってしまう。
そして、疑似上書き記録を行うことを想定し、事前に適切な交替領域の容量を決めることは困難である。
もし事前に決定した交替領域の容量が大きすぎれば、ユーザデータ領域の容量が減ってしまうし、小さすぎればユーザデータ領域に未記録領域が残っているのにそれ以上のデータ記録ができない状況が発生してしまう。いずれの場合も追記型光ディスクのユーザデータ領域を有効に利用することが出来ない。
本発明は上記の課題を解決するものであり、追記型光ディスクの疑似上書き記録において、ユーザデータ領域を無駄なく使用することを可能とするドライブ装置を提供することを目的とする。
本発明のドライブ装置は、追記型記録媒体に記録されたデータを再生するドライブ装置であって、前記追記型記録媒体は、交替領域と、ユーザデータ領域とを含み、前記交替領域と前記ユーザデータ領域のそれぞれは、複数のECCクラスタを含み、前記複数のECCクラスタのそれぞれは、複数の物理セクタを含み、前記複数のECCクラスタのそれぞれには、交替前位置情報が記録されており、記録指示に従って行われたデータ記録が追記であった場合には、前記交替前位置情報には、交替記録が行われていないことを示す情報が設定されており、前記記録指示に従って行われたデータ記録が第1回目の擬似上書き記録であった場合には、前記交替前位置情報には、前記記録指示によって指定された位置を示す情報が設定されており、前記記録指示に従って行われたデータ記録が第2回目以降の擬似上書き記録であった場合には、前記交替前位置情報には、前記記録指示によって指定された位置の交替先を示す情報が設定されており、前記ドライブ装置は、前記追記型記録媒体に対して記録動作または再生動作を行う記録再生部と、前記記録再生部を制御するドライブ制御部とを含み、前記ドライブ制御部は、再生指示を受け取ることと、前記再生指示に応答して、最新の交替管理情報リストの再生に失敗したか否かを決定することと、前記最新の交替管理情報リストの再生に失敗したと決定された場合には、前記交替領域と前記ユーザデータ領域に記録されている交替前位置情報を再生するように前記記録再生部を制御することと、前記再生された交替前位置情報に基づいて、最新の交替管理情報リストを生成することと、前記最新の交替管理情報リストを前記所定の位置に記録するように前記記録再生部を制御することとを少なくとも実行する。
前記最新の交替管理情報リストの再生に失敗したと決定された場合に、既に記録された交替管理情報リストを読み出し、再生に成功した最近の交替管理情報リストを選択し、前記最新の交替管理情報リストの再生に失敗したと決定された場合に前記ユーザデータ領域から再生される前記交替前位置情報は、前記ユーザデータ領域において、前記再生に成功した最近の交替管理情報リストに登録されている記録データよりも後で記録されたデータを含む領域から再生される交替前位置情報であり、前記再生される交替前位置情報と、前記再生に成功した最近の交替管理情報リストから前記最新の交替管理情報リストを生成することを特徴としてもよい。
本発明によれば、追記型光ディスクの疑似上書き記録において、ユーザデータ領域を無駄なく使用することを可能とするドライブ装置を提供することができる。
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 ボリューム構造領域
600 800 AVDP
601 論理ボリューム記述子
602 区画マップ(タイプ2)
440 メタデータファイル
450 メタデータミラーファイル
500 イメージデータ
510、511、512、513 エラー領域
520、521、522 修復データ
1000 交替管理情報リスト
1010 交替管理情報
1011 状態情報
1012 交替元位置情報
1013 交替先位置情報
1100 ディスク構造情報
1103 ユーザデータ領域開始位置情報
1104 ユーザデータ領域終端位置情報
1105 交替領域情報
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 ボリューム構造領域
600 800 AVDP
601 論理ボリューム記述子
602 区画マップ(タイプ2)
440 メタデータファイル
450 メタデータミラーファイル
500 イメージデータ
510、511、512、513 エラー領域
520、521、522 修復データ
1000 交替管理情報リスト
1010 交替管理情報
1011 状態情報
1012 交替元位置情報
1013 交替先位置情報
1100 ディスク構造情報
1103 ユーザデータ領域開始位置情報
1104 ユーザデータ領域終端位置情報
1105 交替領域情報
以下、図面を参照しながら、本発明の実施の形態を説明する。
(実施の形態1)
1−1.追記型記録媒体
図1Aは、本発明の実施の形態における情報記録媒体100の外観を示す。
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に示されるLRA120やLRA121は、トラック内最終データ記録位置情報213の一例である。
なお、本発明をBD−R規格に適用する場合には、本明細書における用語「トラック管理情報」を「シーケンシャル記録領域エントリ」に読み替え、本明細書における用語「セッション管理情報」を「シーケンシャル記録領域情報」に読み替えるものとする。
なお、情報記録媒体100がECCクラスタを最小単位としてデータ記録を行う場合には、トラック内最終データ記録位置情報213はECCクラスタ境界するとは限らない。一般に、記録指示されるデータ容量はECCクラスタの容量の整数倍とならないからである。この時、LRA213は、記録指示されたデータが記録された最後の物理セクタのアドレスを示す。
また、LRA213がECCクラスタ境界に一致しない場合、記録指示されたデータデータに続き、パディングデータがECCクラスタ境界まで記録される。
本実施の形態においては、トラック毎にデータの記録が可能である。新たなデータの記録は、各トラックの先頭から行われ、トラック内においては連続的にデータが配置される(シーケンシャル記録)。そのトラック内でデータの記録が行われると、そのトラック内で最後に記録された位置がトラック内最終データ記録位置情報213に反映される。
そのトラック内で記録を再開する場合には、最新のトラック内最終データ記録位置情報213の値を調べることにより、そのトラック内での次の記録開始位置を知ることができる。
なお、トラックが割り付けられた直後で、そのトラックにデータがまったく記録されていない場合は、その状態を示す所定の値(例えば、”0”)をトラック内最終データ記録位置情報213に設定するようにしてもよい。
次回記録可能位置(以降、NWA)は、トラック内最終データ記録位置情報213によって示される物理セクタの次の物理セクタの位置を示す。あるいは、情報記録媒体100があるECCクラスタを最小単位としてデータ記録を行う場合には、NWAは、トラック内最終データ記録位置情報213によって示される物理セクタを含むECCクラスタの次のECCクラスタの先頭位置を示す。
このことを数式を用いて表すと、(数1)のようになる。
以降の説明では、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/IEC13346規格あるいはUDF(Universal Disk Format)規格に規定されたデータ構造を持つものとする。もちろん、他のファイルシステムを用いることも可能である。
なお、図1A〜図1Cに示される情報記録媒体100は、1つの記録層を有するものとして説明したが、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を含む。
ディスク管理情報領域104、105、104a、105aを含む。
また、図4に示されるように、交替領域106、106a、107、107aが設けられる。各交替領域の容量は上述の通り情報記録媒体毎に変更することが可能である。また、各交替領域中に追加の一時ディスク管理情報領域を設けることも可能である。そして、ユーザデータ領域108及び108aは、連続的な論理アドレスを有する論理的に1つのボリューム空間として扱われる。
以上により、複数の記録層を持った情報記録媒体を論理的には1つの記録層を有する情報記録媒体として扱うことが可能となる。以降では、1つの記録層を有する情報記録媒体について説明するが、それらの説明は、複数の記録層を有する情報記録媒体にも適用することが可能である。それ故、特に説明が必要な場合についてのみ、複数の記録層を有する情報記録媒体に関する説明を適宜行うものとする。
1−2.擬似上書き記録
次に図5Aおよび図5Bを参照して交替情報について説明する。
次に図5Aおよび図5Bを参照して交替情報について説明する。
交替情報とは、情報記録媒体上で欠陥が生じたクラスタ(欠陥クラスタ)の位置を示す交替元位置情報と、その欠陥クラスタを交替する代替クラスタの位置を示す交替先位置情報とを含む交替管理情報(またはディフェクトリストエントリ)を含む交替管理情報リスト(またはディフェクトリスト)のことをいう。
また、本発明は、ユーザデータ領域に代替クラスタを記録することを可能とする。
さらに、本発明は、交替情報を用いて追記型の情報記録媒体における擬似的な上書き記録を実現する。
図1Bに示されるように、データ領域102は、内周交替領域106と、ユーザデータ領域108と、外周交替領域107とを含む。
内周交替領域106および外周交替領域107のうちの少なくとも一部は、ユーザデータ領域108上に記録されたデータの代替記録を行うための領域として使用される。
例えば、ユーザデータ領域108上に欠陥クラスタが存在する場合には、内周交替領域106および外周交替領域107のうちの少なくとも一部が、その欠陥クラスタを交替する代替クラスタを記録するための領域として使用される。
あるいは、内周交替領域106および外周交替領域107のうちの少なくとも一部は、後述の疑似上書き記録における更新後のデータを記録するための領域としても使用され得る。
交替情報と交替領域とを組み合わせた交替記録は、ベリファイ処理とともに実施される。
ベリファイ処理とは、データを記録した直後にそのデータを再生し、記録したデータと再生されたデータとの比較を行い、データが正しく記録されているかどうかを調べる処理である。このような一連の処理はベリファイ・アフター・ライト処理と呼ばれる。
ベリファイ処理時にエラーが生じた場合、すなわち、データが正しく記録されなかった場合に、交替記録が実施される。すなわち、欠陥クラスタは代替クラスタに交替され、データは代替クラスタに記録される。
この代替クラスタは、内周交替領域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の構成を示す。
図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上のデータ構造を説明する。
次に、図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のLRA405によってメタデータパーティション430中の空き領域管理を行うようにしてもよい。
なお、トラックの割り付け方法は図7に示すものに限定されず、例えば、より多くのトラックを割りつけてもよい。また、ユーザデータ領域の最後尾のトラックを、新規のトラックが追加可能な状態としておき、必要な時点でトラックを追加するようにしてもよい。
次に、図8Aに示すフローチャートを参照して、本発明におけるデータ記録の手順を説明する。
ここでは、データファイル(File−a)が情報記録媒体100に記録されることとする。
なお、情報記録媒体100のユーザデータ領域108には、複数の論理アドレスと複数の物理アドレスとが割り当てられており、その複数の論理アドレスとその複数の物理アドレスとの対応関係は、予め決定されているものとする。
その複数の論理アドレスのそれぞれは、例えば、論理セクタ番号(LSN)もしくは論理ブロックアドレス(LBA)によって表される。
その複数の物理アドレスのそれぞれは、例えば、物理セクタ番号(PSN)もしくは物理ブロックアドレス(PBA)によって表される。また、ユーザデータ領域108には、少なくとも1つのトラックが割り当てられているものとする。
(ステップ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へのリクエストに応答して、ドライブ装置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に割り当てられた少なくとも1つのトラックのうちの1つのトラック(オープントラック)を決定する。
ドライブ制御部311は、その決定されたトラックのLRA213に基づいて、その決定されたトラック内において次にデータが記録可能な位置を示す物理アドレス(すなわち、NWA)を決定する。このNWAは、例えば、上述の(数1)に従って決定される次回記録可能アドレスである。
なお、NWAの決定は、ステップS104において行なわれてもよいが、その他のステップにおいて行われてもよい。例えば、上述したデータ記録の準備処理において予め行なわれてもよい。
ここで、LRA213を用いてNWAを算出することで、NWAの情報をトラック管理情報に保存する必要がなく、トラック管理情報のデータ構造を簡単にすることができる。
(ステップS105)ドライブ制御部311は、その記録指示に含まれる論理アドレスに対応する物理アドレスがNWAより小さいか否かを決定する。
その記録指示に含まれる論理アドレスに対応する物理アドレスがNWAより小さいと決定された場合には、その記録指示は、ユーザデータ領域108の中の記録済み領域に対する記録指示であるとして決定される。すなわち、記録指示されたデータ記録が擬似上書き記録であるとして決定される。この場合には、処理はステップS106に進む。そうでなければ、処理はステップS108に進む。
(ステップS106)ドライブ制御部311は、記録すべきデータを決定する。情報記録媒体100におけるデータ記録の単位がECCクラスタである場合、ドライブ制御部311は、記録指示によって指定されたデータを記録すべきデータとして決定する。例えば、記録指示によって指定されたデータの記録位置と容量がECCクラスタ境界に一致する場合には、ECCクラスタ全体が書き換えられるので、記録指示によって指定されたデータそのものを記録すべきデータとして決定する。
一致しない場合には、ドライブ制御部311は、後述するリード・モディファイ・ライト処理を実行する。この場合には、ドライブ制御部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処理では、第1に、ドライブ制御部311は、記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置にある物理セクタを含むECCクラスタに記録されたデータを再生するように記録再生部314を制御し、そのECCクラスタから再生されたデータをメモリ回路312に格納する(リード処理)。
なお、この再生処理を行う時点で再生対象のECCクラスタが交替記録されている可能性がある。このため、ドライブ制御部311は、交替管理情報リスト1000を参照し、必要に応じて交替先のECCクラスタに記録されたデータを再生するように記録再生部314を制御する。交替管理情報リスト1000を参照したデータ再生の手順については後述する。
第2に、ドライブ制御部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に記録すべきデータとして決定する。
以上でリード処理およびモディファイ処理を完了する。
第3に、ドライブ制御部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内のLRA213を更新する。
さらに、ドライブ制御部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に含まれるLRA213と(数1)に従って決定することが発明の特徴である。
データ記録によって更新されたLRA213をディスク上に記録しておくことで、情報記録媒体100をドライブ装置310にローディングしたときに、最新のLRA213を見つける時間が早くなる。
そしてLRA213を用いてNWAを算出することで、NWAの情報をトラック管理情報に保存する必要がなく、トラック管理情報のデータ構造を簡単にすることができる。
もし、本発明によらなければ、疑似上書き記録であるか、追記であるかの決定を行うために、例えば、次のような手順が必要となる。
すなわち、記録指示に含まれる論理アドレスに対応する物理アドレスを含むトラックを決定し、そのトラックの先頭から順次ECCクラスタを調べ、記録済かどうかを判断しなければならなくなる。
そして、記録指示された位置のECCクラスタが記録済のであれば疑似上書き記録であると決定する。
このような処理は、特にトラックの容量が大きくなると処理量も大きくなってしまい好ましくない。
一方、本実施の形態であれば、トラックの容量によらず、疑似上書き記録であるか、追記であるかの決定を容易に行うことが可能となる。
また、トラック管理情報内210にLRA213を含ませることにより、ドライブ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を再生する動作を例にあげて説明する。
ファイルの再生処理について、図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規格の再生手順により、FSD433、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のデータ構造を示す。交替管理情報1010Bは、図5Bに示される交替管理情報1010の異なる実施の形態を示す。
図11の交替管理情報1010Bでは、状態情報1011として次の3つの情報を含む。この3つの情報を図11に示すように、Flag1、Flag2、Flag3とする。
Flag1は、交替管理情報1010Bの分類のための情報で、その交替情報が代替記録のためものものか、欠陥クラスタを指し示すためのものかを示す情報を含む。
Flag2は、交替管理情報1010Bが管理する代替クラスタの記録位置に関する情報で、交替領域中又は交替先無しか、ユーザデータ領域中かを示す情報を含む。
Flag3は、交替管理情報1010Bが管理するクラスタの数に関する情報で、その交替情報が単一クラスタに対応するのか、連続的な複数クラスタに対応するのかを示す情報を含む。連続的な複数クラスタに対応する場合には、Flag3は、連続領域の開始位置に対応するか、終了位置に対応するかを示す情報をさらに含む。
以降、図11に従って、本発明の詳細な記録手順について説明する。
なお、以降では必要に応じて交替管理情報の種別を図11の右端列の記号を使って表すこととする。例えば、第一行目のFlag1=1(代替用)、Flag2=0(交替領域への代替)、Flag3=00(単一クラスタ)という状態情報1011を持つ交替管理情報は、交替管理情報(1)と表記する。
図12は、本発明における情報記録媒体100上での、物理アドレス空間と論理アドレス空間のデータ構造の例示図である。
また、図12は、ホスト装置305から見た時の情報記録媒体100上での位置を示す論理アドレスである論理セクタ番号(LSN)と、情報記録媒体100上での実際の位置を示す物理アドレスである物理セクタ番号(PSN)との初期状態における対応関係も示している。このような対応関係を初期論理アドレス−物理アドレスマッピングと呼ぶ(図中、波線矢印で示す。以降同様。)。
図12に示される一つの行が一つのECCクラスタに対応する。図12では、物理アドレス(PSN)と、その物理アドレスに割り当てられている論理アドレス(LSN)とが同一行に示されている。
図12において、PSN及びLSNの値は、対応するECCクラスタの先頭セクタから終端セクタのPSN及びLSNの値として示されている。
ここでは、1つのECCクラスタが32セクタから構成される場合を例としているが他の構成でもかまわない。
PSNは内周交替領域106、外周交替領域107及びユーザデータ領域108に割り当てられる。
そして、ユーザデータ領域108の先頭からトラックが割り当てられているものとする。図12の状態ではデータがまったく記録されていないのでLRA500は、ユーザデータ領域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 entry2010を示す。
図18は、上述した交替管理情報1010や交替管理情報1010Bと同様の交替管理情報の異なる構成例であるDFL entry2010を示す。
DFL entry2010に含まれるステータス1 2011A及びステータス2 2011B、欠陥クラスタ先頭PSN 2012、代替クラスタ先頭PSN2013は、それぞれ上述の、状態情報1011、交替元位置情報1012、交替元位置情報1013と同様のものである。
ここで、図5Bを参照して説明したのと同様、欠陥クラスタ先頭PSN 2012と代替クラスタ先頭PSN 2013は、対応するECCクラスタの先頭セクタの物理アドレス(例えば、PSN)を用いて示されても良い。欠陥管理および疑似上書き記録において、ECCクラスタ単位でのマッピングが行われるからである。
ここでステータス1 2011Aは、少なくとも交替管理情報1010BにおけるFlag1及びFlag2と同様の情報を含む。すなわち、例えば、ステータス1 2011Aの値が“1000”の場合は、その交替情報は交替先の無いことを示す(Flag2=0で交替先無しの場合に相当)。この場合、代替クラスタ先頭PSN2013には“0”が設定される。
一方、交替先が存在する場合は、ステータス1に“0000”が設定される(Flag2=0で交替先有りの場合に相当)。
また、ステータス2 2011Bは、少なくとも交替管理情報1010BにおけるFlag3と同様の情報を含む。
すなわち、例えば、ステータス2 2011Bの値が“0000”の場合は、その交替情報は単一クラスタに対応する(Flag3=00に相当)。
同様に、ステータス2の値が、例えば、“0001”の場合は、その交替情報は複数のクラスタを含む連続領域の開始クラスタの先頭セクタの位置に対応する(Flag3=01に相当)。一方、“0010”の場合は、複数のクラスタを含む連続領域の終端クラスタの先頭セクタの位置に対応する(Flag3=10に相当)。
このDFL entry2010は全ての実施の形態に適用可能である。
次に、図18に示したDFL entry2010のデータ構造と、図19Aのフローチャートを参照して、上述の図8Aを用いて説明したステップS113における交替管理情報に対する処理例をさらに詳しく説明する。
ここでは、図8AのステップS112で疑似上書き記録のための交替先への記録が行われ、ステップS113へ進んだ場合を想定する。
(ステップS301)まず、この疑似上書き記録が、1回目の上書き記録か、2回目あるいはそれ以降の上書き記録かを判断する。
この判断は、例えば、最新の交替管理情報リストに対し、図8AのステップS103で得られた、記録指示に含まれる論理アドレスに対応する物理アドレスを含むECCクラスタの先頭PSNの値を、欠陥クラスタ先頭PSN2012の値として持つDFL entry2010を検索することにより行える。
この最新の交替管理情報リストは、例えば、ステップS101(図8A)において、ディスク管理情報領域から再生され、メモリ回路312に保持される。
もし、該当する交替管理情報(例えば、DFL entry2010)が交替管理情報リスト中に発見されなかった場合には、1回目の擬似上書き記録であるとして、処理はステップS302に進む。
該当する交替管理情報が交替管理情報リスト中に発見された場合には、2回目の擬似上書き記録であるとして、処理はステップS304に進む。
なお、疑似上書き記録が、1回目の上書き記録か、2回目あるいはそれ以降の上書き記録かの判断は、他のステップで予め行っておいてもよい。例えば、ステップS106で行ってもよい。その時の判断結果を保持しておき、ステップS301で使用するようにしてもよい。
(ステップS302)1回目の交替記録の場合は次の処理を行う。
まず、ドライブ制御部311により新しいDFL entry2010がドライブ装置310のメモリ回路312上に生成される。
(ステップS303)次に、このDFL entry2010に値を設定する。
すなわち、ステータス1 2011Aに対して適切な値を設定する。例えば、交替先の存在する交替記録であれば“0000”が設定される。
次に、欠陥クラスタ先頭PSN2012に対して、記録指示に含まれる論理アドレスに対応する物理アドレスに位置するECCクラスタの先頭PSNの値を設定する。
次に、代替クラスタ先頭PSN2013に対して、直前の交替記録において、実際にデータが記録された代替クラスタの先頭PSNの値を設定する。
さらに、このDFL entry2010のステータス2 2011Bに対して適切な値を設定する。例えば、単一クラスタの交替記録であれば“0000”が設定される。
(ステップS304)2回目以降の交替記録の場合は次の処理を行う。
すなわち、直前のステップで見つかったDFL entry2010に対する更新処理を行うため、ステップS305へ進む。
(ステップS305)まず、このDFL entry2010のステータス1 2011Aを適切な値に更新する。例えば、交替先の存在する交替記録であれば“0000”が設定される。
次に、代替クラスタ先頭PSN2013を、直前の交替記録において、実際にデータが記録された代替クラスタの先頭PSNの値に更新する。すなわち、新たな交替先が設定される。
なお、欠陥クラスタ先頭PSN2012については、同じECCクラスタに対する2回目以降の交替記録であるので、変更の必要はなく、同じ値を保持すればよい。
さらに、このDFL entry2010のステータス2 2011Bを適切な値に更新する。例えば、単一クラスタの交替記録であれば“0000”が設定される。
(ステップS306)以上の処理により、交替管理情報リストの更新が行われる。すなわち、新しいDFL entry2010の追加、又は、既存のDFL entry2010の値が更新される。
(ステップS306)以上の処理により、交替管理情報リストの更新が行われる。すなわち、新しいDFL entry2010の追加、又は、既存のDFL entry2010の値が更新される。
そして、交替管理情報リストの並べ替えを行う。この並べ替えは例えば、ステータス1 2011Aについて並べ替えを行う。さらに、欠陥クラスタ先頭PSN 2012、ステータス2 2011B、代替クラスタ先頭PSN 2013の順に並べ替えを行う。
以上で図8AのステップS113は終了である。ここで得られた、最新の交替管理情報リストは、(一時)ディスク管理情報領域に追記される。
なお、上述の処理例では、疑似上書き記録のための交替記録が行われた場合について説明したが、これが、欠陥クラスタの発生による交替記録についても同じく適用可能である。
ところで、背景技術で図33A及び図33Bを参照して説明したように、従来の追記型光ディスクの欠陥管理においては、交替記録が発生するたびに既存の交替管理情報を残し、新たな交替管理情報を追加していた。
このような方法を、本実施の形態のようにユーザデータ領域を交替先として使用する記録方法に適用すると、交替記録が発生するたびに交替管理情報が増えてゆき、交替管理情報リストの容量が大きくなるため、ドライブ装置等の実装上好ましくない。
特に、従来の追記型光ディスクの欠陥管理においては、一旦交替されたクラスタは再度交替されることはなかったが、本実施の形態のように疑似上書き記録が行われる場合は、何度も交替記録の対象になりうる。そのため、交替管理情報リストの容量は非常に大きくなる可能性がある。
また、同じ欠陥クラスタ先頭PSN2012の値を持つ交替管理情報が交替管理情報リスト中に複数存在することになり、最新の交替管理情報を得るためにさらに追加の処理や仕組みが必要となる。
また、書き換え型光ディスクの欠陥管理においては、全ての交替先クラスタに対して、既に交替先として使用済みであるかどうかにかかわらず、交替管理情報を設けていた。
このような方法を、本実施の形態のようにユーザデータ領域を交替先として使用する方法に適用すると、初めから非常に大量の交替管理情報が必要となり、やはり実装上好ましくない。
一方、図19Aを用いた方法によれば、必要最低限の欠陥管理情報のみを生成し、管理すれば良く、最新の交替管理情報も容易に見つけることが可能となる。
1−9.記録処理手順(4)
図19Bを参照して、データ記録の手順における交替管理情報の処理例をさらに詳しく説明する。
図19Bを参照して、データ記録の手順における交替管理情報の処理例をさらに詳しく説明する。
図19Bに示される各ステップは、図8Aに示されるステップS113に含まれる。以下の説明では、図18に示した交替管理情報の一例であるDFL entry2010のデータ構造を参照する。
なお、ここでは、図8AのステップS112において疑似上書き記録のための交替先への記録が行われ、ステップS113に進んだ場合を想定する。
(ステップS601)ドライブ制御部311は、記録指示によって指定された領域が物理アドレス空間において連続領域であるか否かを決定する。
例えば、ドライブ制御部311は、記録指示によって指定される記録位置と記録指示によって指定される記録されるべきデータの容量とに基づいて物理アドレス空間上の領域のサイズを決定する。このようにして決定された物理アドレス空間上の領域のサイズが、1つ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 entry2010(ステータス2 2011B=“0001”)と第2のDFL entry2010(ステータス2 2011B=“0010”)とが交替管理情報リストの中に発見されるか否かに応じて行われる。
該当する第1のDFL entry2010と第2のDFL entry2010とが交替管理情報リスト中に発見されなかった場合には、1回目の擬似上書き記録であるとして、処理はステップS605に進む。
該当する第1のDFL entry2010と第2のDFL entry2010とが交替管理情報リスト中に発見された場合には、2回目の擬似上書き記録であるとして、処理はステップS607に進む。
(ステップS605)ドライブ制御部311は、新たな第1のDFL entry2010と新たな第2のDFL entry2010とを生成し、これらをメモリ回路312に格納する。
(ステップS606)ドライブ制御部311は、第1および第2のDFL entry2010に値を設定する。
第1のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録であることを示す“0000”が設定される。
第1のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。
第1のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。
第1のDFL entry2010のステータス2 2011Bには、連続領域の開始位置であることを示す“0001”が設定される。
第2のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録であることを示す“0000”が設定される。
第2のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。記録指示によって指定された領域の終端位置は、例えば、記録指示に含まれる論理アドレスに対応する物理アドレスと、記録されるべきデータのデータ長とから求められる。
第2のDFL entry2010のの交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。
第2のDFL entry2010のステータス2 2011Bには、連続領域の終端位置であることを示す“0010”が設定される。
(ステップS607)ドライブ制御部311は、ステップS604において発見された第1および第2のDFL entry2010に対する更新処理を行う。具体的には、この更新処理は、ステップ608において、第1および第2のDFL entry2010に値を設定することによって行われる。
(ステップS608)ドライブ制御部311は、第1および第2のDFL entry2010に値を設定する。
第1のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。すなわち、新たな交替先領域の開始位置が設定される。
第1のDFL entry2010の欠陥クラスタ先頭PSN2012については、変更の必要はなく、同じ値を保持すればよい。同じECCクラスタに対する2回目以降の交替記録であるからである。
第2のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。すなわち、新たな交替先領域の終了位置が設定される。
第2のDFL entry2010の欠陥クラスタ先頭PSN2012については、変更の必要はなく、同じ値を保持すればよい。同じECCクラスタに対する2回目以降の交替記録であるからである。
(ステップS609)上述した処理により、交替管理情報リストの更新が行われる。すなわち、新たな第1および第2のDFL entry2010が交替管理情報リストに追加される。又は、交替管理情報リスト内の既存の第1および第2のDFL entry2010の値が更新される。
(ステップS609)上述した処理により、交替管理情報リストの更新が行われる。すなわち、新たな第1および第2のDFL entry2010が交替管理情報リストに追加される。又は、交替管理情報リスト内の既存の第1および第2のDFL entry2010の値が更新される。
交替管理情報リストの並べ替えが行われる。この並べ替えは、例えば、更新管理情報のステータス1 2011Aの順に行われる。さらに、並べ替えは、欠陥クラスタ先頭PSN 2012、ステータス2 211B、交替クラスタ先頭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 entry2100Aが交替管理情報リストへ追加される。
次に、図21Aの状態で、ホスト装置305からLSN=0の位置にデータ“A2”を記録するよう指示がなされたとする。この記録が行われた後の状態を図22Aに示す。
図22Aに示すように、PSN=1000は既に記録済であるので、データ“A2”は、例えばユーザデータ領域中のPSN=1164の位置に交替される。
この時の交替記録は、2回目の交替記録であるので、図19Aを用いて説明したステップS304以降の手順に従い、図22Bに示すように、DFL entry2100Aが更新され、DFL entry2100Bとなる。(すなわち、DFL entryの追加は行われない。)
次に、図22Aの状態で、ホスト装置305からLSN=96の位置にデータ“B0”を、LSN=128〜192の位置にデータ“C0”を記録するよう指示がなされたとする。この記録が行われた後の状態を図23Aに示す。
次に、図22Aの状態で、ホスト装置305からLSN=96の位置にデータ“B0”を、LSN=128〜192の位置にデータ“C0”を記録するよう指示がなされたとする。この記録が行われた後の状態を図23Aに示す。
図23Aに示すように、データ“B0”をPSN=1196の位置に記録するとき、ベリファイ処理がエラーとなったとする。
この時、データ“B0”は例えば、外周交替領域107中のPSN=x10に交替される。
この時の交替記録は、1回目の交替記録であるので、図19Aを用いて説明したステップS302以降の手順に従い、図23Bに示すように、DFL entry2101Aが追加される。
一方、データ“C0”の記録後のベリファイには成功したものとすると交替管理情報リストは変化しない。
次に、図23Aの状態で、ホスト装置305からLSN=128〜192の位置にデータ“C1”を記録するよう指示がなされたとする。この記録が行われた後の状態を図24A示す。
図24Aに示すように、PSN=1228〜1292の位置は既に記録済であるので、データ“C1”は例えばユーザデータ領域中のPSN=1324〜1388の位置に交替される。
この時の交替記録は、1回目の交替記録であるので、図19Aを用いて説明したステップS302以降の手順に従い、図24Bに示すように、DFL entry2102A及び2103Aが追加される。
ここで、この交替記録は、連続領域2200(PSN=1228〜1292)から連続領域2201(PSN=1324〜1388)への交替記録であるので、上述のように、交替領域の先頭を示すDFL entry2102Aと、終了位置を示すDFL entry2103Aを用いている。
すなわち、本発明のドライブ装置310は、連続領域2200をユーザデータ領域108中の連続領域2201へ交替する疑似上書きにおいて、連続領域2200の開始位置を、連続領域2201の開始位置にマッピングする第1の交替管理情報(DFL entry2102A)と、連続領域2200の終了位置を、連続領域2201の終了位置にマッピングする第2の交替管理情報(DFL entry2103A)とを生成する。
ここで、3つのECCクラスタ分の連続領域の交替記録を行ったにもかかわらず、DFL entryは2つしか追加されていない。これは、DFL entry2102A及びDFL entry2103Aによって、ユーザ領域中の交替先を連続領域としてマッピングすることにより得られる効果である。
なお、連続領域の交替に関しても、2回目以降については既存のDFL entryを更新することは言うまでもない。
(実施の形態2)
2−1.NWA決定処理手順
ここでは、ホスト装置305の要求によりドライブ装置310が返信する論理アドレスで表された次回記録可能位置(以降、論理NWA)の決定方法について説明する。
2−1.NWA決定処理手順
ここでは、ホスト装置305の要求によりドライブ装置310が返信する論理アドレスで表された次回記録可能位置(以降、論理NWA)の決定方法について説明する。
本実施の形態においては、論理NWAは、次の手順により決定される。
まず、LRAで示される物理セクタを含むECCクラスタの次のECCクラスタを決定する。このECCクラスタが次の記録ECCクラスタである。記録ECCクラスタの先頭物理セクタが次回記録可能位置となり、この物理アドレスで表された次回記録可能位置が上述したNWAである。
論理NWAの値は、このNWAが示すPSNの値を初期論理アドレス−物理アドレスマッピングに従いLSNへ変換して得られる値となる。
以下、幾つかの具体例を用いて説明を行う。
図12の状態においては、LRA500がユーザデータ領域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がLRA500Bに対応するにもかかわらず、ホスト装置305が論理NWAとしてLRA501Bに対する値を保持してしまう場合がある。
このような状態は、PSN=1292の位置以降への記録が、ドライブ装置310によりホスト装置305からは独立した動作として実行され、また、ホスト装置305がドライブ装置310から最新の論理NWAを取得しなかった場合に生じる。
そしてもし、この状態でホスト装置305が新規データを記録指示しようとすると、LRA501Bに対応する論理NWAへ記録指示を出すことになるが、実際のデータはドライブ装置310によりPSN=1336の位置へ記録される。
この記録は交替記録となるので、新たな交替管理情報が必要となってしまう。
一方、ホスト装置305が最新のLRA500Bに対応する論理NWAをドライブ装置310から取得してから新規データの記録の指示を行えば、その記録は交替記録とならず、新たな交替管理情報も不要である。
図15A及び図16Aでも同様であり、各図においてホスト装置305は論理NWAとしてLRA501Cに対する値を保持してしまう場合があるが、実際の最新のLRAはそれぞれLRA500C及びLRA500Dである。
よってホスト装置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が使用されない状況が発生する。
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の位置の論理クラスタは、未記録論理クラスタである。
図14Aで、LSN=224の位置の論理クラスタは、未記録論理クラスタである。
LSN=224の位置の未記録論理クラスタに対し、初期論理アドレス−物理アドレスマッピングで対応する物理クラスタはPSN=1324の位置となる。
PSN=1324の位置の物理クラスタは、さらに、交替管理情報514により、PSN=1228の位置の物理クラスタと関連づけられている。
そしてPSN=1228の位置の物理クラスタは、初期論理アドレス−物理アドレスマッピングに従い、LSN=128の位置の論理クラスタとマッピングされる。
すなわち、PSN=1228の位置の物理クラスタは、LSN=128の位置の論理クラスタと、LSN=224の位置の未記録論理クラスタの2つの論理クラスタが割り付けられている。
このような2つの論理クラスタが1つの物理クラスタに割り付けられている状態で再生が行われる時の手順について以下で説明する。
まず、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−3NWA決定手順の比較
上述の実施の形態とは異なり、未記録論理セクタが発生しないNWA決定手順について説明する。
上述の実施の形態とは異なり、未記録論理セクタが発生しないNWA決定手順について説明する。
本NWA決定手順においては、論理LRAを管理し、論理LRAの隣の位置である論理NWAに新たなデータを記録する。
この時、論理NWAを示すLSNを初期論理アドレス−物理アドレスマッピングによりPSN(PSN−1とする)へ変換する。
また、この論理NWAに対して、実際にデータを記録するECCクラスタは、LRA213で示される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は、LRA4610AからNWA4611Aを決定し、NWA4611Aに対応する論理NWAをホスト装置305へ返信する。
この時、ホスト装置305がドライブ装置310に対して、PSN=a0に対応するLSN=A0へのデータ“D1”4622の記録指示と、NWA4611A(PSN=a2)に対応するLSN=A2へのデータ“E1”4623の記録指示を連続的に行う場合がありうる。
もし、ドライブ装置310が、ホスト装置305の記録指示通りデータ“D1”4622、データ“E1”4623の順に記録指示を行うと、その記録結果は、図28のようになる。
ここで、データ“D1”4622の記録指示は、記録済み領域4600への疑似上書き記録となる。よって、データ“D1”4622はNWA4611A(PSN=a2)へ交替される。そして、NWA4611AはNWA4611B(PSN=a3)となる。
この交替記録によりPSN=a2の位置は記録済となるので、データ“E1”4623はさらに、NWA4611B(PNS=a3)へ交替される。
上述したように、ホスト装置305はNWA4611A(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が、NWA4611A(PSN=a2)に記録されている。また、データ“D1”4622BがPSN=a4に記録されている。
上述したように、ホスト装置305はNWA4611A(PSN=a2)に対して記録指示を出していたので、記録指示がなされた位置と実際に記録された位置が同じになる。よってこの記録は交替記録とならない。
すなわち、データ“E1”4623に対する交替管理情報1010が生成されず、交替管理情報リスト1000の容量増加を防ぐことが可能となる。
なお、データ“D1”4622の記録においては、図28及び図29のいずれの場合でも、同じだけの交替管理情報1010が必要となる。図28及び図29において、データ“D1”4622の記録位置(すなわち交替先の位置)が変わるだけで、必要な交替管理情報1010の数は変化しない。
以上より、本実施の形態は、ホスト装置305が、上書き記録と追記を行おうとしている場合は、追記の方を優先して記録指示することにより、交替管理情報1010の発生を回避することが可能となり、交替管理情報リスト1000のデータ容量削減に効果がある。
(実施の形態5)
ここで、ある容量のデータをホスト装置305がECCクラスタの容量(例えば64KB)毎に分割し、分割した単位毎にドライブ装置310へ順次、記録指示を行う場合を考える。
ここで、ある容量のデータをホスト装置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)
本実施の形態において、データの記録手順についてさらに述べる。
5−1.データ構造
本発明の情報記録媒体100のユーザデータ領域102は、最小のアクセス単位である物理セクタに分割され、複数の物理セクタからなるECCクラスタを最小の単位としてデータの記録・再生が行われることは既に述べた。
本実施の形態において、データの記録手順についてさらに述べる。
5−1.データ構造
本発明の情報記録媒体100のユーザデータ領域102は、最小のアクセス単位である物理セクタに分割され、複数の物理セクタからなるECCクラスタを最小の単位としてデータの記録・再生が行われることは既に述べた。
各ECCクラスタおよび物理セクタには、ユーザデータの他にアドレス情報や、各種の制御情報、属性情報(ユーザ制御データ)が含まれている。
これらの情報は、物理セクタ単位で設定される情報もあるし、ECCクラスタ単位で設定される情報もある。
ユーザデータやユーザ制御データは、記録データの信頼性向上のため、ECCクラスタ単位でインターリーブ処理やスクランブル処理を施されて情報記録媒体100上に記録される。
本実施の形態においては、ECCクラスタに含まれる幾つかの属性情報について説明する。
図34に示すように、本発明のECCクラスタに含まれる各物理セクタにはそれぞれFlag−A、Flag−B、Flag−Cという属性情報が設定される。
Flag−Aは、パディングフラグで、各物理セクタに記録されたデータがホスト装置305から与えられた有効なデータであるか(Flag−A=0)、ドライブ装置310が、ECCクラスタ境界までを埋めるために記録したパディングデータ(例えばすべて0のダミーデータ)であるか(Flag−A=1)を示す。パディングデータは、無効データの一例である。
ホスト装置305から記録指示されたデータの容量がECCクラスタの容量の整数倍とならない場合、ドライブ装置310がパディングデータを挿入し、記録するデータの容量をECCクラスタの境界に一致させる。
Flag−Bは、有効性フラグで、各物理クラスタに記録されたデータが有効データである(Flag−B=0)か、無効データである(Flag−B=1)か、を示す。
通常、パディングデータでない各物理クラスタは有効データセ含むのでFlag−B=0となるが、例えば、RMW処理を行う時、Flag−B=1となる場合がある。
すなわち、交替記録のためのRMW処理において、ある物理セクタが再生できない場合がありうる。
このような再生できなかった物理セクタがあった場合、対応する交替先の物理セクタについては記録すべきデータが存在しないことになる。
図8Bを参照して説明したように、RMW処理においては、物理セクタからデータを再生後に、再度データを書き戻す必要がある。よって、図8Bに示すステップS153において、ある物理セクタからの再生に失敗すると、データの書き戻しができず、記録エラーとなってしまう。
そこで本実施の形態においては、ドライブ装置310のドライブ制御部311は、記録すべきデータが存在しない交替先の物理セクタに無効データ(例えば、00hのようなダミーデータ)を記録する。
ドライブ制御部311は、ダミーデータが記録された物理セクタにFlag−B=1を設定する。Flag−B=1は、有効なデータが記録されていないことを示す。
このようなデータ記録の手順により、RMW処理におけるエラーの発生を回避できる。
Flag−Cは、更新性フラグで、代替クラスタ中の各物理セクタに対して設定されるフラグである。
代替クラスタ中の各物理セクタに含まれるデータが、交替元からのデータを変更したものである場合は、更新有りとして、Flag−C=0を設定する。一方、変更を行わず、更新元のデータをそのまま記録した場合は、更新無しとしてFlag−C=1を設定する。
さらに、本実施の形態の各ECCクラスタは、その属性情報の1つとして、交替前位置情報を持つ。交替前位置情報の設定手順の詳細は後述する。
本実施の形態においては、図11を参照して説明した状態情報1011に対してさらにフラグ情報を追加する。
ここでは、図35に示す交替管理情報1010Cように、Flag4として、交替元位置情報1012が指し示すECCクラスタに含まれるデータの種別を判別できるようにする。
ここでデータの種別とは、交替元位置情報1012が指すクラスタ中に含まれているデータと交替先位置情報1013が指すクラスタ中に含まれているデータとの関係から決定される情報である。
具体的には、第1のデータ種別は、交替元位置情報1012が欠陥クラスタを指している場合に相当する。この時のFlag4の値を例えば“00“とする。
第2のデータ種別は、交替元位置情報1012が指すクラスタ中に含まれているデータを更新し、疑似上書きにより交替先位置情報1013が指すクラスタに更新後のデータを記録した場合に相当する。この時のFlag4の値を例えば“01“とする。
第3のデータ種別は、交替元位置情報1012が指すクラスタ中に含まれているデータとは無関係に、その位置に疑似上書きにより交替先位置情報1013が指すクラスタにデータを記録した場合である。この時のFlag4の値を例えば“10“とする。
例えば上述の実施の形態で言えば、図13Bに示す交替管理情報512がFlag4=00に相当する。また、図14Bに示す交替管理情報514Aや図39Bに示す交替管理情報6200がFlag4=01に相当する。そして、図17Bに示す交替管理情報518がFlag4=10に相当する。
なお、交替管理情報6200のように、Flag4と同様の情報を上述した図18に示すDFL entry2010に含める場合は、例えば、ステータス2 2011Bに含めればよい。例えば、ステータス2 2011Bの値が“1000”の場合は、Flag4=01の場合に対応させる。
このFlag4は、データの記録時に設定される。例えば、図8AのステップS113において、Flag4の情報を設定する。あるいは、Flag4に相当するステータス2 2011Bを設定する。Flag4の設定手順の詳細は後述する。
5−2.記録処理手順
図36A、図36Bおよび図36Cを参照して、本実施の形態のデータ記録の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100に記録されるものとする。
5−2.記録処理手順
図36A、図36Bおよび図36Cを参照して、本実施の形態のデータ記録の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100に記録されるものとする。
図36Aは、図8Bに示されるステップS156の処理の詳細例を示す。図36Aに示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
図8BのステップS156の前に、図8BのステップS153またはステップS154によりリード処理が実施され、次に、ステップS155により、モディファイ処理が実施される。
ステップS153およびステップS154において、再生に成功した場合には、ドライブ制御部311は、再生されたデータをメモリ回路312に保持し、交替元ECCクラスタの中に、再生に失敗した物理セクタが存在する場合には、ドライブ制御部311は、交替先ECCクラスタに記録すべきデータを生成するため、交替元ECCクラスタ内の再生に失敗した物理セクタに対応する交替先ECCクラスタ内の物理セクタに記録するための無効データであるダミーデータをメモリ回路312に保持されているデータに挿入する。
次に、ステップS155において、記録指示に示されるデータにより、メモリ回路312に保持している記録すべきデータをモディファイする。
以上の結果を記録すべきデータとしてメモリ回路312に保持する。
次に、図36Aに示される各ステップを詳しく説明する。
(ステップS501)ドライブ制御部311は、情報記録媒体100に記録すべきデータを決定する。
(ステップS502)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する属性情報を設定する。
ステップS151(図8B)でRMW処理が必要であると判断されていた場合、ステップS153やステップS154で再生した結果として得られた属性情報を値はそのまま保持する。
ステップS153とS154において、交替元ECCクラスタの中に、再生に失敗した物理セクタが存在した場合には、交替先に記録すべきデータとして、交替元ECCクラスタ内の再生に失敗した物理セクタに対応する交替先ECCクラスタ内の物理セクタに記録すべきデータとして無効データであるダミーデータが挿入されていた。ステップS502では、無効データを挿入した物理セクタに対応するFlag−Bに“1”を設定する。
また、ステップS155(図8B)において、RMW処理のモディファイ処理を実施された物理セクタに対してはFlag−C=0を設定する。
(ステップS503)ドライブ制御部311は、メモリ回路312に保持されている記録すべきデータに対する交替前位置情報を設定する。
ステップS151(図8B)において、記録指示によって指定された位置を含むECCクラスタが交替済みでない(すなわち、記録指示に従って行われるデータ記録が1回目の擬似上書き記録である)と決定されていた場合には、交替前位置情報には、交替元クラスタのアドレスを示す情報が設定される。交替元クラスタのアドレスは、記録指示によって指定された位置(例えば、記録指示によって指定された論理アドレスを初期論理アドレス−物理アドレスマッピングに従って物理アドレスに変換し、この物理アドレスを含むECCクラスタの先頭PSN値によって示される位置)を示す。
ステップS151(図8B)において、記録指示によって指定された位置を含むECCクラスタが交替クラスタに既に交替されている(すなわち、記録指示に従って行われるデータ記録が2回目以降の擬似上書き記録)と決定されていた場合には、交替前位置情報には、直前の交替先クラスタを指すように、既に交替されている交替クラスタのアドレスを示す情報が設定される。
この直前の交替先クラスタのアドレスは、例えば、ステップS151(図8B)で交替管理情報から取得済みである。
なお、上述のステップS502(図36A)において、交替先クラスタにFlag−B=1を設定した物理セクタがあった場合、図8AのステップS113で、この交替処理を管理する交替管理情報のステータス2 2011Bを“1000”に設定する。
図36Bは、図8Bに示されるステップS157の処理の詳細例を示す。図36Bに示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS506)ドライブ制御部311は、記録指示によって指定されたデータを情報記録媒体100に記録すべきデータとして決定する。
(ステップS507)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する属性情報を設定する。
ECCクラスタの属性情報に含まれる各フラグに所定の値を設定する。例えば、Flag−A=0、Flag−B=0、Flag−C=0を設定する。
その結果を記録すべきデータとしてメモリ回路312に保持する。
(ステップS508)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する交替前位置情報を設定する。
このステップは図36AのS503と同じである。
このステップは図36AのS503と同じである。
図36Cは、図8Aに示されるステップS109の処理の詳細例を示す。図36Cに示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS511)ドライブ制御部311は、記録すべきデータを決定する。具体的には、ドライブ制御部311は、記録指示によって指定されたデータを記録すべきデータとして決定する。
この時、ドライブ制御部311は、記録指示によって指定されたデータの終端がECCクラスタ境界に一致するかどうか判断する。もし、一致しない場合は、パディングデータ(例えばすべて00hのデータ)を挿入し、データの終端がECCクラスタ境界に一致させ、記録すべきデータとして決定する。
(ステップS512)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する属性情報を設定する。
ECCクラスタの属性情報に含まれる各フラグに初期値を設定する。例えば、Flag−A=0、Flag−B=0、Flag−C=1を設定する。
ただし、ステップS511でパディングデータを記録した物理セクタに対しては、Flag−A=1を設定する。
その結果を記録すべきデータとしてメモリ回路312に保持する。
(ステップS512)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する交替前位置情報を設定する。
本ステップにおいては、交替前位置情報に交替記録でないことを示す情報を設定する。
例えば、すべて“0”の値を設定する。
5−3.再生処理手順
図37を参照して、本実施の形態のデータ再生の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100から再生されるものとする。
5−3.再生処理手順
図37を参照して、本実施の形態のデータ再生の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100から再生されるものとする。
図37に示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS651)ドライブ制御部311は、再生指示を受け取る。
(ステップS652)ドライブ制御部311は、再生指示に含まれる再生位置を示す論理アドレスを、初期論理アドレス−物理アドレスマッピングに従って物理アドレスに変換する。
(ステップS653)ドライブ制御部311は、ステップS652で得られた物理アドレスを含むECCクラスタの先頭PSNを交替元として含む交替管理情報を検索する。
該当する交替管理情報が発見されたら、処理はS654へ進む。該当する交替管理情報が発見されなかったら、処理はS655へ進む。
(ステップS654)ドライブ制御部311は、ステップS653で発見された交替管理情報が交替先として示す物理アドレスを再生位置として設定する。
(ステップS655)ドライブ制御部311は、再生指示によって指定される論理アドレスを初期論理アドレス−物理アドレスマッピングに従って変換することによって得られる物理アドレスを再生位置として設定する。
(ステップS656)ドライブ制御部311は、先のステップで設定された再生位置からデータを再生するように記録再生部314を制御する。
ドライブ制御部311は、エラー検出・訂正機能により、再生が成功したか否かを決定する。
全ての物理セクタの再生に成功した場合は再生処理を終了する。
再生に失敗した物理セクタが存在する場合、処理はステップS657へ進む。
(ステップS657)ドライブ制御部311は、再生に失敗した物理セクタに対して、再生処理の再試行が可能かどうかを決定する。
再生に失敗した物理セクタに対して、Flag−B=1が設定されているか否かを決定する。
Flag−B=1が設定されていると決定された場合、処理はステップS659へ進む。この時、交替前位置情報が示す位置からデータ再生の再試行を行うことにより、再生エラーからの回復が可能である。
あるいは、ステップS653で交替先有りと判断されていた場合、交替管理情報のFlag4が“01”(あるいはステータス2 2011Bが“1000”)であるかどうかを判断する。Flag4による判定は、ステップS656での再生が失敗し、Flag−Bの再生も出来なかったときに特に有効である。
Flag4が“01”であると判断されたら、処理はステップS659へ進む。
それ以外の場合(ステップS653で交替先がない、と判断されていない場合も含む)、処理はS658へ進む。
(ステップS658)ドライブ制御部311は、再生エラーが発生したことを決定する。その結果、再生処理は終了する。
(ステップS659)ドライブ制御部311は、交替前位置情報に示される物理アドレスを再生位置として設定する。
(ステップS660)ドライブ制御部311は、先のステップで設定された再生位置からデータを再生するように記録再生部314を制御する。
エラー検出・訂正機能により、再生が成功したか否かを判断する。
成功した場合は再生処理を終了する。この時、交替先クラスタ内のFlag−B=1が設定された物理セクタに対応する物理セクタから再生されたデータをホスト装置305へ出力する。
失敗した場合は、処理はステップS658へ進む。
なお、未記録論理セクタに対して再生指示が行われた時、ステップS656において説明したように、対応する物理クラスタからデータの再生を行ってしまうと、本来再生されるべきではないデータが再生されることになる。もし、このようなデータ再生が不都合な場合は、次のような再生手順を用いても良い。
すなわち、データの再生に際して、再生指定されたLSNを初期論理アドレス−物理アドレスマッピングに従いPSNに変換し、得られたPSNを交替管理情報リスト1000中の交替元位置情報1012として持つ交替管理情報1010Bを検索する。もし、対応する交替元位置情報1012が、見つからなかったら、得られたPSNの物理セクタからデータを再生する。
このとき、再生された物理セクタを含むECCクラスタから交替前位置情報を取得し、交替前位置情報に、有効な値が登録されているかどうか調べる。交替前位置情報に、有効な値が登録されている場合は、そのECCクラスタが未記録論理クラスタであることがわかるので、ドライブ装置310は、このECCクラスタから再生したデータをホスト装置305へ返送せず、その代わりに、再生データとして所定の値、例えばすべて0の値を返送する。
また、交替前位置情報を調べる代わりに、Flag−Aを調べても良い。再生された物理セクタに対応するFlag−Aを取得し、Flag−Aの値を調べる。Flag−A=1の場合は、その物理セクタが未記録論理セクタであることがわかるので、ドライブ装置310は、この物理セクタから再生したデータをホスト装置305へ返送せず、その代わりに、再生データとして所定の値、例えばすべて0の値を返送する。
また、Flag−Bを調べても良い。同様に、再生された物理セクタに対応するFlag−Bを取得して、この値を調べる。Flag−B=1の場合は、その物理セクタが未記録論理セクタであることがわかるので、ドライブ装置310は、この物理セクタから再生したデータをホスト装置305へ返送せず、その代わりに、再生データとして所定の値、例えばすべて0の値を返送する。
また、Flag−Cを調べても良い。同様に、再生された物理セクタに対応するFlag−Cを取得して、この値を調べる。Flag−C=0の場合は、その物理セクタが未記録論理セクタであることがわかるので、ドライブ装置310は、この物理セクタから再生したデータをホスト装置305へ返送せず、その代わりに、再生データとして所定の値、例えばすべて0の値を返送する。
このような再生処理により、未記録論理セクタに対して再生指示が出された場合でも、対応する物理セクタから適切なデータが再生される。
5−4.記録および再生処理の例
以下、図36A〜図36Cおよび図37に示されるデータ記録および再生の手順に従った具体的な処理の例を説明する。
5−4.記録および再生処理の例
以下、図36A〜図36Cおよび図37に示されるデータ記録および再生の手順に従った具体的な処理の例を説明する。
例えば、図34において、ホスト装置305からの記録指示により、ユーザデータ領域中のECCクラスタ#i 6000にデータ“A0”が新規に記録されたとする。この時、データ“A0”が記録された物理セクタ6003に対する各フラグの値は、Flag−A=0、Flag−B=0、Flag−C=0となる。
また、ホスト装置305から与えられたデータ“A0”の容量はECCクラスタ境界に一致しないため、ECCクラスタ#i 6000の残りの部分はドライブ装置310により無効データであるパディングデータが記録される。パディングデータが記録された物理セクタに対する各フラグの値は、Flag−A=1、FlagB=0、等となる。
次に、図34の状態に対して、ホスト装置305がECCクラスタ#i 6000中のPSN=a1に、データ“B1”の記録を指示したとすると、記録結果は図38Aのようになる。
図34の状態でECCクラスタ#i 6000は記録済であるので、RMW処理と交替処理が行われる。すなわち、ドライブ装置310はECCクラスタ#i 6000を再生する。再生したデータ“A0”に対しデータ“B1”を挿入し、必要なフラグ値の更新も行う。また、ECCクラスタの境界までパディングデータを挿入する。
このようにして得られたデータを未記録領域であるECCクラスタ#i+1 6001へ記録する。さらに、ECCクラスタ#i 6000を交替元、ECCクラスタ#i+1 6001を交替先とする交替管理情報1010を生成する。
図38Aに示すように、ECCクラスタ#i+1 6001中のデータ“A0”が記録された物理セクタに対するFlag−Cの値は1となっている。これは、上述のRMW処理において、ドライブ装置310がデータ“A0”をECCクラスタ#iからECCクラスタ#i+1へそのままコピーし、更新していないからである。
次に、図38Aの状態に対して、ホスト装置305が、ECCクラスタ#i 6000中に、データ“C2”の記録を指示したとすると、記録結果は図39Aのようになる。
この時も同様に、ECCクラスタ#i 6000は記録済であるので、RMW処理と交替処理が行われる。すなわち、ドライブ装置310はECCクラスタ#i+1 6001を再生する。そして再生したデータに対してデータ“C2”およびパディングデータの挿入と必要なフラグ値の更新を行う。そして、得られたデータを未記録領域であるECCクラスタ#i+2 6002へ記録する。さらに、図39Bに示すような、ECCクラスタ#i 6000を交替元、ECCクラスタ#i+2を交替先とする交替管理情報6200を生成する。
ここで、仮にECCクラスタ#i+1 6001の再生において、データ“A0”の再生に失敗したとする。従来であれば、この失敗によりRMW処理が進められなくなり、記録エラーとなる。
一方、本実施の形態では、図40Aに示すように、データ“A0”を記録すべきECCクラスタ#i+2 6003中の物理セクタにダミーデータを記録し、フラグ値としてFlag−B=1に設定する。その他の物理セクタには直前の交替位置であるECCクラスタ#i+1 6002から再生した正しいデータを記録する。このような記録手順により、ECCクラスタ#i+2への記録を続けることができる。
この時も同様に、図39Bに示す交替管理情報6200を生成する。
あるいは、図39Aに示すように、ECCクラスタ#i+1 6001内のデータ“A0”が記録された物理セクタのFlag−Cの値を見て、更新無し(=1)であることが分かったら、ECCクラスタ#i+1 6001の直前の状態のデータが記録されているECCクラスタ#i 6000からデータ“A0”を読み出し、ECCクラスタ#i+2 6002へ記録してもよい。
このような、直前の状態のデータを読み出すため、本実施の形態の各ECCクラスタは、その属性情報の1つとして、交替前位置情報を持つ。
図38A、図39A、図40Aを参照して交替前位置情報を説明する。例えば、ECCクラスタ#i+1 6001であれば、交替前位置情報6101として、ECCクラスタ#i 6000の先頭物理セクタのアドレス情報であるPSN=a0の値を持つ(図38A参照)。同様に、ECCクラスタ#i+2であれば、交替前位置情報6102として、ECCクラスタ#i+1の先頭物理セクタのアドレス情報であるPSN=a2の値を持つ(図39A、図40A参照)。
すなわち、図38Aを参照して説明したECCクラスタ#i+1 6001へのデータ“B0”のような記録は、1回目の交替記録であり、直前の交替位置が存在しないので、交替前位置情報6101に、交替元であるECCクラスタ#i 6000の先頭物理セクタのアドレス情報であるPSN=a0の値を設定する。
また、図39Aを参照して説明したECCクラスタ#i+2 6002へのデータ“C2”のような記録は、2回目以降の交替記録であるので、交替前位置情報6100に、直前の交替先であるECCクラスタ#i+1 6001の先頭物理セクタのアドレス情報であるPSN=a2の値を設定する。
また、図34を参照して説明したECCクラスタ#i 6000へのデータ“A0”のような記録の場合は、交替記録ではないので、そのことを示す情報として、交替前位置情報6100に、例えば“0”を設定する。
ECCクラスタを用いる追記型メディアでは、データの更新が擬似的な上書き記録となり、直前の状態のデータが残ったまま新しいデータが記録されるという特性がある。
本実施の形態においては、この特徴を利用し、さらにRMW処理においてデータが更新されたかどうかを示す識別情報や、交替前位置情報をECCクラスタ内に新たに設けることにより、疑似上書き記録における信頼性を向上させることを可能とする。
すなわち、ドライブ装置310が各物理セクタに記録するデータがホスト装置305から与えられた有効なデータであるか、無効なデータであるかを示す属性情報を設けた。
無効なデータである場合、ドライブ装置310が、ホスト装置305から記録指示されたデータの容量がECCクラスタの容量より小さいため、ECCクラスタ境界までを埋めるために記録したパディングデータである(Flag−A=1)か、RWM処理において、再生に失敗した物理セクタを埋めるために記録した無効データである(Flag−B=1)かを区別可能とした。
RMW処理において、再生エラーが発生した場合でも、無効データであるダミーデータを記録し、その状態を示す属性情報を設定(Flag−B=1)しておくことにより、記録処理を完了することができる。さらに、その再生時において、交替前位置情報で示される位置に直前の有効データが存在するかどうかを判断することができ、直前のデータを再生することにより再生エラーからの回復が行えるようになる。
さらに、ホスト装置305から記録指示されたデータ容量が少ないために挿入される無効データ(パディングデータ)と、ダミーデータとを物理セクタ単位で区別しておくことにより、再生エラーからの回復において、どの物理セクタからのデータが有効であるかを判断可能となる。
直前の有効データが存在すると判断されたら、交替前位置情報で示される位置のECCクラスタからデータを再生し、有効データを得ることができる。よって、疑似上書き記録における信頼性を向上させることを可能となる。
また、交替前位置情報を設けることにより、交替記録されたECCクラスタからの再生時において、直前のデータを再生することが可能となり、再生エラーからの回復が行えるようになる。
また、このFlag4を設けることにより、次のような場合に効果が得られる。
すなわち、ある代替クラスタを再生しようとした時、何らかの理由でその代替クラスタが再生できない場合がありうる。例えば、代替クラスタにユーザの指紋等の汚れが付着した場合である。
この時、ドライブ装置310は、交替管理情報のFlag4を参照し、Flag4=00またはFlag4=01の場合、交替元情報1012に示されるECCクラスタの再生を試みる。
Flag4=00の場合、交替元は欠陥クラスタであり、その記録時におけるベリファイ処理は失敗していた。
しかしながら、今回、再生を行った場合は再生に成功する可能性がある。例えば、ベリファイ時と情報記録媒体100の状態が変化した時(汚れが取れた、環境温度が違う、等)や、再生を行うドライブ装置が異なる時に、再生に成功する場合がある。
もし再生に成功すれば、それは交替先から再生されるべきデータと同じものである。よって代替クラスタに対する再生に失敗しても、交替元クラスタから必要なデータの再生が行え、ホスト装置305としては、正しいデータを受け取ることが可能となる。
また、Flag4=01の場合、交替元は更新前のクラスタであり、通常、その再生は行える。ただし、ECCクラスタ内の一部又は全部のデータは更新記録時のRMW処理により書き換えられている。
逆に言うと、一部のデータは、更新前クラスタに変更されずに残っているので、その変更されていないデータは、ホスト装置305にとっては有効なデータである。
さらに、このような変更されていないデータだけをドライブ装置310からホスト装置305へ確実に返信するため、RMW時に更新された物理セクタと、更新されなかった物理セクタを識別することを可能とする情報を各物理セクタ内に記録してもよい。例えば、ECCクラスタの属性情報である、Flag−BやFlag−Cがそれに相当する。
これにより、更新されていない物理セクタ上のデータのみをホスト装置305へ返信することが可能となる。
また、Flag4=10の場合、交替元は更新後とは無関係のデータであるので、その再生は行わず、再生エラーとして処理を行う。
以上のような処理を行うことにより、情報記録媒体100に対して、信頼性の高いデータの記録・再生が行えるようになる。
なお、Flag4=01の一例として上述した交替管理情報514Aや交替管理情報6200のように、複数回の交替記録が行われている場合、その交替管理情報の交替元情報1012は、直前の交替先クラスタとはならない。
例えば、交替管理情報514Aの交替元情報1012で示す交替元クラスタはPSN=1228のECCクラスタであるが、直前の交替先クラスタは、PSN=1292のECCクラスタである。
よって、複数回の交替記録が行われている場合は、上述の交替前位置情報を参照することにより、直前の更新前クラスタを知ることが可能である。
例えば、図39Bに示した交替管理情報6200の場合、ステータス2 2001B=“1000“であり、交替元クラスタとしてPSN=a0のECCクラスタ#i 6000を指す。
しかしながら、図39Aに示すように、ECCクラスタ#i+2 6002に対して、直前の更新前クラスタはECCクラスタ#i+1 6001である。
また、ECCクラスタ#i+2 6002の先頭物理セクタは、RMW処理において、再生できなかったため、ダミーデータが記録されている(Flag−B=1)。
この時、ドライブ装置310は、ECCクラスタ#i+2 6002の再生に際して、更新前クラスタであるECCクラスタ#i+1 6001からデータを再生し、ECCクラスタ#i+2 6002の先頭セクタの代わりにECCクラスタ#i+1 6001の先頭セクタ上のデータをホスト装置305へ返信することが可能となる。
(実施の形態7)
情報記録媒体上の傷や汚れ等により、最新の交替管理情報リストの再生が出来ない場合、再生指示により指定されたECCクラスタが他のECCクラスタに代替されているかどうか特定できなくなる。この時、再生指示されたデータを正しく再生できなくなる。
情報記録媒体上の傷や汚れ等により、最新の交替管理情報リストの再生が出来ない場合、再生指示により指定されたECCクラスタが他のECCクラスタに代替されているかどうか特定できなくなる。この時、再生指示されたデータを正しく再生できなくなる。
このため、データを正しく再生するために、再生指示により指定されたECCクラスタが他のECCクラスタに代替されているかどうか調べ、最新の交替管理情報リストを修復する必要がある。
本実施の形態においては、何らかの理由により交替管理情報リスト1000の一部又は全部が再生できなくなった時のデータの再生手順について図41を参照して説明する。
図41は、複数回のデータ記録が行われた情報記録媒体100のデータ構造の一例を示す図である。
図41では、ECCクラスタ#j 7000を交替元として、複数回の交替記録が行われており、その交替先は、交替された順に、ECCクラスタ#j+1 7001、#j+2 7002、#j−1 7003とする。
この記録順は例えば、上述の実施の形態で述べたように、交替先を検索する時、PSNが大きくなる方向へ未記録領域を検索し、ユーザデータ領域の終端に達したら、先頭に戻る、という検索手順により決定されたものとする。
本実施の形態においては、各ECCクラスタは、図41に示す、交替前位置情報を含む。
この状態において、何らかの理由により交替管理情報リスト1000の一部又は全部が再生できなくなった場合、従来であれば、交替記録の対応関係が不明なため、正しいデータの再生が不可能となった。
そこで本実施の形態においては、各ECCクラスタの持つ交替前位置情報を調べることにより最新の交替管理情報リスト1000を修復し、正しいデータ再生を行う方法について説明する。
本実施の形態における修復処理を行う時、情報記録再生装置300Bやドライブ装置310は、情報記録媒体100の各ECCクラスタを再生し、各ECCクラスタの持つ交替前位置情報を調べる。
すなわち、情報記録媒体100の各ECCクラスタの持つ交替前位置情報を調べ、交替前位置情報に交替記録でないことを示す情報(例えば、値が“0”)が設定されていたECCクラスタは、交替元ECCクラスタまたは、交替がまったく行われていないECCクラスタである。
次に、交替前位置情報の値が交替記録でないことを示す情報でないECCクラスタは、交替先のECCクラスタである。
図41では、ECCクラスタ#j 7000の交替前位置情報は交替記録でないことを示す情報(例えば、“0”)が設定されている。
ECCクラスタ#j+1 7001、#j+2 7002、#j−1 7003の交替前位置情報7700、7701、7702は、それぞれ、PSN=b1、PSN=b2、PSN=b3を示す情報が設定されている。
この状態に置いて、ECCクラスタ#j 7000を最終的な交替先を検定する必要がある。
ECCクラスタ#j 7000の最新の交替先は、交替前位置情報を用いて判別する。すなわち、交替前位置情報をたどることにより判別可能である。
図41では、ECCクラスタ#j 7000がECCクラスタ#j−1 7003へ交替されていることが分かる。
これより、ECCクラスタ#j 7000を交替元とし、ECCクラスタ#j−1 7003を交替先とする交替管理情報が再生成可能となり、交替管理情報リスト1000の修復が行える。
以上のように、何らかの理由により交替管理情報リスト1000の一部又は全部が再生できなくなった時にでも、情報記録媒体100のすべての記録済みECCクラスタに対して交替前位置情報の値を調べることにより、最新の交替管理情報リスト1000を修復可能となる。
すなわち、交替元と交替先の対応関係が分かるので交替管理情報リスト1000の再生成が可能となる。そして再生成した交替管理情報リスト1000を情報記録媒体100に記録することにより、次回からは通常の再生が行えるようになる。
また、最新の交替先を決定する他の方法としては、各ECCクラスタの属性情報として更新カウンタを設ける方法もある。
更新カウンタは、新規記録のECCクラスタに対しては0を設定する。交替記録先のECCクラスタに対しては、更新を行う毎に1を加えて記録する。
図41では、ECCクラスタ#j 7000では“0”、ECCクラスタ#j+1 7001、#j+2 7002、#j−1 7003ではそれぞれ“1”、“2”、“3”が設定される。
この更新カウンタに最大の値を持つECCクラスタが最新のデータとなる。
また、各ECCクラスタの属性情報として記録種別を示すフラグ(Flag−D)を設けてもよい。
このフラグは交替先のECCクラスタが欠陥クラスタの交替記録(Flag−D=0)か、疑似上書き記録の交替記録(Flag−D=1)かを示す情報である。
仮に、上述のECCクラスタ#j 7000が欠陥クラスタとなった場合、ECCクラスタ#j 7000に含まれる交替前位置情報等の属性情報も再生できなくなる場合がある。
このような時、交替先のECCクラスタに記録種別を示すフラグ(Flag−D)があれば、交替元が欠陥クラスタであるのか、疑似上書き記録の更新前のクラスタであるのかを知ることができる。
このような情報は、交替管理情報リスト1000の再生成に有益である。
疑似上書き記録において、交替前位置情報に交替記録を行っていないことを示す情報、交替元クラスタのアドレス値、直前の交替先のアドレス値を設定して記録しておくことにより、そのECCクラスタを再生することにより、交替管理情報リストが何らかの理由で破壊された場合に、その修復処理が可能となる。全ての記録済ECCクラスタの交替前位置情報を調べることにより、交替元のECCクラスタであるか、交替先のECCクラスタであるかを知ることができる。また、交替元のECCクラスタに対すする最新の交替先ECCクラスタを判定することができる。
(実施の形態8)
本実施の形態においては、交替前位置情報等の各ECCクラスタの属性情報を用いて、交替管理情報リスト1000の修復を行う手順について説明する。
本実施の形態においては、交替前位置情報等の各ECCクラスタの属性情報を用いて、交替管理情報リスト1000の修復を行う手順について説明する。
図42を参照して、本実施の形態のデータの再生の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100から再生されるものとする。
図42に示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS661)ドライブ装置310のドライブ制御部311は、ホスト装置305から、再生指示を受け取る。
(ステップS662)ドライブ制御部311は、再生指示に含まれる再生位置を示す論理アドレスを、初期論理アドレス−物理アドレスマッピングに従って物理アドレスに変換する。
(ステップS663)ドライブ制御部311は、記録再生部314を制御し、交替管理情報リスト1000を再生する。そして、エラー検出・訂正機能により、最新の交替管理情報リスト1000の再生に失敗したか否かを決定する。
最新の交替管理情報リスト1000の再生に失敗したと決定された場合には、処理はステップS664へ進む。成功した場合には、処理はステップS667へ進む。
(ステップS664)このステップは、後述する修復処理手順の処理量を削減する方法を実施する場合に実行される。
(ステップS665)ドライブ制御部311は、内周交替領域107と外周交替領域108の交替領域とユーザデータ領域108に記録されている交替前位置情報を再生するように記録再生部314を制御する。
(ステップS666)再生された交替前位置情報を用いることで、交替元クラスタのアドレス情報と交替先クラスタのアドレス情報が得られる。
ドライブ制御部311は、これらの情報に基づいて最新の交替管理情報リスト1000を生成し、ディスク管理情報領域104中の空き領域に追記するように記録再生部314を制御する。
(ステップS667)ドライブ制御部311は、最新の交替管理情報リストから、ステップS662で得られた物理アドレスを含むECCクラスタの先頭PSNを交替元として含む交替管理情報を検索する。
該当する交替管理情報が発見されたら、処理はS668へ進む。該当する交替管理情報が発見されなかったら、処理はS669へ進む。
(ステップS668)ドライブ制御部311は、ステップS667で発見された交替管理情報が交替先として示す物理アドレスを再生位置として設定する。
(ステップS669)ドライブ制御部311は、再生指示によって指定される論理アドレスを初期論理アドレス−物理アドレスマッピングに従って変換することによって得られる物理アドレスを再生位置として設定する。
(ステップS670)ドライブ制御部311は、先のステップで設定された再生位置からデータを再生するように記録再生部314を制御する。
以上説明したように、最新の欠陥管理情報リストが再生できない場合、ステップS664からS666で実施される交替管理情報リストの修復処理により、正しくデータを読むことが出来るようになる。
しかしながら、上述した方法によれば、擬似上書き記録において、ECCクラスタがユーザデータ領域に交替されるので、ユーザデータ領域内の記録された領域の全てのECCクラスタを読み出して、交替前位置情報を取得する必要がある。このため、各ECCクラスタの交替前位置情報をすべて調べることは非常に大きな処理時間を要する。
以降では、この修復処理を含む再生処理手順の処理量を削減する方法について説明する。
本実施の形態では、交替管理情報リスト1000の内容が更新されると、ディスク管理情報領域104中の空き領域に追記される。
この記録は追記であるため、直前の交替管理情報リスト1000もそのまま情報記録媒体100に残り、結果として情報記録媒体100上には、交替管理情報リスト1000の更新履歴がすべて残る。
もし最新の交替管理情報リスト1000が再生できなかったり、記録時の突然の電源遮断などにより記録できなかったりしても、その直前の交替管理情報リスト1000は情報記録媒体100に記録されている。
そこで交替管理情報リスト1000の修復処理を開始するに際して、直前の交替管理情報リスト1000、すなわち、再生に成功した交替管理情報リスト1000のうち最近の交替管理情報リストを選択して、利用する。
以下、処理量を削減する修復処理手順について説明する。
(ステップS664)再生に成功した交替管理情報リスト1000のうち最近の交替管理情報リストを選択する。
(ステップS665)交替領域およびユーザデータ領域において、最近の交替管理情報リストに登録されている交替管理情報が指すECCブロックに記録されたデータよりも後で記録されたデータを含む領域から交替前位置情報を再生する。
(ステップS666)再生された交替前位置情報と、最近の交替管理情報リストから最新の交替管理情報リストを生成する。
図43Aは、図43Bに示す直前の交替管理情報リスト1000を利用して最新の交替管理情報リストの修復処理する時の手順を説明するための図である。
図43Aは、ある時点での情報記録媒体100上のデータ構造を示している。
トラック#N 8000、トラック#N+1 8001が割り付けられており、それぞれLRA8101、LRA8102までデータが記録済みである。
この状態に対する直前の交替管理情報リスト1000を図43Bを示す。
交替管理情報リスト1000の修復処理に際して、図42Bに示す直前の交替管理情報リスト1000の交替先位置情報1013に示されるPSNを調べる。
このPSNの値に対して、情報記録媒体100上の各トラック内に最大の値を持つPSNが、図43Bに示す直前の交替管理情報リスト1000に登録された情報の内で最新の交替先である。
なぜなら情報記録媒体100の各トラック内においては、シーケンシャル記録が行われるからである。
図43Aのトラック#N8000であれば、PSN=a0のECCクラスタが図43Bに示す直前の交替管理情報リスト1000に登録された情報の内で最新の交替先である。
同様に、トラック#N+18001であれば、PSN=b2のECCクラスタが図43Bに示す直前の交替管理情報リスト1000に登録された情報の内で最新の交替先である。
上述の再生、又は、記録に失敗した最新の交替管理情報リストにおいては、交替管理情報リスト1000に登録された情報の内で最新の交替先の位置よりも後ろのECCクラスタのいずれかが交替先となる。
具体的には、トラック#N8000であれば、PSN=a0より後ろのECCクラスタのいずれかが交替先となるはずである。
同様に、トラック#N+1 8001であれば、PSN=b2より後ろのECCクラスタのいずれかが交替先となる。
さらに、未記録領域には交替先は存在しないことは明らかである。
なお、未記録領域の判定は、最新のトラック管理情報210中のLRA213の値を見るか、実際に検索範囲の先頭から順次再生し、再生信号の変化を読みとる等の物理的な状態の変化を用いて判定が可能である。
あるいは、未記録領域の開始位置にすべてパディングデータで埋められたECCクラスタを記録するというような規定を設けることも可能である。
よって、上述の修復処理を考えた時、再生に成功した最近の交替管理情報リストに登録されている記録データよりも後で記録されたデータを含む領域をトラック毎に調べ、これらの領域を、検索範囲として、交替前位置情報を調べればよい。
具体的には、図43Aに示す検索範囲8201及び検索範囲8202の部分だけを再生し、この範囲に含まれるECCクラスタの交替前位置情報を調べれば、図42Bに示す直前の交替管理情報リスト1000から最新の交替管理情報リストを修復することが可能となる。
このような方法により、情報記録媒体100全体に対する再生が不要となり、交替管理情報リストの修復処理に要する処理量を大幅に削減することが可能となる。すなわち、検索範囲から再生された交替前位置情報を用いて、交替管理情報を生成し、再生に成功した最近の交替管理情報リストに反映することで、最新の交替管理情報リストを作ることができる。
なお、セッション管理情報200と交替管理情報リスト1000とが一緒に記録される場合、セッション管理情報200についても、その履歴が情報記録媒体100上に記録される。この場合、交替前位置情報を調べる検索範囲は、セッション管理情報200を用いて設定しても良い。
具体的には、再生に成功した最近の交替管理情報リスト1000とともに記録されたセッション管理情報200に登録されたトラック内最終データ記録位置情報(LRA)で示される位置より後ろにデータが記録された領域は、再生に成功した最近の交替管理情報リストが記録された後で記録された領域であることがわかる。このため、この領域を、交替前位置情報を調べる検索範囲とすることで、交替管理情報リストの修復処理に要する処理量を、更に、削減することが可能となる。
なお、再生指示により交替管理情報リスト1000を修復する例を説明したが、修復指示により行っても良い。
また、本発明の実施の形態では、交替管理情報リスト1000を、ディスク管理情報領域104に記録する例を説明したが、ディスク管理情報領域104に限定されない、例えば、交替管理情報リスト1000を、交替領域の中の未記録領域に追記しても良い。
本発明は、追記型光ディスクの疑似上書き記録において、ユーザデータ領域を無駄なく使用することを可能とするドライブ装置等を提供するものとして有用である。
本発明は、情報記録媒体にデータを記録し、情報記録媒体に記録されたデータを再生するドライブ装置に関する。
近年、デジタルデータの記録に様々な形態の情報記録媒体が用いられており、繰り返しデータが書き換え可能な書き換え型光ディスクや、記録回数が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 manage ment 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、、、等が含まれる。
欠陥関連情報は、状態情報(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エントリという交替情報により、データが記録されている見かけ上の論理アドレスを変えることなく、実際にデータが記録される物理アドレスを予め確保された別の場所にマッピングすることが行われる。
そこで、もし、追記型光ディスク上の記録済みの論理アドレスに対してデータの上書きが指示された場合、そのデータを別の物理アドレス上のセクタに記録し、元の論理アドレスを維持するよう交替情報を更新すれば、見かけ上はデータが上書き記録された状態を実現することが可能となる。以降、このような記録方法を、疑似上書き記録と呼ぶ。
図31は、追記型光ディスクである情報記録媒体1にいくつかのディレクトリとファイルが記録された状態を示す図である。なお、この状態では、まだ疑似上書き記録は行われていないものとする。
追記型光ディスクにおいては、ディスク上のユーザデータ領域をトラック及びセッションという単位で管理する。
図31においては、ユーザデータ領域上に記録されるユーザデータの管理はファイルシステムによって行われる。ファイルシステムが管理を行う空間をボリューム空間2と呼ぶ。
なお、以下の説明においては、ファイルシステムを構成するボリューム/ファイル構造として情報記録媒体1に記録される記述子やポインタ、メタデータパーティションやメタデータファイルの構造等は、特に詳細な記載がない限り、ISO/IEC13346規格あるいは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及びファイル集合記述子(FSD)12の記録位置が記録されている。
FSD12の起点として、ファイル構造を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とFSD12の位置情報が取得される。
次に、ファイル構造の再生が行われる。ファイル構造の再生のため、取得済みのFE(メタデータファイル)7aとFSD12の位置情報を元に、FSD12の再生が行われる。
再生されたFSD12から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の再生が行われる。
以上のように追記型光ディスクにおいても、欠陥管理機構を用いることにより疑似上書き記録が可能となる。
米国特許出願公開第2004/0076096号明細書
しかしながら、上記で説明したような追記型光ディスクの疑似上書き記録方式では、交替領域中の未記録領域が無くなるとユーザデータ領域に未記録領域が残っていたとしてもそれ以上のデータ記録ができなくなるという課題がある。なぜなら、ファイルシステム情報の更新ができなくなるからである。
特に、追記型光ディスクの場合、交替領域の容量を必要な時点で拡張可能な書き換え型光ディスクとは違い、ディスクのフォーマット(初期化)時に決まってしまう。
そして、疑似上書き記録を行うことを想定し、事前に適切な交替領域の容量を決めることは困難である。
もし事前に決定した交替領域の容量が大きすぎれば、ユーザデータ領域の容量が減ってしまうし、小さすぎればユーザデータ領域に未記録領域が残っているのにそれ以上のデータ記録ができない状況が発生してしまう。いずれの場合も追記型光ディスクのユーザデータ領域を有効に利用することが出来ない。
本発明は上記の課題を解決するものであり、追記型光ディスクの疑似上書き記録において、ユーザデータ領域を無駄なく使用することを可能とするドライブ装置を提供することを目的とする。
本発明のドライブ装置は、 追記型記録媒体に記録されたデータを再生するドライブ装置であって、前記追記型記録媒体は、交替領域と、ユーザデータ領域とを含み、前記交替領域と前記ユーザデータ領域のそれぞれは、複数のECCクラスタを含み、前記複数のECCクラスタのそれぞれは、複数の物理セクタを含み、前記複数のECCクラスタのそれぞれには、交替前位置情報 が記録されており、記録指示に従って行われたデータ記録が追記であった場合には、前記交替前位置情報には、交替記録が行われていないことを示す情報が設定されており、前記記録指示に従って行われたデータ記録が第1回目の擬似上書き記録であった場合には、前記交替前位置情報には、前記記録指示によって指定された位置を示す情報が設定されており、前記記録指示に従って行われたデータ記録が第2回目以降の擬似上書き記録であった場合には、前記交替前位置情報には、前記記録指示によって指定された位置の交替先を示す情報が設定されており、前記ドライブ装置は、前記追記型記録媒体に対して記録動作または再生動作を行う記録再生部と、前記記録再生部を制御するドライブ制御部とを含み、前記ドライブ制御部は、再生指示を受け取ることと、前記再生指示に応答して、最新の交替管理情報リストの再生に失敗したか否かを決定することと、前記最新の交替管理情報リストの再生に失敗したと決定された場合には、前記交替領域と前記ユーザデータ領域に記録されている交替前位置情報を再生するように前記記録再生部を制御することと、前記再生された交替前位置情報に基づいて、最新の交替管理情報リストを生成することと、前記最新の交替管理情報リストを前記所定の位置に記録するように前記記録再生部を制御することとを少なくとも実行する。
前記最新の交替管理情報リストの再生に失敗したと決定された場合に、既に記録された交替管理情報リストを読み出し、再生に成功した最近の交替管理情報リストを選択し、前記最新の交替管理情報リストの再生に失敗したと決定された場合に前記ユーザデータ領域から再生される前記交替前位置情報は、前記ユーザデータ領域において、前記再生に成功した最近の交替管理情報リストに登録されている記録データよりも後で記録されたデータを含む領域から再生される交替前位置情報であり、前記再生される交替前位置情報と、前記再生に成功した最近の交替管理情報リストから前記最新の交替管理情報リストを生成することを特徴としてもよい。
本発明によれば、追記型光ディスクの疑似上書き記録において、ユーザデータ領域を無駄なく使用することを可能とするドライブ装置を提供することができる。
以下、図面を参照しながら、本発明の実施の形態を説明する。
(実施の形態1)
1−1.追記型記録媒体
図1Aは、本発明の実施の形態における情報記録媒体100の外観を示す。
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に示されるLRA120やLRA121は、トラック内最終データ記録位置情報213の一例である。
なお、本発明をBD−R規格に適用する場合には、本明細書における用語「トラック管理情報」を「シーケンシャル記録領域エントリ」に読み替え、本明細書における用語「セッション管理情報」を「シーケンシャル記録領域情報」に読み替えるものとする。
なお、情報記録媒体100がECCクラスタを最小単位としてデータ記録を行う場合には、トラック内最終データ記録位置情報213はECCクラスタ境界するとは限らない。一般に、記録指示されるデータ容量はECCクラスタの容量の整数倍とならないからである。この時、LRA213は、記録指示されたデータが記録された最後の物理セクタのアドレスを示す。
また、LRA213がECCクラスタ境界に一致しない場合、記録指示されたデータデータに続き、パディングデータがECCクラスタ境界まで記録される。
本実施の形態においては、トラック毎にデータの記録が可能である。新たなデータの記録は、各トラックの先頭から行われ、トラック内においては連続的にデータが配置される(シーケンシャル記録)。そのトラック内でデータの記録が行われると、そのトラック内で最後に記録された位置がトラック内最終データ記録位置情報213に反映される。
そのトラック内で記録を再開する場合には、最新のトラック内最終データ記録位置情報213の値を調べることにより、そのトラック内での次の記録開始位置を知ることができる。
なお、トラックが割り付けられた直後で、そのトラックにデータがまったく記録されていない場合は、その状態を示す所定の値(例えば、”0”)をトラック内最終データ記録位置情報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以下の最大の整数値。
(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/IEC13346規格あるいはUDF(Universal Disk Format)規格に規定されたデータ構造を持つものとする。もちろん、他のファイルシステムを用いることも可能である。
なお、図1A〜図1Cに示される情報記録媒体100は、1つの記録層を有するものとして説明したが、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を含む。
ディスク管理情報領域104、105、104a、105aを含む。
また、図4に示されるように、交替領域106、106a、107、107aが設けられる。各交替領域の容量は上述の通り情報記録媒体毎に変更することが可能である。また、各交替領域中に追加の一時ディスク管理情報領域を設けることも可能である。そして、ユーザデータ領域108及び108aは、連続的な論理アドレスを有する論理的に1つのボリューム空間として扱われる。
以上により、複数の記録層を持った情報記録媒体を論理的には1つの記録層を有する情報記録媒体として扱うことが可能となる。以降では、1つの記録層を有する情報記録媒体について説明するが、それらの説明は、複数の記録層を有する情報記録媒体にも適用することが可能である。それ故、特に説明が必要な場合についてのみ、複数の記録層を有する情報記録媒体に関する説明を適宜行うものとする。
1−2.擬似上書き記録
次に図5Aおよび図5Bを参照して交替情報について説明する。
次に図5Aおよび図5Bを参照して交替情報について説明する。
交替情報とは、情報記録媒体上で欠陥が生じたクラスタ(欠陥クラスタ)の位置を示す交替元位置情報と、その欠陥クラスタを交替する代替クラスタの位置を示す交替先位置情報とを含む交替管理情報(またはディフェクトリストエントリ)を含む交替管理情報リスト(またはディフェクトリスト)のことをいう。
また、本発明は、ユーザデータ領域に代替クラスタを記録することを可能とする。
さらに、本発明は、交替情報を用いて追記型の情報記録媒体における擬似的な上書き記録を実現する。
図1Bに示されるように、データ領域102は、内周交替領域106と、ユーザデータ領域108と、外周交替領域107とを含む。
内周交替領域106および外周交替領域107のうちの少なくとも一部は、ユーザデータ領域108上に記録されたデータの代替記録を行うための領域として使用される。
例えば、ユーザデータ領域108上に欠陥クラスタが存在する場合には、内周交替領域106および外周交替領域107のうちの少なくとも一部が、その欠陥クラスタを交替する代替クラスタを記録するための領域として使用される。
あるいは、内周交替領域106および外周交替領域107のうちの少なくとも一部は、後述の疑似上書き記録における更新後のデータを記録するための領域としても使用され得る。
交替情報と交替領域とを組み合わせた交替記録は、ベリファイ処理とともに実施される。
ベリファイ処理とは、データを記録した直後にそのデータを再生し、記録したデータと再生されたデータとの比較を行い、データが正しく記録されているかどうかを調べる処理である。このような一連の処理はベリファイ・アフター・ライト処理と呼ばれる。
ベリファイ処理時にエラーが生じた場合、すなわち、データが正しく記録されなかった場合に、交替記録が実施される。すなわち、欠陥クラスタは代替クラスタに交替され、データは代替クラスタに記録される。
この代替クラスタは、内周交替領域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の構成を示す。
図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上のデータ構造を説明する。
次に、図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のLRA405によってメタデータパーティション430中の空き領域管理を行うようにしてもよい。
なお、トラックの割り付け方法は図7に示すものに限定されず、例えば、より多くのトラックを割りつけてもよい。また、ユーザデータ領域の最後尾のトラックを、新規のトラックが追加可能な状態としておき、必要な時点でトラックを追加するようにしてもよい。
次に、図8Aに示すフローチャートを参照して、本発明におけるデータ記録の手順を説明する。
ここでは、データファイル(File−a)が情報記録媒体100に記録されることとする。
なお 、情報記録媒体100のユーザデータ領域108には、複数の論理アドレスと複数の物理アドレスとが割り当てられており、その複数の論理アドレスとその複数の物理アドレスとの対応関係は、予め決定されているものとする。
その複数の論理アドレスのそれぞれは、例えば、論理セクタ番号(LSN)もしくは論理ブロックアドレス(LBA)によって表される。
その複数の物理アドレスのそれぞれは、例えば、物理セクタ番号(PSN)もしくは物理ブロックアドレス(PBA)によって表される。また、ユーザデータ領域108には、少なくとも1つのトラックが割り当てられているものとする。
(ステップ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へのリクエストに応答して、ドライブ装置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に割り当てられた少なくとも1つのトラックのうちの1つのトラック(オープントラック) を決定する。
ドライブ制御部311は、その決定されたトラックのLRA213に基づいて、その決定されたトラック内において次にデータが記録可能な位置を示す物理アドレス(すなわち、NWA)を決定する。このNWAは、例えば、上述の(数1)に従って決定される次回記録可能アドレスである。
なお、NWAの決定は、ステップS104において行なわれてもよいが、その他のステップにおいて行われてもよい。例えば、上述したデータ記録の準備処理において予め行なわれてもよい。
ここで、LRA213を用いてNWAを算出することで、NWAの情報をトラック管理情報に保存する必要がなく、トラック管理情報のデータ構造を簡単にすることができる。
(ステップS105)ドライブ制御部311は、その記録指示に含まれる論理アドレスに対応する物理アドレスがNWAより小さいか否かを決定する。
その記録指示に含まれる論理アドレスに対応する物理アドレスがNWAより小さいと決定された場合には、その記録指示は、ユーザデータ領域108の中の記録済み領域に対する記録指示であるとして決定される。すなわち、記録指示されたデータ記録が擬似上書き記録であるとして決定される。この場合には、処理はステップS106に進む。そうでなければ、処理はステップS108に進む。
(ステップS106)ドライブ制御部311は、記録すべきデータを決定する。情報記録媒体100におけるデータ記録の単位がECCクラスタである場合、ドライブ制御部311は、記録指示によって指定されたデータを記録すべきデータとして決定する。例えば、記録指示によって指定されたデータの記録位置と容量がECCクラスタ境界に一致する場合には、ECCクラスタ全体が書き換えられるので、記録指示によって指定されたデータそのものを記録すべきデータとして決定する。
一致しない場合には、ドライブ制御部311は、後述するリード・モディファイ・ライト処理を実行する。この場合には、ドライブ制御部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処理では、第1に、ドライブ制御部311は、記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置にある物理セクタを含むECCクラスタに記録されたデータを再生するように記録再生部314を制御し、そのECCクラスタから再生されたデータをメモリ回路312に格納する(リード処理)。
なお、この再生処理を行う時点で再生対象のECCクラスタが交替記録されている可能性がある。このため、ドライブ制御部311は、交替管理情報リスト1000を参照し、必要に応じて交替先のECCクラスタに記録されたデータを再生するように記録再生部314を制御する。交替管理情報リスト1000を参照したデータ再生の手順については後述する。
第2に、ドライブ制御部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に記録すべきデータとして決定する。
以上でリード処理およびモディファイ処理を完了する。
第3に、ドライブ制御部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内のLRA213を更新する。
さらに、ドライブ制御部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に含まれるLRA213と(数1)に従って決定することが発明の特徴である。
データ記録によって更新されたLRA213をディスク上に記録しておくことで、情報記録媒体100をドライブ装置310にローディングしたときに、最新のLRA213を見つける時間が早くなる。
そしてLRA213を用いてNWAを算出することで、NWAの情報をトラック管理情報に保存する必要がなく、トラック管理情報のデータ構造を簡単にすることができる。
もし、本発明によらなければ、疑似上書き記録であるか、追記であるかの決定を行うために、例えば、次のような手順が必要となる。
すなわち、記録指示に含まれる論理アドレスに対応する物理アドレスを含むトラックを決定し、そのトラックの先頭から順次ECCクラスタを調べ、記録済かどうかを判断しなければならなくなる。
そして、記録指示された位置のECCクラスタが記録済のであれば疑似上書き記録であると決定する。
このような処理は、特にトラックの容量が大きくなると処理量も大きくなってしまい好ましくない。
一方、本実施の形態であれば、トラックの容量によらず、疑似上書き記録であるか、追記であるかの決定を容易に行うことが可能となる。
また、トラック管理情報内210にLRA213を含ませることにより、ドライブ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を再生する動作を例にあげて説明する。
ファイルの再生処理について、図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規格の再生手順により、FSD433、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のデータ構造を示す。交替管理情報1010Bは、図5Bに示される交替管理情報1010の異なる実施の形態を示す。
図11の交替管理情報1010Bでは、状態情報1011として次の3つの情報を含む。この3つの情報を図11に示すように、Flag1、Flag2、Flag3とする。
Flag1は、交替管理情報1010Bの分類のための情報で、その交替情報が代替記録のためものものか、欠陥クラスタを指し示すためのものかを示す情報を含む。
Flag2は、交替管理情報1010Bが管理する代替クラスタの記録位置に関する情報で、交替領域中又は交替先無しか、ユーザデータ領域中かを示す情報を含む。
Flag3は、交替管理情報1010Bが管理するクラスタの数に関する情報で、その交替情報が単一クラスタに対応するのか、連続的な複数クラスタに対応するのかを示す情報を含む。連続的な複数クラスタに対応する場合には、Flag3は、連続領域の開始位置に対応するか、終了位置に対応するかを示す情報をさらに含む。
以降、図11に従って、本発明の詳細な記録手順について説明する。
なお、以降では必要に応じて交替管理情報の種別を図11の右端列の記号を使って表すこととする。例えば、第一行目のFlag1=1(代替用)、Flag2=0(交替領域への代替)、Flag3=00(単一クラスタ)という状態情報1011を持つ交替管理情報は、交替管理情報(1)と表記する。
図12は、本発明における情報記録媒体100上での、物理アドレス空間と論理アドレス空間のデータ構造の例示図である。
また、図12は、ホスト装置305から見た時の情報記録媒体100上での位置を示す論理アドレスである論理セクタ番号(LSN)と、情報記録媒体100上での実際の位置を示す物理アドレスである物理セクタ番号(PSN)との初期状態における対応関係も示している。このような対応関係を初期論理アドレス−物理アドレスマッピングと呼ぶ(図中、波線矢印で示す。以降同様。)。
図12に示される一つの行が一つのECCクラスタに対応する。図12では、物理アドレス(PSN)と、その物理アドレスに割り当てられている論理アドレス(LSN)とが同一行に示されている。
図12において、PSN及びLSNの値は、対応するECCクラスタの先頭セクタから終端セクタのPSN及びLSNの値として示されている。
ここでは、1つのECCクラスタが32セクタから構成される場合を例としているが他の構成でもかまわない。
PSNは内周交替領域106、外周交替領域107及びユーザデータ領域108に割り当てられる。
そして、ユーザデータ領域108の先頭からトラックが割り当てられているものとする。図12の状態ではデータがまったく記録されていないのでLRA500は、ユーザデータ領域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 entry2010を示す。
図18は、上述した交替管理情報1010や交替管理情報1010Bと同様の交替管理情報の異なる構成例であるDFL entry2010を示す。
DFL entry2010に含まれるステータス1 2011A及びステータス2 2011B、欠陥クラスタ先頭PSN 2012、代替クラスタ先頭PSN2013は、それぞれ上述の、状態情報1011、交替元位置情報1012、交替元位置情報1013と同様のものである。
ここで、図5Bを参照して説明したのと同様、欠陥クラスタ先頭PSN 2012と代替クラスタ先頭PSN 2013は、対応するECCクラスタの先頭セクタの物理アドレス(例えば、PSN)を用いて示されても良い。欠陥管理および疑似上書き記録において、ECCクラスタ単位でのマッピングが行われるからである。
ここでステータス1 2011Aは、少なくとも交替管理情報1010BにおけるFlag1及びFlag2と同様の情報を含む。すなわち、例えば、ステータス1 2011Aの値が“1000”の場合は、その交替情報は交替先の無いことを示す(Flag2=0で交替先無しの場合に相当)。この場合、代替クラスタ先頭PSN2013には“0”が設定される。
一方、交替先が存在する場合は、ステータス1に“0000”が設定される(Flag2=0で交替先有りの場合に相当)。
また、ステータス2 2011Bは、少なくとも交替管理情報1010BにおけるFlag3と同様の情報を含む。
すなわち、例えば、ステータス2 2011Bの値が“0000”の場合は、その交替情報は単一クラスタに対応する(Flag3=00に相当)。
同様に、ステータス2の値が、例えば、“0001”の場合は、その交替情報は複数のクラスタを含む連続領域の開始クラスタの先頭セクタの位置に対応する(Flag3=01に相当)。一方、“0010”の場合は、複数のクラスタを含む連続領域の終端クラスタの先頭セクタの位置に対応する(Flag3=10に相当)。
このDFL entry2010は全ての実施の形態に適用可能である。
次に 、図18に示したDFL entry2010のデータ構造と、図19Aのフローチャートを参照して、上述の図8Aを用いて説明したステップS113における交替管理情報に対する処理例をさらに詳しく説明する。
ここでは、図8AのステップS112で疑似上書き記録のための交替先への記録が行われ、ステップS113へ進んだ場合を想定する。
(ステップS301)まず、この疑似上書き記録が、1回目の上書き記録か、2回目あるいはそれ以降の上書き記録かを判断する。
この判断は、例えば、最新の交替管理情報リストに対し、図8AのステップS103で得られた、記録指示に含まれる論理アドレスに対応する物理アドレスを含むECCクラスタの先頭PSNの値を、欠陥クラスタ先頭PSN2012の値として持つDFL entry2010を検索することにより行える。
この最新の交替管理情報リストは、例えば、ステップS101(図8A)において、ディスク管理情報領域から再生され、メモリ回路312に保持される。
もし、該当する交替管理情報(例えば、DFL entry2010)が交替管理情報リスト中に発見されなかった場合には、1回目の擬似上書き記録であるとして、処理はステップS302に進む。
該当する交替管理情報が交替管理情報リスト中に発見された場合には、2回目の擬似上書き記録であるとして、処理はステップS304に進む。
なお、疑似上書き記録が、1回目の上書き記録か、2回目あるいはそれ以降の上書き記録かの判断は、他のステップで予め行っておいてもよい。例えば、ステップS106で行ってもよい。その時の判断結果を保持しておき、ステップS301で使用するようにしてもよい。
(ステップS302)1回目の交替記録の場合は次の処理を行う。
まず、ドライブ制御部311により新しいDFL entry2010がドライブ装置310のメモリ回路312上に生成される。
(ステップS303)次に、このDFL entry2010に値を設定する。
すなわち、ステータス1 2011Aに対して適切な値を設定する。例えば、交替先の存在する交替記録であれば“0000”が設定される。
次に、欠陥クラスタ先頭PSN2012に対して、記録指示に含まれる論理アドレスに対応する物理アドレスに位置するECCクラスタの先頭PSNの値を設定する。
次に、代替クラスタ先頭PSN2013に対して、直前の交替記録において、実際にデータが記録された代替クラスタの先頭PSNの値を設定する。
さらに、このDFL entry2010のステータス2 2011Bに対して適切な値を設定する。例えば、単一クラスタの交替記録であれば“0000”が設定される。
(ステップS304)2回目以降の交替記録の場合は次の処理を行う。
すなわち、直前のステップで見つかったDFL entry2010に対する更新処理を行うため、ステップS305へ進む。
(ステップS305)まず、このDFL entry2010のステータス1 2011Aを適切な値に更新する。例えば、交替先の存在する交替記録であれば“0000”が設定される。
次に、代替クラスタ先頭PSN2013を、直前の交替記録において、実際にデータが記録された代替クラスタの先頭PSNの値に更新する。すなわち、新たな交替先が設定される。
なお、欠陥クラスタ先頭PSN2012については、同じECCクラスタに対する2回目以降の交替記録であるので、変更の必要はなく、同じ値を保持すればよい。
さらに、このDFL entry2010のステータス2 2011Bを適切な値に更新する。例えば、単一クラスタの交替記録であれば“0000”が設定される。
(ステップS306)以上の処理により、交替管理情報リストの更新が行われる。すなわち、新しいDFL entry2010の追加、又は、既存のDFL entry2010の値が更新される。
(ステップS306)以上の処理により、交替管理情報リストの更新が行われる。すなわち、新しいDFL entry2010の追加、又は、既存のDFL entry2010の値が更新される。
そして、交替管理情報リストの並べ替えを行う。この並べ替えは例えば、ステータス1 2011Aについて並べ替えを行う。さらに、欠陥クラスタ先頭PSN 2012、ステータス2 2011B、代替クラスタ先頭PSN 2013の順に並べ替えを行う。
以上で図8AのステップS113は終了である。ここで得られた、最新の交替管理情報リストは、(一時)ディスク管理情報領域に追記される。
なお、上述の処理例では、疑似上書き記録のための交替記録が行われた場合について説明したが、これが、欠陥クラスタの発生による交替記録についても同じく適用可能である。
ところで、背景技術で図33A及び図33Bを参照して説明したように、従来の追記型光ディスクの欠陥管理においては、交替記録が発生するたびに既存の交替管理情報を残し、新たな交替管理情報を追加していた。
このような方法を、本実施の形態のようにユーザデータ領域を交替先として使用する記録方法に適用すると、交替記録が発生するたびに交替管理情報が増えてゆき、交替管理情報リストの容量が大きくなるため、ドライブ装置等の実装上好ましくない。
特に、従来の追記型光ディスクの欠陥管理においては、一旦交替されたクラスタは再度交替されることはなかったが、本実施の形態のように疑似上書き記録が行われる場合は、何度も交替記録の対象になりうる。そのため、交替管理情報リストの容量は非常に大きくなる可能性がある。
また、同じ欠陥クラスタ先頭PSN2012の値を持つ交替管理情報が交替管理情報リスト中に複数存在することになり、最新の交替管理情報を得るためにさらに追加の処理や仕組みが必要となる。
また、書き換え型光ディスクの欠陥管理においては、全ての交替先クラスタに対して、既に交替先として使用済みであるかどうかにかかわらず、交替管理情報を設けていた。
このような方法を、本実施の形態のようにユーザデータ領域を交替先として使用する方法に適用すると、初めから非常に大量の交替管理情報が必要となり、やはり実装上好ましくない。
一方、図19Aを用いた方法によれば、必要最低限の欠陥管理情報のみを生成し、管理すれば良く、最新の交替管理情報も容易に見つけることが可能となる。
1−9.記録処理手順(4)
図19Bを参照して、データ記録の手順における交替管理情報の処理例をさらに詳しく説明する。
図19Bを参照して、データ記録の手順における交替管理情報の処理例をさらに詳しく説明する。
図19Bに示される各ステップは、図8Aに示されるステップS113に含まれる。以下の説明では、図18に示した交替管理情報の一例であるDFL entry2010のデータ構造を参照する。
なお、ここでは、図8AのステップS112において疑似上書き記録のための交替先への記録が行われ、ステップS113に進んだ場合を想定する。
(ステップS601)ドライブ制御部311は、記録指示によって指定された領域が物理アドレス空間において連続領域であるか否かを決定する。
例えば、ドライブ制御部311は、記録指示によって指定される記録位置と記録指示によって指定される記録されるべきデータの容量とに基づいて物理アドレス空間上の領域のサイズを決定する。このようにして決定された物理アドレス空間上の領域のサイズが、1つ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 entry2010(ステータス2 2011B = “0001”)と第2のDFL entry2010(ステータス2 2011B = “0010”)とが交替管理情報リストの中に発見されるか否かに応じて行われる。
該当する第1のDFL entry2010と第2のDFL entry2010とが交替管理情報リスト中に発見されなかった場合には、1回目の擬似上書き記録であるとして、処理はステップS605に進む。
該当する第1のDFL entry2010と第2のDFL entry2010とが交替管理情報リスト中に発見された場合には、2回目の擬似上書き記録であるとして、処理はステップS607に進む。
(ステップS605)ドライブ制御部311は、新たな第1のDFL entry2010と新たな第2のDFL entry2010とを生成し、これらをメモリ回路312に格納する。
(ステップS606)ドライブ制御部311は、第1および第2のDFL entry2010に値を設定する。
第1のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録であることを示す“0000”が設定される。
第1のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。
第1のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。
第1のDFL entry2010のステータス2 2011Bには、連続領域の開始位置であることを示す“0001”が設定される。
第2のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録であることを示す“0000”が設定される。
第2のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。記録指示によって指定された領域の終端位置は、例えば、記録指示に含まれる論理アドレスに対応する物理アドレスと、記録されるべきデータのデータ長とから求められる。
第2のDFL entry2010のの交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。
第2のDFL entry2010のステータス2 2011Bには、連続領域の終端位置であることを示す“0010”が設定される。
(ステップS607)ドライブ制御部311は、ステップS604において発見された第1および第2のDFL entry2010に対する更新処理を行う。具体的には、この更新処理は、ステップ608において、第1および第2のDFL entry2010に値を設定することによって行われる。
(ステップS608)ドライブ制御部311は、第1および第2のDFL entry2010に値を設定する。
第1のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。すなわち、新たな交替先領域の開始位置が設定される。
第1のDFL entry2010の欠陥クラスタ先頭PSN2012については、変更の必要はなく、同じ値を保持すればよい。同じECCクラスタに対する2回目以降の交替記録であるからである。
第2のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。すなわち、新たな交替先領域の終了位置が設定される。
第2のDFL entry2010の欠陥クラスタ先頭PSN2012については、変更の必要はなく、同じ値を保持すればよい。同じECCクラスタに対する2回目以降の交替記録であるからである。
(ステップS609)上述した処理により、交替管理情報リストの更新が行われる。すなわち、新たな第1および第2のDFL entry2010が交替管理情報リストに追加される。又は、交替管理情報リスト内の既存の第1および第2のDFL entry2010の値が更新される。
(ステップS609)上述した処理により、交替管理情報リストの更新が行われる。すなわち、新たな第1および第2のDFL entry2010が交替管理情報リストに追加される。又は、交替管理情報リスト内の既存の第1および第2のDFL entry2010の値が更新される。
交替管理情報リストの並べ替えが行われる。この並べ替えは、例えば、更新管理情報のステータス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 entry2100Aが交替管理情報リストへ追加される。
次に、図21Aの状態で、ホスト装置305からLSN=0の位置にデータ“A2”を記録するよう指示がなされたとする。この記録が行われた後の状態を図22Aに示す。
図22Aに示すように、PSN=1000は既に記録済であるので、データ“A2”は、例えばユーザデータ領域中のPSN=1164の位置に交替される。
この時の交替記録は、2回目の交替記録であるので、図19Aを用いて説明したステップS304以降の手順に従い、図22Bに示すように、DFL entry2100Aが更新され、DFL entry2100Bとなる。(すなわち、DFL entryの追加は行われない。)
次に、図22Aの状態で、ホスト装置305からLSN=96の位置にデータ“B0”を、LSN=128〜192の位置にデータ“C0”を記録するよう指示がなされたとする。この記録が行われた後の状態を図23Aに示す。
次に、図22Aの状態で、ホスト装置305からLSN=96の位置にデータ“B0”を、LSN=128〜192の位置にデータ“C0”を記録するよう指示がなされたとする。この記録が行われた後の状態を図23Aに示す。
図23Aに示すように、データ“B0”をPSN=1196の位置に記録するとき、ベリファイ処理がエラーとなったとする。
この時、データ“B0”は例えば、外周交替領域107中のPSN=x10に交替される。
この時の交替記録は、1回目の交替記録であるので、図19Aを用いて説明したステップS302以降の手順に従い、図23Bに示すように、DFL entry2101Aが追加される。
一方、データ“C0”の記録後のベリファイには成功したものとすると交替管理情報リストは変化しない。
次に、図23Aの状態で、ホスト装置305からLSN=128〜192の位置にデータ“C1”を記録するよう指示がなされたとする。 この記録が行われた後の状態を図24A示す。
図24Aに示すように、PSN=1228〜1292の位置は既に記録済であるので、データ“C1”は例えばユーザデータ領域中のPSN=1324〜1388の位置に交替される。
この時の交替記録は、1回目の交替記録であるので、図19Aを用いて説明したステップS302以降の手順に従い、図24Bに示すように、DFL entry2102A及び2103Aが追加される。
ここで、この交替記録は、連続領域2200(PSN=1228〜1292)から連続領域2201(PSN=1324〜1388)への交替記録であるので、上述のように、交替領域の先頭を示すDFL entry2102Aと、終了位置を示すDFL entry2103Aを用いている。
すなわち 、本発明のドライブ装置310は、連続領域2200をユーザデータ領域108中の連続領域2201へ交替する疑似上書きにおいて、連続領域2200の開始位置を、連続領域2201の開始位置にマッピングする第1の交替管理情報(DFL entry2102A)と、連続領域2200の終了位置を、連続領域2201の終了位置にマッピングする第2の交替管理情報(DFL entry2103A)とを生成する。
ここで、3つのECCクラスタ分の連続領域の交替記録を行ったにもかかわらず、DFL entryは2つしか追加されていない。これは、DFL entry2102A及びDFL entry2103Aによって、ユーザ領域中の交替先を連続領域としてマッピングすることにより得られる効果である。
なお、連続領域の交替に関しても、2回目以降については既存のDFL entryを更新することは言うまでもない。
(実施の形態2)
2−1.NWA決定処理手順
ここでは、ホスト装置305の要求によりドライブ装置310が返信する論理アドレスで表された次回記録可能位置(以降、論理NWA)の決定方法について説明する。
2−1.NWA決定処理手順
ここでは、ホスト装置305の要求によりドライブ装置310が返信する論理アドレスで表された次回記録可能位置(以降、論理NWA)の決定方法について説明する。
本実施の形態においては、論理NWAは、次の手順により決定される。
まず、LRAで示される物理セクタを含むECCクラスタの次のECCクラスタを決定する。このECCクラスタが次の記録ECCクラスタである。記録ECCクラスタの先頭物理セクタが次回記録可能位置となり、この物理アドレスで表された次回記録可能位置が上述したNWAである。
論理NWAの値は、このNWAが示すPSNの値を初期論理アドレス−物理アドレスマッピングに従いLSNへ変換して得られる値となる。
以下、幾つかの具体例を用いて説明を行う。
図12の状態においては、LRA500がユーザデータ領域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がLRA500Bに対応するにもかかわらず、ホスト装置305が論理NWAとしてLRA501Bに対する値を保持してしまう場合がある。
このような状態は、PSN=1292の位置以降への記録が、ドライブ装置310によりホスト装置305からは独立した動作として実行され、また、ホスト装置305がドライブ装置310から最新の論理NWAを取得しなかった場合に生じる。
そしてもし、この状態でホスト装置305が新規データを記録指示しようとすると、LRA501Bに対応する論理NWAへ記録指示を出すことになるが、実際のデータはドライブ装置310によりPSN=1336の位置へ記録される。
この記録は交替記録となるので、新たな交替管理情報が必要となってしまう。
一方、ホスト装置305が最新のLRA500Bに対応する論理NWAをドライブ装置310から取得してから新規データの記録の指示を行えば、その記録は交替記録とならず、新たな交替管理情報も不要である。
図15A及び図16Aでも同様であり、各図においてホスト装置305は論理NWAとしてLRA501Cに対する値を保持してしまう場合があるが、実際の最新のLRAはそれぞれLRA500C及びLRA500Dである。
よってホスト装置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が使用されない状況が発生する。
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の位置の論理クラスタは、未記録論理クラスタである。
図14Aで、LSN=224の位置の論理クラスタは、未記録論理クラスタである。
LSN=224の位置の未記録論理クラスタに対し、初期論理アドレス−物理アドレスマッピングで対応する物理クラスタはPSN=1324の位置となる。
PSN=1324の位置の物理クラスタは、さらに、交替管理情報514により、PSN=1228の位置の物理クラスタと関連づけられている。
そしてPSN=1228の位置の物理クラスタは、初期論理アドレス−物理アドレスマッピングに従い、LSN=128の位置の論理クラスタとマッピングされる。
すなわち、PSN=1228の位置の物理クラスタは、LSN=128の位置の論理クラスタと、LSN=224の位置の未記録論理クラスタの2つの論理クラスタが割り付けられている。
このような2つの論理クラスタが1つの物理クラスタに割り付けられている状態で再生が行われる時の手順について以下で説明する。
まず、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決定手順について説明する。
本NWA決定手順においては、論理LRAを管理し、論理LRAの隣の位置である論理NWAに新たなデータを記録する。
この時、論理NWAを示すLSNを初期論理アドレス−物理アドレスマッピングによりPSN(PSN−1とする)へ変換する。
また、この論理NWAに対して、実際にデータを記録するECCクラスタは、LRA213で示される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は、LRA4610AからNWA4611Aを決定し、NWA4611Aに対応する論理NWAをホスト装置305へ返信する。
この時、ホスト装置305がドライブ装置310に対して、PSN=a0に対応するLSN=A0へのデータ“D1”4622の記録指示と、NWA4611A(PSN=a2)に対応するLSN=A2へのデータ“E1”4623の記録指示を連続的に行う場合がありうる。
もし、ドライブ装置310が、ホスト装置305の記録指示通りデータ“D1”4622、データ“E1”4623の順に記録指示を行うと、その記録結果は、図28のようになる。
ここで、データ“D1”4622の記録指示は、記録済み領域4600への疑似上書き記録となる。よって、データ“D1”4622はNWA4611A(PSN=a2)へ交替される。そして、NWA4611AはNWA4611B(PSN=a3)となる。
この交替記録によりPSN=a2の位置は記録済となるので、データ“E1”4623はさらに、NWA4611B(PNS=a3)へ交替される。
上述したように、ホスト装置305はNWA4611A(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が、NWA4611A(PSN=a2)に記録されている。また、データ“D1”4622BがPSN=a4に記録されている。
上述したように、ホスト装置305はNWA4611A(PSN=a2)に対して記録指示を出していたので、記録指示がなされた位置と実際に記録された位置が同じになる。よってこの記録は交替記録とならない。
すなわち、データ“E1”4623に対する交替管理情報1010が生成されず、交替管理情報リスト1000の容量増加を防ぐことが可能となる。
なお、データ“D1”4622の記録においては、図28及び図29のいずれの場合でも、同じだけの交替管理情報1010が必要となる。図28及び図29において、データ“D1”4622の記録位置(すなわち交替先の位置)が変わるだけで、必要な交替管理情報1010の数は変化しない。
以上より、本実施の形態は、ホスト装置305が、上書き記録と追記を行おうとしている場合は、追記の方を優先して記録指示することにより、交替管理情報1010の発生を回避することが可能となり、交替管理情報リスト1000のデータ容量削減に効果がある。
(実施の形態5)
ここ で、ある容量のデータをホスト装置305がECCクラスタの容量(例えば64KB)毎に分割し、分割した単位毎にドライブ装置310へ順次、記録指示を行う場合を考える。
ここ で、ある容量のデータをホスト装置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)
本実施の形態において、データの記録手順についてさらに述べる。
5−1.データ構造
本発明 の情報記録媒体100のユーザデータ領域102は、最小のアクセス単位である物理セクタに分割され、複数の物理セクタからなるECCクラスタを最小の単位としてデータの記録・再生が行われることは既に述べた。
本実施の形態において、データの記録手順についてさらに述べる。
5−1.データ構造
本発明 の情報記録媒体100のユーザデータ領域102は、最小のアクセス単位である物理セクタに分割され、複数の物理セクタからなるECCクラスタを最小の単位としてデータの記録・再生が行われることは既に述べた。
各ECCクラスタおよび物理セクタには、ユーザデータの他にアドレス情報や、各種の制御情報、属性情報(ユーザ制御データ)が含まれている。
これらの情報は、物理セクタ単位で設定される情報もあるし、ECCクラスタ単位で設定される情報もある。
ユーザデータやユーザ制御データは、記録データの信頼性向上のため、ECCクラスタ単位でインターリーブ処理やスクランブル処理を施されて情報記録媒体100上に記録される。
本実施の形態においては、ECCクラスタに含まれる幾つかの属性情報について説明する。
図34に示すように、本発明のECCクラスタに含まれる各物理セクタにはそれぞれFlag−A、Flag−B、Flag−Cという属性情報が設定される。
Flag−A は、パディングフラグで、各物理セクタに記録されたデータがホスト装置305から与えられた有効なデータであるか(Flag−A=0)、ドライブ装置310が、ECCクラスタ境界までを埋めるために記録したパディングデータ(例えばすべて0のダミーデータ)であるか(Flag−A=1)を示す。パディングデータは、無効データの一例である。
ホスト装置305から記録指示されたデータの容量がECCクラスタの容量の整数倍とならない場合、ドライブ装置310がパディングデータを挿入し、記録するデータの容量をECCクラスタの境界に一致させる。
Flag−B は、有効性フラグで、各物理クラスタに記録されたデータが有効データである(Flag−B=0)か、無効データである(Flag−B=1)か、を示す。
通常、パディングデータでない各物理クラスタは有効データを含むのでFlag−B=0となるが、例えば、RMW処理を行う時、Flag−B=1となる場合がある。
すなわち、交替記録のためのRMW処理において、ある物理セクタが再生できない場合がありうる。
このような再生できなかった物理セクタがあった場合、対応する交替先の物理セクタについては記録すべきデータが存在しないことになる。
図8Bを参照して説明したように、RMW処理においては、物理セクタからデータを再生後に、再度データを書き戻す必要がある。よって、図8Bに示すステップS153において、ある物理セクタからの再生に失敗すると、データの書き戻しができず、記録エラーとなってしまう。
そこで本実施の形態においては、ドライブ装置310のドライブ制御部311は、記録すべきデータが存在しない交替先の物理セクタに無効データ(例えば、00hのようなダミーデータ)を記録する。
ドライブ制御部311は、ダミーデータが記録された物理セクタにFlag−B=1を設定する。Flag−B=1は、有効なデータが記録されていないことを示す。
このようなデータ記録の手順により、RMW処理におけるエラーの発生を回避できる。
Flag−Cは、更新性フラグで、代替クラスタ中の各物理セクタに対して設定されるフラグである。
代替クラスタ中の各物理セクタに含まれるデータが、交替元からのデータを変更したものである場合は、更新有りとして、Flag−C=0を設定する。一方、変更を行わず、更新元のデータをそのまま記録した場合は、更新無しとしてFlag−C=1を設定する。
さらに、本実施の形態の各ECCクラスタは、その属性情報の1つとして、交替前位置情報を持つ。交替前位置情報の設定手順の詳細は後述する。
本実施 の形態においては、図11を参照して説明した状態情報1011に対してさらにフラグ情報を追加する。
ここでは、図35に示す交替管理情報1010Cように、Flag4として、交替元位置情報1012が指し示すECCクラスタに含まれるデータの種別を判別できるようにする。
ここでデータの種別とは、交替元位置情報1012が指すクラスタ中に含まれているデータと交替先位置情報1013が指すクラスタ中に含まれているデータとの関係から決定される情報である。
具体的には、第1のデータ種別は、交替元位置情報1012が欠陥クラスタを指している場合に相当する。この時のFlag4の値を例えば“00“とする。
第2のデータ種別は、交替元位置情報1012が指すクラスタ中に含まれているデータを更新し、疑似上書きにより交替先位置情報1013が指すクラスタに更新後のデータを記録した場合に相当する。この時のFlag4の値を例えば“01“とする。
第3のデータ種別は、交替元位置情報1012が指すクラスタ中に含まれているデータとは無関係に、その位置に疑似上書きにより交替先位置情報1013が指すクラスタにデータを記録した場合である。この時のFlag4の値を例えば“10“とする。
例えば上述の実施の形態で言えば、図13Bに示す交替管理情報512がFlag4=00に相当する。また、図14Bに示す交替管理情報514Aや図39Bに示す交替管理情報6200がFlag4=01に相当する。そして、図17Bに示す交替管理情報518がFlag4=10に相当する。
なお、交替管理情報6200のように、Flag4と同様の情報を上述した図18に示すDFL entry2010に含める場合は、例えば、ステータス2 2011Bに含めればよい。例えば、ステータス2 2011Bの値が“1000”の場合は、Flag4=01の場合に対応させる。
このFlag4は、データの記録時に設定される。例えば、図8AのステップS113において、Flag4の情報を設定する。あるいは、Flag4に相当するステータス2 2011Bを設定する。Flag4の設定手順の詳細は後述する。
5−2.記録処理手順
図36A、図36Bおよび図36Cを参照して、本実施の形態のデータ記録の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100に記録されるものとする。
5−2.記録処理手順
図36A、図36Bおよび図36Cを参照して、本実施の形態のデータ記録の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100に記録されるものとする。
図36Aは、図8Bに示されるステップS156の処理の詳細例を示す。図36Aに示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
図8BのステップS156の前に、図8BのステップS153またはステップS154によりリード処理が実施され、次に、ステップS155により、モディファイ処理が実施される。
ステップS153およびステップS154において、再生に成功した場合には、ドライブ制御部311は、再生されたデータをメモリ回路312に保持し、交替元ECCクラスタの中に、再生に失敗した物理セクタが存在する場合には、ドライブ制御部311は、交替先ECCクラスタに記録すべきデータを生成するため、交替元ECCクラスタ内の再生に失敗した物理セクタに対応する交替先ECCクラスタ内の物理セクタに記録するための無効データであるダミーデータをメモリ回路312に保持されているデータに挿入する。
次に、ステップS155において、記録指示に示されるデータにより、メモリ回路312に保持している記録すべきデータをモディファイする。
以上の結果を記録すべきデータとしてメモリ回路312に保持する。
次に、図36Aに示される各ステップを詳しく説明する。
(ステップS501)ドライブ制御部311は、情報記録媒体100に記録すべきデータを決定する。
(ステップS502)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する属性情報を設定する。
ステップS151(図8B)でRMW処理が必要であると判断されていた場合、ステップS153やステップS154で再生した結果として得られた属性情報を値はそのまま保持する。
ステップS153とS154において、交替元ECCクラスタの中に、再生に失敗した物理セクタが存在した場合には、交替先に記録すべきデータとして、交替元ECCクラスタ内の再生に失敗した物理セクタに対応する交替先ECCクラスタ内の物理セクタに記録すべきデータとして無効データであるダミーデータが挿入されていた。ステップS502では、無効データを挿入した物理セクタに対応するFlag−Bに“1”を設定する。
また、ステップS155(図8B)において、RMW処理のモディファイ処理を実施された物理セクタに対してはFlag−C=0を設定する。
(ステップS503)ドライブ制御部311は、メモリ回路312に保持されている記録すべきデータに対する交替前位置情報を設定する。
ステップS151(図8B)において、記録指示によって指定された位置を含むECCクラスタが交替済みでない(すなわち、記録指示に従って行われるデータ記録が1回目の擬似上書き記録である)と決定されていた場合には、交替前位置情報には、交替元クラスタのアドレスを示す情報が設定される。交替元クラスタのアドレスは、記録指示によって指定された位置(例えば、記録指示によって指定された論理アドレスを初期論理アドレス−物理アドレスマッピングに従って物理アドレスに変換し、この物理アドレスを含むECCクラスタの先頭PSN値によって示される位置)を示す。
ステップS151(図8B)において、記録指示によって指定された位置を含むECCクラスタが交替クラスタに既に交替されている(すなわち、記録指示に従って行われるデータ記録が2回目以降の擬似上書き記録)と決定されていた場合には、交替前位置情報には、直前の交替先クラスタを指すように、既に交替されている交替クラスタのアドレスを示す情報が設定 される。
この直前の交替先クラスタのアドレスは、例えば、ステップS151(図8B)で交替管理情報から取得済みである。
なお、上述のステップS502(図36A)において、交替先クラスタにFlag−B=1を設定した物理セクタがあった場合、図8AのステップS113で、この交替処理を管理する交替管理情報のステータス2 2011Bを“1000”に設定する 。
図36Bは、図8Bに示されるステップS157の処理の詳細例を示す。図36Bに示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS506)ドライブ制御部311は、記録指示によって指定されたデータを情報記録媒体100に記録すべきデータとして決定する。
(ステップS507)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する属性情報を設定する。
ECCクラスタの属性情報に含まれる各フラグに所定の値を設定する。例えば、Flag−A=0、Flag−B=0、Flag−C=0を設定する。
その結果を記録すべきデータとしてメモリ回路312に保持する。
(ステップS508)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する交替前位置情報を設定する。
このステップは図36AのS503と同じである。
このステップは図36AのS503と同じである。
図36Cは、図8Aに示されるステップS109の処理の詳細例を示す。図36Cに示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS511)ドライブ制御部311は、記録すべきデータを決定する。具体的には、ドライブ制御部311は、記録指示によって指定されたデータを記録すべきデータとして決定する。
この時、ドライブ制御部311は、記録指示によって指定されたデータの終端がECCクラスタ境界に一致するかどうか判断する。もし、一致しない場合は、パディングデータ(例えばすべて00hのデータ)を挿入し、データの終端がECCクラスタ境界に一致させ、記録すべきデータとして決定する。
(ステップS512)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する属性情報を設定する。
ECCクラスタの属性情報に含まれる各フラグに初期値を設定する。例えば、Flag−A=0、Flag−B=0、Flag−C=1を設定する。
ただし、ステップS511でパディングデータを記録した物理セクタに対しては、Flag−A=1を設定する。
その結果を記録すべきデータとしてメモリ回路312に保持する。
(ステップS512)ドライブ制御部311は、メモリ回路312に保持されているこれから記録するデータに対する交替前位置情報を設定する。
本ステップにおいては、交替前位置情報に交替記録でないことを示す情報を設定する。
例えば、すべて“0”の値を設定する。
5−3.再生処理手順
図37を参照して、本実施の形態のデータ再生の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100から再生されるものとする。
5−3.再生処理手順
図37を参照して、本実施の形態のデータ再生の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100から再生されるものとする。
図37に示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS651)ドライブ制御部311は、再生指示を受け取る。
(ステップS652)ドライブ制御部311は、再生指示に含まれる再生位置を示す論理アドレスを、初期論理アドレス−物理アドレスマッピングに従って物理アドレスに変換する。
(ステップS653)ドライブ制御部311は、ステップS652で得られた物理アドレスを含むECCクラスタの先頭PSNを交替元として含む交替管理情報を検索する。
該当する交替管理情報が発見されたら、処理はS654へ進む。該当する交替管理情報が発見されなかったら、処理はS655へ進む。
(ステップS654)ドライブ制御部311は、ステップS653で発見された交替管理情報が交替先として示す物理アドレスを再生位置として設定する。
(ステップS655)ドライブ制御部311は、再生指示によって指定される論理アドレスを初期論理アドレス−物理アドレスマッピングに従って変換することによって得られる物理アドレスを再生位置として設定する。
(ステップS656)ドライブ制御部311は、先のステップで設定された再生位置からデータを再生するように記録再生部314を制御する。
ドライブ制御部311は、エラー検出・訂正機能により、再生が成功したか否かを決定する。
全ての物理セクタの再生に成功した場合は再生処理を終了する。
再生に失敗した物理セクタが存在する場合、処理はステップS657へ進む。
(ステップS657)ドライブ制御部311は、再生に失敗した物理セクタに対して、再生処理の再試行が可能かどうかを決定する。
再生に失敗した物理セクタに対して、Flag−B=1が設定されているか否かを決定する。
Flag−B=1が設定されていると決定された場合、処理はステップS659へ進む。この時、交替前位置情報が示す位置からデータ再生の再試行を行うことにより、再生エラーからの回復が可能である。
あるいは、ステップS653で交替先有りと判断されていた場合、交替管理情報のFlag4が“01”(あるいはステータス2 2011Bが“1000”)であるかどうかを判断する。Flag4による判定は、ステップS656での再生が失敗し、Flag−Bの再生も出来なかったときに特に有効である。
Flag4が“01”であると判断されたら、処理はステップS659へ進む。
それ以外の場合(ステップS653で交替先がない、と判断されていない場合も含む)、処理はS658へ進む。
(ステップS658)ドライブ制御部311は、再生エラーが発生したことを決定する。その結果、再生処理は終了する。
(ステップS659)ドライブ制御部311は、交替前位置情報に示される物理アドレスを再生位置として設定する。
(ステップS660)ドライブ制御部311は、先のステップで設定された再生位置からデータを再生するように記録再生部314を制御する。
エラー検出・訂正機能により、再生が成功したか否かを判断する。
成功した場合は再生処理を終了する。この時、交替先クラスタ内のFlag−B=1が設定された物理セクタに対応する物理セクタから再生されたデータをホスト装置305へ出力する。
失敗した場合は、処理はステップS658へ進む。
なお、未記録論理セクタに対して再生指示が行われた時、ステップS656において説明したように、対応する物理クラスタからデータの再生を行ってしまうと、本来再生されるべきではないデータが再生されることになる。もし、このようなデータ再生が不都合な場合は、次のような再生手順を用いても良い。
すなわち、データの再生に際して、再生指定されたLSNを初期論理アドレス−物理アドレスマッピングに従いPSNに変換し、得られたPSNを交替管理情報リスト1000中の交替元位置情報1012として持つ交替管理情報1010Bを検索する。もし、対応する交替元位置情報1012が、見つからなかったら、得られたPSNの物理セクタからデータを再生する。
このとき、再生された物理セクタを含むECCクラスタから交替前位置情報を取得し、交替前位置情報に、有効な値が登録されているかどうか調べる。交替前位置情報に、有効な値が登録されている場合は、そのECCクラスタが未記録論理クラスタであることがわかるので、ドライブ装置310は、このECCクラスタから再生したデータをホスト装置305へ返送せず、その代わりに、再生データとして所定の値、例えばすべて0の値を返送する。
また、交替前位置情報を調べる代わりに、Flag−Aを調べても良い。再生された物理セクタに対応するFlag−Aを取得し、Flag−Aの値を調べる。Flag−A=1の場合は、その物理セクタが未記録論理セクタであることがわかるので、ドライブ装置310は、この物理セクタから再生したデータをホスト装置305へ返送せず、その代わりに、再生データとして所定の値、例えばすべて0の値を返送する。
また、Flag−Bを調べても良い。同様に、再生された物理セクタに対応するFlag−Bを取得して、この値を調べる。Flag−B=1の場合は、その物理セクタが未記録論理セクタであることがわかるので、ドライブ装置310は、この物理セクタから再生したデータをホスト装置305へ返送せず、その代わりに、再生データとして所定の値、例えばすべて0の値を返送する。
また、Flag−Cを調べても良い。同様に、再生された物理セクタに対応するFlag−Cを取得して、この値を調べる。Flag−C=0の場合は、その物理セクタが未記録論理セクタであることがわかるので、ドライブ装置310は、この物理セクタから再生したデータをホスト装置305へ返送せず、その代わりに、再生データとして所定の値、例えばすべて0の値を返送する。
このような再生処理により、未記録論理セクタに対して再生指示が出された場合でも、対応する物理セクタから適切なデータが再生される。
5−4.記録および再生処理の例
以下、図36A〜図36Cおよび図37に示されるデータ記録および再生の手順に従った具体的な処理の例を説明する。
5−4.記録および再生処理の例
以下、図36A〜図36Cおよび図37に示されるデータ記録および再生の手順に従った具体的な処理の例を説明する。
例えば、図34において、ホスト装置305からの記録指示により、ユーザデータ領域中のECCクラスタ#i 6000にデータ“A0”が新規に記録されたとする。この時、データ“A0”が記録された物理セクタ6003に対する各フラグの値は、Flag−A=0、Flag−B=0、Flag−C=0となる。
また、ホスト装置305から与えられたデータ“A0”の容量はECCクラスタ境界に一致しないため、ECCクラスタ#i 6000の残りの部分はドライブ装置310により無効データであるパディングデータが記録される。パディングデータが記録された物理セクタに対する各フラグの値は、Flag−A=1、FlagB=0、等となる。
次に、図34の状態に対して、ホスト装置305がECCクラスタ#i 6000中のPSN=a1に、データ“B1”の記録を指示したとすると、記録結果は図38Aのようになる。
図34の状態でECCクラスタ#i 6000は記録済であるので、RMW処理と交替処理が行われる。すなわち、ドライブ装置310はECCクラスタ#i 6000を再生する。再生したデータ“A0”に対しデータ“B1”を挿入し、必要なフラグ値の更新も行う。また、ECCクラスタの境界までパディングデータを挿入する。
このようにして得られたデータを未記録領域であるECCクラスタ#i+1 6001へ記録する。さらに、ECCクラスタ#i 6000を交替元、ECCクラスタ#i+1 6001を交替先とする交替管理情報1010を生成する。
図38Aに示すように、ECCクラスタ#i+1 6001中のデータ“A0”が記録された物理セクタに対するFlag−Cの値は1となっている。これは、上述のRMW処理において、ドライブ装置310がデータ“A0”をECCクラスタ#iからECCクラスタ#i+1へそのままコピーし、更新していないからである。
次に、図38Aの状態に対して、ホスト装置305が、ECCクラスタ#i 6000中に、データ“C2”の記録を指示したとすると、記録結果は図39Aのようになる。
この時も同様に、ECCクラスタ#i 6000は記録済であるので、RMW処理と交替処理が行われる。すなわち、ドライブ装置310はECCクラスタ#i+1 6001を再生する。そして再生したデータに対してデータ“C2”およびパディングデータの挿入と必要なフラグ値の更新を行う。そして、得られたデータを未記録領域であるECCクラスタ#i+2 6002へ記録する。さらに、図39Bに示すような、ECCクラスタ#i 6000を交替元、ECCクラスタ#i+2を交替先とする交替管理情報6200を生成する。
ここで、仮にECCクラスタ#i+1 6001の再生において、データ“A0”の再生に失敗したとする。従来であれば、この失敗によりRMW処理が進められなくなり、記録エラーとなる。
一方、本実施の形態では、図40Aに示すように、データ“A0”を記録すべきECCクラスタ#i+2 6003中の物理セクタにダミーデータを記録し、フラグ値としてFlag−B=1に設定する。その他の物理セクタには直前の交替位置であるECCクラスタ#i+1 6002から再生した正しいデータを記録する。このような記録手順により、ECCクラスタ#i+2への記録を続けることができる。
この時も同様に、図39Bに示す交替管理情報6200を生成する。
あるいは、図39Aに示すように、ECCクラスタ#i+1 6001内のデータ“A0”が記録された物理セクタのFlag−Cの値を見て、更新無し(=1)であることが分かったら、ECCクラスタ#i+1 6001の直前の状態のデータが記録されているECCクラスタ#i 6000からデータ“A0”を読み出し、ECCクラスタ#i+2 6002へ記録してもよい。
このような、直前の状態のデータを読み出すため、本実施の形態の各ECCクラスタは、その属性情報の1つとして、交替前位置情報を持つ。
図38A、図39A、図40Aを参照して交替前位置情報を説明する。例えば、ECCクラスタ#i+1 6001であれば、交替前位置情報6101として、ECCクラスタ#i 6000の先頭物理セクタのアドレス情報であるPSN=a0の値を持つ(図38A参照)。同様に、ECCクラスタ#i+2であれば、交替前位置情報6102として、ECCクラスタ#i+1の先頭物理セクタのアドレス情報であるPSN=a2の値を持つ(図39A、図40A参照)。
すなわち、図38Aを参照して説明したECCクラスタ#i+1 6001へのデータ“B0”のような記録は、1回目の交替記録であり、直前の交替位置が存在しないので、交替前位置情報6101に、交替元であるECCクラスタ#i 6000の先頭物理セクタのアドレス情報であるPSN=a0の値を設定する。
また、図39Aを参照して説明したECCクラスタ#i+2 6002へのデータ“C2”のような記録は、2回目以降の交替記録であるので、交替前位置情報6100に、直前の交替先であるECCクラスタ#i+1 6001の先頭物理セクタのアドレス情報であるPSN=a2の値を設定する。
また、図34を参照して説明したECCクラスタ#i 6000へのデータ“A0”のような記録の場合は、交替記録ではないので、そのことを示す情報として、交替前位置情報6100に、例えば“0”を設定する。
ECCクラスタを用いる追記型メディアでは、データの更新が擬似的な上書き記録となり、直前の状態のデータが残ったまま新しいデータが記録されるという特性がある。
本実施の形態においては、この特徴を利用し、さらにRMW処理においてデータが更新されたかどうかを示す識別情報や、交替前位置情報をECCクラスタ内に新たに設けることにより、疑似上書き記録における信頼性を向上させることを可能とする。
すなわち 、ドライブ装置310が各物理セクタに記録するデータがホスト装置305から与えられた有効なデータであるか、無効なデータであるかを示す属性情報を設けた。
無効なデータである場合、ドライブ装置310が、ホスト装置305から記録指示されたデータの容量がECCクラスタの容量より小さいため、ECCクラスタ境界までを埋めるために記録したパディングデータである(Flag−A=1)か、RWM処理において、再生に失敗した物理セクタを埋めるために記録した無効データである(Flag−B=1)かを区別可能とした。
RMW処理において、再生エラーが発生した場合でも、無効データであるダミーデータを記録し、その状態を示す属性情報を設定(Flag−B=1)しておくことにより、記録処理を完了することができる。さらに、その再生時において、交替前位置情報で示される位置に直前の有効データが存在するかどうかを判断することができ、直前のデータを再生することにより再生エラーからの回復が行えるようになる。
さらに、ホスト装置305から記録指示されたデータ容量が少ないために挿入される無効データ(パディングデータ)と、ダミーデータとを物理セクタ単位で区別しておくことにより、再生エラーからの回復において、どの物理セクタからのデータが有効であるかを判断可能となる。
直前の有効データが存在すると判断されたら、交替前位置情報で示される位置のECCクラスタからデータを再生し、有効データを得ることができる。よって、疑似上書き記録における信頼性を向上させることを可能となる。
また 、交替前位置情報を設けることにより、交替記録されたECCクラスタからの再生時において、直前のデータを再生することが可能となり、再生エラーからの回復が行えるようになる。
また 、この Flag4を設けることにより、次のような場合に効果が得られる。
すなわち、ある代替クラスタを再生しようとした時、何らかの理由でその代替クラスタが再生できない場合がありうる。例えば、代替クラスタにユーザの指紋等の汚れが付着した場合である。
この時、ドライブ装置310は、交替管理情報のFlag4を参照し、Flag4=00またはFlag4=01の場合、交替元情報1012に示されるECCクラスタの再生を試みる。
Flag4=00の場合、交替元は欠陥クラスタであり、その記録時におけるベリファイ処理は失敗していた。
しかしながら、今回、再生を行った場合は再生に成功する可能性がある。例えば、ベリファイ時と情報記録媒体100の状態が変化した時(汚れが取れた、環境温度が違う、等)や、再生を行うドライブ装置が異なる時に、再生に成功する場合がある。
もし再生に成功すれば、それは交替先から再生されるべきデータと同じものである。よって代替クラスタに対する再生に失敗しても、交替元クラスタから必要なデータの再生が行え、ホスト装置305としては、正しいデータを受け取ることが可能となる。
また、Flag4=01の場合、交替元は更新前のクラスタであり、通常、その再生は行える。ただし、ECCクラスタ内の一部又は全部のデータは更新記録時のRMW処理により書き換えられている。
逆に言うと、一部のデータは、更新前クラスタに変更されずに残っているので、その変更されていないデータは、ホスト装置305にとっては有効なデータである。
さらに、このような変更されていないデータだけをドライブ装置310からホスト装置305へ確実に返信するため、RMW時に更新された物理セクタと、更新されなかった物理セクタを識別することを可能とする情報を各物理セクタ内に記録してもよい。例えば、ECCクラスタの属性情報である、Flag−BやFlag−Cがそれに相当する。
これにより、更新されていない物理セクタ上のデータのみをホスト装置305へ返信することが可能となる。
また、Flag4=10の場合、交替元は更新後とは無関係のデータであるので、その再生は行わず、再生エラーとして処理を行う。
以上のような処理を行うことにより、情報記録媒体100に対して、信頼性の高いデータの記録・再生が行えるようになる。
なお、Flag4=01の一例として上述した交替管理情報514Aや交替管理情報6200のように、複数回の交替記録が行われている場合、その交替管理情報の交替元情報1012は、直前の交替先クラスタとはならない。
例えば、交替管理情報514Aの交替元情報1012で示す交替元クラスタはPSN=1228のECCクラスタであるが、直前の交替先クラスタは、PSN=1292のECCクラスタである。
よって、複数回の交替記録が行われている場合は、上述の交替前位置情報を参照することにより、直前の更新前クラスタを知ることが可能である。
例えば、図39Bに示した交替管理情報6200の場合、ステータス2 2001B=“1000“であり、交替元クラスタとしてPSN=a0のECCクラスタ#i 6000を指す。
しかしながら、図39Aに示すように、ECCクラスタ#i+2 6002に対して、直前の更新前クラスタはECCクラスタ#i+1 6001である 。
また、ECCクラスタ#i+2 6002の先頭物理セクタは、RMW処理において、再生できなかったため、ダミーデータが記録されている(Flag−B=1)。
この時、ドライブ装置310は、ECCクラスタ#i+2 6002の再生に際して、更新前クラスタであるECCクラスタ#i+1 6001からデータを再生し、ECCクラスタ#i+2 6002の先頭セクタの代わりにECCクラスタ#i+1 6001の先頭セクタ上のデータをホスト装置305へ返信することが可能となる。
(実施の形態7 )
情報記録媒体上の傷や汚れ等により、最新の交替管理情報リストの再生が出来ない場合、再生指示により指定されたECCクラスタが他のECCクラスタに代替されているかどうか特定できなくなる。この時、再生指示されたデータを正しく再生できなくなる。
情報記録媒体上の傷や汚れ等により、最新の交替管理情報リストの再生が出来ない場合、再生指示により指定されたECCクラスタが他のECCクラスタに代替されているかどうか特定できなくなる。この時、再生指示されたデータを正しく再生できなくなる。
このため、データを正しく再生するために、再生指示により指定されたECCクラスタが他のECCクラスタに代替されているかどうか調べ、最新の交替管理情報リストを修復する必要がある。
本実施 の形態においては、何らかの理由により交替管理情報リスト1000の一部又は全部が再生できなくなった時のデータの再生手順について図41を参照して説明する。
図41は、複数回のデータ記録が行われた情報記録媒体100のデータ構造の一例を示す図である。
図41では、ECCクラスタ#j 7000を交替元として、複数回の交替記録が行われており、その交替先は、交替された順に、ECCクラスタ#j+1 7001、#j+2 7002、#j−1 7003とする。
この記録順は例えば、上述の実施の形態で述べたように、交替先を検索する時、PSNが大きくなる方向へ未記録領域を検索し、ユーザデータ領域の終端に達したら、先頭に戻る、という検索手順により決定されたものとする。
本実施の形態においては、各ECCクラスタは、図41に示す、交替前位置情報を含む。
この状態において、何らかの理由により交替管理情報リスト1000の一部又は全部が再生できなくなった場合、従来であれば、交替記録の対応関係が不明なため、正しいデータの再生が不可能となった。
そこで本実施の形態においては、各ECCクラスタの持つ交替前位置情報を調べることにより最新の交替管理情報リスト1000を修復し、正しいデータ再生を行う方法について説明する。
本実施の形態における修復処理を行う時、情報記録再生装置300Bやドライブ装置310は、情報記録媒体100の各ECCクラスタを再生し、各ECCクラスタの持つ交替前位置情報を調べる。
すなわち、情報記録媒体100の各ECCクラスタの持つ交替前位置情報を調べ、交替前位置情報に交替記録でないことを示す情報(例えば、値が“0”)が設定されていたECCクラスタは、交替元ECCクラスタまたは、交替がまったく行われていないECCクラスタである。
次に、交替前位置情報の値が交替記録でないことを示す情報でないECCクラスタは、交替先のECCクラスタである。
図41では、ECCクラスタ#j 7000の交替前位置情報は交替記録でないことを示す情報(例えば、“0”)が設定されている。
ECCクラスタ#j+1 7001、#j+2 7002、#j−1 7003の交替前位置情報7700、7701、7702は、それぞれ、PSN=b1、PSN=b2、PSN=b3を示す情報が設定されている。
この状態に置いて、ECCクラスタ#j 7000を最終的な交替先を検定する必要がある。
ECC クラスタ#j 7000の最新の交替先は、交替前位置情報を用いて判別する。すなわち、交替前位置情報をたどることにより判別可能である。
図41では、ECCクラスタ#j 7000がECCクラスタ#j−1 7003へ交替されていることが分かる。
これより、ECCクラスタ#j 7000を交替元とし、ECCクラスタ#j−1 7003を交替先とする交替管理情報が再生成可能となり、交替管理情報リスト1000の修復が行える。
以上のように、何らかの理由により交替管理情報リスト1000の一部又は全部が再生できなくなった時にでも、情報記録媒体100のすべての記録済みECCクラスタに対して交替前位置情報の値を調べることにより、最新の交替管理情報リスト1000を修復可能となる。
すなわち 、交替元と交替先の対応関係が分かるので交替管理情報リスト1000の再生成が可能となる。そして再生成した交替管理情報リスト1000を情報記録媒体100に記録することにより、次回からは通常の再生が行えるようになる。
また、最新の交替先を決定する他の方法としては、各ECCクラスタの属性情報として更新カウンタを設ける方法もある。
更新カウンタは、新規記録のECCクラスタに対しては0を設定する。交替記録先のECCクラスタに対しては、更新を行う毎に1を加えて記録する。
図41では、ECCクラスタ#j 7000では“0”、ECCクラスタ#j+1 7001、#j+2 7002、#j−1 7003ではそれぞれ“1”、“2”、“3”が設定される。
この更新カウンタに最大の値を持つECCクラスタが最新のデータとなる。
また、各ECCクラスタの属性情報として記録種別を示すフラグ(Flag−D)を設けてもよい。
このフラグは交替先のECCクラスタが欠陥クラスタの交替記録(Flag−D=0)か、疑似上書き記録の交替記録(Flag−D=1)かを示す情報である。
仮に、上述のECCクラスタ#j 7000が欠陥クラスタとなった場合、ECCクラスタ#j 7000に含まれる交替前位置情報等の属性情報も再生できなくなる場合がある。
このような時、交替先のECCクラスタに記録種別を示すフラグ(Flag−D)があれば、交替元が欠陥クラスタであるのか、疑似上書き記録の更新前のクラスタであるのかを知ることができる。
このような情報は、交替管理情報リスト1000の再生成に有益である。
疑似 上書き記録において、交替前位置情報に交替記録を行っていないことを示す情報、交替元クラスタのアドレス値、直前の交替先のアドレス値を設定して記録しておくことにより、そのECCクラスタを再生することにより、交替管理情報リストが何らかの理由で破壊された場合に、その修復処理が可能となる。全ての記録済ECCクラスタの交替前位置情報を調べることにより、交替元のECCクラスタであるか、交替先のECCクラスタであるかを知ることができる。また、交替元のECCクラスタに対すする最新の交替先ECCクラスタを判定することができる。
(実施の形態8)
本実施の形態においては、交替前位置情報等の各ECCクラスタの属性情報を用いて、交替管理情報リスト1000の修復を行う手順について説明する。
本実施の形態においては、交替前位置情報等の各ECCクラスタの属性情報を用いて、交替管理情報リスト1000の修復を行う手順について説明する。
図42 を参照して、本実施の形態のデータの再生の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100から再生されるものとする。
図42に示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS661)ドライブ装置310のドライブ制御部311は、ホスト装置305から、再生指示を受け取る。
(ステップS662)ドライブ制御部311は、再生指示に含まれる再生位置を示す論理アドレスを、初期論理アドレス−物理アドレスマッピングに従って物理アドレスに変換する。
(ステップS663)ドライブ制御部311は、記録再生部314を制御し、交替管理情報リスト1000を再生する。そして、エラー検出・訂正機能により、最新の交替管理情報リスト1000の再生に失敗したか否かを決定する。
最新の交替管理情報リスト1000の再生に失敗したと決定された場合には、処理はステップS664へ進む。成功した場合には、処理はステップS667へ進む。
(ステップS664)このステップは、後述する修復処理手順の処理量を削減する方法を実施する場合に実行される。
(ステップS665)ドライブ制御部311は、内周交替領域107と外周交替領域108の交替領域とユーザデータ領域108に記録されている交替前位置情報を再生するように記録再生部314を制御する。
(ステップS666)再生された交替前位置情報を用いることで、交替元クラスタのアドレス情報と交替先クラスタのアドレス情報が得られる。
ドライブ制御部311は、これらの情報に基づいて最新の交替管理情報リスト1000を生成し、ディスク管理情報領域104中の空き領域に追記するように記録再生部314を制御する。
(ステップS667)ドライブ制御部311は、最新の交替管理情報リストから、ステップS662で得られた物理アドレスを含むECCクラスタの先頭PSNを交替元として含む交替管理情報を検索する。
該当する交替管理情報が発見されたら、処理はS668へ進む。該当する交替管理情報が発見されなかったら、処理はS669へ進む。
(ステップS668)ドライブ制御部311は、ステップS667で発見された交替管理情報が交替先として示す物理アドレスを再生位置として設定する。
(ステップS669)ドライブ制御部311は、再生指示によって指定される論理アドレスを初期論理アドレス−物理アドレスマッピングに従って変換することによって得られる物理アドレスを再生位置として設定する。
(ステップS670)ドライブ制御部311は、先のステップで設定された再生位置からデータを再生するように記録再生部314を制御する。
以上説明したように、最新の欠陥管理情報リストが再生できない場合、ステップS664からS666で実施される交替管理情報リストの修復処理により、正しくデータを読むことが出来るようになる。
しかしながら、上述した方法によれば、擬似上書き記録において、ECCクラスタがユーザデータ領域に交替されるので、ユーザデータ領域内の記録された領域の全てのECCクラスタを読み出して、交替前位置情報を取得する必要がある。このため、各ECCクラスタの交替前位置情報をすべて調べることは非常に大きな処理時間を要する。
以降では、この修復処理を含む再生処理手順の処理量を削減する方法について説明する。
本実施の形態では、交替管理情報リスト1000の内容が更新されると、ディスク管理情報領域104中の空き領域に追記される。
この記録は追記であるため、直前の交替管理情報リスト1000もそのまま情報記録媒体100に残り、結果として情報記録媒体100上には、交替管理情報リスト1000の更新履歴がすべて残る。
もし最新の交替管理情報リスト1000が再生できなかったり、記録時の突然の電源遮断などにより記録できなかったりしても、その直前の交替管理情報リスト1000は情報記録媒体100に記録されている。
そこで交替管理情報リスト1000の修復処理を開始するに際して、直前の交替管理情報リスト1000、すなわち、再生に成功した交替管理情報リスト1000のうち最近の交替管理情報リストを選択して、利用する。
以下、処理量を削減する修復処理手順について説明する。
(ステップS664)再生に成功した交替管理情報リスト1000のうち最近の交替管理情報リストを選択する。
(ステップS665)交替領域およびユーザデータ領域において、最近の交替管理情報リストに登録されている交替管理情報が指すECCブロックに記録されたデータよりも後で記録されたデータを含む領域から交替前位置情報を再生する。
(ステップS666)再生された交替前位置情報と、最近の交替管理情報リストから最新の交替管理情報リストを生成する。
図43Aは、図43Bに示す直前の交替管理情報リスト1000を利用して最新の交替管理情報リストの修復処理する時の手順を説明するための図である。
図43Aは、ある時点での情報記録媒体100上のデータ構造を示している。
トラック#N 8000、トラック#N+1 8001が割り付けられており、それぞれLRA8101、LRA8102までデータが記録済みである。
この状態に対する直前の交替管理情報リスト1000を図43Bを示す。
交替管理情報リスト1000の修復処理に際して、図42Bに示す直前の交替管理情報リスト1000の交替先位置情報1013に示されるPSNを調べる。
このPSNの値に対して、情報記録媒体100上の各トラック内に最大の値を持つPSNが、図43Bに示す直前の交替管理情報リスト1000に登録された情報の内で最新の交替先である。
なぜなら情報記録媒体100の各トラック内においては、シーケンシャル記録が行われるからである。
図43Aのトラック#N 8000であれば、PSN=a0のECCクラスタが図43Bに示す直前の交替管理情報リスト1000に登録された情報の内で最新の交替先である。
同様に、トラック#N+1 8001であれば、PSN=b2のECCクラスタが図43Bに示す直前の交替管理情報リスト1000に登録された情報の内で最新の交替先である。
上述の再生、又は、記録に失敗した最新の交替管理情報リストにおいては、交替管理情報リスト1000に登録された情報の内で最新の交替先の位置よりも後ろのECCクラスタのいずれかが交替先となる。
具体的には、トラック#N 8000であれば、PSN=a0より後ろのECCクラスタのいずれかが交替先となるはずである。
同様に、トラック#N+1 8001であれば、PSN=b2より後ろのECCクラスタのいずれかが交替先となる。
さらに、未記録領域には交替先は存在しないことは明らかである。
なお、未記録領域の判定は、最新のトラック管理情報210中のLRA213の値を見るか、実際に検索範囲の先頭から順次再生し、再生信号の変化を読みとる等の物理的な状態の変化を用いて判定が可能である。
あるいは、未記録領域の開始位置にすべてパディングデータで埋められたECCクラスタを記録するというような規定を設けることも可能である。
よって、上述の修復処理を考えた時、再生に成功した最近の交替管理情報リストに登録されている記録データよりも後で記録されたデータを含む領域をトラック毎に調べ、これらの領域を、検索範囲として、交替前位置情報を調べればよい。
具体的には、図43Aに示す検索範囲8201及び検索範囲8202の部分だけを再生し、この範囲に含まれるECCクラスタの交替前位置情報を調べれば、図42Bに示す直前の交替管理情報リスト1000から最新の交替管理情報リストを修復することが可能となる。
このような方法により、情報記録媒体100全体に対する再生が不要となり、交替管理情報リストの修復処理に要する処理量を大幅に削減することが可能となる。すなわち、検索範囲から再生された交替前位置情報を用いて、交替管理情報を生成し、再生に成功した最近の交替管理情報リストに反映することで、最新の交替管理情報リストを作ることができる。
なお 、セッション管理情報200と交替管理情報リスト1000とが一緒に記録される場合、セッション管理情報200についても、その履歴が情報記録媒体100上に記録される。この場合、交替前位置情報を調べる検索範囲は、セッション管理情報200を用いて設定しても良い。
具体的には、再生に成功した最近の交替管理情報リスト1000とともに記録されたセッション管理情報200に登録されたトラック内最終データ記録位置情報(LRA)で示される位置より後ろにデータが記録された領域は、再生に成功した最近の交替管理情報リストが記録された後で記録された領域であることがわかる。このため、この領域を、交替前位置情報を調べる検索範囲とすることで、交替管理情報リストの修復処理に要する処理量を、更に、削減することが可能となる。
なお、再生指示により交替管理情報リスト1000を修復する例を説明したが、修復指示により行っても良い。
また、本発明の実施の形態では、交替管理情報リスト1000を、ディスク管理情報領域104に記録する例を説明したが、ディスク管理情報領域104に限定されない、例えば、交替管理情報リスト1000を、交替領域の中の未記録領域に追記しても良い。
本発明は、追記型光ディスクの疑似上書き記録において、ユーザデータ領域を無駄なく使用することを可能とするドライブ装置等を提供するものとして有用である。
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 ボリューム構造領域
600 800 AVDP
601 論理ボリューム記述子
602 区画マップ(タイプ2)
440 メタデータファイル
450 メタデータミラーファイル
500 イメージデータ
510、511、512、513 エラー領域
520、521、522 修復データ
1000 交替管理情報リスト
1010 交替管理情報
1011 状態情報
1012 交替元位置情報
1013 交替先位置情報
1100 ディスク構造情報
1103 ユーザデータ領域開始位置情報
1104 ユーザデータ領域終端位置情報
1105 交替領域情報
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 ボリューム構造領域
600 800 AVDP
601 論理ボリューム記述子
602 区画マップ(タイプ2)
440 メタデータファイル
450 メタデータミラーファイル
500 イメージデータ
510、511、512、513 エラー領域
520、521、522 修復データ
1000 交替管理情報リスト
1010 交替管理情報
1011 状態情報
1012 交替元位置情報
1013 交替先位置情報
1100 ディスク構造情報
1103 ユーザデータ領域開始位置情報
1104 ユーザデータ領域終端位置情報
1105 交替領域情報
Claims (2)
- 追記型記録媒体に記録されたデータを再生するドライブ装置であって、
前記追記型記録媒体は、交替領域と、ユーザデータ領域とを含み、
前記交替領域と前記ユーザデータ領域のそれぞれは、複数のECCクラスタを含み、前記複数のECCクラスタのそれぞれは、複数の物理セクタを含み、
前記複数のECCクラスタのそれぞれには、交替前位置情報が記録されており、
記録指示に従って行われたデータ記録が追記であった場合には、前記交替前位置情報には、交替記録が行われていないことを示す情報が設定されており、
前記記録指示に従って行われたデータ記録が第1回目の擬似上書き記録であった場合には、前記交替前位置情報には、前記記録指示によって指定された位置を示す情報が設定されており、
前記記録指示に従って行われたデータ記録が第2回目以降の擬似上書き記録であった場合には、前記交替前位置情報には、前記記録指示によって指定された位置の交替先を示す情報が設定されており、
前記ドライブ装置は、
前記追記型記録媒体に対して記録動作または再生動作を行う記録再生部と、
前記記録再生部を制御するドライブ制御部と
を含み、
前記ドライブ制御部は、
再生指示を受け取ることと、
前記再生指示に応答して、最新の交替管理情報リストの再生に失敗したか否かを決定することと、
前記最新の交替管理情報リストの再生に失敗したと決定された場合には、前記交替領域と前記ユーザデータ領域に記録されている交替前位置情報を再生するように前記記録再生部を制御することと、
前記再生された交替前位置情報に基づいて、最新の交替管理情報リストを生成することと、
前記最新の交替管理情報リストを前記所定の位置に記録するように前記記録再生部を制御することと
を少なくとも実行する、ドライブ装置。 - 前記最新の交替管理情報リストの再生に失敗したと決定された場合に、既に記録された交替管理情報リストを読み出し、再生に成功した最近の交替管理情報リストを選択し、
前記最新の交替管理情報リストの再生に失敗したと決定された場合に前記ユーザデータ領域から再生される前記交替前位置情報は、前記ユーザデータ領域において、前記再生に成功した最近の交替管理情報リストに登録されている記録データよりも後で記録されたデータを含む領域から再生される交替前位置情報であり、
前記再生される交替前位置情報と、前記再生に成功した最近の交替管理情報リストから前記最新の交替管理情報リストを生成することを特徴とする、請求項1記載のドライブ装置。
Applications Claiming Priority (17)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004177665 | 2004-06-15 | ||
JP2004177666 | 2004-06-15 | ||
JP2004177663 | 2004-06-15 | ||
JP2004177662 | 2004-06-15 | ||
JP2004177664 | 2004-06-15 | ||
JP2004177665 | 2004-06-15 | ||
JP2004177668 | 2004-06-15 | ||
JP2004177663 | 2004-06-15 | ||
JP2004177662 | 2004-06-15 | ||
JP2004177666 | 2004-06-15 | ||
JP2004177664 | 2004-06-15 | ||
JP2004177668 | 2004-06-15 | ||
JP2004189013 | 2004-06-25 | ||
JP2004189013 | 2004-06-25 | ||
JP2004255440 | 2004-09-02 | ||
JP2004255440 | 2004-09-02 | ||
PCT/JP2005/010957 WO2005124772A1 (ja) | 2004-06-15 | 2005-06-15 | ドライブ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2005124772A1 true JPWO2005124772A1 (ja) | 2008-04-17 |
Family
ID=35509961
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006514769A Expired - Fee Related JP4451441B2 (ja) | 2004-06-15 | 2005-06-15 | ドライブ装置 |
JP2006514768A Active JP4495156B2 (ja) | 2004-06-15 | 2005-06-15 | ドライブ装置 |
JP2006514764A Pending JPWO2005124772A1 (ja) | 2004-06-15 | 2005-06-15 | ドライブ装置 |
JP2009272884A Expired - Fee Related JP5044632B2 (ja) | 2004-06-15 | 2009-11-30 | ドライブ装置 |
JP2009272953A Expired - Fee Related JP4901943B2 (ja) | 2004-06-15 | 2009-11-30 | ドライブ装置 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006514769A Expired - Fee Related JP4451441B2 (ja) | 2004-06-15 | 2005-06-15 | ドライブ装置 |
JP2006514768A Active JP4495156B2 (ja) | 2004-06-15 | 2005-06-15 | ドライブ装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009272884A Expired - Fee Related JP5044632B2 (ja) | 2004-06-15 | 2009-11-30 | ドライブ装置 |
JP2009272953A Expired - Fee Related JP4901943B2 (ja) | 2004-06-15 | 2009-11-30 | ドライブ装置 |
Country Status (6)
Country | Link |
---|---|
US (3) | US7940613B2 (ja) |
EP (2) | EP1760716A4 (ja) |
JP (5) | JP4451441B2 (ja) |
KR (1) | KR101138641B1 (ja) |
CN (4) | CN101777367B (ja) |
WO (3) | WO2005124772A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040028469A (ko) | 2002-09-30 | 2004-04-03 | 엘지전자 주식회사 | 1 회 기록 가능한 광디스크의 디펙트 영역 관리방법 |
ES2340844T3 (es) | 2002-12-11 | 2010-06-10 | Lg Electronics, Inc. | Metodo de gestion de sobrescritura y metodo de grabacion de informacion de gestion de un disco optico de una sola escritura. |
US7355934B2 (en) | 2003-01-27 | 2008-04-08 | Lg Electronics Inc. | Optical disc of write once type, method, and apparatus for managing defect information on the optical disc |
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 |
CN100580779C (zh) | 2003-07-04 | 2010-01-13 | Lg电子株式会社 | 用于管理一次写入光盘上的重写记录的方法和装置 |
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 |
KR100667758B1 (ko) * | 2004-07-30 | 2007-01-11 | 삼성전자주식회사 | 정보 저장 매체, 기록/재생 장치 및 기록/재생 방법 |
WO2006031052A2 (en) * | 2004-09-14 | 2006-03-23 | Lg Electronics Inc. | Recording medium, and method and apparatus of recording and reproducing data on the same |
KR100667784B1 (ko) | 2004-12-15 | 2007-01-11 | 삼성전자주식회사 | Low에 의한 rmw를 수행하는 기록/재생 장치, 그기록/재생 방법 및 그 정보 저장 매체 |
FI120175B (fi) * | 2006-10-27 | 2009-07-15 | Tellabs Oy | Digitaalisen informaation siirtäminen kehitysvälitteisessä tiedonsiirtoverkossa |
KR100793232B1 (ko) * | 2006-11-17 | 2008-01-10 | 엘지전자 주식회사 | 광디스크 장치에서의 타이틀 기록 및 재생방법 |
JP4721063B2 (ja) * | 2006-12-12 | 2011-07-13 | ソニー株式会社 | 光ディスク装置及び記録制御方法 |
JP4932505B2 (ja) * | 2007-01-19 | 2012-05-16 | ルネサスエレクトロニクス株式会社 | 光ディスクコントローラ及び光ディスクドライブシステム |
EP2186092A1 (en) * | 2007-08-22 | 2010-05-19 | Thomson Licensing | Hard disk sector/track remapping for transparent wear leveling |
KR101453296B1 (ko) * | 2008-01-10 | 2014-10-21 | 삼성전자주식회사 | 정보 저장 매체, 기록/재생 장치 및 기록/재생 방법 |
JP5000632B2 (ja) * | 2008-12-26 | 2012-08-15 | シャープ株式会社 | 情報記録媒体、情報記録再生装置、連携システム、これらの装置又はシステムの制御プログラム及びコンピュータ読み取り可能な記録媒体 |
JPWO2011096201A1 (ja) * | 2010-02-04 | 2013-06-10 | パナソニック株式会社 | 情報再生装置および情報再生方法 |
US9104591B2 (en) | 2012-12-11 | 2015-08-11 | Sandisk Technologies Inc. | Data recovery on cluster failures and ECC enhancements with code word interleaving |
JP2016042401A (ja) | 2014-08-19 | 2016-03-31 | ソニー株式会社 | 情報処理装置および方法、記録媒体、並びにプログラム |
US10055267B2 (en) | 2015-03-04 | 2018-08-21 | Sandisk Technologies Llc | Block management scheme to handle cluster failures in non-volatile memory |
JP6589981B2 (ja) * | 2015-05-25 | 2019-10-16 | ソニー株式会社 | 記録装置、記録方法、記録媒体 |
US10042582B2 (en) | 2015-08-28 | 2018-08-07 | Panasonic Intellectual Property Management Co., Ltd. | Data erasing method |
CN111785306B (zh) * | 2019-04-03 | 2021-06-08 | 光宝电子(广州)有限公司 | 一种光碟机系统中光碟片写入失败时的控制方法 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5877034A (ja) * | 1981-10-30 | 1983-05-10 | Hitachi Ltd | 記録方法 |
JPS6086622A (ja) | 1983-10-19 | 1985-05-16 | Nec Corp | デイスク装置の入出力制御装置 |
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 | 情報記録方式と情報記録媒体 |
FI85112C (fi) * | 1989-09-11 | 1992-03-10 | Toolsystem Oy | Boejningsanordning foer tunnplaotar och foerfarande foer boejning av tunnplaotar. |
JPH04105269A (ja) * | 1990-08-24 | 1992-04-07 | Sony Corp | ディスク記録装置及びディスク記録再生装置 |
US5448728A (en) * | 1991-08-08 | 1995-09-05 | Sharp Kabushiki Kaisha | Storage medium control system for controlling a write-once read-many storage medium |
JPH0620442A (ja) * | 1992-07-02 | 1994-01-28 | Toshiba Corp | 光磁気ディスクの障害復旧方法 |
JP3370724B2 (ja) | 1993-03-17 | 2003-01-27 | 株式会社リコー | 情報記録装置 |
WO1996027882A1 (en) * | 1995-03-03 | 1996-09-12 | Cirrus Logic, Inc. | Defect management for automatic track processing without id field |
KR100228795B1 (ko) * | 1996-12-31 | 1999-11-01 | 윤종용 | 재할당 섹터가 있는 트랙에서의 억세스성능 향상방법 |
JPH10320924A (ja) * | 1997-05-21 | 1998-12-04 | Canon Inc | 情報記録方法 |
JPH11213626A (ja) | 1998-01-21 | 1999-08-06 | Toshiba Corp | データ記録媒体とデータ記録装置とデータ再生装置 |
JPH11339385A (ja) | 1998-05-22 | 1999-12-10 | Canon Inc | 情報再生方法 |
JP2000040306A (ja) * | 1998-07-23 | 2000-02-08 | Matsushita Electric Ind Co Ltd | 書換可能な記録膜を用いた追記型光ディスク、および光ディスク初期化方法および光ディスク再生方法および光ディスク追記方法、および光ディスク初期化装置および光ディスク再生装置および光ディスク追記装置 |
EP1152414B1 (en) * | 1998-10-22 | 2005-10-19 | Matsushita Electric Industrial Co., Ltd. | Information recording medium, and method and apparatus for managing defect thereof |
KR100667729B1 (ko) * | 1998-11-10 | 2007-01-11 | 삼성전자주식회사 | 결함 관리를 위한 여유 공간과 그 관리 정보를 갖는 디스크, 여유 공간 할당 방법과 결함 관리 방법 |
US6466532B1 (en) * | 1998-11-10 | 2002-10-15 | Samsung Electronics Co., Ltd. | Recording medium having spare area for defect management and information on defect management, and method and apparatus of allocating spare area and managing defects |
US6552982B1 (en) * | 1999-03-08 | 2003-04-22 | Matsushita Electric Industrial Co., Ltd. | Information recording medium, information recording and reproduction method, and information recording and reproduction apparatus |
JP4116740B2 (ja) * | 1999-03-08 | 2008-07-09 | 松下電器産業株式会社 | 情報記録媒体、情報記録方法、情報記録装置および情報再生装置 |
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 |
US6426928B1 (en) * | 1999-03-31 | 2002-07-30 | International Business Machines Corporation | Ability to distinguish true disk write errors |
CN1184027C (zh) * | 1999-11-05 | 2005-01-12 | 株式会社阿玛达 | 压弯机 |
JP3735498B2 (ja) | 1999-11-09 | 2006-01-18 | 株式会社東芝 | 情報記録媒体、情報記録装置、情報記録方法 |
JP3975631B2 (ja) * | 1999-12-24 | 2007-09-12 | 株式会社日立製作所 | 光ディスク装置とそのデータ記録方法 |
US6690879B2 (en) * | 2000-02-16 | 2004-02-10 | Matsushita Electric Industrial Co., Ltd. | Magnetic recording and reproducing apparatus of helical scan type |
JP4344485B2 (ja) * | 2000-03-08 | 2009-10-14 | パナソニック株式会社 | 情報記録媒体、情報記録方法および情報再生方法 |
AT411164B (de) * | 2000-08-16 | 2003-10-27 | Trumpf Maschinen Austria Gmbh | Verfahren zum betrieb einer biegepresse und biegepresse, insbesondere abkantpresse |
KR20040027259A (ko) * | 2002-09-26 | 2004-04-01 | 엘지전자 주식회사 | 1 회 기록 가능한 광디스크의 디펙트 영역 관리방법 |
CN1685418A (zh) * | 2002-09-27 | 2005-10-19 | 皇家飞利浦电子股份有限公司 | 用于在写一次介质上的缺陷与分配管理的方法和设备 |
JP4606693B2 (ja) * | 2002-11-22 | 2011-01-05 | ソニー株式会社 | 光ディスク、記録装置、再生装置、記録方法、再生方法 |
ES2340844T3 (es) * | 2002-12-11 | 2010-06-10 | Lg Electronics, Inc. | Metodo de gestion de sobrescritura y metodo de grabacion de informacion de gestion de un disco optico de una sola escritura. |
CN2602625Y (zh) * | 2002-12-26 | 2004-02-11 | 李建波 | 充气式便携药物护踝 |
EP1606805A4 (en) * | 2003-03-24 | 2011-11-02 | Samsung Electronics Co Ltd | METHOD FOR WRITEING DATA OF A RECORDABLE MEDIUM, AND CORRESPONDING DATA RECORDING AND / OR DATA PLAYING DEVICE |
JP4095977B2 (ja) * | 2004-03-11 | 2008-06-04 | 株式会社リコー | 欠陥管理方法及び情報記録装置 |
JP2005322337A (ja) * | 2004-05-10 | 2005-11-17 | Pioneer Electronic Corp | 情報記録媒体、情報記録媒体用の記録装置及び記録方法、情報記録媒体用の再生装置及び再生方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造 |
WO2005124766A1 (ja) * | 2004-06-15 | 2005-12-29 | Matsushita Electric Industrial Co., Ltd. | ドライブ装置 |
KR101012378B1 (ko) * | 2004-08-16 | 2011-02-09 | 엘지전자 주식회사 | 광 저장매체의 기록 재생 방법 및 장치 |
CN201030395Y (zh) * | 2006-12-29 | 2008-03-05 | 上海宝冶建设有限公司 | 钢板压弯机 |
-
2005
- 2005-05-15 US US11/570,727 patent/US7940613B2/en active Active
- 2005-06-15 WO PCT/JP2005/010957 patent/WO2005124772A1/ja active Application Filing
- 2005-06-15 CN CN2010101261941A patent/CN101777367B/zh not_active Expired - Fee Related
- 2005-06-15 CN CN2010101345152A patent/CN101807418B/zh not_active Expired - Fee Related
- 2005-06-15 CN CN2009102040572A patent/CN101882453B/zh not_active Expired - Fee Related
- 2005-06-15 JP JP2006514769A patent/JP4451441B2/ja not_active Expired - Fee Related
- 2005-06-15 WO PCT/JP2005/010967 patent/WO2005124774A1/ja active Application Filing
- 2005-06-15 JP JP2006514768A patent/JP4495156B2/ja active Active
- 2005-06-15 KR KR1020067026517A patent/KR101138641B1/ko active IP Right Grant
- 2005-06-15 JP JP2006514764A patent/JPWO2005124772A1/ja active Pending
- 2005-06-15 EP EP05751185A patent/EP1760716A4/en not_active Withdrawn
- 2005-06-15 CN CN2009102040587A patent/CN101877233B/zh not_active Expired - Fee Related
- 2005-06-15 US US11/570,728 patent/US7990825B2/en not_active Expired - Fee Related
- 2005-06-15 WO PCT/JP2005/010963 patent/WO2005124773A1/ja active Application Filing
- 2005-06-15 US US11/570,730 patent/US7924666B2/en not_active Expired - Fee Related
- 2005-06-15 EP EP05751181A patent/EP1768126A4/en not_active Withdrawn
-
2009
- 2009-11-30 JP JP2009272884A patent/JP5044632B2/ja not_active Expired - Fee Related
- 2009-11-30 JP JP2009272953A patent/JP4901943B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4495156B2 (ja) | 2010-06-30 |
CN101807418B (zh) | 2013-03-13 |
WO2005124774A1 (ja) | 2005-12-29 |
KR20070029747A (ko) | 2007-03-14 |
CN101877233B (zh) | 2013-01-02 |
KR101138641B1 (ko) | 2012-04-26 |
EP1768126A1 (en) | 2007-03-28 |
US7924666B2 (en) | 2011-04-12 |
EP1760716A1 (en) | 2007-03-07 |
CN101882453A (zh) | 2010-11-10 |
JP5044632B2 (ja) | 2012-10-10 |
CN101882453B (zh) | 2012-06-20 |
US20080304377A1 (en) | 2008-12-11 |
WO2005124772A1 (ja) | 2005-12-29 |
JPWO2005124773A1 (ja) | 2008-04-17 |
US20080198710A1 (en) | 2008-08-21 |
EP1768126A4 (en) | 2013-03-13 |
JP4451441B2 (ja) | 2010-04-14 |
EP1760716A4 (en) | 2012-02-22 |
JP2010049795A (ja) | 2010-03-04 |
CN101777367A (zh) | 2010-07-14 |
US7940613B2 (en) | 2011-05-10 |
CN101807418A (zh) | 2010-08-18 |
WO2005124773A1 (ja) | 2005-12-29 |
JP4901943B2 (ja) | 2012-03-21 |
US7990825B2 (en) | 2011-08-02 |
JPWO2005124774A1 (ja) | 2008-04-17 |
CN101777367B (zh) | 2012-02-22 |
CN101877233A (zh) | 2010-11-03 |
JP2010049793A (ja) | 2010-03-04 |
US20080019247A1 (en) | 2008-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4451441B2 (ja) | ドライブ装置 | |
JP4495155B2 (ja) | ドライブ装置 | |
JP4451443B2 (ja) | ドライブ装置 | |
JP4830033B2 (ja) | ドライブ装置 | |
JP4773557B2 (ja) | ドライブ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100105 |