説明

データ記憶装置、データ監視装置、制御方法及びプログラム

【課題】記録媒体への書き込み処理中に、書き込み処理の対象となるデータの変更要求に対するサーバの応答待ち時間を少なくする。
【解決手段】情報処理装置と接続するデータ記憶装置であって、ライブラリ部と、情報処理装置から送信された複数のデータを記憶するストレージ部と、複数のデータをライブラリ部の記録媒体に書き込む処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して情報処理装置から変更要求を受け取る場合、第1のデータより先に第2のデータをライブラリ部の記録媒体に書き込む制御部と、を有することを特徴とするデータ記憶装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ記憶装置、データ管理装置、制御方法及びプログラムに関する。
【背景技術】
【0002】
テープ媒体にデータを記録することで、大量のデータを格納できるテープ装置が知られている。テープ装置が、テープ媒体からデータを読み書きする動作には、テープ媒体をテープドライブにマウントする機械動作を伴う。そのため、テープ媒体へのデータの記録中、データをテープ装置に送信するサーバには、長い待ち時間が生じていた。
【0003】
また、テープ装置は、テープ媒体を、テープ装置外部に排出するエクスポート処理を実行する。エクスポート処理は、例えば、テープ媒体に記録したデータを、災害対策等のために外部保管するために行われる。従来のテープ装置では、業務サーバがテープ媒体からデータを読み出し、読み出したデータを外部保管用のテープ媒体にコピーすることでエクスポート処理を実行していた。そのため、テープ装置は、エクスポート処理の際に、記憶容量が少ないサーバの記憶領域を使用するため、複数の論理ボリュームをサーバでキャッシュすることができず、複数の論理ボリュームをテープ媒体にまとめて書くことができなかった。
【0004】
そこで、テープの運用を、テープ媒体以外のたとえばHDD(Hard disk drive)等のストレージ上で仮想的に行う仮想テープ装置が提案されている。仮想テープ装置では、テープイメージのデータをストレージ上に保存するが、ストレージではテープマウントなどの機械動作が無いため、テープ装置と比して高速なデータアクセスを提供する。
【0005】
仮想テープ装置は、複数の論理ボリュームを格納するストレージを有するため、複数の論理ボリュームをストレージに格納して、複数の論理ボリュームを大容量のテープ媒体にまとめて書き込むことができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−293665号公報
【特許文献2】特開2005−267496号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
仮想テープ装置であっても、エクスポート処理において、複数の論理ボリュームをテープ媒体に書き込む処理は時間がかかる。仮想テープ装置におけるエクスポート処理は、従来のテープ装置のようにサーバ側のデータ処理を生じないため、サーバ側はエクスポート処理の状態を監視しない。そのため、サーバは、エクスポート処理を仮想テープ装置に要求した後に、エクスポート処理中に、エクスポート処理の対象となる論理ボリュームに書込要求を行う場合がある。エクスポート処理中にサーバからエクスポート処理での対象となる論理ボリュームの書き込みが行われると、書き込み途中の不定な論理ボリュームをエクスポート用のテープ媒体に書き込んでしまう。これを防ぐため、仮想テープ装置内で論理ボリュームの排他制御を行い、サーバからの変更要求を受信した場合は、エクスポート処理を中断させるか、又は、エクスポート処理終了まで書込要求を待機させていた。しかし、エクスポート処理の中断は、データの定期的バックアップという計画的な運用の妨げとなり、また、サーバに変更要求を待機させる処理は、サーバ側の通常運用を妨げる問題を生じていた。
【0008】
開示のデータ記憶装置は、記録媒体への書き込み処理中に、書き込み処理の対象となるデータの変更要求に対するサーバの応答待ち時間を少なくすることを目的とする。
【課題を解決するための手段】
【0009】
記録媒体を有するライブラリ部と、情報処理装置から送信された複数のデータを記憶するストレージ部と、ストレージ部を、ライブラリ部として情報処理装置に見せかける仮想化を行うと共に、複数のデータをライブラリ部の記録媒体に書き込む処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して情報処理装置から変更要求を受け取る場合、第1のデータより先に第2のデータをライブラリ部の記録媒体に書き込む制御部と、を有することを特徴とするデータ記憶装置が提供される。
【発明の効果】
【0010】
開示のデータ記憶装置は、記録媒体への書き込み処理中に、書き込み処理の対象となるデータの変更要求に対するサーバの応答待ち時間を少なくすることができる。
【図面の簡単な説明】
【0011】
【図1】データ記憶装置が用いられるシステム構成の一例を示す図である。
【図2】データ記憶装置の構成の一例を示す図である。
【図3】データ管理部のハードウェア構成を示す図である。
【図4】ライブラリ部のハードウェア構成を示す図である。
【図5】ストレージ部に格納されたデータの一例を示す図である。
【図6】エクスポート要求及び管理情報の一例を示す図ある。
【図7】書込順序制御処理の一例を示す図ある。
【図8】データ記憶装置とサーバとの送信データのシーケンスの一例を示す図である。
【図9】書込順序制御の第1例を示すフローチャートである。
【図10】書込順序制御の第2例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、データ記憶装置の実施形態を説明する。
【0013】
[システム構成]
図1は、データ記憶装置100が用いられるシステム構成の一例を示す図である。図1に示すシステム1は、サーバ10、通信装置50、データ記憶装置100を有する。
【0014】
[システム構成:データ記憶装置]
データ記憶装置100は、データ管理部200、及びライブラリ部300を有する。サーバ10とデータ記憶装置100は、データ送信可能なように接続されている。サーバ10とデータ管理部200は、例えば、光ファイバケーブルで接続される。なお、図1に示すサーバ10の台数「1」は例示であるが、サーバの台数は図示される台数に限定されない。
【0015】
データ記憶装置100は、ストレージ部140を有するデータ管理部200と、複数の記録媒体を収納するライブラリ部300とを有する。ストレージ部は140、データを記録媒体に記録する装置であると共に、記録媒体のマウント動作がない装置である。ライブラリ部300は、データを記録媒体に記録する装置であると共に、記録媒体のマウント/アンマウント動作を要する装置である。ストレージ部140は、例えば、磁気ディスクにデータを記録するディスクアレイ装置である。ライブラリ部300は、例えば、テープドライブにより磁気テープにデータを記録する装置である。記録媒体とは、磁気テープ、又は、磁気ディスク等である。データ記憶装置100は、ストレージ部140を仮想化して、ライブラリ部300としてサーバ10に使用させる。
【0016】
データ記憶装置100は、ストレージ部140を使用し、サーバ10によりデータ記憶装置100へ書き込み、又は、サーバ10からの読み出しアクセスの対象となるデータを全てストレージ部140に格納する。よって、サーバ10がライブラリ部300にマウントされる記録媒体への書き込み要求を行うと、書き込み対象データがサーバ10からデータ記憶装置100に送られ、データ管理部200が、受け取ったデータをストレージ部140に書き込む。又、サーバ10がライブラリ部300の記録媒体からのデータ読み出し要求を行うと、データ記憶装置100はストレージ部140に格納されているデータを読み出して、サーバに転送する。ストレージ部140ではライブラリ部300のような媒体マウント等の機械動作が生じないため、データ記憶装置100は、サーバ10によるデータ記憶装置100へのアクセスに対してストレージ部140へのアクセスで対応することで、サーバ10に対して高速なデータアクセスを提供する。
【0017】
なお、図1では、データ記憶装置100という装置の中に、データ管理部200と、ライブラリ部300とが収納されるように示されるが、データ管理部200と、ライブラリ部300は、異なる筐体にそれぞれ収納される物理的に異なる装置であってもよい。
【0018】
データ記憶装置100は、サーバ10から受信したエクスポート要求に従って、ストレージ部140に記憶されたエクスポート対象のデータを外部保管用の記録媒体380に書き込み、データ記憶装置100外部に排出するエクスポート処理を実行する。外部保管用の記録媒体380は、例えば、外部保管場所390で保管される。また、データが書き込まれている外部保管用の記録媒体380をデータ記憶装置100のライブラリ300に投入することで、外部保管用の記録媒体380に書き込まれたデータをデータ記憶装置100のライブラリ300に格納することができる。データ記憶装置100のより詳細な説明は、図3及び図4を用いて後述される。
【0019】
[システム構成:サーバ]
サーバ10は、データ記憶装置100に、データの読み出し又は書き込みを要求する情報処理装置である。サーバ10は、CPU(Central Processing Unit)12、主記憶装置14、補助記憶装置16、及びネットワークインタフェース18を有する。
【0020】
CPU12は、主記憶装置14に記憶されたプログラムを実行することで、所定の機能を実現する。例えば、CPU12は、演算処理を実行して、補助記憶装置16に演算結果を格納する。CPU12はさらに、補助記憶装置16に格納されたデータをデータ記憶装置100に書き込む要求、又は、データ記憶装置100に格納されたデータを補助記憶装置16に読み出す要求をデータ記憶装置100に対して行う。CPU12はさらにエクスポート要求を生成し、データ記憶装置100に送信する。エクスポート要求は、例えば、夜間に出力されるバッチ処理の結果を外部に排出する目的のために生成される。
【0021】
CPU12は、例えば、物理ボリュームとしての複数のディスク又はディスクの一部の記憶領域を1つの論理ボリュームとして特定する。よって、CPU12は、補助記憶装置16に格納されるデータを、例えば、論理ボリュームとしてのデータとして特定する。
【0022】
主記憶装置14は、CPU12から直接データを書き込み又は読み出すことができる記憶装置である。主記憶装置14は、例えば、DRAM(Dynamic Random Access Memory)である。
【0023】
補助記憶装置16は、主記憶装置14より記憶領域が大きく、電源を供給しなくても記憶したデータが消えない記憶装置である。補助記憶装置16は、例えば、磁気ディスクを用いたディスクアレイ、又はフラッシュメモリを用いたSSD(Solid State Drive)である。
【0024】
ネットワークインタフェース18は、光ケーブル等のケーブルで通信装置50と接続され、例えば、ファイバーチャネル規格に従う通信機能を実現する回路であり、WWN(World Wide Name)により、識別される。
【0025】
[システム構成:通信装置]
通信装置50は、サーバ10とデータ記憶装置100との間のデータ通信を提供する集線装置である。通信装置50は複数のポートを有しており、通信装置50のポートの1つにサーバ10が接続する光ケーブルを接続し、通信装置50の他のポートにデータ記憶装置100が接続する光ケーブルを接続する。そして、通信装置50は、サーバ10が接続するポートと、データ記憶装置100が接続するポートとの間のデータ入出力を行うことで、サーバ10とデータ記憶装置100との間のデータ通信を提供する。
【0026】
[データ記憶装置]
図2〜図7を用いて、データ記憶装置の一例を説明する。
図2は、データ記憶装置の構成の一例を示す図である。図2に示されるデータ記憶装置100は、制御部110、ストレージ部140、第1通信部170、第2通信部180、ライブラリ部300を有する。
【0027】
[データ記憶装置:通信部]
第1通信部170は、通信装置50を介してサーバ10と接続する。第2通信部180は、ライブラリ部300とケーブルを介して接続される。第1通信部170や、第2通信部180は、例えば、ファイバーチャネル規格に従う通信機能を実現する回路であり、それぞれWWNにより識別される。ストレージ部140、制御部110、第1通信部170、及び第2通信部180は、それぞれバスを介して接続する。
【0028】
[データ記憶装置:ストレージ部]
ストレージ部140は、例えば、例えば、磁気ディスクを用いたディスクアレイ、又はフラッシュメモリを用いたSSDである。
【0029】
[データ記憶装置のハードウェア構成]
図3及び図4を用いて、データ記憶装置100のハードウェア構成の詳細例を説明する。
【0030】
[データ管理部のハードウェア構成]
図3は、データ管理部200のハードウェア構成の一例を示す図である。図3に示すデータ管理部200は、演算処理部212、記憶部222、メモリコントローラ226、バスインタフェース228、ドライブ部232、外部記憶部234、第1通信部170a、及び第2通信部180bを有する。
【0031】
演算処理部212は、プロセッサコア214、L2キャッシュ(2次キャッシュ)RAM(Random Access Memory)216、L2キャッシュRAM216の制御を行うL2キャッシュコントローラ218を有する。演算処理部212は、メモリコントローラ226を介して記憶部222に接続する。また、演算処理部212は、バスインタフェース228を介してドライブ部232、外部記憶部234、第1通信部170a、及び第2通信部180bと接続する。
【0032】
L2キャッシュRAM216は、プロセッサコア214からの命令に従って記憶部222に格納される内容の一部を記憶する。L2キャッシュRAM216は、例えば、SRAM(Static Random Access Memory)である。
【0033】
プロセッサコア214は、L2キャッシュRAM216からデータ又は命令を読み出し、命令に従ってデータに対して演算を行うと共に、演算結果をL2キャッシュRAM216又は記憶部222に格納する。命令は、プログラム900として記憶部222に格納される。演算処理部212は、プロセッサコア214を複数搭載するマルチコアプロセッサであっても良い。演算処理部212は、例えば、CPUである。
【0034】
演算処理部212はプログラム900を実行することで、図2で説明した制御部110として動作する。
【0035】
メモリコントローラ226は、演算処理部212又はバスインタフェース228からロード命令を受け取り、記憶部222からデータ又は命令をロードして、演算処理部212又はバスインタフェース228に出力する。メモリコントローラ226はさらに、演算処理部212又はバスインタフェース228からストア命令並びにストア対象となるデータを受け取り、受け取ったストア対象データを記憶部222に格納する。
【0036】
記憶部222は、半導体素子により構成される記憶装置であり、例えば、DRAM(Dynamic Random Access Memory)である。
【0037】
外部記憶部234は、記憶部222より、記憶容量が大きく、電源を供給しなくても記録が消えない不揮発性の記憶装置であり、例えば、磁気ディスクを有するディスクアレイ、又はフラッシュメモリを用いたSSD(Solid State Drive)である。外部記憶部234は、記憶部222に格納される命令、データ、及びプログラムを記憶することができる。
【0038】
外部記憶部234は、図2に示すストレージ部140に相当する。
【0039】
バスインタフェース228は、演算処理部212と、他の接続装置とを繋ぐバスである。バスインタフェース228は、例えば、AGP(Accelerated Graphics Port)又はPCI Express(Peripheral Component Interconnect Express)などの規格に従って機能する回路である。
【0040】
ドライブ部232は、例えば、フロッピー(登録商標)ディスクやCD−ROM、DVD(Digital Versatile Disc)などの記録媒体236を読み書きする装置である。ドライブ部232は、記録媒体236を回転させるモータや記録媒体236上でデータを読み書きするヘッド等を含む。なお、記録媒体236には、プログラム900を格納することもできる。この場合、ドライブ部232は、ドライブ部232にセットされた記録媒体236からプログラム900を読み出す。演算処理部212は、ドライブ部232により読み出されたプログラム900を、記憶部222及び/又は外部記憶部234に格納する。
【0041】
第1通信部170a、及び第2通信部180bは、図2に示す第1通信部170及び第2通信部180に相当する。
【0042】
[ライブラリ部のハードウェア構成の詳細]
図4は、ライブラリ部のハードウェア構成の一例を示す図である。図4に示すライブラリ部300は、通信部310、制御部320、媒体ドライブ330、ロボット部340、投入排出機構部350、及び収納セル360を有する。
【0043】
通信部310は、光ケーブル等のケーブルでデータ管理部200と接続し、データ管理部200から書込データを受信し、又、媒体ドライブ330から受け取ったデータをデータ管理部200に送信する。通信部310は、例えば、ファイバーチャネル規格に従う通信機能を実現する回路であり、WWN(World Wide Name)により、識別される。
【0044】
制御部320は、通信部310、媒体ドライブ330、ロボット部340、投入排出機構部350に接続される。制御部320は、通信部310から受け取った書込データを媒体ドライブ330に出力し、又、媒体ドライブ330が記録媒体から読み込んだデータを通信部310に出力する。また、制御部320は、ロボット部340に、収納セル360からの記録媒体の取り出しや、収納セル360への記録媒体の収納を指示する。さらに、制御部320は、投入排出機構部350にセットされた記録媒体をライブラリ装置へ投入する指示、又はライブラリ装置内の記録媒体を投入排出機構部から排出する指示を行う。
【0045】
媒体ドライブ330は、読書ヘッド332を有する。媒体ドライブ330は、記録媒体に書き込むデータを制御部320から受け取り、読書ヘッド332で記録媒体にデータを書き込む。また、媒体ドライブ330は、読書ヘッド332で記録媒体から読み出したデータを制御部320に出力する。なお、図4には、1つの媒体ドライブ330を示したが、ライブラリ部300は、複数の媒体ドライブ330を有してもよい。その場合、複数の媒体ドライブ330は、互いに独自に読書き動作を実行する。
【0046】
ロボット部340は、識別情報(ID)リーダ342を有する。ロボット部340は、IDリーダ342を用いて収納セル360又は投入排出機構部350にある記録媒体に付された識別情報を識別する。IDリーダ342は、例えばバーコードリーダであり、記録媒体に付された識別情報は例えばバーコードである。ロボット部340は、制御部320によって指示されたIDを有する記録媒体を取得し、制御部320の指示に従って収納セル360と投入排出機構部350と媒体ドライブ330との間で記録媒体を搬送する。
【0047】
投入排出機構部350は、記録媒体をライブラリに投入又はライブラリから排出する機構部である。投入排出機構部350に投入された記録媒体は、ロボット部340により、収納セル360に収納される。また、エクスポート処理によりデータが書き込まれた記録媒体380は、ロボット部340によって媒体ドライブ330から投入排出機構部350に運ばれ、ライブラリ部300の外部に排出される。
【0048】
収納セル360には、複数の記録媒体が収納される。
【0049】
図5は、ストレージ部に格納されたデータの一例を説明する図である。図5に示されるように、ストレージ部140は、プログラム900、サーバ10から送信されたエクスポート論理ボリュームリスト930、管理情報950、第1データ1001〜第100データ1100を格納する。なお、第1データ1001〜第100データ1100は、例えば、論理ボリュームとしてのデータである。なお、ストレージ部140に格納されるデータは、図5に示されるデータの数に限定されない。プログラム900は、制御部110により実行されて、制御部110に所定の機能を実現させる。
【0050】
図6は、エクスポート論理ボリュームリストとデータ管理情報の一例を示す図である。エクスポート論理ボリュームリストは、エクスポートの対象となるデータと、データを書き込む記録媒体とを特定する情報である。エクスポート対象となるデータとは、例えば、エクスポート対象となる論理ボリュームである。図6のエクスポート論理ボリュームリスト930に示すように、論理ボリュームリストは、例えば、論理ボリューム毎のレコードを、エクスポート要求対象となる論理ボリュームの数だけ有する。各レコードは、論理ボリューム識別番号列931、媒体識別番号列932に入力された値を有する。エクスポート論理ボリュームリスト930は、論理ボリュームのレコードの数だけのデータを記録媒体に書き込むことを特定する。サーバ10は、エクスポート要求として、論理ボリュームリスト930を、データ記憶装置100に送信する。
【0051】
論理ボリューム識別番号列931には、エクスポート対象となる論理ボリュームの識別番号が入力される。図6に示される例では、論理ボリューム識別番号列931には、図5に示すデータ1001〜1100の参照符号が示される。図6に示すエクスポート論理ボリュームリスト930では、図6の論理ボリューム識別番号931の上から下の順番である、昇順で小さい番号の論理ボリューム識別番号で特定されるデータからエクスポート処理を実行することが示される。媒体識別番号列932は、各記録媒体に付された識別番号が入力されている。この識別番号は、エクスポート先の媒体の識別番号である。
【0052】
サーバ10は、エクスポート論理ボリュームリスト930を生成することで、識別番号を特定する。ライブラリ部300は、その識別番号を用いて記憶媒体を特定できる。図6に示すように、媒体識別番号に「1、2」が入力されている場合には、サーバ10は、エクスポート対象の論理ボリュームを識別番号が「1」あるいは「2」のいずれかの記録媒体に格納することを示す。よって、媒体識別番号が「1、2」とされている場合、データの書込みにより識別番号「1」で示す記録媒体の記憶容量が無くなった場合、言い換えれば、エクスポート対象データを書き込むのに充分な記憶容量がない場合、「2」に示す記録媒体にデータを書き込む。図10で後述するように、データが書き込まれる記録媒体は識別番号を用いて特定されるので、サーバ10がエクスポート先となる記録媒体の識別番号を特定する。
【0053】
図6は、データ管理情報の一例を示す。図6に示される管理情報950は、論理ボリューム毎にレコードを有する。各レコードは、論理ボリューム識別番号列951、ステータス列952、アクセスフラグ列953、媒体識別番号列954、書込時間955に入力された値を有する。
【0054】
論理ボリューム識別番号列951には、エクスポート対象となる論理ボリュームの識別番号が入力される。論理ボリューム識別番号列951に入力される識別番号は、、エクスポート論理ボリュームリスト930の識別番号に対応する。ステータス列952には、各レコードの書込みステータスである「終了」、「書込中」、「終了」でも「書込中」でもない未完了状態であることを示す「未」などのステータスが入力される。
【0055】
アクセスフラグ列953には、エクスポート処理中にサーバ10から、変更要求があった論理ボリュームのレコードに対してフラグ情報「0」又は「1」が入力される。フラグ情報の「0」は、当該フラグ情報を有するレコードの論理ボリュームにはサーバ10からの変更要求が無いことを示す。フラグ情報の「1」は、当該フラグ情報を有するレコードの論理ボリュームにはサーバ10からの変更要求があることを示す。図6に示す例では、第80データ1080に対してサーバ10から変更要求があったことが示される。媒体識別番号列954は、エクスポート先となる各記録媒体に付された識別番号が入力される。媒体識別番号列954に入力される識別番号は、エクスポート論理ボリュームリスト930の媒体識別番号列932に対応する。書込時間955は、データが記録媒体に書き込まれた時刻である。
【0056】
[データ記憶装置:制御部]
制御部110は、ストレージ部140に記憶されたプログラム900を実行することで、所定の機能を実現する。制御部110は、ストレージ部140を、ライブラリ部300としてサーバ10に見せかける仮想化処理を実行する。仮想化処理により、制御部110は、例えば、サーバ10によるライブラリ部300へのアクセス対象となるデータをストレージ部140に記憶すると共に、ストレージ部140に格納されたデータをライブラリ部300の記録媒体に格納するデータ管理処理を実行する。データ管理処理は、例えば、一次バックアップとしてストレージ部140を使用し、数世代のバックアップデータをライブラリ部300に格納する処理である。制御部110は、エクスポート要求に加えて、数世代のバックアップデータを記録媒体に書き込むために、ストレージ部140に格納されるデータをライブラリ部300に書き込む「アーカイブ処理」を行う。また、制御部110は、サーバ10のCPU12と同様に、例えば、複数の磁気ディスクを用いて論理ボリュームを構築した上で、当該構築した論理ボリュームによりストレージ部140並びにライブラリ部300の記憶領域を管理することができる。
【0057】
制御部110はさらに、サーバ10からエクスポート要求を受け取ると、エクスポート要求の対象となるデータを、外部保管用の記録媒体380に書き込む処理を実行する。制御部110は、ストレージ部140に格納され、エクスポート対象となる複数の論理ボリュームを、外部保管用の記録媒体380にまとめて記憶する。制御部110は、書込順番が後続のデータに対するサーバ10からの変更要求をエクスポート要求実行中に受け取った場合、書込処理中のデータの次に変更要求対象のデータをライブラリ部300の記録媒体に書き込む書込順序制御処理を行う。
【0058】
図7は、書込順序制御処理の一例を説明する図ある。制御部110は、エクスポート要求によりエクスポート論理ボリュームリスト930をサーバ10から受け取ると、第1データ1001(S401)から、第2データ1002(S402)というように、ストレージ部140に格納されたデータを昇順で記録媒体380に書き込む。
【0059】
制御部110は、記録媒体380への第2データ1002の書込み中に、エクスポート対象である第80データ1080への変更要求をサーバ10から受け取ると(S403)、書込中の第2データ1002の後続である第3データ1003ではなく、第80データ1080を、本来第3データ1003を書き込む場所に記録媒体380に書き込む(S404)。テープ等の記録媒体には、データがシーケンシャルに書き込まれるが、ストレージ部140は、記録媒体からデータを読み出してストレージ部140に格納した後は、読み出したデータに対するサーバ10のランダムアクセスを可能にするため、磁気テープの格納順をシーケンシャルにする必要が無い。そのため、磁気テープへのデータの格納順をシーケンシャルにする必要が無いため、後続に記録予定であった論理ボリュームを、先行して磁気テープに記録することができる。
【0060】
このように、制御部110は、エクスポート処理中にエクスポートの対象となるデータへの変更要求を受け取ると、変更要求対象データを優先して記録媒体380に書き込むことで、変更要求に対するサーバ10の応答待ち時間を少なくすることができる。
【0061】
なお、制御部110は、図6に示す管理情報950を参照し、変更要求のあった第80データ1080を記録媒体に書き込む動作を行う。制御部110は、ストレージ部140にある管理情報950中のステータスを確認して、「書込中」ステータスの次に変更要求の対象となるデータの書込みを行うように動作してもよい。
【0062】
また、図7では、S401は、サーバ10からのエクスポート要求により実行されたが、エクスポート要求ではなくアーカイブ処理の開始をS401の処理イベントとしてもよい。その場合、エクスポート要求は、アーカイブ処理用に用意されたアーカイブ要求である。
【0063】
[データ記憶装置とサーバとのデータ送信]
図8〜図10を用いて、データ記憶装置とサーバとのデータ送信について説明する。
【0064】
[データ記憶装置とサーバとのデータ送信:シーケンス]
図8は、データ記憶装置とサーバとのデータ送信のシーケンスの一例を示す図である。データ記憶装置100における、データ管理部200とライブラリ部300との間のデータ送信が明確になるように、図8に示すシーケンス図は、サーバ10と、データ管理部200と、ライブラリ部300との間のデータ送信を示す。
【0065】
サーバ10は、エクスポート論理ボリュームリスト930をデータ管理部200に送信する(S501)。エクスポート論理ボリュームリスト930は、例えば、図6で説明したエクスポート論理ボリュームリスト930である。また、S501では、サーバ10から送信されたエクスポート要求ではなく、アーカイブ処理の開始を処理イベントとしてもよい。その場合、エクスポート要求930は、アーカイブ処理用に用意されたアーカイブ要求である。
【0066】
データ管理部200は、エクスポート要求の論理ボリューム識別番号列931で特定される順序でエクスポート対象データの書込順序制御を実行して(S502)、エクスポート対象となったデータを記録媒体に書き込む書込要求をライブラリ部300に送信する(S503)。エクスポート要求の対象となるデータは、例えば、論理ボリューム毎に特定される。なお、S502及びS509(後述)のデータ管理部200による書込順序制御は、図9及び図10を用いて後述する。
【0067】
データ管理部200は、書込要求をライブラリ部300に送信すると、管理情報950における該当レコードのステータスを「未」から「書込中」に更新する(S504)。
【0068】
ライブラリ部300は、書込要求によって指示されたデータを記録媒体に対して書き込む書込処理を行い(S505)、書込処理が完了したことを示す書込応答をデータ管理部200に送信する(S506)。データ管理部200は、ライブラリ部300から書込応答を受信すると、管理情報950における該当レコードのステータスを「書込中」から「終了」に更新する(S507)。なお、S502〜507の処理は、例えば、図6で説明したS401又はS402の書込処理に相当する。
【0069】
サーバ10は、ストレージ部160に格納されるデータへの変更要求を送信する(S508)。変更要求は、例えば、エクスポート要求によるエクスポート処理実行中にサーバ10からエクスポート論理ボリュームリスト930内の論理ボリュームへの変更要求である。データ管理部200は、サーバ10からエクスポート論理ボリュームリスト930内の論理ボリュームが、書込み完了しているか否かを管理情報950のステータスで判断し、書込みが完了している場合は、変更要求(S508)に従ってストレージ部140における対象データを変更する(S509)。一方、変更対象となるデータの書込みが完了していない場合は、データ管理部200は、変更対象となったデータを記録媒体に書き込む書込要求を、ライブラリ部300に送信する(S510)。データ管理部200は、書込要求をライブラリ部300に送信すると、該当レコードのステータスを「未」から「書込中」に更新する(S511)。ライブラリ部300は、書込要求によって指示されたデータの書込処理を行い(S512)、書込処理が完了したことを示す書込応答をデータ管理部200に送信する(S513)。データ管理部200は、ライブラリ部300から書込応答を受信すると、変更対象となるデータが書込み完了したため、変更要求(S508)に従ってストレージ部140における対象データをサーバから送信されたデータで変更する(変更すると言う場合には、何を何で変更するのか書いたほうが丁寧だと思います)(S514)。データ管理部200はさらに、管理情報950の該当レコードのステータスを「書込中」から「終了」に更新する(S515)。S508〜515の処理は、例えば、図7で説明したS403及びS404の処理に相当する。
【0070】
データ管理部200は、更新した管理情報950をサーバ10に送信する(S516)。サーバ10が受信する管理情報950のアクセスフラグ列953には、エクスポート処理中にサーバ10からアクセスがあったデータが示される。したがって、サーバ10は、管理情報950を受信することで、エクスポート処理中に変更要求の対象となったデータを特定することができ、サーバ10は、変更対象となった論理ボリュームを次回のエクスポート処理中に変更しない等の修正をとることができる。
【0071】
[データ記憶装置とサーバとのデータ送信:書込順序制御の処理フローの第1例]
図9は、書込順序制御の処理フローの第1例を示すフローチャートである。データ管理部200は、サーバ10からデータを受信すると、受信データがエクスポート要求または変更要求か否かを判断する(S601)。受信データがエクスポート要求であると(S601 No)、データ管理部200は、エクスポート要求で特定されるデータのエクスポート用の記憶媒体への書込要求をライブラリ部300へ送信して(S602)、書込順序制御を終了する。
【0072】
受信データが変更要求であると(S601 Yes)、データ管理部200は、変更要求の対象データが記録媒体に書込済み又は書込中か否かを判断する(S603)。この判断は、例えば、データ管理部200が、管理情報950の該当レコードのステータスが「済」又は「書込中」か否かを参照するで判断できる。変更対象データのステータスが「済」又は「書込中」で無い場合(S603 No)、データ管理部200は、変更対象データの記録媒体に対する書込要求をライブラリ部300に送信して(S604)、書込順序制御を終了する。変更対象データが「済」又は「書込中」の場合(S603 Yes)、データ管理部200は書込順序制御を終了する。
【0073】
[データ記憶装置とサーバとのデータ送信:書込順序制御の処理フローの第2例]
なお、図8に示した例では、エクスポート処理中に1つのデータに対する変更要求を受信した場合を示したが、変更要求は複数データに対すものであってもよい。ただし、変更要求が多くなると、書込順序制御処理を行ってもサーバ10は変更要求の待ち時間が増える恐れがある。そのため、図9に示した書込順序制御処理の代替案として以下の処理フローを行ってもよい。
【0074】
図10は、書込順序制御の処理フローの第2例を示すフローチャートである。図10に示すS601〜S604は、図9のS601〜S604と同じであるので、説明を省略する。
【0075】
変更対象データが書込済又は書込中ではない場合(S603No)、データ管理部200は、S601で受信した変更要求に対して先行受信した未完了の変更要求があるか否かを判断する(S651)。データ管理部200は、例えば、管理情報950を参照して、アクセスフラグが「1」のレコードで、ステータスが「書込済」か否かを判断することで、S651の判断を行ってもよい。先行受信した未完了の変更要求が無い場合(S651 No)、データ管理部200は、変更対象データの書込要求をライブラリ部300に送信して(S604)、書込順序制御を終了する。先行受信した未完了の変更要求がある場合(S651 Yes)、データ管理部200は、エクスポート要求の対象となっている記録媒体と異なる記録媒体としての他の記録媒体に、先行受信した未完了の変更要求が対象とする論理ボリュームを書込可能か否かを判断する(S652)。データ管理部200は、媒体識別番号列954に入力されている媒体識別番号が複数ある場合、未動作中又は先行の書込要求の処理予定の無い媒体ドライブ330(図4)に格納される記録媒体に書込可能か否かで判断してもよい。なお、媒体ドライブ330は動作中か否かのステータスを制御部320に通知し、制御部320がデータ管理部200にさらに通知することで、データ管理部200は、媒体ドライブ330が動作中か否かのステータスを検出することができる。また、媒体識別番号と媒体ドライブ330が対応付けられている場合、データ管理部200は、エクスポート論理ボリュームリスト930の媒体識別番号932列に識別される媒体識別番号を検出することで、媒体ドライブの処理予定があるか否かを判別することができる。
【0076】
他の記録媒体に書込可能である場合(S652 Yes)、データ管理部200は、特定された媒体ドライブ330と書込可能と判定された記録媒体とを特定する変更対象データの書込要求をライブラリ部300に送信して(S604)、書込順序制御を終了する。
【0077】
他の記録媒体に書込可能で無い場合(S652 No)、データ管理部200は、例えば、変更要求をサーバ10から受信した時間から所定時間経過しているか否か判断する。所定時間経過していない場合(S653 No)、データ管理部200は、S651以降のの処理を再度実行する。一方、所定時間経過している場合(S653 Yes)、データ管理部200は、エクスポート要求を異常終了すると共に、異常終了結果をサーバ10に送信して、書込順序制御を終了する。
【0078】
以上の実施形態に関し、更に以下の付記を開示する。
[付記1]
情報処理装置と接続するデータ記憶装置であって、
ライブラリ部と
前記情報処理装置から送信された複数のデータを記憶するストレージ部と、
前記ストレージ部を、複数のデータを前記ライブラリ部の記録媒体に書き込む処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第1のデータより先に前記第2のデータを前記ライブラリ部の記録媒体に書き込む制御部と、を有することを特徴とするデータ記憶装置。(1)
[付記2]
前記制御部は、前記変更要求を受け取った場合、前記変更要求を受け取ったことの前記情報処理装置への通知を、前記記録媒体の変更要求の対象データの書き込み中又は書き込み後に、前記情報処理装置に行う付記1に記載のデータ記憶装置。(2)
[付記3]
前記ライブラリ部は、第1の記録媒体及び第2の記録媒体を有し、
前記制御部は、前記第1のデータを前記第1のデータ媒体に書き込み中に、前記情報処理装置から前記第2のデータに対する変更要求を前記書き込み中に受け取る場合、前記第2の記録媒体に前記第2のデータを書き込む付記1又は2に記載のデータ記憶装置。(3)
[付記4]
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置であって、
ストレージ部と、
前記ストレージ部を、複数のデータを前記ライブラリ装置の記録媒体に書き込む処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第1のデータより先に前記第2のデータを前記ライブラリ装置の記録媒体に書き込む制御部と、を有することを特徴とするデータ管理装置。(4)
[付記5]
前記制御部は、前記変更要求を受け取った場合、前記変更要求を受け取ったことの前記情報処理装置への通知を、前記記録媒体の変更要求の対象データの書き込み中又は書き込み後に、前記情報処理装置に行う付記4に記載のデータ記憶装置。
[付記6]
前記ライブラリ装置は、第1の記録媒体及び第2の記録媒体を有し、
前記制御部は、前記第1のデータを前記第1のデータ媒体に書き込み中に、前記情報処理装置から前記第2のデータに対する変更要求を前記書き込み中に受け取る場合、前記第2の記録媒体に前記第2のデータを書き込む付記4又は5に記載のデータ記憶装置。
[付記7]
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置における制御方法であって、
前記制御部が、前記ストレージ部に記憶された複数のデータを前記ライブラリ装置に含まれる記録媒体に書き込む処理を開始し、
前記制御部が、前記書き込み処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第1のデータより先に前記第2のデータを前記記録媒体に書き込むことを特徴とする制御方法。(7)
[付記8]
前記制御部が、前記記録媒体への書き込み中又は書き込み後に、前記変更要求を受け取ったことを、前記情報処理装置に通知する付記7に記載の制御方法。
[付記9]
前記ライブラリ部は、第1の記録媒体及び第2の記録媒体を有し、
前記制御部は、前記第1のデータを前記第1のデータ媒体に書き込み中に、前記情報処理装置から前記第2のデータに対する変更要求を前記書き込み中に受け取る場合、前記前記ライブラリ部の記録媒体に前記第2のデータを書き込む付記7又は8に記載の制御方法。
[付記10]
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置により実行されるプログラムであって、
前記データ管理装置に、前記ストレージ装置に記憶された複数のデータを前記ライブラリ装置に含まれる記録媒体に書き込む処理を開始する手順、
前記データ管理装置に、前記書き込み処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第1のデータより先に前記第2のデータを前記ライブラリ部の前記記録媒体に書き込む手順を実行させることを特徴とするプログラム。(8)
【符号の説明】
【0079】
100 データ記憶装置
110 制御部
140 ストレージ部
170、170a 第1通信部
180、180b 第2通信部
200 データ管理部
300 ライブラリ部
310 通信部
320 制御部
330 媒体ドライブ
350 投入排出機構部
360 収納セル
380 記録媒体
390 外部保管場所
900 プログラム
930 エクスポート要求
950 管理情報

