(57)【要約】【課題】記録媒体への書き込み処理中に、書き込み処理の対象となるデータの変更要求に対するサーバの応答待ち時間を少なくする。【解決手段】情報処理装置と接続するデータ記憶装置であって、ライブラリ部と、情報処理装置から送信された複数のデータを記憶するストレージ部と、複数のデータをライブラリ部の記録媒体に書き込む処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して情報処理装置から変更要求を受け取る場合、第１のデータより先に第２のデータをライブラリ部の記録媒体に書き込む制御部と、を有することを特徴とするデータ記憶装置が提供される。【選択図】図７
2011191906.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と接続するデータ記憶装置であって、
ライブラリ部と
前記情報処理装置から送信された複数のデータを記憶するストレージ部と、
前記ストレージ部を、複数のデータを前記ライブラリ部の記録媒体に書き込む処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第１のデータより先に前記第２のデータを前記ライブラリ部の記録媒体に書き込む制御部と、を有することを特徴とするデータ記憶装置。
【請求項２】
前記制御部は、前記変更要求を受け取った場合、前記変更要求を受け取ったことの前記情報処理装置への通知を、前記記録媒体の変更要求の対象データの書き込み中又は書き込み後に、前記情報処理装置に行う請求項１に記載のデータ記憶装置。
【請求項３】
前記ライブラリ部は、第１の記録媒体及び第２の記録媒体を有し、
前記制御部は、前記第１のデータを前記第１のデータ媒体に書き込み中に、前記情報処理装置から前記第２のデータに対する変更要求を前記書き込み中に受け取る場合、前記第２の記録媒体に前記第２のデータを書き込む請求項１又は２に記載のデータ記憶装置。
【請求項４】
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置であって、
ストレージ部と、
前記ストレージ部を、複数のデータを前記ライブラリ装置の記録媒体に書き込む処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第１のデータより先に前記第２のデータを前記ライブラリ装置の記録媒体に書き込む制御部と、を有することを特徴とするデータ管理装置。
【請求項５】
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置における制御方法であって、
前記制御部が、前記ストレージ部に記憶された複数のデータを前記ライブラリ装置に含まれる記録媒体に書き込む処理を開始し、
前記制御部が、前記書き込み処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第１のデータより先に前記第２のデータを前記記録媒体に書き込むことを特徴とする制御方法。
【請求項６】
前記制御部が、前記記録媒体への書き込み中又は書き込み後に、前記変更要求を受け取ったことを、前記情報処理装置に通知する請求項５に記載の制御方法。
【請求項７】
前記ライブラリ部は、第１の記録媒体及び第２の記録媒体を有し、
前記制御部は、前記第１のデータを前記第１のデータ媒体に書き込み中に、前記情報処理装置から前記第２のデータに対する変更要求を前記書き込み中に受け取る場合、前記前記ライブラリ部の記録媒体に前記第２のデータを書き込む請求項５又は６に記載の制御方法。
【請求項８】
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置により実行されるプログラムであって、
前記データ管理装置に、前記ストレージ装置に記憶された複数のデータを前記ライブラリ装置に含まれる記録媒体に書き込む処理を開始する手順、
前記データ管理装置に、前記書き込み処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第１のデータより先に前記第２のデータを前記ライブラリ部の前記記録媒体に書き込む手順を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶装置、データ管理装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
テープ媒体にデータを記録することで、大量のデータを格納できるテープ装置が知られている。テープ装置が、テープ媒体からデータを読み書きする動作には、テープ媒体をテープドライブにマウントする機械動作を伴う。そのため、テープ媒体へのデータの記録中、データをテープ装置に送信するサーバには、長い待ち時間が生じていた。
【０００３】
また、テープ装置は、テープ媒体を、テープ装置外部に排出するエクスポート処理を実行する。エクスポート処理は、例えば、テープ媒体に記録したデータを、災害対策等のために外部保管するために行われる。従来のテープ装置では、業務サーバがテープ媒体からデータを読み出し、読み出したデータを外部保管用のテープ媒体にコピーすることでエクスポート処理を実行していた。そのため、テープ装置は、エクスポート処理の際に、記憶容量が少ないサーバの記憶領域を使用するため、複数の論理ボリュームをサーバでキャッシュすることができず、複数の論理ボリュームをテープ媒体にまとめて書くことができなかった。
【０００４】
そこで、テープの運用を、テープ媒体以外のたとえばＨＤＤ（Ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）等のストレージ上で仮想的に行う仮想テープ装置が提案されている。仮想テープ装置では、テープイメージのデータをストレージ上に保存するが、ストレージではテープマウントなどの機械動作が無いため、テープ装置と比して高速なデータアクセスを提供する。
【０００５】
仮想テープ装置は、複数の論理ボリュームを格納するストレージを有するため、複数の論理ボリュームをストレージに格納して、複数の論理ボリュームを大容量のテープ媒体にまとめて書き込むことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２９３６６５号公報
【特許文献２】特開２００５−２６７４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
仮想テープ装置であっても、エクスポート処理において、複数の論理ボリュームをテープ媒体に書き込む処理は時間がかかる。仮想テープ装置におけるエクスポート処理は、従来のテープ装置のようにサーバ側のデータ処理を生じないため、サーバ側はエクスポート処理の状態を監視しない。そのため、サーバは、エクスポート処理を仮想テープ装置に要求した後に、エクスポート処理中に、エクスポート処理の対象となる論理ボリュームに書込要求を行う場合がある。エクスポート処理中にサーバからエクスポート処理での対象となる論理ボリュームの書き込みが行われると、書き込み途中の不定な論理ボリュームをエクスポート用のテープ媒体に書き込んでしまう。これを防ぐため、仮想テープ装置内で論理ボリュームの排他制御を行い、サーバからの変更要求を受信した場合は、エクスポート処理を中断させるか、又は、エクスポート処理終了まで書込要求を待機させていた。しかし、エクスポート処理の中断は、データの定期的バックアップという計画的な運用の妨げとなり、また、サーバに変更要求を待機させる処理は、サーバ側の通常運用を妨げる問題を生じていた。
【０００８】
開示のデータ記憶装置は、記録媒体への書き込み処理中に、書き込み処理の対象となるデータの変更要求に対するサーバの応答待ち時間を少なくすることを目的とする。
【課題を解決するための手段】
【０００９】
記録媒体を有するライブラリ部と、情報処理装置から送信された複数のデータを記憶するストレージ部と、ストレージ部を、ライブラリ部として情報処理装置に見せかける仮想化を行うと共に、複数のデータをライブラリ部の記録媒体に書き込む処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して情報処理装置から変更要求を受け取る場合、第１のデータより先に第２のデータをライブラリ部の記録媒体に書き込む制御部と、を有することを特徴とするデータ記憶装置が提供される。
【発明の効果】
【００１０】
開示のデータ記憶装置は、記録媒体への書き込み処理中に、書き込み処理の対象となるデータの変更要求に対するサーバの応答待ち時間を少なくすることができる。
【図面の簡単な説明】
【００１１】
【図１】データ記憶装置が用いられるシステム構成の一例を示す図である。
【図２】データ記憶装置の構成の一例を示す図である。
【図３】データ管理部のハードウェア構成を示す図である。
【図４】ライブラリ部のハードウェア構成を示す図である。
【図５】ストレージ部に格納されたデータの一例を示す図である。
【図６】エクスポート要求及び管理情報の一例を示す図ある。
【図７】書込順序制御処理の一例を示す図ある。
【図８】データ記憶装置とサーバとの送信データのシーケンスの一例を示す図である。
【図９】書込順序制御の第１例を示すフローチャートである。
【図１０】書込順序制御の第２例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、データ記憶装置の実施形態を説明する。
【００１３】
［システム構成］
図１は、データ記憶装置１００が用いられるシステム構成の一例を示す図である。図１に示すシステム１は、サーバ１０、通信装置５０、データ記憶装置１００を有する。
【００１４】
［システム構成：データ記憶装置］
データ記憶装置１００は、データ管理部２００、及びライブラリ部３００を有する。サーバ１０とデータ記憶装置１００は、データ送信可能なように接続されている。サーバ１０とデータ管理部２００は、例えば、光ファイバケーブルで接続される。なお、図１に示すサーバ１０の台数「１」は例示であるが、サーバの台数は図示される台数に限定されない。
【００１５】
データ記憶装置１００は、ストレージ部１４０を有するデータ管理部２００と、複数の記録媒体を収納するライブラリ部３００とを有する。ストレージ部は１４０、データを記録媒体に記録する装置であると共に、記録媒体のマウント動作がない装置である。ライブラリ部３００は、データを記録媒体に記録する装置であると共に、記録媒体のマウント／アンマウント動作を要する装置である。ストレージ部１４０は、例えば、磁気ディスクにデータを記録するディスクアレイ装置である。ライブラリ部３００は、例えば、テープドライブにより磁気テープにデータを記録する装置である。記録媒体とは、磁気テープ、又は、磁気ディスク等である。データ記憶装置１００は、ストレージ部１４０を仮想化して、ライブラリ部３００としてサーバ１０に使用させる。
【００１６】
データ記憶装置１００は、ストレージ部１４０を使用し、サーバ１０によりデータ記憶装置１００へ書き込み、又は、サーバ１０からの読み出しアクセスの対象となるデータを全てストレージ部１４０に格納する。よって、サーバ１０がライブラリ部３００にマウントされる記録媒体への書き込み要求を行うと、書き込み対象データがサーバ１０からデータ記憶装置１００に送られ、データ管理部２００が、受け取ったデータをストレージ部１４０に書き込む。又、サーバ１０がライブラリ部３００の記録媒体からのデータ読み出し要求を行うと、データ記憶装置１００はストレージ部１４０に格納されているデータを読み出して、サーバに転送する。ストレージ部１４０ではライブラリ部３００のような媒体マウント等の機械動作が生じないため、データ記憶装置１００は、サーバ１０によるデータ記憶装置１００へのアクセスに対してストレージ部１４０へのアクセスで対応することで、サーバ１０に対して高速なデータアクセスを提供する。
【００１７】
なお、図１では、データ記憶装置１００という装置の中に、データ管理部２００と、ライブラリ部３００とが収納されるように示されるが、データ管理部２００と、ライブラリ部３００は、異なる筐体にそれぞれ収納される物理的に異なる装置であってもよい。
【００１８】
データ記憶装置１００は、サーバ１０から受信したエクスポート要求に従って、ストレージ部１４０に記憶されたエクスポート対象のデータを外部保管用の記録媒体３８０に書き込み、データ記憶装置１００外部に排出するエクスポート処理を実行する。外部保管用の記録媒体３８０は、例えば、外部保管場所３９０で保管される。また、データが書き込まれている外部保管用の記録媒体３８０をデータ記憶装置１００のライブラリ３００に投入することで、外部保管用の記録媒体３８０に書き込まれたデータをデータ記憶装置１００のライブラリ３００に格納することができる。データ記憶装置１００のより詳細な説明は、図３及び図４を用いて後述される。
【００１９】
［システム構成：サーバ］
サーバ１０は、データ記憶装置１００に、データの読み出し又は書き込みを要求する情報処理装置である。サーバ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２、主記憶装置１４、補助記憶装置１６、及びネットワークインタフェース１８を有する。
【００２０】
ＣＰＵ１２は、主記憶装置１４に記憶されたプログラムを実行することで、所定の機能を実現する。例えば、ＣＰＵ１２は、演算処理を実行して、補助記憶装置１６に演算結果を格納する。ＣＰＵ１２はさらに、補助記憶装置１６に格納されたデータをデータ記憶装置１００に書き込む要求、又は、データ記憶装置１００に格納されたデータを補助記憶装置１６に読み出す要求をデータ記憶装置１００に対して行う。ＣＰＵ１２はさらにエクスポート要求を生成し、データ記憶装置１００に送信する。エクスポート要求は、例えば、夜間に出力されるバッチ処理の結果を外部に排出する目的のために生成される。
【００２１】
ＣＰＵ１２は、例えば、物理ボリュームとしての複数のディスク又はディスクの一部の記憶領域を１つの論理ボリュームとして特定する。よって、ＣＰＵ１２は、補助記憶装置１６に格納されるデータを、例えば、論理ボリュームとしてのデータとして特定する。
【００２２】
主記憶装置１４は、ＣＰＵ１２から直接データを書き込み又は読み出すことができる記憶装置である。主記憶装置１４は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００２３】
補助記憶装置１６は、主記憶装置１４より記憶領域が大きく、電源を供給しなくても記憶したデータが消えない記憶装置である。補助記憶装置１６は、例えば、磁気ディスクを用いたディスクアレイ、又はフラッシュメモリを用いたＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。
【００２４】
ネットワークインタフェース１８は、光ケーブル等のケーブルで通信装置５０と接続され、例えば、ファイバーチャネル規格に従う通信機能を実現する回路であり、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）により、識別される。
【００２５】
［システム構成：通信装置］
通信装置５０は、サーバ１０とデータ記憶装置１００との間のデータ通信を提供する集線装置である。通信装置５０は複数のポートを有しており、通信装置５０のポートの１つにサーバ１０が接続する光ケーブルを接続し、通信装置５０の他のポートにデータ記憶装置１００が接続する光ケーブルを接続する。そして、通信装置５０は、サーバ１０が接続するポートと、データ記憶装置１００が接続するポートとの間のデータ入出力を行うことで、サーバ１０とデータ記憶装置１００との間のデータ通信を提供する。
【００２６】
［データ記憶装置］
図２〜図７を用いて、データ記憶装置の一例を説明する。
図２は、データ記憶装置の構成の一例を示す図である。図２に示されるデータ記憶装置１００は、制御部１１０、ストレージ部１４０、第１通信部１７０、第２通信部１８０、ライブラリ部３００を有する。
【００２７】
［データ記憶装置：通信部］
第１通信部１７０は、通信装置５０を介してサーバ１０と接続する。第２通信部１８０は、ライブラリ部３００とケーブルを介して接続される。第１通信部１７０や、第２通信部１８０は、例えば、ファイバーチャネル規格に従う通信機能を実現する回路であり、それぞれＷＷＮにより識別される。ストレージ部１４０、制御部１１０、第１通信部１７０、及び第２通信部１８０は、それぞれバスを介して接続する。
【００２８】
［データ記憶装置：ストレージ部］
ストレージ部１４０は、例えば、例えば、磁気ディスクを用いたディスクアレイ、又はフラッシュメモリを用いたＳＳＤである。
【００２９】
［データ記憶装置のハードウェア構成］
図３及び図４を用いて、データ記憶装置１００のハードウェア構成の詳細例を説明する。
【００３０】
［データ管理部のハードウェア構成］
図３は、データ管理部２００のハードウェア構成の一例を示す図である。図３に示すデータ管理部２００は、演算処理部２１２、記憶部２２２、メモリコントローラ２２６、バスインタフェース２２８、ドライブ部２３２、外部記憶部２３４、第１通信部１７０ａ、及び第２通信部１８０ｂを有する。
【００３１】
演算処理部２１２は、プロセッサコア２１４、Ｌ２キャッシュ（２次キャッシュ）ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１６、Ｌ２キャッシュＲＡＭ２１６の制御を行うＬ２キャッシュコントローラ２１８を有する。演算処理部２１２は、メモリコントローラ２２６を介して記憶部２２２に接続する。また、演算処理部２１２は、バスインタフェース２２８を介してドライブ部２３２、外部記憶部２３４、第１通信部１７０ａ、及び第２通信部１８０ｂと接続する。
【００３２】
Ｌ２キャッシュＲＡＭ２１６は、プロセッサコア２１４からの命令に従って記憶部２２２に格納される内容の一部を記憶する。Ｌ２キャッシュＲＡＭ２１６は、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００３３】
プロセッサコア２１４は、Ｌ２キャッシュＲＡＭ２１６からデータ又は命令を読み出し、命令に従ってデータに対して演算を行うと共に、演算結果をＬ２キャッシュＲＡＭ２１６又は記憶部２２２に格納する。命令は、プログラム９００として記憶部２２２に格納される。演算処理部２１２は、プロセッサコア２１４を複数搭載するマルチコアプロセッサであっても良い。演算処理部２１２は、例えば、ＣＰＵである。
【００３４】
演算処理部２１２はプログラム９００を実行することで、図２で説明した制御部１１０として動作する。
【００３５】
メモリコントローラ２２６は、演算処理部２１２又はバスインタフェース２２８からロード命令を受け取り、記憶部２２２からデータ又は命令をロードして、演算処理部２１２又はバスインタフェース２２８に出力する。メモリコントローラ２２６はさらに、演算処理部２１２又はバスインタフェース２２８からストア命令並びにストア対象となるデータを受け取り、受け取ったストア対象データを記憶部２２２に格納する。
【００３６】
記憶部２２２は、半導体素子により構成される記憶装置であり、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００３７】
外部記憶部２３４は、記憶部２２２より、記憶容量が大きく、電源を供給しなくても記録が消えない不揮発性の記憶装置であり、例えば、磁気ディスクを有するディスクアレイ、又はフラッシュメモリを用いたＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。外部記憶部２３４は、記憶部２２２に格納される命令、データ、及びプログラムを記憶することができる。
【００３８】
外部記憶部２３４は、図２に示すストレージ部１４０に相当する。
【００３９】
バスインタフェース２２８は、演算処理部２１２と、他の接続装置とを繋ぐバスである。バスインタフェース２２８は、例えば、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）又はＰＣＩ  Ｅｘｐｒｅｓｓ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）などの規格に従って機能する回路である。
【００４０】
ドライブ部２３２は、例えば、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの記録媒体２３６を読み書きする装置である。ドライブ部２３２は、記録媒体２３６を回転させるモータや記録媒体２３６上でデータを読み書きするヘッド等を含む。なお、記録媒体２３６には、プログラム９００を格納することもできる。この場合、ドライブ部２３２は、ドライブ部２３２にセットされた記録媒体２３６からプログラム９００を読み出す。演算処理部２１２は、ドライブ部２３２により読み出されたプログラム９００を、記憶部２２２及び／又は外部記憶部２３４に格納する。
【００４１】
第１通信部１７０ａ、及び第２通信部１８０ｂは、図２に示す第１通信部１７０及び第２通信部１８０に相当する。
【００４２】
［ライブラリ部のハードウェア構成の詳細］
図４は、ライブラリ部のハードウェア構成の一例を示す図である。図４に示すライブラリ部３００は、通信部３１０、制御部３２０、媒体ドライブ３３０、ロボット部３４０、投入排出機構部３５０、及び収納セル３６０を有する。
【００４３】
通信部３１０は、光ケーブル等のケーブルでデータ管理部２００と接続し、データ管理部２００から書込データを受信し、又、媒体ドライブ３３０から受け取ったデータをデータ管理部２００に送信する。通信部３１０は、例えば、ファイバーチャネル規格に従う通信機能を実現する回路であり、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）により、識別される。
【００４４】
制御部３２０は、通信部３１０、媒体ドライブ３３０、ロボット部３４０、投入排出機構部３５０に接続される。制御部３２０は、通信部３１０から受け取った書込データを媒体ドライブ３３０に出力し、又、媒体ドライブ３３０が記録媒体から読み込んだデータを通信部３１０に出力する。また、制御部３２０は、ロボット部３４０に、収納セル３６０からの記録媒体の取り出しや、収納セル３６０への記録媒体の収納を指示する。さらに、制御部３２０は、投入排出機構部３５０にセットされた記録媒体をライブラリ装置へ投入する指示、又はライブラリ装置内の記録媒体を投入排出機構部から排出する指示を行う。
【００４５】
媒体ドライブ３３０は、読書ヘッド３３２を有する。媒体ドライブ３３０は、記録媒体に書き込むデータを制御部３２０から受け取り、読書ヘッド３３２で記録媒体にデータを書き込む。また、媒体ドライブ３３０は、読書ヘッド３３２で記録媒体から読み出したデータを制御部３２０に出力する。なお、図４には、１つの媒体ドライブ３３０を示したが、ライブラリ部３００は、複数の媒体ドライブ３３０を有してもよい。その場合、複数の媒体ドライブ３３０は、互いに独自に読書き動作を実行する。
【００４６】
ロボット部３４０は、識別情報（ＩＤ）リーダ３４２を有する。ロボット部３４０は、ＩＤリーダ３４２を用いて収納セル３６０又は投入排出機構部３５０にある記録媒体に付された識別情報を識別する。ＩＤリーダ３４２は、例えばバーコードリーダであり、記録媒体に付された識別情報は例えばバーコードである。ロボット部３４０は、制御部３２０によって指示されたＩＤを有する記録媒体を取得し、制御部３２０の指示に従って収納セル３６０と投入排出機構部３５０と媒体ドライブ３３０との間で記録媒体を搬送する。
【００４７】
投入排出機構部３５０は、記録媒体をライブラリに投入又はライブラリから排出する機構部である。投入排出機構部３５０に投入された記録媒体は、ロボット部３４０により、収納セル３６０に収納される。また、エクスポート処理によりデータが書き込まれた記録媒体３８０は、ロボット部３４０によって媒体ドライブ３３０から投入排出機構部３５０に運ばれ、ライブラリ部３００の外部に排出される。
【００４８】
収納セル３６０には、複数の記録媒体が収納される。
【００４９】
図５は、ストレージ部に格納されたデータの一例を説明する図である。図５に示されるように、ストレージ部１４０は、プログラム９００、サーバ１０から送信されたエクスポート論理ボリュームリスト９３０、管理情報９５０、第１データ１００１〜第１００データ１１００を格納する。なお、第１データ１００１〜第１００データ１１００は、例えば、論理ボリュームとしてのデータである。なお、ストレージ部１４０に格納されるデータは、図５に示されるデータの数に限定されない。プログラム９００は、制御部１１０により実行されて、制御部１１０に所定の機能を実現させる。
【００５０】
図６は、エクスポート論理ボリュームリストとデータ管理情報の一例を示す図である。エクスポート論理ボリュームリストは、エクスポートの対象となるデータと、データを書き込む記録媒体とを特定する情報である。エクスポート対象となるデータとは、例えば、エクスポート対象となる論理ボリュームである。図６のエクスポート論理ボリュームリスト９３０に示すように、論理ボリュームリストは、例えば、論理ボリューム毎のレコードを、エクスポート要求対象となる論理ボリュームの数だけ有する。各レコードは、論理ボリューム識別番号列９３１、媒体識別番号列９３２に入力された値を有する。エクスポート論理ボリュームリスト９３０は、論理ボリュームのレコードの数だけのデータを記録媒体に書き込むことを特定する。サーバ１０は、エクスポート要求として、論理ボリュームリスト９３０を、データ記憶装置１００に送信する。
【００５１】
論理ボリューム識別番号列９３１には、エクスポート対象となる論理ボリュームの識別番号が入力される。図６に示される例では、論理ボリューム識別番号列９３１には、図５に示すデータ１００１〜１１００の参照符号が示される。図６に示すエクスポート論理ボリュームリスト９３０では、図６の論理ボリューム識別番号９３１の上から下の順番である、昇順で小さい番号の論理ボリューム識別番号で特定されるデータからエクスポート処理を実行することが示される。媒体識別番号列９３２は、各記録媒体に付された識別番号が入力されている。この識別番号は、エクスポート先の媒体の識別番号である。
【００５２】
サーバ１０は、エクスポート論理ボリュームリスト９３０を生成することで、識別番号を特定する。ライブラリ部３００は、その識別番号を用いて記憶媒体を特定できる。図６に示すように、媒体識別番号に「１、２」が入力されている場合には、サーバ１０は、エクスポート対象の論理ボリュームを識別番号が「１」あるいは「２」のいずれかの記録媒体に格納することを示す。よって、媒体識別番号が「１、２」とされている場合、データの書込みにより識別番号「１」で示す記録媒体の記憶容量が無くなった場合、言い換えれば、エクスポート対象データを書き込むのに充分な記憶容量がない場合、「２」に示す記録媒体にデータを書き込む。図１０で後述するように、データが書き込まれる記録媒体は識別番号を用いて特定されるので、サーバ１０がエクスポート先となる記録媒体の識別番号を特定する。
【００５３】
図６は、データ管理情報の一例を示す。図６に示される管理情報９５０は、論理ボリューム毎にレコードを有する。各レコードは、論理ボリューム識別番号列９５１、ステータス列９５２、アクセスフラグ列９５３、媒体識別番号列９５４、書込時間９５５に入力された値を有する。
【００５４】
論理ボリューム識別番号列９５１には、エクスポート対象となる論理ボリュームの識別番号が入力される。論理ボリューム識別番号列９５１に入力される識別番号は、、エクスポート論理ボリュームリスト９３０の識別番号に対応する。ステータス列９５２には、各レコードの書込みステータスである「終了」、「書込中」、「終了」でも「書込中」でもない未完了状態であることを示す「未」などのステータスが入力される。
【００５５】
アクセスフラグ列９５３には、エクスポート処理中にサーバ１０から、変更要求があった論理ボリュームのレコードに対してフラグ情報「０」又は「１」が入力される。フラグ情報の「０」は、当該フラグ情報を有するレコードの論理ボリュームにはサーバ１０からの変更要求が無いことを示す。フラグ情報の「１」は、当該フラグ情報を有するレコードの論理ボリュームにはサーバ１０からの変更要求があることを示す。図６に示す例では、第８０データ１０８０に対してサーバ１０から変更要求があったことが示される。媒体識別番号列９５４は、エクスポート先となる各記録媒体に付された識別番号が入力される。媒体識別番号列９５４に入力される識別番号は、エクスポート論理ボリュームリスト９３０の媒体識別番号列９３２に対応する。書込時間９５５は、データが記録媒体に書き込まれた時刻である。
【００５６】
［データ記憶装置：制御部］
制御部１１０は、ストレージ部１４０に記憶されたプログラム９００を実行することで、所定の機能を実現する。制御部１１０は、ストレージ部１４０を、ライブラリ部３００としてサーバ１０に見せかける仮想化処理を実行する。仮想化処理により、制御部１１０は、例えば、サーバ１０によるライブラリ部３００へのアクセス対象となるデータをストレージ部１４０に記憶すると共に、ストレージ部１４０に格納されたデータをライブラリ部３００の記録媒体に格納するデータ管理処理を実行する。データ管理処理は、例えば、一次バックアップとしてストレージ部１４０を使用し、数世代のバックアップデータをライブラリ部３００に格納する処理である。制御部１１０は、エクスポート要求に加えて、数世代のバックアップデータを記録媒体に書き込むために、ストレージ部１４０に格納されるデータをライブラリ部３００に書き込む「アーカイブ処理」を行う。また、制御部１１０は、サーバ１０のＣＰＵ１２と同様に、例えば、複数の磁気ディスクを用いて論理ボリュームを構築した上で、当該構築した論理ボリュームによりストレージ部１４０並びにライブラリ部３００の記憶領域を管理することができる。
【００５７】
制御部１１０はさらに、サーバ１０からエクスポート要求を受け取ると、エクスポート要求の対象となるデータを、外部保管用の記録媒体３８０に書き込む処理を実行する。制御部１１０は、ストレージ部１４０に格納され、エクスポート対象となる複数の論理ボリュームを、外部保管用の記録媒体３８０にまとめて記憶する。制御部１１０は、書込順番が後続のデータに対するサーバ１０からの変更要求をエクスポート要求実行中に受け取った場合、書込処理中のデータの次に変更要求対象のデータをライブラリ部３００の記録媒体に書き込む書込順序制御処理を行う。
【００５８】
図７は、書込順序制御処理の一例を説明する図ある。制御部１１０は、エクスポート要求によりエクスポート論理ボリュームリスト９３０をサーバ１０から受け取ると、第１データ１００１（Ｓ４０１）から、第２データ１００２（Ｓ４０２）というように、ストレージ部１４０に格納されたデータを昇順で記録媒体３８０に書き込む。
【００５９】
制御部１１０は、記録媒体３８０への第２データ１００２の書込み中に、エクスポート対象である第８０データ１０８０への変更要求をサーバ１０から受け取ると（Ｓ４０３）、書込中の第２データ１００２の後続である第３データ１００３ではなく、第８０データ１０８０を、本来第３データ１００３を書き込む場所に記録媒体３８０に書き込む（Ｓ４０４）。テープ等の記録媒体には、データがシーケンシャルに書き込まれるが、ストレージ部１４０は、記録媒体からデータを読み出してストレージ部１４０に格納した後は、読み出したデータに対するサーバ１０のランダムアクセスを可能にするため、磁気テープの格納順をシーケンシャルにする必要が無い。そのため、磁気テープへのデータの格納順をシーケンシャルにする必要が無いため、後続に記録予定であった論理ボリュームを、先行して磁気テープに記録することができる。
【００６０】
このように、制御部１１０は、エクスポート処理中にエクスポートの対象となるデータへの変更要求を受け取ると、変更要求対象データを優先して記録媒体３８０に書き込むことで、変更要求に対するサーバ１０の応答待ち時間を少なくすることができる。
【００６１】
なお、制御部１１０は、図６に示す管理情報９５０を参照し、変更要求のあった第８０データ１０８０を記録媒体に書き込む動作を行う。制御部１１０は、ストレージ部１４０にある管理情報９５０中のステータスを確認して、「書込中」ステータスの次に変更要求の対象となるデータの書込みを行うように動作してもよい。
【００６２】
また、図７では、Ｓ４０１は、サーバ１０からのエクスポート要求により実行されたが、エクスポート要求ではなくアーカイブ処理の開始をＳ４０１の処理イベントとしてもよい。その場合、エクスポート要求は、アーカイブ処理用に用意されたアーカイブ要求である。
【００６３】
［データ記憶装置とサーバとのデータ送信］
図８〜図１０を用いて、データ記憶装置とサーバとのデータ送信について説明する。
【００６４】
［データ記憶装置とサーバとのデータ送信：シーケンス］
図８は、データ記憶装置とサーバとのデータ送信のシーケンスの一例を示す図である。データ記憶装置１００における、データ管理部２００とライブラリ部３００との間のデータ送信が明確になるように、図８に示すシーケンス図は、サーバ１０と、データ管理部２００と、ライブラリ部３００との間のデータ送信を示す。
【００６５】
サーバ１０は、エクスポート論理ボリュームリスト９３０をデータ管理部２００に送信する（Ｓ５０１）。エクスポート論理ボリュームリスト９３０は、例えば、図６で説明したエクスポート論理ボリュームリスト９３０である。また、Ｓ５０１では、サーバ１０から送信されたエクスポート要求ではなく、アーカイブ処理の開始を処理イベントとしてもよい。その場合、エクスポート要求９３０は、アーカイブ処理用に用意されたアーカイブ要求である。
【００６６】
データ管理部２００は、エクスポート要求の論理ボリューム識別番号列９３１で特定される順序でエクスポート対象データの書込順序制御を実行して（Ｓ５０２）、エクスポート対象となったデータを記録媒体に書き込む書込要求をライブラリ部３００に送信する（Ｓ５０３）。エクスポート要求の対象となるデータは、例えば、論理ボリューム毎に特定される。なお、Ｓ５０２及びＳ５０９（後述）のデータ管理部２００による書込順序制御は、図９及び図１０を用いて後述する。
【００６７】
データ管理部２００は、書込要求をライブラリ部３００に送信すると、管理情報９５０における該当レコードのステータスを「未」から「書込中」に更新する（Ｓ５０４）。
【００６８】
ライブラリ部３００は、書込要求によって指示されたデータを記録媒体に対して書き込む書込処理を行い（Ｓ５０５）、書込処理が完了したことを示す書込応答をデータ管理部２００に送信する（Ｓ５０６）。データ管理部２００は、ライブラリ部３００から書込応答を受信すると、管理情報９５０における該当レコードのステータスを「書込中」から「終了」に更新する（Ｓ５０７）。なお、Ｓ５０２〜５０７の処理は、例えば、図６で説明したＳ４０１又はＳ４０２の書込処理に相当する。
【００６９】
サーバ１０は、ストレージ部１６０に格納されるデータへの変更要求を送信する（Ｓ５０８）。変更要求は、例えば、エクスポート要求によるエクスポート処理実行中にサーバ１０からエクスポート論理ボリュームリスト９３０内の論理ボリュームへの変更要求である。データ管理部２００は、サーバ１０からエクスポート論理ボリュームリスト９３０内の論理ボリュームが、書込み完了しているか否かを管理情報９５０のステータスで判断し、書込みが完了している場合は、変更要求（Ｓ５０８）に従ってストレージ部１４０における対象データを変更する（Ｓ５０９）。一方、変更対象となるデータの書込みが完了していない場合は、データ管理部２００は、変更対象となったデータを記録媒体に書き込む書込要求を、ライブラリ部３００に送信する（Ｓ５１０）。データ管理部２００は、書込要求をライブラリ部３００に送信すると、該当レコードのステータスを「未」から「書込中」に更新する（Ｓ５１１）。ライブラリ部３００は、書込要求によって指示されたデータの書込処理を行い（Ｓ５１２）、書込処理が完了したことを示す書込応答をデータ管理部２００に送信する（Ｓ５１３）。データ管理部２００は、ライブラリ部３００から書込応答を受信すると、変更対象となるデータが書込み完了したため、変更要求（Ｓ５０８）に従ってストレージ部１４０における対象データをサーバから送信されたデータで変更する(変更すると言う場合には、何を何で変更するのか書いたほうが丁寧だと思います)（Ｓ５１４）。データ管理部２００はさらに、管理情報９５０の該当レコードのステータスを「書込中」から「終了」に更新する（Ｓ５１５）。Ｓ５０８〜５１５の処理は、例えば、図７で説明したＳ４０３及びＳ４０４の処理に相当する。
【００７０】
データ管理部２００は、更新した管理情報９５０をサーバ１０に送信する（Ｓ５１６）。サーバ１０が受信する管理情報９５０のアクセスフラグ列９５３には、エクスポート処理中にサーバ１０からアクセスがあったデータが示される。したがって、サーバ１０は、管理情報９５０を受信することで、エクスポート処理中に変更要求の対象となったデータを特定することができ、サーバ１０は、変更対象となった論理ボリュームを次回のエクスポート処理中に変更しない等の修正をとることができる。
【００７１】
［データ記憶装置とサーバとのデータ送信：書込順序制御の処理フローの第１例］
図９は、書込順序制御の処理フローの第１例を示すフローチャートである。データ管理部２００は、サーバ１０からデータを受信すると、受信データがエクスポート要求または変更要求か否かを判断する（Ｓ６０１）。受信データがエクスポート要求であると（Ｓ６０１  Ｎｏ）、データ管理部２００は、エクスポート要求で特定されるデータのエクスポート用の記憶媒体への書込要求をライブラリ部３００へ送信して（Ｓ６０２）、書込順序制御を終了する。
【００７２】
受信データが変更要求であると（Ｓ６０１  Ｙｅｓ）、データ管理部２００は、変更要求の対象データが記録媒体に書込済み又は書込中か否かを判断する（Ｓ６０３）。この判断は、例えば、データ管理部２００が、管理情報９５０の該当レコードのステータスが「済」又は「書込中」か否かを参照するで判断できる。変更対象データのステータスが「済」又は「書込中」で無い場合（Ｓ６０３  Ｎｏ）、データ管理部２００は、変更対象データの記録媒体に対する書込要求をライブラリ部３００に送信して（Ｓ６０４）、書込順序制御を終了する。変更対象データが「済」又は「書込中」の場合（Ｓ６０３  Ｙｅｓ）、データ管理部２００は書込順序制御を終了する。
【００７３】
［データ記憶装置とサーバとのデータ送信：書込順序制御の処理フローの第２例］
なお、図８に示した例では、エクスポート処理中に１つのデータに対する変更要求を受信した場合を示したが、変更要求は複数データに対すものであってもよい。ただし、変更要求が多くなると、書込順序制御処理を行ってもサーバ１０は変更要求の待ち時間が増える恐れがある。そのため、図９に示した書込順序制御処理の代替案として以下の処理フローを行ってもよい。
【００７４】
図１０は、書込順序制御の処理フローの第２例を示すフローチャートである。図１０に示すＳ６０１〜Ｓ６０４は、図９のＳ６０１〜Ｓ６０４と同じであるので、説明を省略する。
【００７５】
変更対象データが書込済又は書込中ではない場合（Ｓ６０３Ｎｏ）、データ管理部２００は、Ｓ６０１で受信した変更要求に対して先行受信した未完了の変更要求があるか否かを判断する（Ｓ６５１）。データ管理部２００は、例えば、管理情報９５０を参照して、アクセスフラグが「１」のレコードで、ステータスが「書込済」か否かを判断することで、Ｓ６５１の判断を行ってもよい。先行受信した未完了の変更要求が無い場合（Ｓ６５１  Ｎｏ）、データ管理部２００は、変更対象データの書込要求をライブラリ部３００に送信して（Ｓ６０４）、書込順序制御を終了する。先行受信した未完了の変更要求がある場合（Ｓ６５１  Ｙｅｓ）、データ管理部２００は、エクスポート要求の対象となっている記録媒体と異なる記録媒体としての他の記録媒体に、先行受信した未完了の変更要求が対象とする論理ボリュームを書込可能か否かを判断する（Ｓ６５２）。データ管理部２００は、媒体識別番号列９５４に入力されている媒体識別番号が複数ある場合、未動作中又は先行の書込要求の処理予定の無い媒体ドライブ３３０（図４）に格納される記録媒体に書込可能か否かで判断してもよい。なお、媒体ドライブ３３０は動作中か否かのステータスを制御部３２０に通知し、制御部３２０がデータ管理部２００にさらに通知することで、データ管理部２００は、媒体ドライブ３３０が動作中か否かのステータスを検出することができる。また、媒体識別番号と媒体ドライブ３３０が対応付けられている場合、データ管理部２００は、エクスポート論理ボリュームリスト９３０の媒体識別番号９３２列に識別される媒体識別番号を検出することで、媒体ドライブの処理予定があるか否かを判別することができる。
【００７６】
他の記録媒体に書込可能である場合（Ｓ６５２  Ｙｅｓ）、データ管理部２００は、特定された媒体ドライブ３３０と書込可能と判定された記録媒体とを特定する変更対象データの書込要求をライブラリ部３００に送信して（Ｓ６０４）、書込順序制御を終了する。
【００７７】
他の記録媒体に書込可能で無い場合（Ｓ６５２  Ｎｏ）、データ管理部２００は、例えば、変更要求をサーバ１０から受信した時間から所定時間経過しているか否か判断する。所定時間経過していない場合（Ｓ６５３  Ｎｏ）、データ管理部２００は、Ｓ６５１以降のの処理を再度実行する。一方、所定時間経過している場合（Ｓ６５３  Ｙｅｓ）、データ管理部２００は、エクスポート要求を異常終了すると共に、異常終了結果をサーバ１０に送信して、書込順序制御を終了する。
【００７８】
以上の実施形態に関し、更に以下の付記を開示する。
［付記１］
情報処理装置と接続するデータ記憶装置であって、
ライブラリ部と
前記情報処理装置から送信された複数のデータを記憶するストレージ部と、
前記ストレージ部を、複数のデータを前記ライブラリ部の記録媒体に書き込む処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第１のデータより先に前記第２のデータを前記ライブラリ部の記録媒体に書き込む制御部と、を有することを特徴とするデータ記憶装置。（１）
［付記２］
前記制御部は、前記変更要求を受け取った場合、前記変更要求を受け取ったことの前記情報処理装置への通知を、前記記録媒体の変更要求の対象データの書き込み中又は書き込み後に、前記情報処理装置に行う付記１に記載のデータ記憶装置。（２）
［付記３］
前記ライブラリ部は、第１の記録媒体及び第２の記録媒体を有し、
前記制御部は、前記第１のデータを前記第１のデータ媒体に書き込み中に、前記情報処理装置から前記第２のデータに対する変更要求を前記書き込み中に受け取る場合、前記第２の記録媒体に前記第２のデータを書き込む付記１又は２に記載のデータ記憶装置。（３）
［付記４］
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置であって、
ストレージ部と、
前記ストレージ部を、複数のデータを前記ライブラリ装置の記録媒体に書き込む処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第１のデータより先に前記第２のデータを前記ライブラリ装置の記録媒体に書き込む制御部と、を有することを特徴とするデータ管理装置。（４）
［付記５］
前記制御部は、前記変更要求を受け取った場合、前記変更要求を受け取ったことの前記情報処理装置への通知を、前記記録媒体の変更要求の対象データの書き込み中又は書き込み後に、前記情報処理装置に行う付記４に記載のデータ記憶装置。
［付記６］
前記ライブラリ装置は、第１の記録媒体及び第２の記録媒体を有し、
前記制御部は、前記第１のデータを前記第１のデータ媒体に書き込み中に、前記情報処理装置から前記第２のデータに対する変更要求を前記書き込み中に受け取る場合、前記第２の記録媒体に前記第２のデータを書き込む付記４又は５に記載のデータ記憶装置。
［付記７］
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置における制御方法であって、
前記制御部が、前記ストレージ部に記憶された複数のデータを前記ライブラリ装置に含まれる記録媒体に書き込む処理を開始し、
前記制御部が、前記書き込み処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第１のデータより先に前記第２のデータを前記記録媒体に書き込むことを特徴とする制御方法。（７）
［付記８］
前記制御部が、前記記録媒体への書き込み中又は書き込み後に、前記変更要求を受け取ったことを、前記情報処理装置に通知する付記７に記載の制御方法。
［付記９］
前記ライブラリ部は、第１の記録媒体及び第２の記録媒体を有し、
前記制御部は、前記第１のデータを前記第１のデータ媒体に書き込み中に、前記情報処理装置から前記第２のデータに対する変更要求を前記書き込み中に受け取る場合、前記前記ライブラリ部の記録媒体に前記第２のデータを書き込む付記７又は８に記載の制御方法。
［付記１０］
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置により実行されるプログラムであって、
前記データ管理装置に、前記ストレージ装置に記憶された複数のデータを前記ライブラリ装置に含まれる記録媒体に書き込む処理を開始する手順、
前記データ管理装置に、前記書き込み処理中に、第１のデータより後に書き込むことが特定された第２のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第１のデータより先に前記第２のデータを前記ライブラリ部の前記記録媒体に書き込む手順を実行させることを特徴とするプログラム。（８）
【符号の説明】
【００７９】
１００    データ記憶装置
１１０    制御部
１４０    ストレージ部
１７０、１７０ａ    第１通信部
１８０、１８０ｂ    第２通信部
２００    データ管理部
３００    ライブラリ部
３１０    通信部
３２０    制御部
３３０    媒体ドライブ
３５０    投入排出機構部
３６０    収納セル
３８０    記録媒体
３９０    外部保管場所
９００    プログラム
９３０    エクスポート要求
９５０    管理情報
【図１】
2011191906.tif 000003
【図２】
2011191906.tif 000004
【図３】
2011191906.tif 000005
【図４】
2011191906.tif 000006
【図５】
2011191906.tif 000007
【図６】
2011191906.tif 000008
【図７】
2011191906.tif 000009
【図８】
2011191906.tif 000010
【図９】
2011191906.tif 000011
【図１０】
2011191906.tif 000012