(57)【要約】【課題】稼働継続性を維持する情報処理装置及び情報処理装置の制御方法を提供する。【解決手段】光ディスクライブラリ装置３は、所定数の光ディスク及びドライブの組により冗長化される。故障管理部２０３は、ドライブのうち故障が発生した故障データ処理機構を検出する。読書制御部２０４は、所定数の光ディスクに対する読み出し又は書き込みの処理を、故障管理部２０３により検出された故障データ処理機構を前記所定数から除いた数のドライブに行わせる。【選択図】図２
2020095486.tif 000002
【特許請求の範囲】
【請求項１】
所定数の可搬記憶媒体及びデータ処理機構の組により冗長化された情報処理装置であって、
所定数の前記データ処理機構のうち故障が発生した故障データ処理機構を検出する故障検出部と、
所定数の前記可搬記憶媒体に対する読み出し又は書き込みの処理を、前記故障検出部により検出された前記故障データ処理機構を前記所定数から除いた数の前記データ処理機構に行わせる制御部と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記制御部は、所定数の前記可搬記憶媒体及び前記データ処理機構の組において、前記故障データ処理機構を除く前記データ処理機構のそれぞれに対して前記可搬記憶媒体を割り当ててデータ処理を行わせ、割り当て済みの前記可搬記憶媒体のデータ処理が完了した前記可搬記憶媒体に対して未処理の前記可搬記憶媒体を順次割り当てる処理を、未処理の前記可搬記憶媒体が無くなるまで繰り返すことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記故障検出部は、検出した前記故障データ処理機構を登録した故障情報を前記故障データ処理機構が復旧するまで保持し、前記故障データ処理機構の検出を再度行う場合、前記故障情報を基に前記故障データ処理機構を検出するとともに、前記故障情報に登録されていない前記データ処理機構について故障検出処理を実行して追加故障データ処理機構を検出して、前記故障情報に追加することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
予備データ処理機構をさらに備え、
前記制御部は、前記故障検出部により検出された前記故障データ処理機構と前記予備データ処理機構とを代替し、代替する前記予備データ処理機構がない前記故障データ処理機構が存在する場合、代替する前記予備データ処理機構がない前記故障データ処理機構を除く前記データ処理機構に、前記所定数の前記可搬記憶媒体に対する読み出し又は書き込みの処理を行わせる
ことを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
所定数の可搬記憶媒体及びデータ処理機構の組により冗長化された情報処理装置の制御方法であって
所定数の前記データ処理機構のうち故障が発生した故障データ処理機構を検出し、
所定数の前記可搬記憶媒体に対する読み出し又は書き込みの処理を、検出した前記故障データ処理機構を前記所定数から除いた数の前記データ処理機構に行わせる
ことを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理装置の制御方法に関する。
【背景技術】
【０００２】
情報処理システムに関するデータには、オンラインで使用するデータ以外に、保管データとしてオンラインのデータをバックアップしたデータ及び記録保管するアーカイブデータがある。アーカイブデータは、使用する可能性は低いが、変更されずに長期間保存することが求められるデータである。近年、情報処理システムで取り扱うデータは増加の一途を辿っており、それに伴い保管データも急上昇する傾向にある。
【０００３】
データのバックアップやアーカイブデータの保存は、磁気テープライブラリ装置にて行われる。その中でも、長期保管や改竄防止の観点から、近年では光ディスクライブラリ装置が注目されている。光ディスクライブラリ装置の媒体寿命が約５０年と比較的長期間である。また、記録に物理変化を伴うことから、光ディスクライブラリ装置は、改竄を含むデータの変更が困難である。このような観点から、光ディスクライブラリ装置は、データの長期保管及び改竄防止を特徴とする。
【０００４】
光ディスクは、例えば、片面が５０ＭＢの３層構造で、片面の容量が１５０ＭＢである。そして、両面に記録する場合、光ディスクの全体の容量は１枚あたり３００ＭＢである。この場合、光ディスクライブラリ装置は、１つのマガジンの中に３００ＭＢのデータ容量の光ディスクを合計で１２枚格納するので、マガジン単位でのデータ容量は３．６ＴＢとなる。
【０００５】
また、光ディスクライブラリ装置は、データの書き込み時又は読み出し時には、マガジン内の１２枚の光ディスクのうち６枚を６台のドライブに１枚ずつ搭載する。そして、光ディスクライブラリ装置は、例えば、６枚の光ディスク両面、すなわち１２面を使用した同時記録再生を行うことで、テープ装置と同様のデータ転送速度を確保する。そこで、光ディスクライブラリ装置は、データの記録及び再生に６台のドライブを使用する。この場合、ドライブは、６台で両面への記録又は再生を行う。すなわち、ドライブは、６台×２面＝１２面の記録又は再生を１度に行う。
【０００６】
また、光ディスクライブラリ装置は、複数のドライブを同時に使用して、複数の光ディスクによりＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）構成を構築することで再生時のデータ保証を行う。光ディスクライブラリ装置は、例えば、６台のドライブを用いて合計１２面でＲＡＩＤを構成する。ＲＡＩＤ５であれば、１１面がデータであり、１面がパリティとなる。また、ＲＡＩＤ６であれば、１０面がデータであり、２面がパリティとなる。
【０００７】
しかし、ＲＡＩＤ構成を採用しても、救済できるのは、パリディ面の数と同数の光ディスクの面数分の障害に限られる。例えば、ＲＡＩＤ５の構成において、光ディスクの２面分の機能が消失した場合、読み出し及び書き込みが困難になる。また、ＲＡＩＤ６の構成であっても、ディスクの３面相当のデータの読み出しが困難な場合、光ディスクドライブ装置がダウンするおそれがある。そして、光ディスクライブラリ装置は、１台のドライブが故障した場合、光ディスクの２面に対する読み出し及び書き込みが困難となる。そのため、１台のドライブが故障した場合、光ディスクライブラリ装置は、ＲＡＩＤ６の場合、読み出しは可能であるが、書き込みが困難となり、保守部品交換までの間は運用に制限が発生する。
【０００８】
そこで、アレイ構成を形成するドライブが２台以上使用不可な場合に、他のアレイ構成を形成するドライブに切り替える従来技術がある。また、ドライブ故障時に予備のドライブに切り替える従来技術がある。また、ドライブが故障した場合に、全データで共用するテープを所定のテープドライブに挿入して故障したドライブの内容を補完する従来技術がある。さらに、ドライブの故障が発生した場合に、交代用ドライブに後続する処理を引き継がせる従来技術がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−３３９８２０号公報
【特許文献２】国際公開第２０１３／００５４１８号
【特許文献３】特開２０１１−１５９３６３号公報
【特許文献４】特開２０１１−２４８９４２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、例えば他のアレイ構成を形成するドライブや予備ドライブを設けることは、コストがかかるとともに、正常時には他のドライブが無駄になることが考えられ実用的ではない。さらに、予備ドライブが故障した状態で、他のドライブが故障すると読み出し及び書き込みの処理が継続困難となる。そして、故障したドライブが復旧するまでアクセス処理が困難となる。さらに、稼働状態での活性保守交換や稼働組み込みに対応しておらず、故障を回復するために１度は光ディスクライブラリ装置を停止することになる。このように、従来の光ディスクライブラリ装置は、稼働継続性を維持することが困難であった。
【００１１】
また、全データで共用するテープを用いて障害対応を行う従来技術や交代用ドライブに後続する処理を引き継がせる従来技術では、ＲＡＩＤ構成が考えられておらず、ＲＡＩＤ構成を採用した状態でのドライブの故障に対応することは困難である。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、稼働継続性を維持する情報処理装置及び情報処理装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本願の開示する情報処理装置及び情報処理装置の制御方法の一つの態様において、情報処理装置は、所定数の可搬記憶媒体及びデータ処理機構の組により冗長化される。故障検出部は、所定数の前記データ処理機構のうち故障が発生した故障データ処理機構を検出する。制御部は、所定数の前記可搬記憶媒体に対する読み出し又は書き込みの処理を、前記故障検出部により検出された前記故障データ処理機構を前記所定数から除いた数の前記データ処理機構に行わせる。
【発明の効果】
【００１４】
１つの側面では、本発明は、稼働継続性を維持することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、光ディスクライブラリシステムの構成図である。
【図２】図２は、管理装置のブロック図である。
【図３】図３は、故障ドライブテーブルの一例の図である。
【図４】図４は、２台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。
【図５】図５は、３台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。
【図６】図６は、４台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。
【図７】図７は、故障ドライブ補完処理の実行の判定処理のフローチャートである。
【図８】図８は、実施例１に係る故障ドライブ補完処理のフローチャートである。
【図９】図９は、複数のキューを処理する場合の各キューの処理手順のフローチャートである。
【図１０】図１０は、実施例２に係る故障ドライブ補完処理のフローチャートである。
【図１１】図１１は、実施例３に係る故障ドライブ補完処理のフローチャートである。
【図１２】図１２は、実施例４に係る光ディスクライブラリシステムの構成図である。
【図１３】図１３は、予備ドライブテーブルの一例の図である。
【図１４】図１４は、実施例４に係る故障ドライブ補完処理のフローチャートである。
【図１５】図１５は、管理装置のハードウェア構成図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する情報処理装置及び情報処理装置の制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置及び情報処理装置の制御方法が限定されるものではない。
【実施例１】
【００１７】
図１は、光ディスクライブラリシステムの構成図である。光ディスクライブラリシステム１００は、図１に示すように、ホストコンピュータ１、管理装置２及び光ディスクライブラリ装置３を有する。
【００１８】
ホストコンピュータ１は、ネットワーク４を介して管理装置２に接続する。ホストコンピュータ１は、管理装置２に対してデータの読み出し及び書き込みの命令をネットワーク４を介して行う。書込命令の場合、ホストコンピュータ１は、書き込み完了の応答を管理措置２からネットワーク４を介して受信する。また、読出命令の場合、ホストコンピュータ１は、命令で指定したデータを管理装置２からネットワーク４を介して受信する。
【００１９】
光ディスクライブラリ装置３は、管理装置２と接続される。光ディスクライブラリ装置３は、例えば、６台のドライブ３１〜３６を有する。以下の説明では、それぞれのドライブ３１〜３６を区別しない場合、単に「ドライブ３０」という。ここで、本実施例では、光ディスクライブラリ装置３は、６台のドライブ３０を有する場合で説明するが、ドライブ３０の数に特に制限は無い。また、光ディスクライブラリ装置３は、ディスク搬送用ロボット３０２及びマガジン３０３を有する。
【００２０】
マガジン３０３は、複数の光ディスク３０１を格納するケースである。例えば、マガジン３０３は、１２枚の光ディスク３０１を格納可能である。光ディスクライブラリ装置３は、例えば、７６本のマガジン３０３を搭載する。
【００２１】
ディスク搬送用ロボット３０２は、管理装置２の読書管理部２１からの指示を受けて、マガジン３０３に格納された光ディスク３０１を取り出し、指定されたドライブ３０へ搭載する。
【００２２】
ディスク搬送用ロボット３０２は、ドライブ３０による読み出し又は書き込みが完了すると、読書管理部２１からの指示を受けて、ドライブ３０から光ディスク３０１を取り出す。また、故障が発生した場合にも、故障が発生したドライブ３０からの取り出しの指示を読書管理部２１から受けて、ディスク搬送用ロボット３０２は、故障が発生したドライブ３０から光ディスク３０１を取り出す。
【００２３】
ドライブ３０は、セットされた光ディスク３０１に対するデータの読み出し及び書き込みを行う。ドライブ３１〜３６は、それぞれ独立しており、並行して読み出し又は書き込みの処理を実行することができる。また、ドライブ３０は、光ディスク３０１の表裏の両面に対して並行してデータの読み出し又は書き込みが可能である。すなわち、ドライブ３１〜３６は、一度に１２面に対してデータの読み出し又は書き込みを行うことができる。
【００２４】
ここで、光ディスク３０１は一度書き込まれたデータの変更が行われずデータの喪失などの故障が発生し難い媒体である。一方、ドライブ３０は、光ディスク３０１に比べると故障の発生する確率が高いといえる。そのため、光ディスクライブラリ装置３での故障は主にドライブ３０の故障と言える。ドライブ３０は、故障すると、光ディスク３０１に対する表裏の両面への読み出し又は書き込みが困難となる。このドライブ３０が、「データ処理機構」の一例にあたる。また、光ディスク３０１が、「可搬記憶媒体」の一例にあたる。
【００２５】
管理装置２は、例えば、サーバなどのコンピュータである。管理装置２は、光ディスクライブラリ装置３におけるデータの記憶媒体への読み出し及び書き込みを管理する。管理装置２は、読書管理部２１及びキャッシュ２２を有する。キャッシュ２２は、一時的な記憶領域であり、例えば、ＨＤＤ（Dard  Disk  Drive）又はＳＳＤ（Solid  State  Drive）などである。
【００２６】
読書管理部２１は、ホストコンピュータ１からの命令を受ける。読出命令の場合、読書管理部２１は、ドライブ３０を用いて指定された格納データを光ディスク３０１から読み出し、キャッシュ２２に格納する。そして、読書管理部２１は、光ディスクライブラリ装置３のＲＡＩＤ構成を用いて、キャッシュ２２に格納された格納データから読出データを生成する。そして、読書管理部２１は、生成した読出データをネットワーク４を介してホストコンピュータ１へ送信する。
【００２７】
また、書込命令の場合、読書管理部２１は、書込データをキャッシュ２２へ格納する。そして、読書管理部２１は、キャッシュ２２に格納された受信データを光ディスクライブラリ装置３のＲＡＩＤ構成に分割して格納データを生成する。その後、読書管理部２１は、格納データの光ディスク３０１への書き込みをドライブ３０に行わせる。格納データの書き込みが完了すると、読書管理部２１は、書き込み完了の通知をネットワーク４を介してホストコンピュータ１へ送信する。この管理装置２及び光ディスクライブラリ装置３が、「情報処理装置」の一例にあたる。
【００２８】
次に、図２を参照して、管理装置２によるデータの書き込み及び読み出しの処理についてより詳細に説明する。図２は、管理装置のブロック図である。
【００２９】
図２に示すように、管理装置２の読書管理部２１は、故障ドライブテーブル２０１、データ送受信部２０２、故障管理部２０３、読書制御部２０４及びＲＡＩＤ管理部２０５を有する。
【００３０】
データ送受信部２０２は、書込命令の場合、書込データをホストコンピュータ１から受信する。そして、データ送受信部２０２は、受信した書込データをキャッシュ２２に格納する。
【００３１】
また、データ送受信部２０２は、読出命令の場合、ＲＡＩＤ管理部２０５から読出データの入力を受ける。そして、データ送受信部２０２は、読出データをホストコンピュータ１へ送信する。
【００３２】
ＲＡＩＤ管理部２０５は、書込命令の場合、光ディスクライブラリ装置３のＲＡＩＤ構成に応じた格納データの生成の指示を読書制御部２０４から受ける。ここで、ＲＡＩＤ構成に応じた格納データとは、例えば、ＲＡＩＤ０であればパリティなしのストライピングセットであり、書込データをドライブ３０の数の書き込み単位に分割したデータである。また、ＲＡＩＤ５の場合、１つのパリティを生成して、パリティと合わせて書込データをドライブ３０の数の書き込み単位に分割したデータである。また、ＲＡＩＤ６の場合、２重のパリティを生成して、２重のパリティと合わせて書込データをドライブ３０の数の書き込み単位に分割したデータである。以下では、格納データを、単に「書込データを分割したデータ」と言う場合がある。ＲＡＩＤ管理部２０５は、生成した格納データを読書制御部２０４へ出力する。
【００３３】
また、読出命令の場合、ＲＡＩＤ管理部２０５は、読出データの生成の指示を読書制御部２０４から受ける。そして、ＲＡＩＤ管理部２０５は、光ディスクライブラリ装置３のＲＡＩＤ構成を用いてキャッシュ２２に格納された格納データから読出データを生成する。これに加えて、読出命令であってドライブ３０のうち１台が故障している場合、ＲＡＩＤ管理部２０５は、格納データを用いてＲＡＩＤによるデータの再構築を行った上で読出データを生成する。そして、ＲＡＩＤ管理部２０５は、読出データをデータ送受信部２０２へ出力する。
【００３４】
読書制御部２０４は、光ディスクライブラリ装置３におけるドライブ３０による光ディスク３０１への書き込み及び読み出しを制御する。読書制御部２０４は、読出命令又は書込命令の入力をホストコンピュータ１から受ける。
【００３５】
ここで、命令処理の流れには、例えば、書込処理において書込データを処理するのに複数の書込処理が行われる場合や、既に書込処理を行っている状態で新しい書込命令を受ける場合などがある。その場合、読書制御部２０４は、各書込処理についての各ドライブ３０に対する処理要求を蓄積し、順次各処理要求を処理する。これは、読出処理においても同様である。そのような、読書制御部２０４が、蓄積する１回の各ドライブ３０に対する処理要求を「キュー」と呼ぶ。読書制御部２０４は、最初のキューで書き込み又は読出しが指定される格納データを各ドライブ３０に割り当てる。そして、読書制御部２０４は、割り当てた各格納データを書き込み又は読み出しの対象となる光ディスク３０１を特定する。その後、読書制御部２０４は、各格納データに対応する光ディスク３０１を、それぞれの格納データを処理させるドライブ３０に搭載させる処理をディスク搬送用ロボット３０２に指示する。
【００３６】
次に、読書制御部２０４は、各ドライブ３０の故障検出を故障管理部２０３に依頼する。その後、読書制御部２０４は、故障ドライブテーブル２０１を確認して、ドライブ３０のうちの故障が発生した故障ドライブを特定する。
【００３７】
故障ドライブが存在しない場合、書込命令であれば、読書制御部２０４は、ＲＡＩＤ構成となるように生成された格納データをキャッシュ２２から取得する。そして、読書制御部２０４は、光ディスクライブラリ装置３のディスク搬送用ロボット３０２に光ディスク３０１の各ドライブ３０への搭載指示を行う。さらに、読書制御部２０４は、格納データを送信して各ドライブ３０への光ディスク３０１に対して各納データの書き込みを指示する。その後、書込処理が完了すると、読書管理部２１は、書き込みの完了をホストコンピュータ１へ通知する。
【００３８】
これに対して、故障ドライブが存在せず且つ読出命令の場合、読書制御部２０４は、指定された読出データの格納データが格納された光ディスク３０１の各ドライブ３０への搭載をディスク搬送用ロボット３０２に指示する。次に、読書制御部２０４は、搭載された光ディスク３０１からの格納データの読み出しを各ドライブ３０に指示する。そして、読書制御部２０４は、読み出された格納データをキャッシュ２２に格納する。その後、読書制御部２０４は、ＲＡＩＤ管理部２０５に読出データの生成を指示する。
【００３９】
一方、故障ドライブが存在する場合、読書制御部２０４は、書込命令であれば、同じドライブ３０を複数回使用して故障ドライブを補う処理の実施に移行する。これは、ＲＡＩＤ構成がＲＡＩＤ０，５、６の何れであっても、データの書き込みは故障ドライブの処理を他のドライブ３０が肩代わりすることになるためである。以下では、同じドライブ３０を複数回使用して故障ドライブを補う処理を、「故障ドライブ補完処理」という。
【００４０】
一方、故障ドライブが存在し且つ読出命令の場合、読書制御部２０４は、読み出す対象の格納データの格納時のＲＡＩＤ構成が、ＲＡＩＤ６か否かを判定する。ここで、ドライブ３０が１台故障すると、搭載された光ディスク３０１の合計面数のうちの２面に対する処理が行えなくなる。そのため、１台のドライブ３０故障した場合にＲＡＩＤによるデータの再構築を行うためには、２つのパリティが用いられる。そこで、読書制御部２０４は、ＲＡＩＤ６以外のＲＡＩＤ０又は５の場合、パリティを用いたデータの再構築が困難と判定して、故障ドライブ補完処理の実施に移行する。
【００４１】
これに対して、ＲＡＩＤ６の場合、故障ドライブが１台であるか否かを判定する。故障ドライブが１台の場合、読書制御部２０４は、パリティを用いたデータの再構築が可能と判定する。そして、読書制御部２０４は、稼働可能なドライブ３０を用いて光ディスク３０１からデータの読み出しを行い、キャッシュ２２に格納する。その後、読書制御部２０４は、読出データの生成をＲＡＩＤ管理部２０５に依頼する。一方、故障ドライブが２台以上の場合、読書制御部２０４は、パリティを用いたデータの再構築が困難と判定して、故障ドライブ補完処理の実施に移行する。
【００４２】
次に、読書制御部２０４による故障ドライブ補完処理について説明する。故障ドライブ補完処理において、書込処理又は読出処理を行わせるドライブ３０の選択の手順については、書込処理及び読出処理のいずれも同様であるので、以下では、書込処理及び読出処理をまとめた単に「データ処理」として説明する。また、ドライブ３０がデータ処理を行う場合、その前にディスク搬送用ロボット３０２による光ディスク３０１のドライブ３０への搭載処理が存在するが、以下の説明では、ディスク搬送用ロボット３０２による処理を省いて説明する。すなわち、ドライブ３０のデータ処理といった場合、そのデータ処理に対応する光ディスク３０１のディスク搬送用ロボット３０２によるドライブ３０への搭載処理も含まれるものとする。
【００４３】
読書制御部２０４は、故障管理部２０３により作成される故障ドライブが登録された故障ドライブテーブル２０１を参照して、故障していないドライブ３０である稼働可能ドライブを特定する。そして、読書制御部２０４は、最初のキューにおいて各稼動可能ドライブに割り当てられた格納データの処理、すなわち搭載された光ディスク３０１に対するデータ処理を各稼動可能ドライブに実行させる。
【００４４】
ここで、各稼動可能ドライブがデータ処理を実行する間にも、読書制御部２０４は、周期的にドライブ３０の故障検出を故障管理部２０３に実行させる。すなわち、この間に故障ドライブが検出された場合も、読書制御部２０４は、その故障ドライブを除いて故障ドライブ補完処理を行わせる。
【００４５】
その後、稼働可能ドライブのデータ処理が完了すると、読書制御部２０４は、最初のキューにおいて各故障ドライブに割り当てられた格納データのデータ処理を可動可能ドライブに割り当てる。以下の説明では、故障ドライブに割り当てられた格納データのデータ処理であって、処理が完了していないデータ処理に対応する光ディスク３０１を、「未処理の光ディスク３０１」という。
【００４６】
未処理の光ディスク３０１の数が稼働可能ドライブの数以上の場合、読書制御部２０４は、全ての稼働可能ドライブに各故障ドライブに割り当てられた格納データのデータ処理を割り当てる。そして、読書制御部２０４は、最初のキューにおい各故障ドライブに割り当てられた格納データの処理を各稼動可能ドライブに実行させる。読書制御部２０４は、未処理の光ディスク３０１が稼動可能ドライブの数よりも少なくなるまで、全ての稼働可能ドライブに各故障ドライブに割り当てられた格納データのデータ処理を行わせることを繰返す。
【００４７】
未処理の光ディスク３０１の数が稼動可能ドライブよりも少ない場合、読書制御部２０４は、次のキューがあるか否かを判定する。次のキューがある場合、読書制御部２０４は、全ての稼働可能ドライブの数から残りの未処理の光ディスク３０１の数を除いた数の稼働可能ドライブを次のキューのデータ処理に回す。ここでは、次のキューのデータ処理に回された稼働可能ドライブを、「次キュー処理稼働可能ドライブ」という。
【００４８】
そして、読書制御部２０４は、次キュー稼働可能ドライブ以外の稼働可能ドライブに、残りの未処理の光ディスク３０１を用いて行うデータ処理を実行させる。また、読書制御部２０４は、各ドライブ３０に次のキューにおけるデータ処理を割り当てる。そして、読書制御部２０４は、次のキューにおける次キュー稼動可能ドライブに割り当てたデータ処理を次キュー稼動可能ドライブに実行させる。これに対して、次のキューが無ければ、読書制御部２０４は、次のキューのデータ処理に稼働可能ドライブを回す処理は行わず、単に、残りの未処理の光ディスク３０１を用いて行うデータ処理を可動可能ドライブに実行させる。
【００４９】
読書制御部２０４は、全てのキューの未処理の光ディスク３０１が無くなるまで、各稼動可能ドライブに、各キューにおけるそれぞれのデータ処理の割り当て繰り返す。そして、読書制御部２０４は、割り当てた次キューのデータ処理及び現在のキューの各故障ドライブに割り当てた残りのデータ処理を稼動可能ドライブに実行させることを繰返す。ここで、各稼動可能ドライブが割り当てた次キューのデータ処理及び現在のキューの各故障ドライブに割り当てた残りのデータ処理を実行する間にも、読書制御部２０４は、周期的にドライブ３０の故障検出を故障管理部２０３に実行させる。すなわち、この間に故障ドライブが検出された場合も、読書制御部２０４は、その故障ドライブを除いて故障ドライブ補完処理を行わせる。読書制御部２０４は、全てのキューのデータ処理が完了すると、故障ドライブ補完処理を終了する。この読書制御部２０４が、「制御部」の一例にあたる。
【００５０】
故障管理部２０３は、故障検出の依頼を読書制御部２０４から受ける。そして、故障管理部２０３は、ドライブ３０のエラーチェックを行う。いずれかのドライブ３０にエラーが検出された場合、故障管理部２０３は、エラーが検出されたドライブ３０を故障ドライブとして故障ドライブテーブル２０１に登録する。その後、故障管理部２０３は、光ディスクライブラリ装置３のディスク搬送用ロボット３０２に故障ドライブからの光ディスク３０１の取り出しを指示する。さらに、故障管理部２０３は、故障ドライブの動作を停止させる。
【００５１】
図３は、故障ドライブテーブルの一例の図である。本実施例では、ドライブ３１〜３６に順番にドライブ番号Ｎとして１〜６を振り、故障管理部２０３は、故障ドライブテーブル２０１にドライブ番号を登録することで、故障ドライブの登録を行う。図３では、分かり易いようにドライブ番号の後にドライブ３１〜３６を表す情報を付加したが、この情報はなくてもよい。さらに、故障管理部２０３は、故障ドライブの合計を故障ドライブテーブル２０１に登録する。これにより、読書制御部２０４は、故障ドライブの数及び稼働可能ドライブの数を容易に把握することができる。この故障管理部２０３が、「故障検出部」の一例にあたる。この故障ドライブテーブル２０１が、「故障情報」の一例にあたる。
【００５２】
ここで、図４〜６を参照して、故障ドライブ補完処理における各ドライブ３０が実行するデータ処理の一例について説明する。図４は、２台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。図５は、３台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。図６は、４台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。ドライブ３１〜３６の横に並べられた光ディスク３０１が、それぞれのドライブ３１〜３６がデータ処理を行う光ディスク３０１を表す。
【００５３】
ここでは、管理装置２は、書込データをＲＡＩＤ６の構成にデータ分割し、２つのキュー３１１及び３１２を処理する。すなわち、管理装置２は、光ディスク３０１の１０面に実データを格納し、光ディスク３０１の２面にパリティを格納する。
【００５４】
図４は、ドライブ３５及び３６が故障した場合を表す。この場合、読書制御部２０４は、１回目の書き込み処理で、稼働可能ドライブであるドライブ３１〜３４に割り当てたキュー３１１のデータ処理である光ディスク３０１に対する書込処理を行わせる。この段階で、キュー３１１のデータ処理のうちドライブ３５及び３６に割り当てられたデータ処理が残る。
【００５５】
そこで、読書制御部２０４は、キュー３１１におけるドライブ３５及び３６に割り当てられたデータ処理を、ドライブ３１及び３２に割り当てる。さらに、読書制御部２０４は、次キューであるキュー３１２のデータ処理をドライブ３３及び３４に割り当てる。そして、読書制御部２０４は、２回目の書込処理で、キュー３１１の残りの２つのデータ処理及びキュー３１２の２つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１〜３４のそれぞれに行わせる。この段階で、キュー３１２のデータ処理のうち４つのデータ処理が残る。
【００５６】
そこで、読書制御部２０４は、キュー３１２の残りのデータ処理をドライブ３１〜３４に割り当てる。そして、読書制御部２０４は、３回目の書き込み処理で、キュー３１２の残りのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１〜３４のそれぞれに行わせる。これにより、管理装置２は、キュー３１１及び３１２に含まれる全てのデータ処理を光ディスクライブラリ装置３に実行させることができる。
【００５７】
図５は、ドライブ３４〜３６が故障した場合を表す。この場合、読書制御部２０４は、１回目の書き込み処理で、稼働可能ドライブであるドライブ３１〜３３に割り当てたキュー３１１のデータ処理である光ディスク３０１に対する書込処理を行わせる。この段階で、キュー３１１のデータ処理のうちドライブ３４〜３６に割り当てられたデータ処理が残る。
【００５８】
そこで、読書制御部２０４は、キュー３１１におけるドライブ３４〜３６に割り当てられたデータ処理を、ドライブ３１〜３３に割り当てる。この場合、稼働可能ドライブの残りが無いので、読書制御部２０４は、次キューであるキュー３１２の割り当ては行わない。そして、読書制御部２０４は、２回目の書込処理で、キュー３１１の残りの３つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１〜３３のそれぞれに行わせる。
【００５９】
次に、読書制御部２０４は、キュー３１２における３つのデータ処理をドライブ３１〜３４に割り当てる。そして、読書制御部２０４は、３回目の書き込み処理で、キュー３１２の３つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１〜３４のそれぞれに行わせる。この段階で、キュー３１２のデータ処理のうち３つのデータ処理が残る。
【００６０】
そこで、読書制御部２０４は、キュー３１２における残りの３つのデータ処理を、ドライブ３１〜３３に割り当てる。そして、読書制御部２０４は、４回目の書込処理で、キュー３１１の残りの３つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１〜３３のそれぞれに行わせる。これにより、管理装置２は、キュー３１１及び３１２に含まれる全てのデータ処理を光ディスクライブラリ装置３に実行させることができる。
【００６１】
図６は、ドライブ３３〜３６が故障した場合を表す。この場合、読書制御部２０４は、１回目の書き込み処理で、稼働可能ドライブであるドライブ３１及び３２に割り当てたキュー３１１のデータ処理である光ディスク３０１に対する書込処理を行わせる。この段階で、キュー３１１のデータ処理のうちドライブ３３〜３６に割り当てられたデータ処理が残る。
【００６２】
そこで、読書制御部２０４は、キュー３１１におけるドライブ３３〜３６に割り当てられたデータ処理のうち２つのデータ処理を、ドライブ３１及び３２に割り当てる。そして、読書制御部２０４は、２回目の書込処理で、キュー３１１の２つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１及び３２のそれぞれに行わせる。この段階で、キュー３１１のデータ処理のうちドライブ３３〜３６に割り当てられたデータ処理のうち２つが残る。
【００６３】
そこで、読書制御部２０４は、キュー３１１におけるドライブ３３〜３６に割り当てられたデータ処理のうち残りの２つのデータ処理を、ドライブ３１及び３２に割り当てる。この場合、稼働可能ドライブの残りが無いので、読書制御部２０４は、次キューであるキュー３１２の割り当ては行わない。そして、読書制御部２０４は、３回目の書込処理で、キュー３１１の残りの２つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１及び３２のそれぞれに行わせる。
【００６４】
次に、読書制御部２０４は、キュー３１２における２つのデータ処理をドライブ３１及び３２に割り当てる。そして、読書制御部２０４は、４回目の書き込み処理で、キュー３１２の２つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１及び３２のそれぞれに行わせる。この段階で、キュー３１２のデータ処理のうち４つのデータ処理が残る。
【００６５】
そこで、読書制御部２０４は、キュー３１２における残りの４つのデータ処理のうち２つのデータ処理を、ドライブ３１及び３２に割り当てる。そして、読書制御部２０４は、５回目の書込処理で、キュー３１２の２つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１〜３３のそれぞれに行わせる。この段階で、キュー３１２のデータ処理のうち２つのデータ処理が残る。
【００６６】
そこで、読書制御部２０４は、キュー３１２における残りの２つのデータ処理を、ドライブ３１及び３２に割り当てる。そして、読書制御部２０４は、６回目の書込処理で、キュー３１２の２つのデータ処理に応じた光ディスク３０１への書込処理をドライブ３１〜３３のそれぞれに行わせる。これにより、管理装置２は、キュー３１１及び３１２に含まれる全てのデータ処理を光ディスク装置３に実行させることができる。
【００６７】
次に、図７を参照して、ドライブ３０に故障が発生した場合の故障ドライブ補完処理の実行の判定処理の流れについて説明する。図７は、故障ドライブ補完処理の実行の判定処理のフローチャートである。
【００６８】
読書制御部２０４は、ドライブ３０の故障の発生が故障管理部２０３により検出されると、実行するデータ処理が書込処理か否かを判定する（ステップＳ１）。書込処理の場合（ステップＳ１：肯定）、読書制御部２０４は、故障ドライブ補完処理を実行する（ステップＳ５）。
【００６９】
これに対して、実行するデータ処理が読出処理の場合、（ステップＳ１：否定）、読書制御部２０４は、読出データに対応する格納データがＲＡＩＤ６で構成されているか否かを判定する（ステップＳ２）。ＲＡＩＤ０又は５で構成されている場合（ステップＳ２：否定）、読書制御部２０４は、故障ドライブ補完処理を実行する（ステップＳ５）。
【００７０】
これに対して、読出データに対応する格納データがＲＡＩＤ６で構成されている場合、（ステップＳ２：肯定）、読書制御部２０４は、故障ドライブの数が１以下か否かを判定する（ステップＳ３）。故障ドライブの数が１より大きい場合（ステップＳ３：否定）、読書制御部２０４は、故障ドライブ補完処理を実行する（ステップＳ５）。
【００７１】
これに対して、故障ドライブの数が１以下の場合（ステップＳ３：肯定）、読書制御部２０４は、ＲＡＩＤによる再構築処理をＲＡＩＤ管理部２０５に行わせる（ステップＳ４）。
【００７２】
次に、図８を参照して、実施例１に係る故障ドライブ補完処理の流れについて説明する。図８は、実施例１に係る故障ドライブ補完処理のフローチャートである。ここでは、１つのキューに対する故障ドライブ補完処理を例に説明する。またここでは、ドライブ３１〜３６のそれぞれにドライブ番号としてＮ＝１〜６が振られた場合で説明する。ここでは、ドライブ番号Ｎのドライブ３０をドライブＮと表す。
【００７３】
読書制御部２０４は、全てのドライブ３０に光ディスク３０１を搭載させる（ステップＳ１０１）。
【００７４】
次に、読書制御部２０４は、ドライブ番号であるＮを０に設定する（ステップＳ１０２）。
【００７５】
読書制御部２０４は、ドライブ番号であるＮを１つインクリメントする（ステップＳ１０３）。
【００７６】
次に、読書制御部２０４は、故障ドライブテーブル２０１を参照して、ドライブＮが故障ドライブとして既に故障ドライブテーブル２０１に登録されており使用不可か否かを判定する（ステップＳ１０４）。ドライブＮが既に故障ドライブテーブル２０１に登録されている場合（ステップＳ１０４：否定）、既にドライブＮに対する対応は完了しているので、処理は、ステップＳ１１０へ進む。
【００７７】
これに対して、ドライブＮが使用可能である場合（ステップＳ１０４：肯定）、読書制御部２０４は、ドライブＮの故障検知を故障管理部２０３に実行させる（ステップＳ１０５）。
【００７８】
その後、故障管理部２０３は、ドライブＮの故障検知を行い、ドライブＮに故障が発生したか否かを判定する（ステップＳ１０６）。ドライブＮに故障が発生していない場合（ステップＳ１０６：否定）、処理は、ステップＳ１１０へ進む。
【００７９】
これに対して、ドライブＮに故障が発生した場合（ステップＳ１０６:肯定）、故障管理部２０３は、ドライブＮの処理を停止させる（ステップＳ１０７）。次に、故障管理部２０３は、ドライブＮから光ディスク３０１を取り出してマガジン３０３に戻す処理をディスク搬送用ロボット３０２に行わせる（ステップＳ１０８）。
【００８０】
次に、故障管理部２０３は、ドライブＮを故障ドライブとして故障ドライブテーブル２０１に登録して動作を停止させる（ステップＳ１０９）。その後、処理は、ステップＳ１１０へ進む。
【００８１】
読書制御部２０４は、ドライブ番号Ｎが６であるか否かを判定する（ステップＳ１１０）。ドライブ番号Ｎが６でない場合（ステップＳ１１０：否定）、処理は、ステップＳ１０３へ戻る。
【００８２】
これに対して、ドライブ番号Ｎが６の場合（ステップＳ１１０：肯定）、読書制御部２０４は、搭載された光ディスク３０１を用いたデータ処理を稼働可能ドライブに実行させる（ステップＳ１１１）。
【００８３】
そして、読書制御部２０４は、稼働可能ドライブの処理が完了したか否かを判定する（ステップＳ１１２）。稼働可能ドライブの処理が完了していない場合（ステップＳ１１２：否定）、読書制御部２０４は、ステップＳ１０２に戻る。
【００８４】
これに対して、稼働可能ドライブの処理が完了した場合（ステップＳ１１２：肯定）、読書制御部２０４は、光ディスク３０１を稼動可能ドライブから取り出させる（ステップＳ１１３）。
【００８５】
次に、読書制御部２０４は、未処理の光ディスク３０１があるか否かを判定する（ステップＳ１１４）。
【００８６】
未処理の光ディスク３０１が存在する場合（ステップＳ１１４：肯定）、読書制御部２０４は、未処理の光ディスク３０１の数をＢ、故障ドライブの数をＭ、稼働可能ドライブの数をＤとする（ステップＳ１１５）。ここで、読書制御部２０４は、故障ドライブの数であるＭを故障ドライブテーブル２０１から取得する。また、読書制御部２０４は、未処理の光ディスク３０１の数を故障ドライブの数とする。すなわち、Ｍ＝Ｂである。また、読書制御部２０４は、ドライブ３０の全体の数から故障ドライブの数を減算したものを稼動可能ドライブの数とする。すなわち、Ｄ＝６−Ｍである。
【００８７】
次に、読書制御部２０４は、Ｄ≧Ｂか否かを判定する（ステップＳ１１６）。Ｄ≧Ｂの場合（ステップＳ１１６：肯定）、読書制御部２０４は、未処理の光ディスク３０１を稼動可能ドライブに搭載させる（ステップＳ１１７）。
【００８８】
次に、読書制御部２０４は、Ｄ及びＢを１つずつデクリメントする（ステップＳ１１８）。
【００８９】
次に、読書制御部２０４は、Ｄ＝０か否かを判定する（ステップＳ１１９）。Ｄ＝０でない場合（ステップＳ１１９：否定）、読書制御部２０４は、ステップＳ１１７へ戻る。これに対して、Ｄ＝０の場合（ステップＳ１１９：肯定）、読書制御部２０４は、ステップＳ１１１へ戻る。
【００９０】
一方、Ｄ≧Ｂでない場合（ステップＳ１１６：否定）、読書制御部２０４は、未処理の光ディスク３０１を稼動可能ドライブに搭載させる（ステップＳ１２０）。
【００９１】
次に、読書制御部２０４は、Ｂを１つずつデクリメントする（ステップＳ１２１）。
【００９２】
次に、読書制御部２０４は、Ｂ＝０か否かを判定する（ステップＳ１２２）。Ｂ＝０でない場合（ステップＳ１２２：否定）、読書制御部２０４は、ステップＳ１２０へ戻る。これに対して、Ｂ＝０の場合（ステップＳ１２２：肯定）、読書制御部２０４は、ステップＳ１１１へ戻る。
【００９３】
一方、未処理の光ディスク３０１が無い場合（ステップＳ１１４：否定）、読書制御部２０４は、故障ドライブ補完処理を終了する。
【００９４】
ここで、図８では、管理装置２が、１つのキューに対して故障ドライブ補完処理を実行する場合について説明した。ただし実際には、管理装置２は、ステップＳ１０２からＳ１１０で示すドライブ３０の故障の判断の後に、図７に示す故障ドライブ補完処理を実行するか否かの判断を行い、その結果に応じて故障ドライブ補完処理の実行に移る。
【００９５】
次に、図９を参照して、複数のキューを処理する場合の管理装置２による故障ドライブ補完処理における各キューの処理手順について説明する。図９は、複数のキューを処理する場合の各キューの処理手順のフローチャートである。ここでは、故障ドライブ補完処理を実行する場合を説明する。また、ここでは、最初のキューをキュー＃１とし、２番目のキューをキュー＃２とし、３番目のキューをキュー＃３とする。
【００９６】
故障管理部２０３は、ドライブ３０の中から故障ドライブを検出する（ステップＳ２０１）。そして、故障管理部２０３は、検出した故障ドライブを故障ドライブテーブル２０１に登録する。
【００９７】
読書制御部２０４は、故障ドライブテーブル２０１を確認する。そして、読書制御部２０４は、故障ドライブ数が３以上か否かを判定する（ステップＳ２０２）。
【００９８】
故障ドライブ数が３未満の場合（ステップＳ２０２：否定）、読書制御部２０４は、故障ドライブ数が２か否かを判定する（ステップＳ２０３）。
【００９９】
故障ドライブ数が２でない場合（ステップＳ２０３：否定）、読書制御部２０４は、故障ドライブ数が１か否かを判定する（ステップＳ２０４）。
【０１００】
故障ドライブ数が１でない場合（ステップＳ２０４：否定）、読書制御部２０４は、故障ドライブが無いと判定して、通常のデータ処理を６つのドライブ３０に実行させる（ステップＳ２０５）。
【０１０１】
これに対して、故障ドライブが１の場合（ステップＳ２０４：肯定）、読書制御部２０４は、稼働可能ドライブが５つあると判定する。そして、読書制御部２０４は、１回目の処理でキュー＃１のうち５つのデータ処理を、稼働可能ドライブである５つのドライブ３０に実行させる（ステップＳ２０６）。
【０１０２】
２回目の処理で、読書制御部２０４は、次の処理を稼動可能ドライブに実行させる。読書制御部２０４は、キュー＃１のうちの残りの２つのデータ処理を稼働可能ドライブのうちの２つのドライブ３０に実行させる。また、読書制御部２０４は、キュー＃２のうちの３つのデータ処理を稼働可能ドライブのうちの残りの３つのドライブ３０に実行させる（ステップＳ２０７）。
【０１０３】
３回目の処理で、読書制御部２０４は、次の処理を稼動可能ドライブに実行させる。読書制御部２０４は、キュー＃２のうちの残りの２つのデータ処理を稼働可能ドライブのうちの２つのドライブ３０に実行させる。また、読書制御部２０４は、キュー＃３のうちの３つのデータ処理を稼働可能ドライブのうちの残りの３つのドライブ３０に実行させる（ステップＳ２０８）。
【０１０４】
以降、読書制御部２０４は、各キューの５分の６ずつのデータ処理の実行を５つのドライブ３０に繰り返させ（ステップＳ２０９）、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
【０１０５】
これに対して、故障ドライブが２の場合（ステップＳ２０３：肯定）、読書制御部２０４は、稼働可能ドライブが４つあると判定する。そして、読書制御部２０４は、１回目の処理でキュー＃１のうち４つのデータ処理を、稼働可能ドライブである４つのドライブ３０に実行させる（ステップＳ２１０）。
【０１０６】
２回目の処理で、読書制御部２０４は、次の処理を稼動可能ドライブに実行させる。読書制御部２０４は、キュー＃１のうちの残りの２つのデータ処理を稼働可能ドライブのうちの２つのドライブ３０に実行させる。また、読書制御部２０４は、キュー＃２のうちの２つのデータ処理を稼働可能ドライブのうちの残りの２つのドライブ３０に実行させる（ステップＳ２１１）。
【０１０７】
３回目の処理で、読書制御部２０４は、次の処理を稼動可能ドライブに実行させる。読書制御部２０４は、キュー＃２のうちの残りの４つのデータ処理を稼働可能ドライブのうちの４つのドライブ３０に実行させる（ステップＳ２１２）。
【０１０８】
以降、読書制御部２０４は、各キューの３分の２ずつのデータ処理の実行を４つのドライブ３０に繰り返させ（ステップＳ２１３）、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
【０１０９】
これに対して、故障ドライブ数が３以上の場合（ステップＳ２０２：肯定）、読書制御部２０４は、故障ドライブ数が３か否かを判定する（ステップＳ２１４）。
【０１１０】
故障ドライブ数が３の場合（ステップＳ２１４：肯定）、読書制御部２０４は、稼働可能ドライブが３つあると判定する。そして、読書制御部２０４は、１回目の処理でキュー＃１のうち３つのデータ処理を、稼働可能ドライブである３つのドライブ３０に実行させる（ステップＳ２１５）。
【０１１１】
２回目の処理で、読書制御部２０４は、キュー＃１のうちの残りの３つのデータ処理を稼働可能ドライブである３つのドライブ３０に実行させる（ステップＳ２１６）。
【０１１２】
３回目の処理で、読書制御部２０４は、キュー＃２のうちの３つのデータ処理を稼働可能ドライブである３つのドライブ３０に処理させる（ステップＳ２１７）。
【０１１３】
以降、読書制御部２０４は、各キューの半分ずつのデータ処理の実行を３つのドライブ３０に繰り返させ（ステップＳ２１８）、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
【０１１４】
これに対して、故障ドライブ数が３でない場合（ステップＳ２１４：否定）、読書制御部２０４は、故障ドライブ数が４か否かを判定する（ステップＳ２１９）。
【０１１５】
故障ドライブ数が４の場合（ステップＳ２１９：肯定）、読書制御部２０４は、稼働可能ドライブが２つあると判定する。そして、読書制御部２０４は、１回目の処理でキュー＃１のうち２つのデータ処理を、稼働可能ドライブである２つのドライブ３０に実行させる（ステップＳ２２０）。
【０１１６】
２回目の処理で、読書制御部２０４は、キュー＃１のうちの残りの４つのデータ処理のうち２つを稼働可能ドライブである２つのドライブ３０に実行させる（ステップＳ２２１）。
【０１１７】
３回目の処理で、読書制御部２０４は、キュー＃１のうちの残りの２つのデータ処理を稼働可能ドライブである２つのドライブ３０に実行させる（ステップＳ２２２）。
【０１１８】
４回目の処理で、読書制御部２０４は、キュー＃２のうちの２つのデータ処理を稼働可能ドライブである２つのドライブ３０に処理させる（ステップＳ２２３）。
【０１１９】
以降、読書制御部２０４は、各キューの３分の１ずつのデータ処理の実行を２つのドライブ３０に繰り返させ（ステップＳ２２４）、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
【０１２０】
これに対して、故障ドライブ数が４でない場合（ステップＳ２１９：否定）、読書制御部２０４は、故障ドライブ数が５か否かを判定する（ステップＳ２２５）。
【０１２１】
故障ドライブ数が５の場合（ステップＳ２２５：肯定）、読書制御部２０４は、稼働可能ドライブが１つであると判定する。そして、読書制御部２０４は、１回目の処理でキュー＃１のうち１つのデータ処理を、稼働可能ドライブである１つのドライブ３０に実行させる（ステップＳ２２６）。
【０１２２】
２回目の処理で、読書制御部２０４は、キュー＃１のうちの残りの５つのデータ処理のうち１つを稼働可能ドライブである１つのドライブ３０に実行させる（ステップＳ２２７）。
【０１２３】
３回目の処理で、読書制御部２０４は、キュー＃１のうちの残りの４つのデータ処理のうち１つを稼働可能ドライブである１つのドライブ３０に実行させる（ステップＳ２２８）。
【０１２４】
４回目の処理で、読書制御部２０４は、キュー＃１のうちの残りの３つのデータ処理のうち１つを稼働可能ドライブである１つのドライブ３０に実行させる（ステップＳ２２９）。
【０１２５】
５回目の処理で、読書制御部２０４は、キュー＃１のうちの残りの２つのデータ処理のうち１つを稼働可能ドライブである１つのドライブ３０に実行させる（ステップＳ２３０）。
【０１２６】
６回目の処理で、読書制御部２０４は、キュー＃１のうちの残りの１つのデータ処理を稼働可能ドライブである１つのドライブ３０に実行させる（ステップＳ２３１）。
【０１２７】
７回目の処理で、読書制御部２０４は、キュー＃２のうちの１つのデータ処理を稼働可能ドライブである１つのドライブ３０に処理させる（ステップＳ２３２）。
【０１２８】
以降、読書制御部２０４は、各キューの６分の１ずつのデータ処理の実行を１つのドライブ３０に繰り返させ（ステップＳ２３３）、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
【０１２９】
これに対して、故障ドライブ数が５でない場合（ステップＳ２２５：否定）、読書制御部２０４は、稼働可能ドライブが無いと判定して光ディスク３０１に対するデータ処理を終了する。
【０１３０】
以上に説明したように、本実施例に係る管理装置は、ＲＡＩＤ構成により救済できない光ディスクライブラリ装置のドライブの故障が発生した場合に、稼働可能ドライブを用いて故障ドライブを補完してデータ処理を完了させる。これにより、稼働継続性を維持することができる。また、キューの処理中に新たなキューが発生したような複数のキューを実行する場合にも、使用していないドライブを稼動することでキューの処理を開始することができ、稼動継続性を維持するとともに処理時間を短縮することができる。
【実施例２】
【０１３１】
次に、実施例２について説明する。本実施例に係る管理装置も図２のブロック図で示される。以下の説明では、実施例１と同様の各部の処理については説明を省略する場合がある。
【０１３２】
本実施例に係る読書制御部２０４は、データ処理の命令をホストコンピュータ１から受けると、故障ドライブテーブル２０１を確認する。そして、読書制御部２０４は、故障ドライブテーブル２０１に既に故障ドライブと登録されているドライブ３０には光ディスク３０１を搭載させず、稼働可能ドライブであるドライブ３０に光ディスク３０１を搭載させる。
【０１３３】
次に、図１０を参照して、実施例２に係る故障ドライブ補完処理の流れについて説明する。図１０は、実施例２に係る故障ドライブ補完処理のフローチャートである。
【０１３４】
読書制御部２０４は、故障ドライブテーブル２０１を確認する。そして、読書制御部２０４は、稼働可能ドライブに光ディスク３０１を搭載させる。（ステップＳ３０１）。
【０１３５】
次に、読書制御部２０４は、ドライブ番号であるＮを０に設定する（ステップＳ３０２）。
【０１３６】
読書制御部２０４は、ドライブ番号であるＮを１つインクリメントする（ステップＳ３０３）。
【０１３７】
次に、読書制御部２０４は、故障ドライブテーブル２０１を参照して、ドライブＮが故障ドライブとして既に故障ドライブテーブル２０１に登録されており使用不可か否かを判定する（ステップＳ３０４）。ドライブＮが既に故障ドライブテーブル２０１に登録されている場合（ステップＳ３０４：否定）、既にドライブＮに対する対応は完了しているので、処理は、ステップＳ３１０へ進む。
【０１３８】
これに対して、ドライブＮが使用可能である場合（ステップＳ３０４：肯定）、読書制御部２０４は、ドライブＮの故障検知を故障管理部２０３に実行させる（ステップＳ３０５）。
【０１３９】
その後、故障管理部２０３は、ドライブＮの故障検知を行い、ドライブＮに故障が発生したか否かを判定する（ステップＳ３０６）。ドライブＮに故障が発生していない場合（ステップＳ３０６：否定）、処理は、ステップＳ３１０へ進む。
【０１４０】
これに対して、ドライブＮに故障が発生した場合（ステップＳ３０６:肯定）、故障管理部２０３は、ドライブＮの処理を停止させる（ステップＳ３０７）。次に、故障管理部２０３は、ドライブＮから光ディスク３０１を取り出してマガジン３０３に戻す処理をディスク搬送用ロボット３０２に行わせる（ステップＳ３０８）。
【０１４１】
次に、故障管理部２０３は、ドライブＮを故障ドライブとして故障ドライブテーブル２０１に登録して動作を停止させる（ステップＳ３０９）。その後、処理は、ステップＳ３１０へ進む。
【０１４２】
読書制御部２０４は、ドライブ番号Ｎが６であるか否かを判定する（ステップＳ３１０）。ドライブ番号Ｎが６でない場合（ステップＳ３１０：否定）、処理は、ステップＳ３０３へ戻る。
【０１４３】
これに対して、ドライブ番号Ｎが６の場合（ステップＳ３１０：肯定）、読書制御部２０４は、搭載された光ディスク３０１を用いたデータ処理を稼働可能ドライブに実行させる（ステップＳ３１１）。
【０１４４】
そして、読書制御部２０４は、稼働可能ドライブの処理が完了したか否かを判定する（ステップＳ３１２）。稼働可能ドライブの処理が完了していない場合（ステップＳ３１２：否定）、読書制御部２０４は、ステップＳ３０２に戻る。
【０１４５】
これに対して、稼働可能ドライブの処理が完了した場合（ステップＳ３１２：肯定）、読書制御部２０４は、光ディスク３０１を稼動可能ドライブから取り出させる（ステップＳ３１３）。
【０１４６】
次に、読書制御部２０４は、未処理の光ディスク３０１があるか否かを判定する（ステップＳ３１４）。
【０１４７】
未処理の光ディスク３０１が存在する場合（ステップＳ３１４：肯定）、読書制御部２０４は、未処理の光ディスク３０１の数をＢ、故障ドライブの数をＭ、稼働可能ドライブの数をＤとする（ステップＳ３１５）。
【０１４８】
次に、読書制御部２０４は、Ｄ≧Ｂか否かを判定する（ステップＳ３１６）。Ｄ≧Ｂの場合（ステップＳ３１６：肯定）、読書制御部２０４は、未処理の光ディスク３０１を稼動可能ドライブに搭載させる（ステップＳ３１７）。
【０１４９】
次に、読書制御部２０４は、Ｄ及びＢを１つずつデクリメントする（ステップＳ３１８）。
【０１５０】
次に、読書制御部２０４は、Ｄ＝０か否かを判定する（ステップＳ３１９）。Ｄ＝０でない場合（ステップＳ３１９：否定）、読書制御部２０４は、ステップＳ３１１へ戻る。これに対して、Ｄ＝０の場合（ステップＳ３１９：肯定）、読書制御部２０４は、ステップＳ３１１へ戻る。
【０１５１】
一方、Ｄ≧Ｂでない場合（ステップＳ３１６：否定）、読書制御部２０４は、未処理の光ディスク３０１を稼動可能ドライブに搭載させる（ステップＳ３２０）。
【０１５２】
次に、読書制御部２０４は、Ｂを１つずつデクリメントする（ステップＳ３２１）。
【０１５３】
次に、読書制御部２０４は、Ｂ＝０か否かを判定する（ステップＳ３２２）。Ｂ＝０でない場合（ステップＳ３２２：否定）、読書制御部２０４は、ステップＳ３２０へ戻る。これに対して、Ｂ＝０の場合（ステップＳ３２２：肯定）、読書制御部２０４は、ステップＳ３１１へ戻る。
【０１５４】
一方、未処理の光ディスク３０１が無い場合（ステップＳ３１４：否定）、読書制御部２０４は、故障ドライブ補完処理を終了する。
【０１５５】
以上に説明したように、本実施例に係る管理装置は、データ処理の命令を受けた際に、既に故障が発生していることが分かっている故障ドライブを特定して、故障ドライブを除いた稼働可能ドライブに光ディスクを搭載させる。これにより、光ディスクを全てのドライブに挿入させた場合に行われる既に故障が判明している故障ドライブへの光ディスクの搭載及び取り出しの処理を省くことができ、動作時間を短縮することができる。
【実施例３】
【０１５６】
次に、実施例３について説明する。本実施例に係る管理装置も図２のブロック図で示される。以下の説明では、実施例１と同様の各部の処理については説明を省略する場合がある。
【０１５７】
本実施例に係る故障管理部２０３は、故障ドライブに対して保守交換などの復旧作業が行われたか否かを判定する。ここで、故障ドライブの復旧作業が行われた場合、管理者は、管理装置２に付属したパネルなどを用いて故障ドライブの復旧を故障管理部２０３に通知する。故障管理部２０３は、故障ドライブの復旧の通知を受信したか否かにより、故障ドライブに対して復旧作業が行われたか否かを判定できる。
【０１５８】
そして、故障ドライブに対する復旧作業が行われた場合、故障管理部２０３は、故障ドライブであったドライブ３０を初期化して稼動可能か否かを判定する。故障ドライブであったドライブ３０が稼働可能でなければ、故障管理部２０３は、そのドライブ３０をそのまま故障ドライブとして扱う。
【０１５９】
これに対して、故障ドライブであったドライブ３０が稼働可能な場合、故障管理部２０３は、そのドライブ３０の情報を故障ドライブテーブル２０１から削除する。
【０１６０】
読書制御部２０４は、故障ドライブであったドライブ３０の情報が故障ドライブテーブル２０１から削除されると、そのドライブ３０に対して光ディスク３０１を搭載させて、稼動可能ドライブとしてそのドライブ３０にデータ処理を実行させる。
【０１６１】
次に、図１１を参照して、実施例３に係る故障ドライブ補完処理の流れについて説明する。図１１は、実施例３に係る故障ドライブ補完処理のフローチャートである。
【０１６２】
読書制御部２０４は、全てのドライブ３０に光ディスク３０１を搭載させる（ステップＳ４０１）。
【０１６３】
次に、読書制御部２０４は、ドライブ番号であるＮを０に設定する（ステップＳ４０２）。
【０１６４】
読書制御部２０４は、ドライブ番号であるＮを１つインクリメントする（ステップＳ４０３）。
【０１６５】
次に、読書制御部２０４は、故障ドライブテーブル２０１を参照して、ドライブＮが故障ドライブとして既に故障ドライブテーブル２０１に登録されており使用不可か否かを判定する（ステップＳ４０４）。
【０１６６】
ドライブＮが使用可能である場合（ステップＳ４０４：肯定）、読書制御部２０４は、ドライブＮの故障検知を故障管理部２０３に実行させる（ステップＳ４０５）。
【０１６７】
その後、故障管理部２０３は、ドライブＮの故障検知を行い、ドライブＮに故障が発生したか否かを判定する（ステップＳ４０６）。ドライブＮに故障が発生していない場合（ステップＳ４０６：否定）、処理は、ステップＳ４１４へ進む。
【０１６８】
これに対して、ドライブＮに故障が発生した場合（ステップＳ４０６:肯定）、故障管理部２０３は、ドライブＮの処理を停止させる（ステップＳ４０７）。次に、故障管理部２０３は、ドライブＮから光ディスク３０１を取り出してマガジン３０３に戻す処理をディスク搬送用ロボット３０２に行わせる（ステップＳ４０８）。
【０１６９】
次に、故障管理部２０３は、ドライブＮを故障ドライブとして故障ドライブテーブル２０１に登録して動作を停止させる（ステップＳ４０９）。その後、処理は、ステップＳ４１４へ進む。
【０１７０】
一方、ドライブＮが既に故障ドライブテーブル２０１に登録されている場合（ステップＳ４０４：否定）、読書制御部２０４は、ドライブＮの復旧の確認を故障管理部２０３に指示する。故障管理部２０３は、読書制御部２０４からの指示を受けて、ドライブＮの復旧作業が行われたか否かを判定する（ステップＳ４１０）。復旧作業が行われていない場合（ステップＳ４１０：否定）、処理は、ステップＳ４１４へ進む。
【０１７１】
これに対して、復旧作業が行われた場合（ステップＳ４１０：肯定）、故障管理部２０３は、ドライブＮを初期化して稼動可能か否かを判定する（ステップＳ４１１）。ドライブＮが稼動可能でない場合（ステップＳ４１１：否定）、処理は、ステップＳ４１４へ進む。
【０１７２】
ドライブＮが稼働可能な場合（ステップＳ４１１：肯定）、故障管理部２０３は、ドライブＮが稼働可能な場合、故障管理部２０３は、ドライブＮの故障ドライブとしての登録を故障ドライブテーブル２０１から削除する（ステップＳ４１２）。
【０１７３】
読書制御部２０４は、故障ドライブであったドライブ３０の情報が故障ドライブテーブル２０１から削除されると、ドライブＮを稼動可能ドライブと判定し、ドライブＮに対して光ディスク３０１を搭載させる（ステップＳ４１３）。
【０１７４】
その後、読書制御部２０４は、ドライブ番号Ｎが６であるか否かを判定する（ステップＳ４１４）。ドライブ番号Ｎが６でない場合（ステップＳ４１４：否定）、処理は、ステップＳ４０３へ戻る。
【０１７５】
これに対して、ドライブ番号Ｎが６の場合（ステップＳ４１４：肯定）、読書制御部２０４は、搭載された光ディスク３０１を用いたデータ処理を稼働可能ドライブに実行させる（ステップＳ４１５）。
【０１７６】
そして、読書制御部２０４は、稼働可能ドライブの処理が完了したか否かを判定する（ステップＳ４１６）。稼働可能ドライブの処理が完了していない場合（ステップＳ４１６：否定）、読書制御部２０４は、ステップＳ４０２に戻る。
【０１７７】
これに対して、稼働可能ドライブの処理が完了した場合（ステップＳ４１６：肯定）、読書制御部２０４は、光ディスク３０１を稼動可能ドライブから取り出させる（ステップＳ４１７）。
【０１７８】
次に、読書制御部２０４は、未処理の光ディスク３０１があるか否かを判定する（ステップＳ４１８）。
【０１７９】
未処理の光ディスク３０１が存在する場合（ステップＳ４１８：肯定）、読書制御部２０４は、未処理の光ディスク３０１の数をＢ、故障ドライブの数をＭ、稼働可能ドライブの数をＤとする（ステップＳ４１９）。
【０１８０】
次に、読書制御部２０４は、Ｄ≧Ｂか否かを判定する（ステップＳ４２０）。Ｄ≧Ｂの場合（ステップＳ４２０：肯定）、読書制御部２０４は、未処理の光ディスク３０１を稼動可能ドライブに搭載させる（ステップＳ４２１）。
【０１８１】
次に、読書制御部２０４は、Ｄ及びＢを１つずつデクリメントする（ステップＳ４２２）。
【０１８２】
次に、読書制御部２０４は、Ｄ＝０か否かを判定する（ステップＳ４２３）。Ｄ＝０でない場合（ステップＳ４２３：否定）、読書制御部２０４は、ステップＳ４２１へ戻る。これに対して、Ｄ＝０の場合（ステップＳ４２３：肯定）、読書制御部２０４は、ステップＳ４１５へ戻る。
【０１８３】
一方、Ｄ≧Ｂでない場合（ステップＳ４２０：否定）、読書制御部２０４は、未処理の光ディスク３０１を稼動可能ドライブに搭載させる（ステップＳ４２４）。
【０１８４】
次に、読書制御部２０４は、Ｂを１つずつデクリメントする（ステップＳ４２５）。
【０１８５】
次に、読書制御部２０４は、Ｂ＝０か否かを判定する（ステップＳ４２６）。Ｂ＝０でない場合（ステップＳ４２６：否定）、読書制御部２０４は、ステップＳ４２４へ戻る。これに対して、Ｂ＝０の場合（ステップＳ４２６：肯定）、読書制御部２０４は、ステップＳ４１５へ戻る。
【０１８６】
一方、未処理の光ディスク３０１が無い場合（ステップＳ４１８：否定）、読書制御部２０４は、故障ドライブ補完処理を終了する。
【０１８７】
以上に説明したように、本実施例に係る管理装置は、故障ドライブの復旧作業が行われた場合に、そのドライブを初期化して動作確認し、動作可能な場合には稼働可能ドライブに組み込んでデータ処理を行わせる。このように、復旧されたドライブが自動的に稼働可能ドライブとして組み込まれることで、稼働を中断せずに処理速度を向上させることができる。
【実施例４】
【０１８８】
図１２は、実施例４に係る光ディスクライブラリシステムの構成図である。本実施例に係る光ライブラリ装置３は、図１２に示すように、予備ドライブ４１及び４２を有する。ここで、図１２では予備ドライブ４１及び４２の２つを図示したが、この数に特に制限は無い。また、本実施例に係る管理装置２も、図２のブロック図で示される。以下の説明では、実施例１と同様の各部の処理については説明を省略する場合がある。また、以下の説明では、予備ドライブ４１及び４２を区別しない場合、予備ドライブ４０と呼ぶ。この予備ドライブ４０が、「予備データ処理機構」の一例にあたる。
【０１８９】
本実施例に係る故障管理部２０３は、故障検出を行う際に、光ディスクライブラリ装置３が予備ドライブ４０を有するか否かの判定を実行する。そして、故障管理部２０３は、予備ドライブ４０が存在する場合、各予備ドライブ４０で故障が発生しているか否かをチェックする。
【０１９０】
予備ドライブ４０で故障していない稼動可能な予備ドライブ４０が存在する場合、故障管理部２０３は、稼動可能な予備ドライブを図１３に示すような予備ドライブテーブル２１０に登録する。
【０１９１】
図１３は、予備ドライブテーブルの一例の図である。本実施例では、予備ドライブ４１及び４２に順番に予備ドライブ番号Ｓとして１及び２を振り、故障管理部２０３は、予備ドライブテーブル２１０に予備ドライブ番号を登録することで、予備ドライブ４０の登録を行う。図１３では、分かり易いように予備ドライブ番号の後に予備ドライブ４１又は４２を表す情報を付加したが、この情報はなくてもよい。さらに、故障管理部２０３は、予備ドライブ４０の合計を予備ドライブテーブル２１０に登録する。これにより、読書制御部２０４は、予備ドライブ４０の数を容易に把握することができる。
【０１９２】
また、故障管理部２０３は、故障検知により故障ドライブを検出した場合、予備ドライブテーブル２１０を確認して、稼動可能な予備ドライブ４０が１台以上あるか否かを判定する。そして、故障管理部２０３は、稼動可能な予備ドライブ４０を検出した故障ドライブと交換して、稼動可能な予備ドライブ４０をデータ処理を実行する稼働可能ドライブに割り当てる。また、交換する予備ドライブ４０が足りない場合、故障管理部２０３は、足りない分の故障ドライブを故障ドライブテーブル２０１に登録する。その後、故障管理部２０３は、稼動可能ドライブとして新たに割り当てた予備ドライブ４０の情報を読書制御部２０４に通知する。
【０１９３】
読書制御部２０４は、稼動可能ドライブとして新たに割り当てられた予備ドライブ４０の情報を故障管理部２０３から取得する。そして、読書制御部２０４は、新たに割り当てられた予備ドライブ４０を稼動可能ドライブの１つとして組み込んだうえで、データ処理を光ディスクライブラリ装置３に実行させる。
【０１９４】
次に、図１４を参照して、実施例４に係る故障ドライブ補完処理の流れについて説明する。図１４は、実施例４に係る故障ドライブ補完処理のフローチャートである。
【０１９５】
読書制御部２０４は、全てのドライブ３０に光ディスク３０１を搭載させる（ステップＳ５０１）。
【０１９６】
次に、読書制御部２０４は、ドライブ番号であるＮを０に設定する（ステップＳ５０２）。
【０１９７】
読書制御部２０４は、ドライブ番号であるＮを１つインクリメントする（ステップＳ５０３）。
【０１９８】
次に、故障管理部２０３は、予備ドライブ４０が１台以上存在するか否かを判定する（ステップＳ５０４）。この場合、既に故障ドライブの代わりに稼働可能ドライブとして割り当てられた予備ドライブ４０は、判定の対象から外される。
【０１９９】
次に、故障管理部２０３は、全ての予備ドライブ４０で故障が発生しているか否かを判定する（ステップＳ５０５）。予備ドライブ４０が全て故障の場合（ステップＳ５０５:肯定）、故障管理部２０３は、ステップＳ５０７へ進む。
【０２００】
これに対して、故障が発生していない予備ドライブ４０が存在する場合（ステップＳ５０５：否定）、故障管理部２０３は、故障が発生していない予備ドライブ４０を予備ドライブテーブル２１０に登録する（ステップＳ５０６）。
【０２０１】
次に、読書制御部２０４は、故障ドライブテーブル２０１を参照して、ドライブＮが故障ドライブとして既に故障ドライブテーブル２０１に登録されており使用不可か否かを判定する（ステップＳ５０７）。ドライブＮが既に故障ドライブテーブル２０１に登録されている場合（ステップＳ５０７：否定）、既にドライブＮに対する対応は完了しているので、処理は、ステップＳ５１７へ進む。
【０２０２】
これに対して、ドライブＮが使用可能である場合（ステップＳ５０７：肯定）、読書制御部２０４は、ドライブＮの故障検知を故障管理部２０３に実行させる（ステップＳ５０８）。
【０２０３】
その後、故障管理部２０３は、ドライブＮの故障検知を行い、ドライブＮに故障が発生したか否かを判定する（ステップＳ５０９）。ドライブＮに故障が発生していない場合（ステップＳ５０９：否定）、処理は、ステップＳ５１７へ進む。
【０２０４】
これに対して、ドライブＮに故障が発生した場合（ステップＳ５０９:肯定）、故障管理部２０３は、ドライブＮの処理を停止させる（ステップＳ５１０）。
【０２０５】
次に、故障管理部２０３は、稼動可能ドライブとして割り当て可能な予備ドライブ数をＲとして、Ｒが１以上か否かを判定する（ステップＳ５１１）。
【０２０６】
Ｒが未満、すなわち稼働可能ドライブに割り当て可能な予備ドライブが無い場合（ステップＳ５１１：否定）、故障管理部２０３は、ドライブＮから光ディスク３０１を取り出してマガジン３０３に戻す処理をディスク搬送用ロボット３０２に行わせる（ステップＳ５１２）。
【０２０７】
次に、故障管理部２０３は、ドライブＮを故障ドライブとして故障ドライブテーブル２０１に登録して動作を停止させる（ステップＳ５１３）。その後、処理は、ステップＳ５１７へ進む。
【０２０８】
これに対して、Ｒが１以上の場合（ステップＳ５１１：肯定）、故障管理部２０３は、予備ドライブ４０をドライブＮと交換して稼働可能ドライブに割り当てる処理を実行する（ステップＳ５１４）。
【０２０９】
次に、故障管理部２０３は、Ｒを１つインクリメントする（ステップＳ５１５）。その後、故障管理部２０３は、稼動可能ドライブに割り当てた予備ドライブ４０の情報を読書制御部２０４に通知する。
【０２１０】
読書制御部２０４は、稼動可能ドライブに割り当てた予備ドライブ４０の情報の通知を故障管理部２０３から受ける。そして、読書制御部２０４は、ドライブＮから光ディスク３０１を取り出させて、稼動可能ドライブとして割り当てられた予備ドライブ４０に取り出した光ディスク３０１を搭載させる（ステップＳ５１６）。図１４では、稼動可能ドライブとして割り当てられた予備ドライブ４０を割当予備ドライブとした。
【０２１１】
その後、読書制御部２０４は、ドライブ番号Ｎが６であるか否かを判定する（ステップＳ５１７）。ドライブ番号Ｎが６でない場合（ステップＳ５１７：否定）、処理は、ステップＳ５０３へ戻る。
【０２１２】
これに対して、ドライブ番号Ｎが６の場合（ステップＳ５１７：肯定）、読書制御部２０４は、搭載された光ディスク３０１を用いたデータ処理を稼働可能ドライブに実行させる（ステップＳ５１８）。
【０２１３】
そして、読書制御部２０４は、稼働可能ドライブの処理が完了したか否かを判定する（ステップＳ５１９）。稼働可能ドライブの処理が完了していない場合（ステップＳ５１９：否定）、読書制御部２０４は、ステップＳ５０２に戻る。
【０２１４】
これに対して、稼働可能ドライブの処理が完了した場合（ステップＳ５１９：肯定）、読書制御部２０４は、光ディスク３０１を稼動可能ドライブから取り出させる（ステップＳ５２０）。
【０２１５】
次に、読書制御部２０４は、未処理の光ディスク３０１があるか否かを判定する（ステップＳ５２１）。
【０２１６】
未処理の光ディスク３０１が存在する場合（ステップＳ５２１：肯定）、読書制御部２０４は、未処理の光ディスク３０１の数をＢ、故障ドライブの数をＭ、稼働可能ドライブの数をＤとする（ステップＳ５２２）。
【０２１７】
次に、読書制御部２０４は、Ｄ≧Ｂか否かを判定する（ステップＳ５２３）。Ｄ≧Ｂの場合（ステップＳ５２３：肯定）、読書制御部２０４は、未処理の光ディスク３０１を稼動可能ドライブに搭載させる（ステップＳ５２４）。
【０２１８】
次に、読書制御部２０４は、Ｄ及びＢを１つずつデクリメントする（ステップＳ５２５）。
【０２１９】
次に、読書制御部２０４は、Ｄ＝０か否かを判定する（ステップＳ５２６）。Ｄ＝０でない場合（ステップＳ５２６：否定）、読書制御部２０４は、ステップＳ５２４へ戻る。これに対して、Ｄ＝０の場合（ステップＳ５２６：肯定）、読書制御部２０４は、ステップＳ５１８へ戻る。
【０２２０】
一方、Ｄ≧Ｂでない場合（ステップＳ５２３：否定）、読書制御部２０４は、未処理の光ディスク３０１を稼動可能ドライブに搭載させる（ステップＳ５２７）。
【０２２１】
次に、読書制御部２０４は、Ｂを１つずつデクリメントする（ステップＳ５２８）。
【０２２２】
次に、読書制御部２０４は、Ｂ＝０か否かを判定する（ステップＳ５２９）。Ｂ＝０でない場合（ステップＳ５２９：否定）、読書制御部２０４は、ステップＳ５２７へ戻る。これに対して、Ｂ＝０の場合（ステップＳ５２９：肯定）、読書制御部２０４は、ステップＳ５１８へ戻る。
【０２２３】
一方、未処理の光ディスク３０１が無い場合（ステップＳ５２１：否定）、読書制御部２０４は、故障ドライブ補完処理を終了する。
【０２２４】
以上に説明したように、本実施例に係る管理装置は、故障ドライブと交換可能な予備ドライブが存在する場合、故障ドライブの代わりに予備ドライブを稼動可能ドライブに割り当ててデータ処理を実行させる。これにより、動作継続性をより向上させることができる。
【０２２５】
（ハードウェア構成）
図１５は、管理装置のハードウェア構成図である。図１５に示すように、管理装置２は、ＣＰＵ（Central  Processing  Unit）２９１、メモリ２９２及びキャッシュ２９３を有する。さらに、管理装置２は、ＬＡＮ（Local  Area  Network）インタフェース２９４、データ送受信インタフェース２９５及びＵＳＢ（Universal  Serial  Bus）インタフェース２９６を有する。
【０２２６】
ＣＰＵ２９１は、メモリ２９２及びキャッシュ２９３とバスで接続される。また、ＣＰＵ２９１は、ＬＡＮインタフェース２９４、データ送受信インタフェース２９５及びＵＳＢインタフェース２９６とバスで接続される。
【０２２７】
ＬＡＮインタフェース２９４は、ネットワーク４に接続してホストコンピュータ１との間でデータ通信及び制御用通信を行うためのインタフェースである。ＣＰＵ２９１は、ＬＡＮインタフェース２９４を介して、ホストコンピュータ１と通信を行う。
【０２２８】
データ送受信インタフェース２９５は、ドライブ３０との間のデータ通信用のインタフェースである。ＣＰＵ２９１は、データ送受信用インタフェース２９５を介して、ドライブ３０との間でデータの送受信を行う。
【０２２９】
ＵＳＢインタフェース２９６は、ディスク搬送用ロボット３０２との間の制御通信用のインタフェースである。ＣＰＵ２９１は、ＵＳＢインタフェース２９６を介して、ディスク搬送用ロボット３０２に制御信号を送信する。
【０２３０】
キャッシュ２９３は、図１に示したキャッシュ２２の機能を実現する。
【０２３１】
メモリ２９２は、図２に例示した、故障ドライブテーブル２０１を格納する。また、メモリ２９２は、図２例示した、データ送受信部２０２、故障管理部２０３、読書制御部２０４及びＲＡＩＤ管理部２０５の機能を実現するためのプログラムを含む各種プログラムを格納する。
【０２３２】
ＣＰＵ２９１は、メモリ２９２から各種プログラムを読み出してメモリ２９２上に展開して実行することで、図２例示した、データ送受信部２０２、故障管理部２０３、読書制御部２０４及びＲＡＩＤ管理部２０５の機能を実現する。
【符号の説明】
【０２３３】
１  ホストコンピュータ
２  管理装置
３  光ディスクライブリラリ装置
４  ネットワーク
２１  読書管理部
２２  キャッシュ
３０〜３６  ドライブ
４０〜４２  予備ドライブ
１００  光ディスクライブラリシステム
２０１  故障ドライブテーブル
２０２  データ送受信部
２０３  故障管理部
２０４  読書制御部
２０５  ＲＡＩＤ管理部
３０１  光ディスク
３０２  ディスク搬送用ロボット
３０３  マガジン
【図１】
2020095486.tif 000003
【図２】
2020095486.tif 000004
【図３】
2020095486.tif 000005
【図４】
2020095486.tif 000006
【図５】
2020095486.tif 000007
【図６】
2020095486.tif 000008
【図７】
2020095486.tif 000009
【図８】
2020095486.tif 000010
【図９】
2020095486.tif 000011
【図１０】
2020095486.tif 000012
【図１１】
2020095486.tif 000013
【図１２】
2020095486.tif 000014
【図１３】
2020095486.tif 000015
【図１４】
2020095486.tif 000016
【図１５】
2020095486.tif 000017