(57)【要約】【課題】追記型光ディスクへの書き込みエラー発生時において、書き込んだデータを確実に読み出せるようにし、エラー発生以後のデータ書き込みを可能にすること。【解決手段】追記型光ディスク３へのデータ書き込み処理において、ディスク上に、データ２０１，２０２と当該データの書き込み位置を示す管理情報２１０とを書き込み、書き込んだ管理情報２１０を読み出して書き込み／読み出し時のエラーの有無を判定する。読み出した管理情報２１０ａにエラー有りと判定した場合、管理情報２１０ｂを再度作成して、ディスク上の新たな位置に再度書き込む。【選択図】図３
2006004487.tif 000002
【特許請求の範囲】
【請求項１】
追記型光ディスクへのデータ書き込み処理において、
該ディスク上に、データと当該データの書き込み位置を示す管理情報とを書き込み、
書き込んだ該管理情報を読み出して書き込み／読み出し時のエラーの有無を判定し、
読み出した該管理情報にエラー有りと判定した場合、管理情報を再度作成して、該ディスク上の新たな位置に再度書き込むことを特徴とする光ディスクアクセス方法。
【請求項２】
請求項１記載の光ディスクアクセス方法において、
前記書き込み／読み出し時のエラーの有無は、読み出した管理情報と書き込み時の管理情報とを比較することで判定することを特徴とする光ディスクアクセス方法。
【請求項３】
追記型光ディスクからのデータ読み出し処理において、
該ディスク上から、当該データのディスク上の書き込み位置を示す管理情報を読み出し、該管理情報により当該データにアクセスして当該データを読み出すものであって、
該管理情報の読み出し時または当該データの読み出し時にエラーが発生した場合、該ディスク上に当該データの更新前のデータが存在するか否かを検索し、存在する場合には、更新前の管理情報により更新前のデータにアクセスすることを特徴とする光ディスクアクセス方法。
【請求項４】
請求項３記載の光ディスクアクセス方法において、
前記更新前のデータが存在するか否かは、読み出し時にエラーが発生した前記管理情報の位置よりも時間的に過去に書き込まれた管理情報を検索し、該管理情報より当該データの更新前のデータが存在するか否かを判定することを特徴とする光ディスクアクセス方法。
【請求項５】
追記型光ディスクへのデータ書き込みプログラムにおいて、
該ディスク上にデータを書き込むステップと、
該ディスク上に書き込んだデータの書き込み位置を示す管理情報を作成するステップと、
作成した該管理情報を該ディスク上に書き込むステップと、
該ディスク上から書き込んだ該管理情報を読み出すステップと、
読み出した該管理情報のエラーの有無を判定するステップとを備え、
該判定の結果エラー有りの場合、管理情報を再度作成するステップと、
該再度作成した管理情報を該ディスク上の新たな位置に再度書き込むステップとを有することを特徴とする光ディスクアクセスプログラム。
【請求項６】
追記型光ディスクからのデータ読み出しプログラムにおいて、
該ディスク上から、当該データのディスク上の書き込み位置を示す管理情報を読み出すステップと、
該管理情報により当該データにアクセスして当該データを読み出すステップと、
該管理情報の読み出し時または当該データの読み出し時のエラーの有無を判定するステップとを備え、
該判定の結果エラー有りの場合、該ディスク上に当該データの更新前のデータが存在するか否かを検索するステップと、
存在する場合には、更新前の管理情報により更新前のデータにアクセスするステップとを有することを特徴とする光ディスクアクセスプログラム。
【請求項７】
追記型光ディスクへのデータ書き込み読み出しを行う光ディスク装置において、
該データを書き込み読み出しする記録再生手段と、
該記録再生手段を制御する制御手段とを有し、
該記録再生手段は、該ディスク上に、データと当該データの書き込み位置を示す管理情報とを書き込み、該ディスク上から書き込んだ管理情報を読み出し、読み出した該管理情報にエラー有りと判定された場合、新たな管理情報を該ディスク上の新たな位置に再度書き込むことを特徴とする光ディスク装置。
【請求項８】
追記型光ディスクへのデータ書き込み読み出しを行う光ディスク装置において、
該データを書き込み読み出しする記録再生手段と、
該記録再生手段を制御する制御手段とを有し、
上記記録再生手段は、該ディスク上から、当該データのディスク上の書き込み位置を示す管理情報を読み出し、該管理情報により当該データにアクセスして当該データを読み出すものであって、該管理情報の読み出し時または当該データの読み出し時にエラーが発生し、該ディスク上に当該データの更新前のデータが存在する場合には、更新前の管理情報により更新前のデータにアクセスすることを特徴とする光ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータ等からの転送データを追記型光ディスク媒体に書き込み／読み出しを行うためのデータのアクセス方法、アクセスプログラムおよび光ディスク装置に関し、特に書き込み／読み出し時のエラー発生に対し好適に対処する技術に関する。
【背景技術】
【０００２】
コンピュータシステムにおいて、追記型光ディスク媒体にパケットライト方式でデータを書き込む場合、アプリケーションプログラムまたはファイルシステムドライバにより、追記型光ディスクのファイルフォーマットに従いデータが転送される。データの転送時に書き込みエラーが発生した場合は、ファイルフォーマットが完結しないため、書き込んだディスクが使用不可となるケースがあった。
【０００３】
書き込みエラー発生時においても記録済みのファイルデータを復元させるための技術として、ファイル中にファイルフォーマットの管理情報を記録する方法がある（特許文献１）。また、書き込みエラー発生時にパケットライト方式を切り換えて転送データを再度書き込む方法が提案されている（特許文献２）。
【０００４】
【特許文献１】特開２００２−２３０８８９号公報
【０００５】
【特許文献２】特開２００２−１８４１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１のようにファイル中にファイルフォーマットの管理情報を記録する方法では、エラー発生以前のファイルデータは利用可能となるが、エラー発生以後の光ディスクへの書き込みができなくなる。さらに、以前書き込んだデータが正常に読み出し可能かを確認する手段がなかった。
【０００７】
また、上記特許文献２のように転送データを再度書き込む方法では、ファイルフォーマットの管理情報に記録されているアドレス情報と、再度書き込んだファイルデータのアドレスとが一致しないために、ファイルシステムドライバからファイルを読み出すことができなくなる。
【０００８】
また、書き込みエラーが発生していないディスクにおいても、ディスクの傷や埃等によりファイルフォーマット管理情報の読み出しエラーが発生する場合がある。その際、ファイルシステムドライバは、管理情報に記録されているディスクのアドレス情報に従いデータを読み出すため、１つまたは複数のファイルデータが読み出しできないことになる。追記型光ディスクのファイルフォーマットにおいて、一般にディスクの最終記録位置にはファイルフォーマット管理情報が存在するが、このファイルフォーマット管理情報の読み出しでエラーが発生した場合は、ディスク全体のファイルデータの読み出しができないことになる。
【０００９】
本発明の目的は、追記型光ディスク媒体への書き込みにおいて、書き込みエラー発生時においても、書き込んだファイルデータを確実に読み出すことができ、エラー発生以後の光ディスクへのファイルデータの書き込みを可能とすることにある。
【００１０】
また本発明の目的は、追記型光ディスクからのデータ読み出しにおいて、書き込みエラーはないが管理情報の読み出しエラーが発生した時、ファイル内容がすべて失われることを防ぐことにある。
【課題を解決するための手段】
【００１１】
本発明は、追記型光ディスクへのデータ書き込み処理において、ディスク上に、データと当該データの書き込み位置を示す管理情報とを書き込み、書き込んだ管理情報を読み出して書き込み／読み出し時のエラーの有無を判定する。読み出した管理情報にエラー有りと判定した場合、管理情報を再度作成して、ディスク上の新たな位置に再度書き込む。
【００１２】
また、本発明は、追記型光ディスクからのデータ読み出し処理において、ディスク上から、当該データのディスク上の書き込み位置を示す管理情報を読み出し、管理情報により当該データにアクセスして当該データを読み出すものである。そして、管理情報の読み出し時または当該データの読み出し時にエラーが発生した場合、ディスク上に当該データの更新前のデータが存在するか否かを検索し、存在する場合には、更新前の管理情報により更新前のデータにアクセスする。
【発明の効果】
【００１３】
書き込みエラー発生時においても、管理情報の再書き込みを行うことにより、書き込んだファイルデータを確実に読み出すことができる。また、エラー発生以後の光ディスクへのファイルデータの書き込みを可能とし、ディスクの継続使用が可能となる。
【００１４】
また、読み出しエラー発生時に、目的とするデータの更新前のデータを取得することができ、読み出しエラーによりファイル内容がすべて失われることを防ぐことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【実施例１】
【００１６】
図１ないし図３は、本発明による光ディスクへのアクセス方法の一実施例を示すものである。
【００１７】
図１は、本発明による光ディスクへのアクセス方法を適用したコンピュータシステムの構成の一例を示すブロック図である。本実施例のコンピュータシステムは、上位装置１と、この上位装置１に接続されたＤＶＤ−Ｒドライブ等の光ディスク装置２と、光ディスク装置２で書き込み／読み出し可能なＤＶＤ−Ｒ等の追記型光ディスク媒体３とを含んでいる。
【００１８】
上位装置１は、パーソナルコンピュータ等で構成され、オペレーティングシステム１１、ＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ）ファイルシステムドライバ１２、デバイスドライバ１３等の基本ソフトウェアモジュールと、その上で稼動するアプリケーションプログラム１４等のソフトウェアを含んでいる。
【００１９】
ＵＤＦファイルシステムドライバ１２は、追記型光ディスク３のファイルフォーマットに従い、ファイルの作成・更新・削除等を行うソフトウェアである。本発明のアクセス方法は、主にこのＵＤＦファイルシステムドライバ１２により実現される。デバイスドライバ１３は、追記型光ディスク３への書き込み／読み出しを行うために光ディスク装置２を制御し、ＵＤＦファイルシステムドライバ１２と連携して追記書き込みの規格に従った記録方法を実現するソフトウェアである。アプリケーションプログラム１４は、各種業務を実行する業務プログラムまたはユーザインタフェースを提供するプログラムである。
【００２０】
光ディスク装置２は、追記型光ディスク媒体３にデータを書き込み読み出しする記録再生部２１と、これを制御する制御部２２を備える。制御部２２は上位装置１からの指令により記録再生部２１を制御するとともに、上位装置１からの書き込みデータを受け取り、読み出したデータを上位装置１に返送する。
【００２１】
図２は、追記型光ディスク媒体３におけるデータ書き込み時のデータレイアウトの一例を示す図である。図２（ａ）はＵＤＦファイルシステムにおけるパケットライト方式による書き込みを示し、各ファイルデータ２０１，２０２は１個または複数個のパケット形式として書き込む。複数個のファイルを１個のパケットとしても良い。そして、パケットの最後にファイルフォーマットの管理情報２１０として、各ファイルのディスク上の位置を示すＶＡＴ（Ｖｉｒｔｕａｌ Ａｌｌｏｃａｔｉｏｎ Ｔａｂｌｅ）と呼ばれる情報が書き込まれる。図では、ファイル１（２０１）とファイル２（２０２）を１個のパケットとし、ＶＡＴにはそれぞれのファイルの位置情報が記述されている。
【００２２】
データ読み出し時には、この管理情報（ＶＡＴ）２１０に記述された位置情報に基づき目的のファイルにアクセスし（図中の破線で示す）、目的のデータを読み出すことができる。もし、ＶＡＴすなわち管理情報が書き込みエラーにより正常に書き込まれなかったり、または管理情報の読み出しに失敗すると、ファイル位置が不明となる為、目的のファイルにアクセスできずデータを読み出すことができなくなる。
【００２３】
ファイルデータの書き込みチェックは、通常、アプリケーションプログラム１４により書き込んだファイルデータを読み出しすることで行うが、ファイル全体を読み出す必要があり読み出しに時間がかかる。なお、アプリケーションプログラムからはＶＡＴ等の管理情報の位置が特定できないため、管理情報の読み出しチェックができない。
【００２４】
そこで本実施例では、ＵＤＦファイルシステムドライバ１２において、ファイルデータと管理情報の書き込み後に管理情報（ＶＡＴ）２１０を読み出しこれをチェックすることで、管理情報が正常に書き込まれたかどうかを確認するようにした。この方法によれば、ディスク上の管理情報（ＶＡＴ）２１０を読み出すだけであるから、アプリケーションプログラム１４による方法に比較し短時間で書き込み不良を確認できることになる。
【００２５】
さらに本実施例では、図２（ｂ）に示すように、管理情報２１０ａの書き込み時または読み出し時にエラーが発生した場合は、新たな管理情報２１０ｂを新たな位置に再度書き込むようにする。新たな管理情報２１０ｂにより、書き込んだファイル２０１，２０２へのアクセスが可能になり、書き込んだファイルデータを確実に読み出すことができる。また、エラー発生時においても、エラー発生以後の光ディスクへのファイルデータの書き込みを可能とし光ディスクの継続使用が可能となる。ここで新たな管理情報２１０ｂは、新たな書き込み位置を決定し、ＶＡＴ情報の再計算を行うことで作成する。
【００２６】
図３は、本実施例におけるアクセス方法として、データ書き込み時のフローチャートを示す図である。これに沿ってその工程を説明する。
【００２７】
上位装置１のＵＤＦファイルシステムドライバ１２は、ファイルデータをパケットデータとして光ディスク装置２に転送し、これを光ディスク媒体３に書き込みを行う（ステップ３００）。ファイルデータの書き込みに対してのエラー有無を判定する（ステップ３０１）。もしエラーがあれば、再度ファイルデータの書き込みを行う。
【００２８】
次に、上記書き込みを行ったファイルデータの記録位置およびこれから書き込みを行う管理情報の記録位置をもとに、ＶＡＴやファイルデータの位置が格納されているＦＥ（Ｆｉｌｅ Ｅｎｔｒｙ）等の管理情報を作成する（ステップ３０２）。パケットの最終データとして、作成した管理情報を書き込み（ステップ３０３）、書き込みエラーの有無を判定する（ステップ３０４）。ここでの判定は、書き込み動作自身が正常であるかどうかをチェックし、書き込みエラーが生じた場合は、ステップ３０２に戻り再度管理情報を作成し、ステップ３０３で再度書き込むようにする。管理情報の書き込みが完了したら、書き込んだ管理情報を読み出し（ステップ３０５）、書き込み元データ、すなわちステップ３０２で作成した管理情報のデータと比較する（ステップ３０６）。管理情報の比較で読み出したデータに誤りがある場合や読み出し動作自身が不可の場合（ステップ３０７）は、ステップ３０２に戻り、管理情報を再度作成し、ステップ３０３で再度書き込むようにする。これを繰り返し、全データを正常に書き込み、読み出しができたら書き込み処理を終了する。
【００２９】
この工程により、ファイルデータと管理情報の書き込み後に管理情報を読み出しこれをチェックすることで、管理情報の値が正常に書き込まれたかどうかを確認するとともに、エラーが発生した場合は、新たな管理情報を再度書き込むので、書き込んだファイルデータを確実に読み出すことを保証する。また新たに書き込まれる管理情報は、追記型光ディスクのフォーマットに従っているので、エラー発生以後のデータの書き込みは継続して可能となる。
【００３０】
なお、ステップ３０２の管理情報の作成およびステップ３０３の書き込みを行うタイミングは、ステップ３００のファイルデータ書き込みの直後に行う必要はない。例えば、ディレクトリ情報などの他の情報を書き込んだ後に管理情報の書き込みを行っても良い。
【実施例２】
【００３１】
図４および図５は、本発明による光ディスクへのアクセス方法の他の実施例を示すものである。
【００３２】
図４は、本発明を適用した追記型光ディスク媒体３におけるデータ読み出し時のデータレイアウトの一例を示す図である。ＵＤＦファイルシステムドライバ１２においてファイルデータを読み出すためには、図４（ａ）に示すように管理情報（ＶＡＴ）４１０を読み出し、目的のファイル位置を特定しそこにアクセスする必要がある。しかし、ファイル１（４０１）のように管理情報４１０は読み出せても目的のファイルデータの一部４０１ｘが壊れていて読み出し不可である場合や、ファイル２（４０２）のように管理情報４１０が読み出し不可である場合には、目的のファイルデータを取得することができないことになる。しかしながら、追記型光ディスクのパケットライト方式においては、以前にファイルの更新が行われている場合は、光ディスク上に更新前のファイルが存在する。
【００３３】
本実施例では、ファイルシステムドライバ１２において読み出しエラー発生時に、ディスク上に存在する更新前のファイルにアクセスし、これを読み出すようにする。そのために、以前の管理情報を検索しこれを参照して、読み出しエラーとなったファイルの更新前のファイルが存在するかどうかを確認する。図４（ｂ）に示すように、読み出しエラーとなったファイル４０１，４０２の更新前のファイル４０１ｐ，４０２ｐが存在する場合は、これを読み出し、読み出しエラーとなったファイル４０１，４０２の代替とする。更新前のファイル４０１ｐ，４０２ｐが存在するか否かは、更新前の管理情報４１０ｐを検索し、存在する場合はその位置情報から目的のファイルにアクセスする。
【００３４】
これにより、読み出しエラーにより目的のファイルデータが全く取得できない事態を防ぐことが可能となる。
【００３５】
図５は、本実施例におけるアクセス方法として、データ読み出し時のフローチャートを示す図である。ＵＤＦファイルシステムドライバ１２は、ファイルデータを読み出すために最終書き込み位置にあるＶＡＴ等の管理情報を読み出す（ステップ５００）。管理情報の読み出しに対してのエラー有無を判定する（ステップ５０１）。管理情報の読み出しに成功した場合は、目的のファイルが書き込まれているアドレス（位置情報）を読み出す（ステップ５０２）。ステップ５０１で管理情報の読み出しエラーが発生した場合は、以前の管理情報の読み出し処理（ステップ５０６）に移行する。
【００３６】
ステップ５０２のアドレス読み出しエラー判定を行い（ステップ５０３）、アドレスを取得できた場合は、そこにアクセスしてファイルデータを読み出す（ステップ５０４）。アドレスの読み出しに失敗した場合は、以前の管理情報の読み出し処理（ステップ５０６）に移行する。
【００３７】
ステップ５０４のファイル読み出しエラー判定を行い（ステップ５０５）、正常であればそれを求めるファイルデータとする。ファイルデータの読み出しに失敗した場合は、以前の管理情報の読み出し処理に移行する（ステップ４０６）。
【００３８】
次に、上記各判定ステップ（ステップ５０１，５０３，５０５）で失敗したときに移行する、以前の管理情報読み出し処理（ステップ５０６）について述べる。まず、読み出しに失敗した管理情報の書き込まれている位置から過去に遡って直前の管理情報位置にアクセスする（ステップ５０７）。アクセスした直前の管理情報を読み出す（ステップ５０８）。読み出した管理情報の中に、目的のファイルの更新前ファイルの情報が存在するかどうかを判定する（ステップ５０９）。存在すれば、その管理情報に記述されるアドレスをもとに更新前のファイルにアクセスして更新前のデータを読み出す（ステップ５１０）。読み出した更新前のデータで、目的とするファイルのデータの代替とする。
【００３９】
もしステップ５０９で、直前の管理情報に目的のファイルの更新前ファイルの情報が存在しない場合は、ステップ５０７に戻り、さらに１つ前の管理情報まで遡り、更新前のファイルが存在するかどうかを再度検索する。この工程を繰り返せば、目的のファイルを発見できる確率を高めることができる。
【００４０】
なお、上記説明では省略したが、以前の管理情報読み出し処理（ステップ５０６）においても、管理情報の読み出し、アドレスの読み出し、ファイルの読み出しの際、ステップ５０１、５０３、５０５に示す各読み出しエラーの判定を行うものとする。
【００４１】
上記実施例により、読み出しエラー発生時に以前の管理情報を検索することで、更新前のデータを取得し目的のデータの代替とすることができる。よって、読み出しエラーによりファイル内容がすべて失われることを防ぐことが可能となる。
【００４２】
本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。たとえば、本発明はファイルシステムを解析し、書き込みまたは読み出しを行うプログラム等に適用することができる。
【００４３】
また、上記実施例の説明では、ファイルシステムの一例としてＵＤＦファイルシステムを例にとって説明したが、追記型光ディスクへの書き込みで使用される他のファイルシステムにおいても適用することができる。
【図面の簡単な説明】
【００４４】
【図１】光ディスクへのアクセス方法を適用したコンピュータシステムの構成の一例を示すブロック図。
【図２】追記型光ディスク媒体におけるデータ書き込み時のデータレイアウトの一例を示す図。
【図３】図２における光ディスク媒体へのアクセス方法として、データ書き込み時のフローチャートを示す図。
【図４】追記型光ディスク媒体におけるデータ読み出し時のデータレイアウトの一例を示す図。
【図５】データ読み出し時のフローチャートを示す図。
【符号の説明】
【００４５】
１…上位装置、１２…ＵＤＦファイルシステムドライバ、１３…デバイスドライバ、２…光ディスク装置、２１…記録再生部、２２…制御部、３…追記型光ディスク媒体、２０１，２０２，４０１，４０２…ファイルデータ、２１０，４１０…管理情報。
【図１】
2006004487.tif 000003
【図２】
2006004487.tif 000004
【図３】
2006004487.tif 000005
【図４】
2006004487.tif 000006
【図５】
2006004487.tif 000007