(57)【要約】【課題】複数の追記型光ディスクを用いた並列アクセスを適切に実行することのできる技術を提供する。【解決手段】入力部１０１がデータの書き込み要求を受け付け、制御部１０２が書き込み要求の対象のデータを所定のデータサイズの複数のブロックに分割し、複数のブロックを、複数のディスクドライブ１０３に装着された複数の追記型光ディスクに分散させ、且つ追記型光ディスクの最先の書き込み可能な記憶領域から順に書き込ませ、追記型光ディスクへのブロックの書き込みが成功したか否かを確認し、ブロックの書き込みが失敗したと確認された場合に、書き込みが失敗したブロックを、複数の追記型光ディスクのいずれかの後続の書き込み可能な記憶領域へ書き込ませる。【選択図】図１
2009116946.tif 000002
【特許請求の範囲】
【請求項１】
追記型光ディスクを装着可能であり、前記追記型光ディスクに対するデータの読み書きが可能な光ディスクドライブを複数有する記憶装置であって、
データの書き込み要求を受け付ける入力部と、
書き込み要求の対象のデータを所定のデータサイズの複数のブロックに分割する分割部と、
前記複数のブロックを、前記複数の光ディスクドライブに装着された複数の前記追記型光ディスクに分散させ、且つ前記追記型光ディスクのそれぞれの最先の書き込み可能な記憶領域から順に書き込ませる書き込み制御部と
を有する記憶装置。
【請求項２】
前記追記型光ディスクへの前記ブロックの書き込みが成功したか否かを確認する書き込み確認部を更に備え、
前記書き込み制御部は、前記ブロックの書き込みが失敗したと確認された場合に、書き込みが失敗した前記ブロックを、複数の前記追記型光ディスクのいずれかの後続する書き込み可能な記憶領域へ書き込ませる
請求項１に記載の記憶装置。
【請求項３】
前記書き込み制御部は、前記ブロックの書き込みが失敗したと確認された場合に、書き込みが失敗した前記ブロックを同一の前記追記型光ディスクの後続の書き込み可能な記憶領域に再び書き込ませる
請求項２に記載の記憶装置。
【請求項４】
複数の前記ブロックから、複数の前記追記型光ディスクのそれぞれに書き込む対象とする前記ブロックの集合であるディスク毎ブロック集合を複数構成するディスク毎集合構成部をさらに備え、
前記書き込み制御部は、それぞれの前記ディスク毎ブロック集合に属する前記ブロックを対応する前記追記型光ディスクに書き込ませる制御を、それぞれ独立して実行させる複数のディスク毎書き込み制御部を有する
請求項３に記載の記憶装置。
【請求項５】
前記光ディスクドライブは、
書き込みコマンドを受信すると書き込み対象のデータを、前記光ディスクドライブに装着された前記追記型光ディスクの最先の書き込み可能な記憶領域に書き込む書き込みコマンド実行部と、
ベリファイコマンドを受信するとデータの書き込み確認を行い、その結果を通知するベリファイコマンド実行部とを有し、
前記書き込み確認部は、前記ベリファイコマンドに対する結果に基づいて前記ブロックの書き込みが成功したか否かを確認し、
前記ディスク毎書き込み制御部は、
前記ディスク毎ブロック集合に属する各ブロックについて、前記各ブロックのうちの１つを書き込ませる書き込みコマンドを前記光ディスクドライブに送信する書き込みコマンド送信部と、
前記書き込みコマンドで書き込ませる前記ブロックの書き込みが成功したか否かの結果を要求するベリファイコマンドを送信するベリファイコマンド送信部と、
前記確認部により、前記ブロックの書き込みが失敗したと確認された場合に、書き込みに失敗した前記ブロックを再び書き込ませる書き込みコマンドを送信する書き込みコマンド再送信部とを有する
請求項４に記載の記憶装置。
【請求項６】
前記複数のブロックから、前記複数の追記型光ディスクに対して同時期に書き込ませるブロックの集合である同時期書き込みブロック集合を構成する同時期書き込み集合構成部と、
前記書み込み制御部は、前記同時期書き込みブロック集合の各ブロックを前記複数の追記型光ディスクに分散させて書き込ませ、
前記書き込み確認部は、前記同時期書き込みブロック集合の前記各ブロックの書き込みが成功したか否かを確認し、
前記同時期書き込み集合構成部は、前記ブロックの書き込みが失敗したと確認された場合に、書き込みを失敗した前記ブロックを、以降に前記追記型光ディスクに書き込ませるための同時期書き込みブロック集合に含めて構成する
請求項２に記載の記憶装置。
【請求項７】
前記同時期書き込み集合構成部は、前記ブロックの書き込みが失敗したと確認された場合に、書き込みを失敗した前記ブロックを、次に前記追記型光ディスクに書き込ませるための同時期書き込みブロック集合に含めて構成する
請求項６に記載の記憶装置。
【請求項８】
前記光ディスクドライブは、
書き込みコマンドを受信する対象のデータを、前記光ディスクドライブに装着された前記追記型光ディスクの最先の書き込み可能な記憶領域に書き込む書き込みコマンド実行部と、
ベリファイコマンドを受信するとデータの書き込み確認を行い、その結果を通知するベリファイコマンド実行部とを有し、
前記書き込み確認部は、前記ベリファイコマンドに対する結果に基づいて前記ブロックの書き込みが成功したか否かを確認し、
前記書き込み制御部は、
前記同時期書き込みブロック集合に属する各ブロックについて、前記各ブロックのそれぞれを書き込ませる複数の書き込みコマンドを複数の前記光ディスクドライブに送信する書き込みコマンド送信部と、
複数の前記書き込みコマンドで書き込ませる前記ブロックの書き込みが成功したか否かの結果を要求するベリファイコマンドを送信するベリファイコマンド送信部とを有する
請求項７に記載の記憶装置。
【請求項９】
前記書き込み要求には、書き込み対象のボリュームを特定するボリューム特定情報が含まれており、
ボリューム特定情報と、当該ボリューム特定情報により特定されるボリュームを構成する複数の追記型光ディスクの識別情報とを対応付けて記憶するボリューム管理テーブルと、
前記ボリューム管理テーブルに基づいて、前記書き込み対象の前記ボリュームを構成する前記追記型光ディスクの複数の識別情報を特定するディスク特定部と、
前記特定された複数の識別情報に対応する複数の前記追記型光ディスクを複数の前記光ディスクドライブに装着する装着機構部とを更に有する
請求項１乃至請求項８のいずれか一項に記載の記憶装置。
【請求項１０】
前記書き込み制御部は、前記ブロックとともに、前記データにおける前記ブロックの順番を示す情報を書き込ませる
請求項１乃至請求項９のいずれか一項に記載の記憶装置。
【請求項１１】
前記書込み要求の対象のデータを構成する前記複数のブロックを書き込んだ複数の前記追記型光ディスク上の位置情報を管理する書き込み位置管理部を更に備える
請求項１乃至請求項１０のいずれか一項に記載の記憶装置。
【請求項１２】
追記型光ディスクを装着可能であり、前記追記型光ディスクに対するデータの読み書きが可能な光ディスクドライブを複数有する記憶装置によるデータ書き込み制御方法であって、
前記記憶装置の入力部が、データの書き込み要求を受け付ける入力ステップと、
前記記憶装置の分割部が、書き込み要求の対象のデータを所定のデータサイズの複数のブロックに分割する分割ステップと、
前記記憶装置の書き込み制御部が、前記複数のブロックを、前記複数の光ディスクドライブに装着された複数の前記追記型光ディスクに分散させ、且つ複数の前記追記型光ディスクのそれぞれの最先の書き込み可能な記憶領域から順に書き込ませる書き込み制御ステップと
を有するデータ書き込み制御方法。
【請求項１３】
前記記憶装置の書き込み確認部が、前記追記型光ディスクへの前記ブロックの書き込みが成功したか否かを確認する書き込み確認ステップと、
前記書き込み制御部が、前記ブロックの書き込みが失敗したと確認された場合に、書き込みが失敗した前記ブロックを、前記複数の追記型光ディスクのいずれかの後続の書き込み可能な記憶領域へ書き込ませる再書き込みステップと
を更に有する請求項１２に記載のデータ書き込み制御方法。
【請求項１４】
前記記憶装置のディスク毎集合構成部が、前記複数のブロックから、複数の前記追記型光ディスクのそれぞれに書き込む対象とする前記ブロックの集合であるディスク毎ブロック集合を複数構成するディスク毎集合構成ステップと、
前記記憶装置の前記書き込み制御部が、それぞれの前記ディスク毎ブロック集合に属する前記ブロックを対応する前記追記型光ディスクに書き込ませる制御を、それぞれ独立して実行させる独立制御ステップと
を有する請求項１３に記載のデータ書き込み制御方法。
【請求項１５】
前記記憶装置の同時期書き込み集合構成部が、前記複数のブロックから、前記複数の追記型光ディスクに対して同時期に書き込ませるブロックの集合である同時期書き込みブロック集合を構成する第１の同時期書き込み集合構成ステップをさらに有し、
前記書き込み制御ステップにおいて、前記書み込み制御部が、前記同時期書き込みブロック集合の各ブロックを前記複数の追記型光ディスクに分散させて書き込ませ、
前記確認ステップにおいて、前記書き込み確認部は、前記同時期書き込みブロック集合の前記各ブロックの書き込みが成功したか否かを確認し、
前記記憶装置の前記同時期書き込み集合構成部が、前記ブロックの書き込みが失敗したと確認された場合に、書き込みを失敗した前記ブロックを、以降に前記追記型光ディスクに書き込ませるための同時期書き込みブロック集合に含めて構成する第２の同時期書き込み集合構成ステップを更に有する
請求項１３に記載のデータ書き込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の追記型光ディスクを装着可能であり、複数の追記型光ディスクに対するデータの読み書きが可能な記憶装置、およびデータ書き込み制御方法に関する。
【背景技術】
【０００２】
近年、コンピュータ用情報のみならず、音声や静止画像、動画像などの情報を保存するための記憶媒体として光情報記録媒体（光ディスク）が実用化されている。そして、光情報記録媒体は更なる高密度化や高速転送化に向けて開発が進められており、記録再生を行うドライブ装置の将来的な形としての薄型化や小型化、あるいは媒体収納時の軽量小型化等を見据えて、光情報記録媒体自体の厚みをより薄くする試みがなされている。例えば、特許文献１では、複数の薄型情報記録媒体を積層してカートリッジの内部に納め、記録再生時には、カートリッジから任意のディスクを取り出して、ディスク記録再生装置に装着する技術が開示されている。
【０００３】
光ディスクのデータ容量が拡大する一方で、光ディスクは、ＨＤＤやテープデバイスに比べて転送性能が低い。このような光ディスクを用いた技術として、例えば、特許文献２では、ストライピング可能な光ディスクアレイ装置を用いて、１つのデータを複数の光ディスクに分散し、並列にアクセスすることで転送性能を向上する技術が開示されている。
【特許文献１】特開２００４−１３４０１９号公報
【特許文献２】特開平７−３６６３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
光ディスクの市場では、コスト面や、データを書き込み後に改ざんができない等の理由により、追記型光ディスク（例えば、ＤＶＤ−Ｒ）が最も普及している。この追記型光ディスクは、データを記録領域の内周から外周へと追記するようになっており、任意のセクタに書き込むことが出来ないという特徴がある。また、追記型光ディスクは、データの書き損じが発生した場合に、同じ記録領域に再度書き直しが出来ないという特徴がある。
【０００５】
特許文献２には、光ディスクを用いて並列アクセスする技術が開示されているが、特許文献２の発明においては、その記載から任意の記録領域に書き込み可能な光ディスク、例えば、ＤＶＤ−ＲＡＭディスクを対象としたものであり、上記した特徴を有する追記型光ディスクを用いての並列アクセスに対しては、そのまま適用することができない。
【０００６】
本発明は、上記課題に鑑みなされたものであり、その目的は、複数の追記型光ディスクを用いた並列アクセスを適切に実行することのできる技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る記憶装置は、追記型光ディスクを装着可能であり、前記追記型光ディスクに対するデータの読み書きが可能な光ディスクドライブを複数有する記憶装置であって、データの書き込み要求を受け付ける入力部と、書き込み要求の対象のデータを所定のデータサイズの複数のブロックに分割する分割部と、前記複数のブロックを、前記複数の光ディスクドライブに装着された複数の前記追記型光ディスクに分散させ、且つ前記追記型光ディスクのそれぞれの最先の書き込み可能な記憶領域から順に書き込ませる書き込み制御部とを有する。
【０００８】
また、上記記憶装置において、前記追記型光ディスクへの前記ブロックの書き込みが成功したか否かを確認する書き込み確認部を更に備え、前記書き込み制御部は、前記ブロックの書き込みが失敗したと確認された場合に、書き込みが失敗した前記ブロックを、前記複数の追記型光ディスクのいずれかの後続の書き込み可能な記憶領域へ書き込ませるようにしてもよい。
【０００９】
また、上記記憶装置において、前記書き込み制御部は、前記ブロックの書き込みが失敗したと確認された場合に、書き込みが失敗した前記ブロックを同一の前記追記型光ディスクの後続の記憶可能領域に再び書き込ませるようにしてもよい。
【００１０】
また、上記記憶装置において、前記複数のブロックから、複数の前記追記型光ディスクのそれぞれに書き込む対象とする前記ブロックの集合であるディスク毎ブロック集合を複数構成するディスク毎集合構成部をさらに備え、前記書き込み制御部は、それぞれの前記ディスク毎ブロック集合に属する前記ブロックを対応する前記追記型光ディスクに書き込ませる制御をそれぞれ独立して実行させる複数のディスク毎書き込み制御部を有するようにしてもよい。
【００１１】
また、上記記憶装置において、前記光ディスクドライブは、書き込みコマンドを受信すると対象のデータを、前記光ディスクドライブに装着された前記追記型光ディスクの最先の書き込み可能な記憶領域に書き込む書き込みコマンド実行部と、ベリファイコマンドを受信するとデータの書き込み確認を行い、その結果を通知するベリファイコマンド実行部とを有し、前記書き込み確認部は、前記ベリファイコマンドに対する結果に基づいて前記ブロックの書き込みが成功したか否かを確認し、前記ディスク毎書き込み制御部は、前記ディスク毎ブロック集合に属する各ブロックについて、前記ブロックのうちの１つを書き込ませる書き込みコマンドを前記光ディスクドライブに送信する書き込みコマンド送信部と、前記書き込みコマンドで書き込ませる前記ブロックの書き込みが成功したか否かの結果を要求するベリファイコマンドを送信するベリファイコマンド送信部と、前記確認部により、前記ブロックの書き込みが失敗したと確認された場合に、書き込みに失敗した前記ブロックを再び書き込ませる書き込みコマンドを送信する書き込みコマンド再送信部とを有するようにしてもよい。
【００１２】
また、前記複数のブロックから、前記複数の追記型光ディスクに対して同時期に書き込ませるブロックの集合である同時期書き込みブロック集合を構成する同時期書き込み集合構成部と、前記書み込み制御部は、前記同時期書き込みブロック集合の各ブロックを前記複数の追記型光ディスクに分散させて書き込ませ、前記書き込み確認部は、前記同時期書き込みブロック集合の前記各ブロックの書き込みが成功したか否かを確認し、前記同時期書き込み集合構成部は、前記ブロックの書き込みが失敗したと確認された場合に、書き込みを失敗した前記ブロックを、以降に前記追記型光ディスクに書き込ませるための同時書き込みブロック集合に含めて構成するようにしてもよい。
【００１３】
また、上記記憶装置において、前記同時期書き込み集合構成部は、前記ブロックの書き込みが失敗したと確認された場合に、書き込みを失敗した前記ブロックを、次に前記追記型光ディスクに書き込ませるための同時期書き込みブロック集合に含めて構成するようにしてもよい。
【００１４】
また、上記記憶装置において、前記光ディスクドライブは、書き込みコマンドを受信する対象のデータを、前記光ディスクドライブに装着された前記追記型光ディスクの最先の書き込み可能な記憶領域に書き込む書き込みコマンド実行部と、ベリファイコマンドを受信するとデータの書き込み確認を行い、その結果を通知するベリファイコマンド実行部とを有し、前記書き込み確認部は、前記ベリファイコマンドに対する結果に基づいて前記ブロックの書き込みが成功したか否かを確認し、前記書き込み制御部は、前記同時期書き込みブロック集合に属する各ブロックについて、前記各ブロックのみを書き込ませる書き込みコマンドを前記光ディスクドライブに送信する書き込みコマンド送信部と、前記書き込みコマンドで書き込ませる前記ブロックの書き込みが成功したか否かの結果を要求するベリファイコマンドを送信するベリファイコマンド送信部とを有するようにしてもよい。
【００１５】
また、上記記憶装置において、前記書き込み要求には、書き込み対象のボリュームを特定するボリューム特定情報が含まれており、ボリューム特定情報と、当該ボリューム特定情報により特定されるボリュームを構成する複数の追記型光ディスクの識別情報とを対応付けて記憶するボリューム管理テーブルと、前記ボリューム管理テーブルに基づいて、前記書き込み対象の前記ボリュームを構成する前記追記型光ディスクの複数の識別情報を特定するディスク特定部と、前記特定された複数の識別情報に対応する複数の前記追記型光ディスクを複数の前記光ディスクドライブに装着する装着機構部とを更に有するようにしてもよい。
【００１６】
また、上記記憶装置において、前記書き込み制御部は、前記ブロックとともに、前記データにおける前記ブロックの順番を示す情報を書き込ませるようにしてもよい。
【００１７】
また、上記記憶装置において、前記書込み要求の対象のデータを構成する前記複数のブロックを書き込んだ前記複数の追記型光ディスク上の位置情報を管理する書き込み位置管理部を更に備えるようにしてもよい。
【００１８】
また、上記目的を達成するために、本発明に係るデータ書き込み制御方法は、追記型光ディスクを装着可能であり、前記追記型光ディスクに対するデータの読み書きが可能な光ディスクドライブを複数有する記憶装置によるデータ書き込み制御方法であって、前記記憶装置の入力部が、データの書き込み要求を受け付ける入力ステップと、前記記憶装置の分割部が、書き込み要求の対象のデータを所定のデータサイズの複数のブロックに分割する分割ステップと、前記記憶装置の書き込み制御部が、前記複数のブロックを、前記複数の光ディスクドライブに装着された複数の前記追記型光ディスクに分散させ、且つ前記追記型光ディスクのそれぞれの最先の書き込み可能な記憶領域から順に書き込ませる書き込み制御ステップとを有する。
【００１９】
また、上記データ書き込み制御方法において、前記記憶装置の書き込み確認部が、前記追記型光ディスクへの前記ブロックの書き込みが成功したか否かを確認する書き込み確認ステップと、前記書き込み制御部が、前記ブロックの書き込みが失敗したと確認された場合に、書き込みが失敗した前記ブロックを、前記複数の追記型光ディスクのいずれかの後続の書き込み可能な記憶領域へ書き込ませる再書き込みステップとを更に有するようにしてもよい。
【００２０】
また、上記データ書き込み制御方法において、前記記憶装置のディスク毎集合構成部が、前記複数のブロックから、複数の前記追記型光ディスクのそれぞれに書き込む対象とする前記ブロックの集合であるディスク毎ブロック集合を複数構成するディスク毎集合構成ステップと、前記記憶装置の前記書き込み制御部が、それぞれの前記ディスク毎ブロック集合に属する前記ブロックを対応する前記追記型光ディスクに書き込ませる制御をそれぞれ独立して実行させる独立制御ステップとを有するようにしてもよい。
【００２１】
また、上記データ書き込み制御方法において、前記記憶装置の同時期書き込み集合構成部が、前記複数のブロックから、前記複数の追記型光ディスクに対して同時期に書き込ませるブロックの集合である同時期書き込みブロック集合を構成する第１の同時期書き込み集合構成ステップをさらに有し、前記書き込み制御ステップにおいて、前記書み込み制御部が、前記同時書き込みブロック集合の各ブロックを前記複数の追記型光ディスクに分散させて書き込ませ、前記確認ステップにおいて、前記確認部は、前記同時期書き込みブロック集合の前記各ブロックの書き込みが成功したか否かを確認し、前記記憶装置の前記同時期書き込み集合構成部が、前記ブロックの書き込みが失敗したと確認された場合に、書き込みを失敗した前記ブロックを、以降に前記追記型光ディスクに書き込ませるための同時期書き込みブロック集合に含めて構成する第２の同時期書き込み集合構成ステップを更に有するようにしてもよい。
【発明の効果】
【００２２】
本発明によれば、複数の追記型光ディスクを用いた並列アクセスを適切に実行することができる。
【発明を実施するための最良の形態】
【００２３】
本発明の実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
＜第１実施形態＞
＜ディスク装置の構成＞
本発明の第１実施形態に係る記憶装置の一例であるディスク装置について説明する。
【００２４】
図１は、本発明の第１実施形態に係るディスク装置のシステム概略構成を示す機能ブロック図である。
【００２５】
ディスク装置１００は、入力部１０１と、制御部１０２と、複数のディスクドライブ（光ディスクドライブ）１０３と、ディスクハンドリング部（装着機構部）１０４と、ＨＤＤ（ハードディスクドライブ）１０５と、ＲＡＭ（ランダム・アクセス・メモリ）１０６と、ＲＯＭ（リード・オンリ・メモリ）１０７と、ディスクカートリッジ１１０を装着可能なカートリッジ装着部１０８と、出力部１０９と、を少なくとも備えている。
【００２６】
入力部１０１は、例えばキーボード、タッチパネルやマウス等のポインティングデバイス等により構成される。操作者は、入力部１０１を用いて、ディスク装置１００にデータの管理単位であるファイルを記録（書き込み）・再生（読み出し）するための指示を入力したり、記録すべきデータの入力やファイルのタイトルやコメント等を入力したりできるようになっている。
【００２７】
制御部１０２は、ＣＰＵ（Central Processing Unit）やＭＰＵ(Micro Processing
Unit)で構成されており、ディスク装置１００の各種動作を制御する。制御部１０２による動作については、詳細に後述することとする。
【００２８】
ディスクドライブ１０３は、追記型光ディスクを装着可能であり、装着された追記型光ディスクに対してデータの書き込み・読み出し等を実行する。追記型光ディスクとしては、例えば、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、ＢＤ−Ｒ、ＢＤ−ＲＥ、ＣＤ−Ｒ、ＣＤ−ＲＷ等がある。ディスクドライブ１０３は、制御部１０２から送信されるコマンドに従って動作することができる。本実施形態では、ディスクドライブ１０３は、例えば、書き込みコマンドを受信すると、装着された追記型光ディスクに対してデータを書き込む処理を実行し、また、ベリファイコマンドを受信すると、追記型光ディスクへのデータの書き込みが成功したか否かを確認して確認結果を返し、また、読み出しコマンドを受信すると、装着された追記型光ディスクからデータを読み出す処理を実行する。このディスクドライブ１０３が、コマンド実行部、ベリファイコマンド実行部に相当する。
【００２９】
ディスクハンドリング部１０４は、カートリッジ装着部１０８に装着されたディスクカートリッジ１１０から処理対象のディスクを取り出してディスクドライブ１０３に装着し、また、処理が終了したディスクをディスクドライブ１０３から取り出してディスクカートリッジ１１０の所定の位置にディスクを収納する。
【００３０】
ＨＤＤ１０５には、データを分散して書き込みを行う際や、読み出しを行う際に、データが一時的に格納される。また、ＨＤＤ１０５には、書き込み対象となるデータが格納される。
【００３１】
ＲＡＭ１０６は、データや制御情報を一時的に格納する。本実施形態では、ＲＡＭ１０６は、論理ボリュームにアクセスがあった際に、どの追記型光ディスクをディスクドライブ１０３に装着するのかを決定するために参照される論理ボリューム管理テーブル２０１（図２参照）や、追記型光ディスクにおけるファイル（データ）の格納位置を取得するために参照されるディスク管理テーブル３０１（図３参照）等を格納する。ＲＯＭ１０７は、ディスク装置１００における固定の動作パラメータや各種プログラム等を格納している。
【００３２】
カートリッジ装着部１０８には、１つ又は複数のディスクカートリッジ１１０が装着可能となっている。ディスクカートリッジ１１０には、データを書き込むことができる追記型光ディスクを複数枚収納することができるようになっている。
【００３３】
出力部１０９は、データに基づいて出力を行う。例えば、出力部１０９は、出力対象のデータ（例えば、ディスクドライブ１０３によって読み出されて再構成されたデータ）が画像データであれば、ディスプレイ装置により画像を表示し、音声データであれば、スピーカから出力し、印刷データであれば、プリンタ等によって印刷する。
【００３４】
図２は、本発明の第１実施形態に係る論理ボリューム管理テーブルを示す図である。
【００３５】
論理ボリューム管理テーブル２０１は、論理ボリューム名フィールド２０２と、ディスク番号フィールド２０３とを有するレコードを格納する。論理ボリューム名フィールド２０１には、論理ボリュームの名称が格納される。ディスク番号フィールド２０２には、対応する論理ボリュームを構成する追記型光ディスクを一意に示す番号（識別情報）が格納される。各追記型光ディスクには、当該追記型光ディスクを一意に識別する番号が付与されている。なお、論理ボリュームを構成する追記型光ディスクは単一であっても、複数あってもよい。
【００３６】
図３は、本発明の第１実施形態に係るディスク管理テーブルを示す図である。
【００３７】
ディスク管理テーブル３０１は、ディスク番号フィールド３０２と、ファイル名フィールド３０３と、スタートブロック番号フィールド３０４と、長さフィールド３０５とを有するレコードを格納する。
【００３８】
ディスク番号フィールド３０２には、追記型光ディスクを一意に示す番号が格納される。ファイル名フィールド３０３には、当該追記型光ディスクに格納されているファイルの名称（ファイル名）が格納される。スタートブロック番号フィールド３０４には、対応する追記型光ディスク内における対応するファイル名のデータが格納されている先頭のブロック（ここでのブロックは、追記型光ディスクのセクタ）の番号が格納される。長さフィールド３０５には、対応するファイル名のデータが格納されているブロック（セクタ）の長さ（ブロック数）が格納される。例えば、１番上のレコードによると、ディスク番号”２”の追記型光ディスクにおいて、ファイル名が”ファイルＡ”のデータは、ブロック”０”から長さ”１０”の間の位置（範囲）に格納されていることが分かる。
【００３９】
次に、本発明の第１実施形態に係るディスク装置による処理を説明する。
【００４０】
図４は、本発明の第１実施形態に係る書き込み処理のフローチャートである。
【００４１】
書き込み処理は、ファイルの書き込み要求がディスク装置１００の入力部１０１により入力されたときに実行される処理であり、各処理ステップは、ＲＯＭ１０７に格納されているプログラムを制御部１０２が実行することにより制御される。プログラムを実行する制御部１０２が、分割部、書き込み制御部、書き込み確認部、ディスク毎集合構成部、ディスク毎書き込み制御部、書き込みコマンド送信部、ベリファイコマンド送信部、および書き込みコマンド再送信部に相当する。
【００４２】
ここで、書き込み要求は、複数の追記型光ディスクによって構成された論理ボリュームに対してデータを書き込む要求であり、データを書き込む対象となる論理ボリューム名、書き込むファイルの名称、書き込むデータ（又は、書き込むデータの格納位置を特定する情報）が含まれているものとする。
【００４３】
ステップＳ１０１では、入力部１０１によりファイルの書き込み要求が入力されると、制御部１０２は、論理ボリューム管理テーブル２０１に基づいて、書き込み要求に含まれている論理ボリューム名に対応するディスク番号を特定する。次いで、制御部１０２がディスクハンドリング部１０４を制御して、特定したディスク番号の追記型光ディスク全てをカートリッジ装着部１０８に装着されたディスクカートリッジ１１０から取り出して、それぞれを異なるディスクドライブ１０３に装着する。
【００４４】
ステップＳ１０２では、制御部１０２は、書き込み要求の対象としているデータから、ディスクドライブ１０３に装着された各追記型光ディスクのそれぞれに書き込むための複数のデータセットを構成する。データセットの構成方法については、詳細に後述する。
【００４５】
ステップＳ１０３では、制御部１０２は、１つのデータセットを１つのディスクドライブ１０３の追記型光ディスクへ書き込むためのデータセット書き込みタスクを、各ディスクドライブ１０３を対象に作成して実行を開始する。従って、データセット書き込みタスクは、書き込み対象の追記型光ディスクの数だけ作成されて実行されることとなる。なお、各データセット書き込みタスクについては、詳細に後述する。
【００４６】
ステップＳ１０４では、制御部１０２は、全てのディスクドライブ１０３を対象にした全てのデータセット書き込みタスクから書き込み完了報告が返信されるまで待機し、全てのデータセット書き込みタスクから書き込み完了報告が返信された場合には、ディスク管理テーブル３０１の各フィールドに対応する内容を格納して、書き込み処理を終了する。
【００４７】
図５は、本発明の第１実施形態に係るデータの分割およびデータセットの構成を説明するための図である。
【００４８】
制御部１０２は、図５（ａ）に示す書き込み要求の対象のデータ全体を、図５（ｂ）に示すように、所定のデータサイズのブロックと呼ばれる単位に分割する。ここで、このブロックのデータサイズとしては、例えば、書き込みを行う追記型光ディスクの１つのセクタのデータサイズ以上としてもよく、その場合には、セクタのデータサイズの整数倍のデータサイズであってもよい。
【００４９】
次に、制御部１０２は、図５（ｃ）に示すように、書き込み要求の対象の論理ボリュームを構成するＮ（図では、４）枚の追記型光ディスクを装着したＮ（図では、４）台の光ディスクドライブのそれぞれにより書き込まれるブロックの数が均等又は略均等となるように、分割した複数のブロックを振り分ける。ここで、同一の追記型光ディスクに書き込まれるブロックの集合をデータセット（ディスク毎ブロック集合）という。これによって、各追記型光ディスクに書き込まれるＮ個のデータセットが構成されることとなる。なお、データセットは、対応するブロックのデータ自体をまとめて管理してもよく、また、各ブロックの格納位置を示す情報をひとまとめにして管理してもよい。図５に示す例では、データを分割したブロックを、データの先頭ブロックから順に、ドライブ１、ドライブ２、ドライブ３、ドライブ４とに振り分け、再びドライブ１から順に各ドライブに振り分けているが、ブロックの振り分けの方法はこれに限られない。ただし、並列アクセスによる転送性能向上を最大化するためには、各ドライブに均等にブロックが振り分けられることが望ましい。
【００５０】
図６は、本発明の第１実施形態に係るデータセット書き込みタスクのフローチャートである。このデータセット書き込みタスクは、ＲＯＭ１０７に格納されているプログラムが制御部１０２に実行されることによって制御され、他のデータセット書き込みタスクとは独立して制御部１０２により制御される。
【００５１】
ステップＳ２０１では、制御部１０２は、図４のＳ１０２によって作成されたデータセットの中の１つのブロックをディスクドライブ１０３により追記型光ディスクドライブに書き込ませる書き込みコマンドを送信する。これにより、ディスクドライブ１０３は、書き込みコマンドを受信し、対象となるブロックのデータを装着されている追記型光ディスクの最先の書き込み可能な記憶領域に書き込む処理を実行し、書き込みが完了した場合には、書き込み完了報告を制御部１０２に返すこととなる。なお、本実施形態では、ブロックデータ共に、書き込み対象のデータ中の当該ブロックの順番を示すシーケンス番号も追記型光ディスクに書き込まれている。
【００５２】
ステップＳ２０２では、制御部１０２は、ディスクドライブ１０３から書き込み完了報告が返信されるまで待機する。そして、制御部１０２は、ディスクドライブ１０３から書き込み完了報告が返信されたら、ステップＳ２０３に移行する。
【００５３】
ステップＳ２０３では、制御部１０２は、書き込みコマンドにより追記型光ディスクに書き込んだブロックが正常に書き込まれているか否かを確認するためのベリファイコマンドをディスクドライブ１０３に送信する。これにより、ディスクドライブ１０３は、ベリファイコマンドを受信し、対象となるブロックが正常に書き込まれたか否かを確認し、確認結果（ベリファイ結果）を制御部１０２に返すこととなる。
【００５４】
ステップＳ２０４では、制御部１０２は、ディスクドライブ１０３からベリファイ結果が返信されるまで待機する。ベリファイ結果が返信されたらステップＳ２０５に移行する。
【００５５】
ステップＳ２０５では、制御部１０２は、ベリファイ結果が書き込み失敗であるか否かを判定し、失敗である場合にはステップＳ２０６に移行し、成功である場合にはステップＳ２０７へ移行する。
【００５６】
ステップＳ２０６では、書き込みに失敗したブロックのデータをディスクドライブ１０３により追記型光ディスクに再び書き込ませる書き込みコマンドを送信する。ディスクドライブ１０３は、書き込みコマンドを受信し、対象となるブロックのデータを追記型光ディスクの最先の書き込み可能な記憶領域、すなわち、書き込みに失敗した記憶領域の次の記憶領域に書き込む処理を実行し、書き込みが完了した場合には、書き込み完了報告を制御部１０２に返すこととなる。なお、ステップＳ２０６を実行した後には、ステップＳ２０２に移行する。
【００５７】
ステップＳ２０７では、データセットの全てのブロックのデータの書き込みが完了したかを判定し、完了していない場合はステップＳ２０１へ移行し、完了している場合はタスクを終了し、書き込み完了報告を行う。
【００５８】
次に、第１実施形態におけるデータの書き込み要求が入力された際のディスク装置１００の動作の具体例を説明する。
【００５９】
図７および図８は、本発明の第１実施形態に係るデータの書き込みの具体例を示す図である。なお、適宜図５を参照することとする。
【００６０】
まず、ファイルの書き込み要求が入力されると、制御部１０２は、論理ボリューム管理テーブル２０１に基づいて、書き込み要求に含まれている論理ボリューム名に対応するディスク番号を特定する。次いで、制御部１０２がディスクハンドリング部１０４を制御して、特定したディスク番号の追記型光ディスク全てをカートリッジ装着部１０８に装着されたディスクカートリッジ１１０から取り出して、それぞれをディスクドライブ１０３に装着する（ステップＳ１０１）。例えば、図５に示すように、論理ボリュームが４枚の追記型光ディスクで構成されている場合には、４枚の追記型光ディスクが４つのディスクドライブ１０３（ドライブ１、ドライブ２、ドライブ３、ドライブ４）に装着される。
【００６１】
次いで、制御部１０２は、書き込み要求の対象としているデータを分割する。例えば、制御部１０２は、図５に示すように、書き込み対象のデータを、ブロック１Ａ、ブロック１Ｂ、ブロック１Ｃ、ブロック１Ｄ、ブロック２Ａ、ブロック２Ｂ、・・・、ブロック３Ｃ、ブロック３Ｄに分割する。
【００６２】
次に、制御部１０２は、ディスクドライブ１０３に装着された各追記型光ディスクのそれぞれに書き込むための複数のデータセットを構成する（ステップＳ１０２）。例えば、制御部１０２は、図５に示すように、ドライブ１に装着された追記型光ディスクへ書き込むためのデータセットをブロック１Ａ、ブロック２Ａ、ブロック３Ａとし、ドライブ２に装着された追記型光ディスクへ書き込むためのデータセットをブロック１Ｂ、ブロック２Ｂ、ブロック３Ｂとし、ドライブ３に装着された追記型光ディスクへ書き込むためのデータセットをブロック１Ｃ、ブロック２Ｃ、ブロック３Ｃとし、ドライブ４に装着された追記型光ディスクへ書き込むためのデータセットをブロック１Ｄ、ブロック２Ｄ、ブロック３Ｄとしている。
【００６３】
次いで、制御部１０２は、各ディスクドライブ１０３に対応するデータセットを書き込むためのデータセット書き込みタスクを作成して実行を開始する。例えば、制御部１０２は、ディスクドライブ１による書き込み処理を実行するための格納するための第１のデータセット書き込みタスクと、ディスクドライブ２による書き込み処理を実行するための格納するための第２のデータセット書き込みタスクと、ディスクドライブ３による書き込み処理を実行するための格納するための第３のデータセット書き込みタスクと、ディスクドライブ４による書き込み処理を実行するための格納するための第４のデータセット書き込みタスクとを作成して実行を開始する。
【００６４】
ドライブ１による書き込み処理を実行するための第１のデータセット書き込みタスクが実行されるとドライブ１に装着された追記型光ディスクには、図７Ａに示すように、データセットの最初のブロック１Ａが書き込まれ、ブロック１Ａの書き込みに成功した場合には、図７Ｂに示すように、データセットの次のブロック２Ａが書き込まれ、ブロック２Ａの書き込みに成功した場合には、図７Ｃに示すように、データセットの次のブロック３Ａが書き込まれ、ブロック３Ａの書き込みに成功した場合には、第１のデータセット書き込みタスクが終了され、書き込み完了報告が行われる。
【００６５】
また、ドライブ２による書き込み処理を実行するための第２のデータセット書き込みタスクが実行されるとドライブ２に装着された追記型光ディスクには、図７Ａに示すように、データセットの最初のブロック１Ｂが書き込まれ、ブロック１Ｂの書き込みに成功した場合には、図７Ｂに示すように、データセットの次のブロック２Ｂが書き込まれる。ここで、ブロック２Ｂの書き込みに失敗した場合には、図７Ｃに示すように、ドライブ２に装着された追記型光ディスクには、次の書き込み可能な記憶領域に再びブロック２Ｂが書き込まれる。ここで、更にブロック２Ｂの書き込みに失敗した場合には、ドライブ２に装着された追記型光ディスクには、図８Ａに示すように、次の書き込み可能な領域に再びブロック２Ｂが書き込まれる。ブロック２Ｂの書き込みに成功した場合には、図８Ｂに示すように、データセットの次のブロック３Ｂが書き込まれ、ブロック３Ｂの書き込みに成功した場合には、第２のデータセット書き込みタスクが終了され、書き込み完了報告が行われる。
【００６６】
また、ドライブ３による書き込み処理を実行するための第３のデータセット書き込みタスクが実行されるとドライブ３に装着された追記型光ディスクには、図７Ａに示すように、データセットの最初のブロック１Ｃが書き込まれる。ここで、ブロック１Ｃの書き込みに失敗した場合には、ドライブ３に装着された追記型光ディスクには、図７Ｂに示すように、次の書き込み可能な領域に再びブロック１Ｃが書き込まれる。ここで、ブロック１Ｃの書き込みに成功した場合には、図７Ｃに示すように、ドライブ３に装着された追記型光ディスクには、データセットの次のブロック２Ｃが書き込まれ、ブロック２Ｃの書き込みに成功した場合には、図８Ａに示すように、データセットの次のブロック３Ｃが書き込まれ、ブロック３Ｃの書き込みに成功した場合には、第３のデータセット書き込みタスクが終了され、書き込み完了報告が行われる。
【００６７】
また、ドライブ４による書き込み処理を実行するための第４のデータセット書き込みタスクが実行されるとドライブ４に装着された追記型光ディスクには、図７Ａに示すように、データセットの最初のブロック１Ｄが書き込まれ、ブロック１Ｄの書き込みに成功した場合には、図７Ｂに示すように、データセットの次のブロック２Ｄが書き込まれ、ブロック２Ｄの書き込みに成功した場合には、図７Ｃに示すように、データセットの次のブロック３Ｄが書き込まれ、ブロック３Ｄの書き込みに成功した場合には、第４のデータセット書き込みタスクが終了され、書き込み完了報告が行われる。
【００６８】
このようにして、第１〜第４のデータセット書き込みタスクの全てが書き込み完了報告を行うと、データの書き込み処理が終了されることとなる。
【００６９】
上記した第１実施形態によると、各ディスクドライブ１０３に装着された追記型光ディスクに対して独立したタスクによってデータの書き込みを行うことができるので、書き込みの処理が遅いディスクドライブがあった場合にあっても、他のディスクドライブは、その影響を受けずに書き込み処理を行うことができる。このため、例えば、書き込みの終わったディスクドライブを早期に他の処理に開放することができる。また、独立したタスクによってデータの書き込みを行うことができるので、他のディスクドライブとの同期を取る必要がないので、同期を取るために発生する待ち時間がなく、書き込み時間を低減することができる
また、第１実施形態によると、データのブロックを先頭から順に各追記型光ディスクに分散格納させておくことができるので、例えば、任意の記憶領域に書き込みできる記憶媒体（ＨＤＤ、ＤＶＤ−ＲＡＭ等）を追記型光ディスクの数と同数を利用してデータの読み出し等を実現するようにする場合においては、各追記型光ディスクに格納されたブロックをそれぞれ１つの記憶媒体にコピーすれば実現することができ、データのコピーに係る作業が容易である。
【００７０】
＜第２実施形態＞
【００７１】
次に、本発明の第２実施形態に係るディスク装置を説明する。
【００７２】
第２実施形態に係るディスク装置は、図１に示す第１実施形態に係るディスク装置と、制御部１０２による書き込み処理における制御が異なっている、換言すれば、制御部１０２に実行させるためのＲＯＭ１０７に格納されているプログラムが異なっているのみである。そこで、第２実施形態においては、図１に示すディスク装置の符号を用いて、第１実施形態と異なる点を中心に説明することとする。
【００７３】
本発明の第２実施形態に係るディスク装置による処理を説明する。
【００７４】
図９は、本発明の第２実施形態に係る書き込み処理のフローチャートである。
【００７５】
書き込み処理は、ファイルの書き込み要求がディスク装置１００の入力部１０１により入力されたときに実行される処理であり、各処理ステップは、ＲＯＭ１０７に格納されているプログラムを制御部１０２が実行することにより制御される。プログラムを実行する制御部１０２が、分割部、書き込み制御部、書き込み確認部、同時期書き込み集合構成部、書き込みコマンド送信部、ベリファイコマンド送信部に相当する。
【００７６】
ステップＳ３０１では、入力部１０１によりファイルの書き込み要求が入力されると、制御部１０２は、論理ボリューム管理テーブル２０１に基づいて、書き込み要求に含まれている論理ボリューム名に対応するディスク番号を特定する。次いで、制御部１０２がディスクハンドリング部１０４を制御して、特定したディスク番号の追記型光ディスク全てをカートリッジ装着部１０８に装着されたディスクカートリッジ１１０から取り出して、それぞれをディスクドライブ１０３に装着する。
【００７７】
ステップＳ３０２では、制御部１０２は、書き込み要求の対象としているデータから、各ディスクドライブ１０３に装着された各追記型光ディスクに同時期に書き込むためのデータセット（同時期書き込みブロック集合）を構成する。データセットの構成方法については、詳細に後述する。
【００７８】
ステップＳ３０３では、制御部１０２は、データセットの中のそれぞれ異なるブロックを各ディスクドライブ１０３により書き込ませる書き込みコマンドを各ディスクドライブ１０３に送信する。これにより、各ディスクドライブ１０３は、書き込みコマンドを受信し、対象となるブロックのデータを装着されている追記型光ディスクの最先の書き込み可能な記憶領域に書き込む処理を実行し、書き込みが完了した場合には、書き込み完了報告を制御部１０２に返すこととなる。なお、本実施形態では、ブロックデータ共に、書き込み対象のデータ中の当該ブロックの順番を示すシーケンス番号も追記型光ディスクに書き込まれている。
【００７９】
ステップＳ３０４では、制御部１０２は、書き込みコマンドを送信した全てのディスクドライブ１０３から書き込み完了報告が返信されるまで待機する。そして、制御部１０２は、書き込みコマンドを送信した全てのディスクドライブ１０３から書き込み完了報告が返信されたら、ステップＳ３０５に移行する。
【００８０】
ステップＳ３０５では、制御部１０２は、書き込みコマンドにより追記型光ディスクに書き込んだブロックが正常に書き込まれているか否かを確認するためのベリファイコマンドを、書き込みコマンドを送信した全てのディスクドライブ１０３に送信する。これにより、各ディスクドライブ１０３は、ベリファイコマンドを受信し、対象となるブロックが正常に書き込まれたか否かを確認し、確認結果（ベリファイ結果）を制御部１０２に返すこととなる。
【００８１】
ステップＳ３０６では、制御部１０２は、ベリファイコマンドを送信した全てのディスクドライブ１０３からベリファイ結果が返信されるまで待機する。そして、制御部１０２は、ベリファイコマンドを送信した全てのディスクドライブ１０３からベリファイ結果が返信されたら、ステップＳ３０７に移行する。
【００８２】
ステップＳ３０７では、制御部１０２は、全てのベリファイ結果に基づいて、書き込みに失敗したブロックを特定し、当該ブロックを次のデータセットに持ち越す。
【００８３】
ステップＳ３０８では、制御部１０２は、データの全てのブロックの書き込みが完了したかどうかを判定し、完了した場合は処理を終了し、完了していない場合はステップＳ３０２に移行する。
【００８４】
図１０は、本発明の第２実施形態に係るデータの分割およびデータセットの構成を説明するための図である。
【００８５】
制御部１０２は、書き込み要求の対象のデータ全体を、図１０（a）に示すように、所定のデータサイズのブロックと呼ばれる単位に分割する。ここで、このブロックのデータサイズとしては、例えば、書き込みを行う追記型光ディスクの１つのセクタのデータサイズ以上としてもよく、その場合には、セクタのデータサイズの整数倍のデータサイズであってもよい。
【００８６】
制御部１０２は、図１０（ｂ）に示す未書き込みのブロックのデータと、図１０（ｃ）に示すように、書き込みに失敗し、再度書き込みを要する失敗ブロックのデータとから、図１０（ｄ）に示すように書き込み要求の対象の論理ボリュームを構成するＮ（図では、４）枚の追記型光ディスクを装着したＮ（図では、４）台の光ディスクドライブによって同時期に書き込ませるＮ個のブロックの集合（データセット）を構成する。このデータセットのそれぞれのブロックを各ディスクドライブ１０３に書き込ませる書き込みコマンドが送信されることとなる。
【００８７】
図１０（ｄ）では、図１０（ｃ）の書き込みに失敗したブロックをドライブ１によって書き込みブロックとし、図１０（ｂ）の未書き込みのブロックの先頭から３つのブロックをそれぞれドライブ２、ドライブ３、ドライブ４によって書き込むブロックとしてデータセットを構成するようにしているが、データセットを構成するブロックの組み合わせ方法や、各ブロックの書き込みを行うディスクドライブの決定方法はこれに限られない。例えば、図１０（ｂ）の未書き込みのブロックが残っている限り、図１０（ｂ）の未書き込みブロックのみでデータセットを構成し、未書き込みのブロックがなくなった後に、図１０（ｃ）の書き込みに失敗したブロックをデータセットに含ませるようにしてもよい。また、図１０（ｂ）の未書き込みブロックと図１０（ｃ）の書き込みに失敗したブロックとの合計がＮ個に満たないときに、例えば、書き込みに失敗した回数が多いドライブを書き込み先（書き込みコマンドを送信する対象）から外すようにデータセットを構成してもよい。
【００８８】
次に、第２実施形態におけるデータの書き込み要求が入力された際のディスク装置１００の動作の具体例を説明する
図１１および図１２は、本発明の第２実施形態に係るデータの書き込みの具体例を示す図である。なお、適宜図１０を参照することとする。
【００８９】
まず、ファイルの書き込み要求が入力されると、制御部１０２は、論理ボリューム管理テーブル２０１に基づいて、書き込み要求に含まれている論理ボリューム名に対応するディスク番号を特定する。次いで、制御部１０２がディスクハンドリング部１０４を制御して、特定したディスク番号の追記型光ディスク全てをカートリッジ装着部１０８に装着されたディスクカートリッジ１１０から取り出して、それぞれをディスクドライブ１０３に装着する（ステップＳ３０１）。例えば、図５に示すように、論理ボリュームが追記型光ディス４枚で構成されている場合には、４枚の追記型光ディスクが４つのディスクドライブ１０３（ドライブ１、ドライブ２、ドライブ３、ドライブ４）に装着される。
【００９０】
次いで、制御部１０２は、書き込み要求の対象としているデータを分割する。例えば、制御部１０２は、図１０（ａ）に示すように、書き込み対象のデータを、ブロック１Ａ、ブロック１Ｂ、ブロック１Ｃ、ブロック１Ｄ、ブロック２Ａ、ブロック２Ｂ、・・・、ブロック３Ｃ、ブロック３Ｄに分割する。
【００９１】
次いで、制御部１０２は、図１０（ａ）のブロックの先頭から４個のブロック（ブロック１Ａ、ブロック１Ｂ、ブロック１Ｃ、ブロック１Ｄ）により各ディスクドライブ１０３に装着された各追記型光ディスクに同時期に書き込むためデータセットを構成する。
【００９２】
次いで、制御部１０２は、図１１Ａに示すように、ドライブ１によりブロック１Ａを書き込ませる書き込みコマンドを送信し、ドライブ２によりブロック１Ｂを書き込ませる書き込みコマンドを送信し、ドライブ３によりブロック１Ｃを書き込ませる書き込みコマンドを送信し、ドライブ４によりブロック１Ｄを書き込ませる書き込みコマンドを送信し、その後、各ディスクドライブ１０３にベリファイコマンドを送信する。ここで、本例においては、ドライブ３によるブロック１Ｃの書き込みに失敗しているものとする。
【００９３】
この結果、制御部１０２は、書き込みに失敗したブロック１Ｃと、未書き込みブロックの先頭からのブロック（ブロック２Ａ〜）により新しいデータセットを構成する。この場合には、図１１Ａに示すように、ブロック１Ｃ、ブロック２Ａ、ブロック２Ｂ、ブロック２Ｃのデータセットが構成される。
【００９４】
次いで、制御部１０２は、図１１Ｂに示すように、ドライブ１によりブロック１Ｃを書き込ませる書き込みコマンドを送信し、ドライブ２によりブロック２Ａを書き込ませる書き込みコマンドを送信し、ドライブ３によりブロック２Ｂを書き込ませる書き込みコマンドを送信し、ドライブ４によりブロック２Ｃを書き込ませる書き込みコマンドを送信し、その後、各ディスクドライブ１０３にベリファイコマンドを送信する。ここで、本例においては、ドライブ２によるブロック２Ａの書き込みに失敗しているものとする。
【００９５】
この結果、制御部１０２は、書き込みに失敗したブロック２Ａと、未書き込みブロックの先頭からのブロック（ブロック２Ｄ〜）により新しいデータセットを構成する。この場合には、図１１Ｂに示すように、ブロック２Ａ、ブロック２Ｄ、ブロック３Ａ、ブロック３Ｂのデータセットが構成される。
【００９６】
次いで、制御部１０２は、図１２Ａに示すように、ドライブ１によりブロック２Ａを書き込ませる書き込みコマンドを送信し、ドライブ２によりブロック２Ｄを書き込ませる書き込みコマンドを送信し、ドライブ３によりブロック３Ａを書き込ませる書き込みコマンドを送信し、ドライブ４によりブロック３Ｂを書き込ませる書き込みコマンドを送信し、その後、各ドライブにベリファイコマンドを送信する。ここで、本例においては、ドライブ２によるブロック２Ｄの書き込みに失敗しているものとする。
【００９７】
制御部１０２は、書き込みに失敗したブロック２Ｄと、未書き込みブロックの先頭からのブロック（ブロック３Ｃ〜）により新しいデータセットを構成する。この場合には、図１２Ａに示すように、ブロック２Ｄ、ブロック３Ｃ、ブロック３Ｄのデータセットが構成される。
【００９８】
次いで、制御部１０２は、図１２Ｂに示すように、ドライブ１によりブロック２Ｄを書き込ませる書き込みコマンドを送信し、ドライブ２によりブロック３Ｃを書き込ませる書き込みコマンドを送信し、ドライブ３によりブロック３Ｄを書き込ませる書き込みコマンドを送信し、その後、各ドライブにベリファイコマンドを送信する。ここで、本例においては、これら全てのブロックの書き込みに成功しているものとする。この後、制御部１０２は、全てのブロックについて書き込みが完了したため、処理を終了する。
【００９９】
上記した第２実施形態によると、ブロックの書き込みに失敗した場合には、次のデータセットに持ち越して、すなわち、次の書き込みで書き込むようにしているので、データの前のほうを構成するブロックを追記型光ディスクのできるだけ前の書き込み可能な記憶領域に格納することができる。これにより、ブロックを読み出してデータを再構成する際に、データの前のほうのブロックをできるだけ早い時点で読み出すことができ、データの先頭部分から早期にデータの再構築していくことができる。
【０１００】
一般に、ディスクドライブにおける書き込み／読み取りレーザーの出力低下や、光ディスクの製造時の不具合などにより、一部のディスクドライブにおいて書き込みの失敗が多発することが起こる可能性があるが、上記した第２実施形態によると、いずれかのディスクドライブによる追記型光ディスクへの書き込みにエラーが多発したとしても、書き込みエラーとなったブロックの記憶領域を含むデータの記憶に使用する記憶領域のデータ量を複数の追記型光ディスク間で平均化することができる。追記型光ディスクを読み出す処理においては、ブロックを実際に読み出して初めて、当該ブロックのデータが書き込みに失敗したものであるかを把握できるので、書き込みに失敗したブロックの記憶領域を含めてファイルを構成するすべてのブロックの記憶領域を読み出す必要がある。第２実施形態では、書き込みエラーとなったブロックの記憶領域を含むデータの記憶に使用した記憶領域のデータ量を複数の追記型光ディスク間で平均化できるので、読み出し時に読み出すべきデータ量を各ディスクドライブ間で平均化することができ、データの読み出し時における読み出し時間を効果的に短縮することができる。
【０１０１】
次に、複数の追記型光ディスクからデータを読み出す読み出し処理について説明する。
【０１０２】
図１３は、本発明に係る読み出し処理のフローチャートである。なお、読み出し処理は、第１実施形態および第２実施形態のディスク装置において共通である。
【０１０３】
読み出し処理は、ファイルの読み出し要求がディスク装置１００の入力部１０１により入力されたときに実行される処理であり、各処理ステップは、ＲＯＭ１０７に格納されているプログラムを制御部１０２が実行することにより制御される。
【０１０４】
ここで、読み出し要求は、複数の追記型光ディスクによって構成された論理ボリュームからデータを読み出すための要求であり、データを読み出す対象となる論理ボリューム名、読み出すファイルの名称が含まれているものとする。
【０１０５】
ステップＳ４０１では、入力部１０１によりファイルの読み出し要求が入力されると、制御部１０２は、論理ボリューム管理テーブル２０１に基づいて、読み出し要求に含まれている論理ボリューム名に対応するディスク番号を特定する。次いで、制御部１０２がディスクハンドリング部１０４を制御して、特定したディスク番号の追記型光ディスク全てをカートリッジ装着部１０８に装着されたディスクカートリッジ１１０から取り出して、それぞれをディスクドライブ１０３に装着する。
【０１０６】
ステップＳ４０２では、制御部１０２は、ディスク管理テーブル３０１から読み出し要求の対象としているファイルのデータが書き込まれている、各追記型光ディスク上の最先の記憶領域及び記憶領域の長さを特定し、各追記型光ディスクを装着したディスクドライブ１０３により特定した最先の記憶領域から特定された長さ分のデータを読み出させる。この際、各ディスクドライブ１０３は、書き込みが失敗しているブロックについても読み込むこととなるが、書き込み失敗しているブロックのデータは捨てて、書き込みが成功しているブロックのデータのみを制御部１０２に返す。
【０１０７】
ステップＳ４０３では、制御部１０２は、各ディスクドライブ１０３から取得したブロックのデータを当該ブロックに対応付けられているシーケンス番号に基づいて、並び替えて、元のデータを再構築する。
【０１０８】
ステップＳ４０４では、制御部１０２は、再構築したデータを、例えば、所定のアプリケーションや、通信回線を通じて外部に引き渡し、読み出し処理を終了する。なお、データの先頭から一部分づつ再構築できた場合に利用できるようなデータであれば、利用できる部分が再構築できるたびに、当該部分を引き渡すようにしてもよい。
【０１０９】
上記読み出し処理によると、複数の追記型光ディスクに分散して格納されたデータを、適切に再構築して、引き渡すことができる。
【０１１０】
以上、本発明を実施形態に基づいて説明したが、本発明は上述した実施の形態に限られず、他の様々な態様に適用可能である。
【０１１１】
例えば、ディスクドアリブ１０３として、追記型光ディスクだけではなく任意セクタを書き換え可能な光ディスクもアクセス可能なディスクドライブを用いるようにし、任意セクタを書き換え可能な光ディスクへの書き込み要求の入力を受け付けた場合には、公知のデータの書き込み処理を行い、追記型光ディスクへの書き込み要求を受け付けた場合には、本発明の第１実施形態又は第２実施形態に示したデータの書き込み処理を実行するようにしてもよい。
【０１１２】
また、ディスク装置を、第１実施形態に示したデータ書き込み処理と、第２実施形態に示したデータの書き込み処理を選択的に実行できる構成としておき、書き込むデータの特性に応じて、データの書き込み処理を選択して実行するようにしてもよい。この場合、例えば、書き込み時の速度を重視するデータであれば、第１実施形態に示したデータ書き込み処理を実行し、読み出し時の速度を重視するデータであれば、第２実施形態に示したデータ書き込み処理を実行するようにしてもよい。
【０１１３】
また、上記実施形態では、入力部１０１による利用者の操作により書き込み要求、読み出し要求を受け付けるようにしていたが、本発明はこれに限られず、例えば、ネットワークやケーブルを介して接続された外部の装置から書き込み要求や、読み出し要求を受け付けるようにしてもよい。
【０１１４】
また、上記第１実施形態では、各追記型光ディスクに対するブロックの書き込みが失敗した場合に、同一の追記型光ディスクの次の記憶領域に格納するようにしていたが、本発明はこれに限られず、例えば、データの複数のブロックを各追記型光ディスク間で平均化するように分散させてそれぞれ１度ずつ書き込みを行うようにし、書き込みに失敗したブロックがある場合には、各追記型光ディスク間で書き込みに使用された記憶領域が平均化するように、書き込みに失敗したブロックを分散させて書き込みを行い、書き込みに失敗したブロックがある限り、このような処理を繰り返して行うようにしてもよい。このようにすると、追記型光ディスク間でのデータ量を平均化できると共に、書き込み処理を迅速におこなうことができる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の第１実施形態に係るディスク装置のシステム概略構成を示す機能ブロック図である。
【図２】本発明の第１実施形態に係る論理ボリューム管理テーブルを示す図である。
【図３】本発明の第１実施形態に係るディスク管理テーブルを示す図である。
【図４】本発明の第１実施形態に係る書き込み処理のフローチャートである。
【図５】本発明の第１実施形態に係るデータの分割およびデータセットの構成を説明するための図である。
【図６】本発明の第１実施形態に係るデータセット書き込みタスクのフローチャートである。
【図７】本発明の第１実施形態に係るデータの書き込みの具体例を示す第１の図である。
【図８】本発明の第１実施形態に係るデータの書き込みの具体例を示す第２の図である。
【図９】本発明の第２実施形態に係る書き込み処理のフローチャートである。
【図１０】本発明の第２実施形態に係るデータの分割およびデータセットの構成を説明するための図である。
【図１１】本発明の第２実施形態に係るデータの書き込みの具体例を示す第１の図である。
【図１２】本発明の第２実施形態に係るデータの書き込みの具体例を示す第２の図である。
【図１３】本発明に係る読み出し処理のフローチャートである。
【符号の説明】
【０１１６】
１００  ディスク装置、１０１  入力部、１０２  制御部、１０３  ディスクドライブ、１０４  ディスクハンドリング部、１０５  ＨＤＤ、１０６  ＲＡＭ、１０７  ＲＯＭ、１０８  カートリッジ装着部、１０９  出力部、１１０  ディスクカートリッジ、２０１  論理ボリューム管理テーブル、３０１  ディスク管理テーブル。
【図１】
2009116946.tif 000003
【図２】
2009116946.tif 000004
【図３】
2009116946.tif 000005
【図４】
2009116946.tif 000006
【図５】
2009116946.tif 000007
【図６】
2009116946.tif 000008
【図７】
2009116946.tif 000009
【図８】
2009116946.tif 000010
【図９】
2009116946.tif 000011
【図１０】
2009116946.tif 000012
【図１１】
2009116946.tif 000013
【図１２】
2009116946.tif 000014
【図１３】
2009116946.tif 000015