【特許請求の範囲】
【請求項1】
情報処理装置と接続するデータ記憶装置であって、
ライブラリ部と
前記情報処理装置から送信された複数のデータを記憶するストレージ部と、
前記ストレージ部を、複数のデータを前記ライブラリ部の記録媒体に書き込む処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第1のデータより先に前記第2のデータを前記ライブラリ部の記録媒体に書き込む制御部と、を有することを特徴とするデータ記憶装置。
【請求項2】
前記制御部は、前記変更要求を受け取った場合、前記変更要求を受け取ったことの前記情報処理装置への通知を、前記記録媒体の変更要求の対象データの書き込み中又は書き込み後に、前記情報処理装置に行う請求項1に記載のデータ記憶装置。
【請求項3】
前記ライブラリ部は、第1の記録媒体及び第2の記録媒体を有し、
前記制御部は、前記第1のデータを前記第1のデータ媒体に書き込み中に、前記情報処理装置から前記第2のデータに対する変更要求を前記書き込み中に受け取る場合、前記第2の記録媒体に前記第2のデータを書き込む請求項1又は2に記載のデータ記憶装置。
【請求項4】
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置であって、
ストレージ部と、
前記ストレージ部を、複数のデータを前記ライブラリ装置の記録媒体に書き込む処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第1のデータより先に前記第2のデータを前記ライブラリ装置の記録媒体に書き込む制御部と、を有することを特徴とするデータ管理装置。
【請求項5】
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置における制御方法であって、
前記制御部が、前記ストレージ部に記憶された複数のデータを前記ライブラリ装置に含まれる記録媒体に書き込む処理を開始し、
前記制御部が、前記書き込み処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第1のデータより先に前記第2のデータを前記記録媒体に書き込むことを特徴とする制御方法。
【請求項6】
前記制御部が、前記記録媒体への書き込み中又は書き込み後に、前記変更要求を受け取ったことを、前記情報処理装置に通知する請求項5に記載の制御方法。
【請求項7】
前記ライブラリ部は、第1の記録媒体及び第2の記録媒体を有し、
前記制御部は、前記第1のデータを前記第1のデータ媒体に書き込み中に、前記情報処理装置から前記第2のデータに対する変更要求を前記書き込み中に受け取る場合、前記前記ライブラリ部の記録媒体に前記第2のデータを書き込む請求項5又は6に記載の制御方法。
【請求項8】
情報処理装置と記録媒体を備えたライブラリ装置と接続するデータ管理装置により実行されるプログラムであって、
前記データ管理装置に、前記ストレージ装置に記憶された複数のデータを前記ライブラリ装置に含まれる記録媒体に書き込む処理を開始する手順、
前記データ管理装置に、前記書き込み処理中に、第1のデータより後に書き込むことが特定された第2のデータに対して前記情報処理装置から変更要求を受け取る場合、前記第1のデータより先に前記第2のデータを前記ライブラリ部の前記記録媒体に書き込む手順を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−191906(P2011−191906A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−56206(P2010−56206)
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】