(57)【要約】【課題】仮想ディスクライブラリ装置からホストコンピュータに向けてデータ転送が開始されるまでの間におけるコマンド応答タイムアウトの発生を防止し、仮想ディスクライブラリ装置に設けられたキャッシュ容量を削減する。【解決手段】データを記憶し、読み出す記憶装置と、前記記憶装置よりもデータの読出し速度の遅い記憶装置と、を備え、前記記憶装置は、データの先頭部分を保持すると共に、保持した当該データを上位装置に送信し、前記記憶装置よりも読出し速度の遅い記憶装置は、データ全体を保持し、データの先頭部分以降のデータを上位装置に送信することを特徴とするストレージ装置を提供する。【選択図】図１
2008083845.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶し、読み出す記憶装置と、
前記記憶装置よりもデータの読出し速度の遅い記憶装置と、
を備え、
前記記憶装置は、データの先頭部分を保持すると共に、保持した当該データを上位装置に送信し、
前記記憶装置よりも読出し速度の遅い記憶装置は、データ全体を保持し、データの先頭部分以降のデータを上位装置に送信する
ことを特徴とするストレージ装置。
【請求項２】
前記記憶装置は、データを送信する速度を計算する計測部を備え、
前記計測部を用いて、上位装置にデータを遅延して送信する
ことを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記記憶装置は、前記データ全体を前記記憶装置よりも読出し速度の遅い記憶装置にコピーすると共に、論理ボリューム単位で記憶したデータの先頭部分を保持し、当該先頭部分以外のデータ記憶領域を開放する
ことを特徴とする請求項１記載のストレージ装置。
【請求項４】
データを記憶し、読み出す記憶装置と、
前記記憶装置よりもデータの読出し速度の遅い記憶装置と、
を備えるストレージシステムであって、
前記記憶装置が、データの先頭部分を保持すると共に、保持した当該データを上位装置に送信する手段と、
前記記憶装置よりも読出し速度の遅い記憶装置が、データ全体を保持し、データの先頭部分以降のデータを上位装置に送信する手段と、を備える
ことを特徴とするストレージシステム。
【請求項５】
前記記憶装置は、データを送信する速度を計算する計測部を備え、
前記計測部を用いて、上位装置にデータを遅延して送信する手段を備える
ことを特徴とする請求項４記載のストレージシステム。
【請求項６】
前記記憶装置は、前記データ全体を前記記憶装置よりも読出し速度の遅い記憶装置にコピーすると共に、論理ボリューム単位で記憶したデータの先頭部分を保持し、当該先頭部分以外のデータ記憶領域を開放する手段を備える
ことを特徴とする請求項４記載のストレージシステム。
【請求項７】
上位装置から与えられるデータ出力要求に応じてデータを読み出すストレージ装置のデータの読出し方法であって、
前記ストレージ装置は、データを記憶し、読み出す記憶装置と、前記記憶装置よりもデータの読出し速度の遅い記憶装置と、を備え、
前記記憶装置が、データの先頭部分を保持すると共に、保持した当該データを上位装置に送信する第１のステップと、
前記記憶装置よりも読出し速度の遅い記憶装置が、データ全体を保持し、データの先頭部分以降のデータを上位装置に送信する第２のステップと、を備える
ことを特徴とするデータ読出し方法。
【請求項８】
前記記憶装置は、データを送信する速度を計算する計測部を備え、
前記第１のステップにおいて、前記計測部を用いて、上位装置にデータを遅延して送信する
ことを特徴とする請求項７記載のデータ読出し方法。
【請求項９】
前記記憶装置は、前記データ全体を前記記憶装置よりも読出し速度の遅い記憶装置にコピーすると共に論理ボリューム単位で記憶したデータの先頭部分を保持し、当該先頭部分以外のデータ記憶領域を開放し、前記記憶装置が、データの先頭部分を保持すると共に、保持した当該データを上位装置に送信する第１のステップ、を備える
ことを特徴とする請求項７記載のデータ読出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージシステム並びにデータ読出し方法に関し、磁気テープを磁気ディスク装置として仮想した仮想ディスクライブラリ装置及び仮想ディスクライブラリ装置におけるデータ転送方法に適用して好適なものである。
【背景技術】
【０００２】
一般に、コンピュータシステムは、大容量の磁気ディスク装置に接続され、この磁気ディスク装置に記憶されたデータをアーカイブ／バックアップするためのアーカイブ／バックアップ用記憶装置が接続されたアーカイブ／バックアップシステムを構成している。このアーカイブ／バックアップ用記憶装置は、大容量且つビット単価が安価な磁気テープが用いられ、所定の時間帯に所定のデータを磁気テープにアーカイブ／バックアップする。
近年のコンピュータシステムは、前記の磁気テープ装置を記憶装置として使用して仮想的に磁気ディスク装置を構成することで大容量且つビット単価が安価な磁気ディスク装置を実現する仮想ディスクライブラリ装置が実用化されている。
【０００３】
この仮想ディスクライブラリ装置は、データをテープライブラリ装置内の磁気テープに記録するため、磁気テープに記録されたデータを読み出すには、まず、データが記録された磁気テープをテープスロットからテープドライブに移動し、次に、必要なデータが記録された位置へ磁気テープを位置付けする必要がある。平均的なテープライブラリ装置では、本処理に３０秒から５分程度の時間を要する。一方、仮想ディスクライブラリ装置はホストコンピュータから磁気ディスク装置として認識されているが、ホストコンピュータが磁気ディスク装置へのデータ読み出し要求に対して設定するコマンド応答タイムアウト時間は数十秒から１分程度である。このため、仮想ディスクライブラリ装置では、ホストコンピュータのデータ読み出し要求に対して、コマンド応答タイムアウト時間内にデータをホストコンピュータに転送できない場合が存在する。
【０００４】
このため、従来、専用のソフトウェア導入等の作業をホストコンピュータ側に行うことで、仮想ディスクライブラリ装置のデータ転送開始待ちの間にコマンド応答タイムアウトが発生してしまうことを回避することが行われており、これに関する種々の技術が提案されている（特許文献１参照）。
【特許文献１】特開平１１−２４２５７０号公報
【０００５】
ところで、上記特許文献１において提案された方法によると、コマンド応答タイムアウト回避手段が提供されないホストコンピュータでは使用できないといった問題や、ホストコンピュータ側へ行った作業が仮想ディスクライブラリ装置以外の磁気ディスク装置にも影響してしまうといった問題があった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、以上の点を考慮してなされたもので、かかる問題を生じることなく仮想ディスクライブラリ装置のデータ転送開始待ちの間に、ホストコンピュータのコマンド応答タイムアウトが発生してしまうことを回避するストレージ装置及びストレージシステム並びにデータ読出し方法を提供しようとするものである。
【課題を解決するための手段】
【０００７】
前記課題を解決するため本発明においては、データを記憶し、読み出す記憶装置と、前記記憶装置よりもデータの読出し速度の遅い記憶装置と、を備え、前記記憶装置は、データの先頭部分を保持すると共に、保持した当該データを上位装置に送信し、前記記憶装置よりも読出し速度の遅い記憶装置は、データ全体を保持し、データの先頭部分以降のデータを上位装置に送信することを特徴とするストレージ装置を提供することとした。
【０００８】
この結果、このストレージ装置によれば、効率的に、仮想ディスクライブラリ装置のデータ転送開始待ちの間に、ホストコンピュータのコマンド応答タイムアウトが発生してしまうことを回避することが可能となる。
【０００９】
また本発明においては、データを記憶し、読み出す記憶装置と、前記記憶装置よりもデータの読出し速度の遅い記憶装置と、を備えるストレージシステムであって、前記記憶装置が、データの先頭部分を保持すると共に、保持した当該データを上位装置に送信する手段と、前記記憶装置よりも読出し速度の遅い記憶装置が、データ全体を保持し、データの先頭部分以降のデータを上位装置に送信する手段と、を備えることを特徴とするストレージシステムを提供することとした。
【００１０】
この結果、このストレージシステムにおいては、効率的に、仮想ディスクライブラリ装置のデータ転送開始待ちの間に、ホストコンピュータのコマンド応答タイムアウトが発生してしまうことを回避することが可能となる。
【００１１】
さらに本発明においては、上位装置から与えられるデータ出力要求に応じてデータを読み出すストレージ装置のデータの読出し方法であって、前記ストレージ装置は、データを記憶し、読み出す記憶装置と、前記記憶装置よりもデータの読出し速度の遅い記憶装置と、を備え、前記記憶装置が、データの先頭部分を保持すると共に、保持した当該データを上位装置に送信する第１のステップと、前記記憶装置よりも読出し速度の遅い記憶装置が、データ全体を保持し、データの先頭部分以降のデータを上位装置に送信する第２のステップと、を備えることを特徴とするデータ読出し方法を提供することとした。
【００１２】
この結果、このデータ読出し方法においては、効率的に、仮想ディスクライブラリ装置のデータ転送開始待ちの間に、ホストコンピュータのコマンド応答タイムアウトが発生してしまうことを回避することが可能となる。
【発明の効果】
【００１３】
本発明によれば、効率的に仮想ディスクライブラリ装置からホストコンピュータに対するデータ転送が開始されるまでの間におけるコマンド応答タイムアウトの発生を防止できるという効果を実現できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。図１は本発明の一実施形態によるアーカイブ／バックアップシステムのシステム構成を説明するための図、図２は本実施形態によるアーカイブ／バックアップシステムのアクセス頻度及びデータアクセス速度を説明するための図、図３〜図５は各種テーブルを説明するための図、図６〜図８はアーカイブ／バックアップシステムの一連の処理手順をあらわすための図である。
【００１５】
（１）本実施の形態によるアーカイブ／バックアップシステムの構成
本実施形態によるアーカイブ／バックアップシステム１は、図１に示す如く、データを処理するホストコンピュータ２と、該ホストコンピュータ２のデータを記憶する仮想ディスクライブラリ装置３と、管理端末４と、から構成されている。
【００１６】
ホストコンピュータ２は、図示しないＣＰＵ（Central Processing Unit）、メモリ等の情報処理資源を備えたコンピュータ装置であり、パーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。ホストコンピュータ２は、例えばキーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００１７】
ＣＰＵは、ホストコンピュータ２全体の動作制御を司るプロセッサである。またメモリは、ユーザ業務で使用されるアプリケーションプログラムを保持するために使用されるほか、ＣＰＵのワークメモリとしても用いられる。このメモリに保持されたアプリケーションプログラムをＣＰＵが実行することにより、ホストコンピュータ２全体として対応する業務に関する各種処理が行われる。
【００１８】
例えば、ホストコンピュータ２は、図２に示すように、後述する仮想ディスクライブラリ装置３に記録されたアーカイブ／バックアップデータのアクセス頻度や、データ種別及びデータに付与された優先度といったデータの重要度に応じ、データを後述する論理ボリュームＶＯＬ単位で、データアクセス速度の異なる外部磁気ディスク装置６Ｂ及び仮想ディスクライブラリ装置３間におけるデータ移動を行う。なお、ホストコンピュータ２によるデータの重要度に応じたデータ移動は、アーカイブ／バックアップデータが論理ボリュームＶＯＬ単位で記録されていない場合や、論理ボリュームＶＯＬの先頭のアーカイブ／バックアップデータが外部磁気ディスク装置６Ｂに転送されない場合においても可能である。
【００１９】
仮想ディスクライブラリ装置３は、データを記憶するための記憶領域を提供する、磁気ディスク装置６Ａ及びテープライブラリ装置７と、これらの装置に対するデータの入出力を制御するコントローラ（転送コントローラ）５と、を備えて構成されている。仮想ディスクライブラリ装置３は主に階層記憶システムにおいてアクセス頻度の低くなったデータを安価に大容量保管するために使用される。階層記憶システムを管理するホストコンピュータ２は、データのアクセス頻度や必要性に応じて論理ボリュームＶＯＬ単位でデータアクセス性能の異なる磁気ディスク装置間のデータ移動を行うことで、大容量のデータを安価に保存することを実現している。
【００２０】
テープライブラリ装置７は、アーカイブ／バックアップデータを記録するものであり、ｎ（ｎは自然数を表す）台の磁気テープ１４と、各磁気テープ１４を収容するテープスロット１５と、磁気テープ１４に記録されたデータのリード／ライトを行うテープドライブ１６と、から構成されている。
【００２１】
磁気ディスク装置６Ａは、複数のディスクデバイス（図示せず）を備える。ディスクデバイスは、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスクドライブ、及びＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクドライブから構成される。
【００２２】
これらテープライブラリ装置７及び磁気ディスク装置６Ａは、コントローラ５により運用される。１又は複数のディスクデバイス又は磁気テープにより提供される物理的な記憶領域上に、１又は複数の論理ボリューム（ＶＯＬ）が構成される。そしてホストコンピュータ２からのデータは、この論理ボリュームＶＯＬ内に所定の大きさのブロック（以下、これを論理ブロックと呼ぶ）を単位として記憶される。
【００２３】
各論理デバイスには、それぞれ固有の識別番号が付与される。本実施の形態の場合、データの入出力は、この識別番号と、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号（以下、これをＬＢＡ（Logical Block Address）と呼ぶ）との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００２４】
コントローラ５は、ＣＰＵ（Central Processing Unit）１０、メモリ１２、バッファ１１、のほか、図示しない第１転送部、第２転送部、遅延処理部、タイマ、計算部を備えて構成される。メモリ１２は、各種制御プログラムや各種テーブルを記憶保持するために使用されるほか、ＣＰＵ１０のワークメモリとしても用いられる。後述するボリューム状態管理テーブル２０、ディスク情報格納情報テーブル２１、テープ格納情報テーブル２２もこのメモリ１２に記憶保持される。メモリ１２に格納された制御プログラムをＣＰＵ１０が実行することにより、コントローラ５全体として種々の処理を実行する。コントローラ５、図示しない第１転送部、第２転送部、遅延処理部、タイマ、計算部は、いずれも、ＩＣ（Integrated Circuit）、ＣＰＵ、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等から構成される。
【００２５】
バッファ１１は、任意のデータを保持するものである。この任意のデータとは、アーカイブ／バックアップデータと同一のデータでも、あるいは、バッファリングのためのデータといったアーカイブ／バックアップデータと異なるデータでもよい。また磁気ディスク装置６Ａは、データの一時的なキャッシュのためのものであり、コントローラ５から見るとテープライブラリ装置７よりもデータアクセス速度が速い。
【００２６】
コントローラ５は、テープライブラリ装置７に記録されたアーカイブ／バックアップデータをバッファ１１に転送するとともに、バッファ１１に保持されたアーカイブ／バックアップデータをホストコンピュータ２に転送する。ここで、図示しない第１転送部は、テープライブラリ装置７または磁気ディスク装置６Ａからバッファ１１への転送用であり、第２転送部はバッファ１１からホストコンピュータ２への転送用である。すなわち、コントローラ５はデータを、テープライブラリ装置７又は磁気ディスク装置６Ａ又はホストコンピュータ２への両方向に転送可能になっている。また第１転送部及び第２転送部は、それぞれ、データを同時に転送してもよく、あるいは、第１転送部及び第２転送部のうちのいずれか一方がデータを転送した後、他方がデータを転送してもよい。
【００２７】
図示しない遅延処理部は、後述するとおり、バッファ１１からホストコンピュータ２に対するデータ転送の開始を、ホストコンピュータ２のコマンド応答タイムアウト時間よりも短い時間遅延させる。この遅延処理部は、コントローラ５がテープライブラリ装置７に記録されたアーカイブ／バックアップデータをバッファ１１に転送するための経過時間を計測する図示しないタイマ（計測部）と、予め設定された調整時間からタイマにて計測された経過時間を差し引くといった差分計算を行って遅延時間を計算する図示しない計算部とを有する。図示しない計算部は、テープスロット１５内の磁気テープ１４のテープドライブ１６への移動時間や、磁気テープ１４の位置付けに要する時間に応じて、経過時間に定数を乗じた値を用いて差分計算をする等の遅延時間の微調整をも行うようにしてもよい。
【００２８】
また、コントローラ５は、ホストコンピュータ２から送出されたデータリード要求に含まれるアドレスに基づいて、アーカイブ／バックアップデータが記録された位置に磁気テープ１４を移動させ、磁気テープ１４へのデータのリード及びライトを行ってもよい。
【００２９】
なお、バッファ１１は、図１に示す如く、コントローラ５の内部に設けて構成することもできるが、コントローラ５の外に設けることもできる。
【００３０】
また図１及び図２に示す如く、ホストコンピュータ２から見て、仮想ディスクライブラリ装置３は、コントローラ５によって、複数の仮想ドライブとして仮想（エミュレート）された複数の論理ボリュームＶＯＬとして認識されている。換言すれば、仮想ディスクライブラリ装置３が、アーカイブ／バックアップデータを論理ボリュームＶＯＬ単位で記録する複数の仮想ドライブ装置から構成され、コントローラ５が、各仮想ドライブ装置に記録されたアーカイブ／バックアップデータを論理ボリュームＶＯＬ単位で転送する。
【００３１】
更にコントローラ５は、論理ボリュームＶＯＬ単位で記録されたアーカイブ／バックアップデータを、磁気ディスク装置６Ａに転送する。本実施形態においては、コントローラ５は、テープライブラリ装置７に記録された論理ボリュームＶＯＬの先頭に記録されたアーカイブ／バックアップデータを、磁気ディスク装置６Ａに転送する。すなわち、コントローラ５は、アーカイブ／バックアップデータを、データアクセス速度がテープライブラリ装置７よりも高速な磁気ディスク装置６Ａに常駐させるようにしている。
【００３２】
また管理端末４は、仮想ディスクライブラリ装置３を保守又は管理するための端末装置である。管理端末４は、図示しないメモリやＣＰＵ等の情報処理資源を備えたマイクロコンピュータシステムとして構成される。メモリは、各種制御プログラムや各種テーブルを記憶保持するために使用されるほか、ＣＰＵのワークメモリとしても用いられる。メモリに格納された制御プログラムをＣＰＵが実行することにより、管理端末４全体として種々の処理を実行する。
【００３３】
（２）アーカイブ／バックアップシステムにおけるデータ書き込み及び読出し処理機能
（２−１）各種テーブルの構成
次に、このアーカイブ／バックアップシステム１に採用されたデータ書き込み及び読出し処理機能について説明する。
【００３４】
本実施の形態によるアーカイブ／バックアップシステム１は、仮想ディスクライブラリ装置３からホストコンピュータ２に対するデータ転送が開始されるまでの間におけるコマンド応答タイムアウトの発生を防止できるという効果を実現できる、データ書き込み及び読出し処理機能が採用されている点を特徴とする。
【００３５】
このようなデータ書き込み及び読出し処理機能に関する各種処理を行うための手段として、コントローラ５内のメモリ１２にボリューム状態管理テーブル２０、ディスク情報格納情報テーブル２１及びテープ格納情報テーブル２２が格納されている。
【００３６】
このうち、ボリューム状態管理テーブル２０は、仮想ディスクライブラリ装置３内の各論理ボリュームＶＯＬの状態を管理するテーブルである。そしてこのボリューム状態管理テーブル２０は、図３に示すように、ボリュームナンバーフィールド２０Ａ、ボリューム状態フィールド２０Ｂ、ディスク格納情報フィールド２０Ｃ及びテープ格納情報フィールド２０Ｄから構成される。
【００３７】
ボリュームナンバーフィールド２０Ａには、対応する論理ボリュームＶＯＬに付与されたボリュームＩＤが格納される。また、各論理ボリュームＶＯＬに対応するボリューム状態フィールド２０Ｂには、論理ボリュームＶＯＬの状態、すなわち、当該論理ボリュームＶＯＬのデータが磁気ディスク装置６Ａ又は磁気テープ１４に対して割り当てられているか否かに関する情報を示すため、「有効」あるいは「無効」のいずれかの情報が格納される。当該論理ボリュームＶＯＬのデータが既に磁気ディスク装置６又は磁気テープ１４の領域に割り当てられているときには「有効」が、割り当てられていないときには「無効」の情報が格納される。ディスク格納情報フィールド２０Ｃには、磁気ディスク装置６Ａ内におけるデータの詳細情報の所在が格納される。テープ格納情報フィールド２０Ｄには、テープライブラリ装置７内におけるデータの詳細情報の所在が格納される
【００３８】
従って、図３の例では、論理ボリュームＶＯＬナンバーＩＤとして「ボリューム１」〜「ボリューム３」があり、このうち例えば「ボリューム１」というＩＤが付された論理ボリュームＶＯＬについては、ボリューム状態が「有効」であって、既に磁気ディスク装置６Ａ内の領域に割当てがされ、磁気ディスク装置６Ａのデータの詳細情報は後述するディスク情報格納情報テーブル２１内のテーブル１に、テープライブラリ装置７内におけるデータの詳細情報は後述するテープ格納情報テーブル２２内のテーブル１に格納されていることがわかる。
【００３９】
ディスク情報格納情報テーブル２１は、磁気ディスク装置６Ａに格納された情報についての詳細な情報を管理するテーブルである。そしてこのディスク情報格納情報テーブル２１は、図４に示すように、ディスク格納情報テーブルナンバーフィールド２１Ａ、ブロック１フィールド２１Ｂ、ブロック２フィールド２１Ｃ及びブロック３フィールド２１Ｄから構成される。
【００４０】
ディスク格納情報テーブルナンバーフィールド２１Ａには、対応するテーブルナンバーに付与されたＩＤが格納される。ブロック１フィールド２１Ｂ、ブロック２フィールド２１Ｃ及びブロック３フィールド２１Ｄには、それぞれ、情報が割当てられているディスクＩＤ、情報の割当てが開始されるＬＢＡ、データの属性情報が格納される。ただし、データの領域が未割り当ての場合は、これらの情報に代えて、領域未割り当てである旨の情報が格納される。
【００４１】
従って、図４の例では、テーブルナンバー１のテーブルにおいては、ブロック１の情報は、ディスク１に割り当てられ、ディスク１中の論理ブロックのＬＢＡの０Ａ００００００ｈからデータ領域の割当てが開始され、データの属性情報は常駐であることがわかる。常駐であるとは、かかるデータが、割り当てられた磁気ディスク装置６Ａに保持されることを意味する。ブロック２の情報は、ディスク２に割り当てられ、ディスク２中の論理ブロックのＬＢＡの０２００００００ｈからデータ領域の割当てが開始しており、データの属性情報は非常駐（ロック中）であることがわかる。非常駐（ロック中）であるとは、データが磁気ディスク装置６Ａに割り当てられているが、かかる領域の再利用が禁止されている状態を示す。
【００４２】
テープ格納情報テーブル２２は、テープライブラリ装置７に格納された情報についての詳細な情報を管理するテーブルである。そしてこのテープ格納情報テーブル２２は、図５に示すように、テープ格納情報テーブルナンバーフィールド２２Ａ、テープ１フィールド２２Ｂ、テープ２フィールド２２Ｃ及びテープ３フィールド２２Ｄから構成される。
【００４３】
テープ格納情報テーブルナンバーフィールド２２Ａには、対応するテーブルナンバーに付与されたＩＤが格納される。テープ１フィールド２２Ｂ、テープ２フィールド２２Ｃ及びテープ３フィールド２２Ｄには、それぞれ、情報が割当てられているテープライブラリＩＤ及びテープスロットナンバーＩＤが格納される。ただし、データの領域が未割り当ての場合は、これらの情報に代えて、無効である旨の情報が格納される。
【００４４】
従って、図５の例では、テーブルナンバー１のテーブルにおいては、テープ１の情報は、テープライブラリＩＤが１のテープライブラリ装置７中のスロット１０に割り当てられていることがわかる。テープ２の情報と、テープ３の情報とは、領域が未割当てであるので、無効であることがわかる。
【００４５】
（２−２）データの書き込み及び読出し処理機能
次に、図６及び図７を用いて、本実施の形態のアーカイブ／バックアップシステム１におけるデータの書き込み及び読出し処理機能について説明する。図６及び図７は、アーカイブ／バックアップシステム１における一連のデータ書き込み処理の流れを示すフローチャートである。図８は、アーカイブ／バックアップシステム１における一連のデータ読出し処理の流れを示すフローチャートである。
【００４６】
図６に示すように、ホストコンピュータ２が仮想ディスクライブラリ装置３へのデータの書き込みを開始すると（ＳＰ１）、ホストコンピュータ２は、仮想ディスクライブラリ装置３のコントローラ５内のバッファ１１にデータを送信する（ＳＰ２）。ホストコンピュータ２からのデータ書き込みは、バッファ１１への転送が終了した時点で、データ書き込み完了を応答する。
【００４７】
仮想ディスクライブラリ装置３内のコントローラ５のＣＰＵ１０は、書き込まれた論理ボリュームＶＯＬ単位のデータについて、ディスク格納情報テーブル２１を参照して（ＳＰ３）、磁気ディスク装置６Ａに対する割り当てがなされているか否かを確認する。
【００４８】
ＣＰＵ１０は、磁気ディスク装置６Ａへのデータの割当てがなされていないときには（ＳＰ４：ＮＯ）、磁気ディスク装置６Ａのうちの未使用領域又は再利用可能領域から、ディスク領域を割り当てる（ＳＰ７）。ＣＰＵ１０は、当該割り当てが終了すると、当該論理ボリュームＶＯＬについてディスク格納情報テーブル２１の情報を更新する（ＳＰ８）。
【００４９】
他方、ＣＰＵ１０は、すでに磁気ディスク装置６Ａへのデータの割当てがなされているとき（ＳＰ４：ＹＥＳ）、又はステップＳＰ８においてディスク格納情報テーブル２１の情報が更新されたときには、バッファ１１から当該磁気ディスク装置６Ａに対してデータの書き込みを行い（ＳＰ５）、磁気ディスク装置６Ａに対するデータ書き込み処理を終了する（ＳＰ６）。このとき、ＣＰＵ１０は、バッファ１１に転送されたデータを非同期に磁気ディスク装置６Ａに書きこむ。
【００５０】
さらに、ＣＰＵ１０は、磁気ディスク装置６Ａに書き込まれたデータを、論理ボリュームＶＯＬへのデータ更新が完了したことを契機に、ホストコンピュータ２または管理端末４より磁気テープ１４へのコピーを指示し、本指示をトリガに仮想ディスクライブラリ装置３は当該論理ボリュームＶＯＬのデータを磁気ディスク装置６Ａから磁気テープ１４へコピーを開始する。
【００５１】
ＣＰＵ１０は、図７に示すように、テープライブラリ装置７へのデータの書き込みが開始されると（ＳＰ１０）、当該論理ボリュームＶＯＬへの書き込みを禁止する（ＳＰ１１）。さらに、ＣＰＵ１０は、当該論理ボリュームＶＯＬのテープ格納情報テーブル２２を参照し、当該論理ボリュームＶＯＬのデータの格納先となる磁気テープ１４をテープドライブ１６へ移動する（ＳＰ１２）。
【００５２】
ＣＰＵ１０は、当該論理ボリュームＶＯＬのデータを、磁気ディスク装置６Ａから磁気テープ１４へコピーする（ＳＰ１４）。ＣＰＵ１０は、ステップＳＰ１４におけるコピーが終了すると、磁気テープ１４を移動元のテープスロット１５へ移動させる（Ｐ１５）。ＣＰＵ１０は、当該論理ボリュームＶＯＬの磁気ディスク装置６Ａの領域内において、データの先頭部分をキャッシュとして磁気ディスク装置６Ａに常駐させる。磁気ディスク装置６Ａから磁気テープ１４へのデータコピー完了時には、キャッシュ常駐の対象となるデータが記録されているディスク領域を除いて、当該論理ボリュームＶＯＬのディスク領域を再利用可能、すなわち、他論理ボリュームＶＯＬのデータ記録で使用可、とし、開放する（ＳＰ１６）。ＣＰＵ１０は、当該論理ボリュームＶＯＬに対する書き込みを可能にし（ＳＰ１７）、データの書き込み処理（データライト処理）を終了する（ＳＰ１８）。
【００５３】
ここで、ＣＰＵ１０は、常駐させる論理ボリュームＶＯＬ当たりの「キャッシュ容量」については、磁気テープ１４準備完了待ちキャッシュデータ転送維持時間を転送速度制限用遅延時間で割ったものに１コマンド当りホストコンピュータ２読み出し要求最大データ長をかけたものを設定する。これは、次式、
（数１）
１論理ボリュームＶＯＬあたりのキャッシュ容量＝磁気テープ準備完了待ちキャッシュデータ転送維持時間／転送速度制限用遅延時間×１コマンド当たりのホストコンピュータ読出し要求最大データ長……・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・（１）
のように表される。
【００５４】
磁気テープ１４の準備が完了するまでの待ち時間であるキャッシュデータ転送維持時間は、あらかじめ、仮想ディスクライブラリ装置３で接続するテープライブラリ装置７に合わせた値を用意する。例として、磁気テープ１４準備完了待ちキャッシュデータ転送維持時間を５分、転送速度制限用遅延時間を１０秒、１コマンド当りホストコンピュータ２読み出し要求最大データ長を２５６ＫＢの場合を計算すると、このときの１ボリューム当りのキャッシュ容量は７．５ＭＢとなる。
【００５５】
このように、コントローラ５が、各論理ボリュームＶＯＬの先頭データを予め磁気ディスク装置６Ａの常駐領域にキャッシュとして常駐させることにより、ホストコンピュータ２が磁気テープ１４のデータがリード可能になるまでの間においても、磁気ディスク装置６Ａからホストコンピュータ２に対してデータを転送することが可能になる。これにより、磁気テープ１４からホストコンピュータ２へのデータ転送開始待ちの間に、ホストコンピュータ２においてコマンド応答タイムアウトの発生が防止される。ＣＰＵ１０は、磁気テープ１４のデータがリード可能となった場合、データ転送速度の制限を解除し、最大転送速度でホストコンピュータ２に対してデータを転送する。
【００５６】
さらに続いて、図８を用いて、データの読出し方法（データリード処理）について説明する。ホストコンピュータ２は、所望のアーカイブ／バックアップデータの記録箇所を表す情報を含むデータリード要求を仮想ディスクライブラリ装置３に対して送出する。コントローラ５のＣＰＵ１０は、このデータリード要求を受信すると、以下に述べるデータリード処理を開始する。
【００５７】
ＣＰＵ１０は、磁気テープ１４の準備が完了しているかをチェックし（ＳＰ２１）、磁気テープ１４の準備が完了している場合に（ＳＰ２１：ＹＥＳ）、磁気テープ１４からの直接転送が可能なときには（ＳＰ３２：ＹＥＳ）、最大転送速度で、磁気テープ１４からバッファ１１に対してデータを転送（移動又はコピー）する（ＳＰ３３）。
【００５８】
他方、ＣＰＵ１０は、磁気テープ１４からの直接転送ができないときには（ＳＰ３２：ＮＯ）、当該論理ボリュームＶＯＬのディスク格納情報テーブル２１を参照し（ＳＰ３４）、磁気ディスク装置６Ａからバッファ１１へデータを転送する（ＳＰ３５）。さらにＣＰＵ１０は、ステップＳＰ３３又はステップＳＰ３５が終了すると、バッファ１１に保持されたデータをホストコンピュータ２に対して転送する（ＳＰ３０）。これにより、データリード処理が終了する（ＳＰ３１）。
【００５９】
一方、ＣＰＵ１０は、磁気テープ１４の準備が完了していないときであって（ＳＰ２１：ＮＯ）、さらにステップＳＰ２２において磁気テープ１４が準備中でないときには（ＳＰ２２：ＮＯ）、当該論理ボリュームＶＯＬのテープ格納情報テーブル２２を参照し（ＳＰ２３）、磁気テープ１４の準備を開始する（ＳＰ２４）。他方、ＣＰＵ１０は、ステップＳＰ２１において、磁気テープ１４の準備が完了していないとき（ＳＰ２１：ＮＯ）、経過時間の計測を開始する（ＳＰ２５）。
【００６０】
続いて、ＣＰＵ１０は、当該論理ボリュームＶＯＬのディスク格納情報テーブル２１を参照し（ＳＰ２６）、磁気ディスク装置６Ａからバッファ１１にデータを転送する（ＳＰ２７）。ＣＰＵ１０は、データ転送が完了すると、経過時間の測定を終了する（ＳＰ２８）。ＣＰＵ１０は、磁気ディスク装置６Ａからホストコンピュータ２に対してデータを転送している間は、ホストコンピュータ２からのコマンドを受信した後、転送速度制限用の遅延時間から経過時間を差し引く差分計算を行い、この差分計算により取得した時間（ウェイト時間）分データを遅延させる（ＳＰ２９）。これにより、データ転送速度が低速に制限される。
【００６１】
具体的にＣＰＵ１０は、「転送速度制限用遅延時間」については、次式
（数２）
転送速度制限用遅延時間＝ホストコマンド応答タイムアウト時間−（１コマンド当たりホストコンピュータ読出し要求最大データ長／ホストコンピュータ−仮想ディスクライブラリ装置間最大転送速度×転送マージン係数）……・・・・・・・・・・・（２）
のように、転送速度制限用遅延時間を算出及び決定する。
【００６２】
転送速度制限用遅延時間は、ホストコマンド応答タイムアウト時間から、バッファ１１−ホストコンピュータ２間の転送に必要な時間を引いたものを設定する。バッファ１１−ホストコンピュータ２間の転送に必要な時間は、１コマンド当りホストコンピュータ２読み出し要求最大データ長をホストコンピュータ２・仮想ディスクライブラリ装置３間最大転送速度で割ったものに転送マージン係数をかけたものを設定する。転送マージン係数とは、正確に転送速度制限用遅延時間を測定するための調整に用いる数値である。
【００６３】
ホストコマンド応答タイムアウト時間、１コマンド当りホストコンピュータ２読み出し要求最大データ長、転送マージン係数は、仮想ディスクライブラリ装置３が持つデフォルト値を必要に応じて管理端末４等からホストコンピュータ２毎に変更可能とする。また、ホストコンピュータ２・仮想ディスクライブラリ装置３間最大転送速度は、ホストコンピュータ２・仮想ディスクライブラリ装置３間で調停された最大転送速度（リンク速度等）を使用する。
【００６４】
例として、ホストコマンド応答タイムアウト時間を１５秒、１コマンド当りホストコンピュータ２読み出し要求最大データ長を２５６ＫＢ、ホストコンピュータ２・仮想ディスクライブラリ装置３間最大転送速度を１０２４ＫＢ/秒、転送マージン係数を４の場合を計算すると、このときの転送速度制限用遅延時間は１４秒となる。
【００６５】
ＣＰＵ１０は、かかる遅延時間を経過すると、バッファ１１に保持されたデータを、ホストコンピュータ２に対して転送し（ＳＰ３０）、これにより、データリード処理が終了する（ＳＰ３１）。尚、磁気ディスク装置６Ａからバッファ１１への転送が転送速度制限用遅延時間に終了しなかった場合および磁気ディスク装置６Ａ上のデータをすべて転送しても磁気テープ１４のデータがリード可能とならなかった場合はホストコンピュータ２に対して正常以外のステータスを応答する。
【００６６】
このように、本実施形態によるコントローラ５は、磁気テープ１４のデータがリード可能となるまでの間、ホストコンピュータ２に対して、各論理ボリュームＶＯＬの先頭データを予めャッシュとして常駐領域に常駐させた磁気ディスク装置６Ａにてデータ転送を遅延させている状態でデータ転送を維持できる。従って、ホストコンピュータ２が要求する任意の論理ボリュームＶＯＬのデータがリード可能になるまでの間、仮想ディスクライブラリ装置３は、コントローラ５からホストコンピュータ２に対してデータを転送する場合に必要なキャッシュ容量（数十ＴＢ）を確保せずに、全論理ボリュームＶＯＬデータをリード可能になる。
【００６７】
仮想ディスクライブラリ装置３には、数百個から数千個の論理ボリュームＶＯＬが格納されるため、全論理ボリュームＶＯＬに対して磁気テープ１４のデータがリード可能となるまでの間、データ転送を継続可能とするためのデータを仮想ディスクライブラリ装置３内の磁気ディスク装置６Ａにキャッシュすると、必要な容量は膨大な量となる。例えば、ホストコンピュータ２と仮想ディスクライブラリ３間のデータ転送速度を１００ＭＢ/ｓ、キャッシュでデータ転送を維持する時間を５分間、仮想ディスクライブラリ装置内のボリューム数を１０００個とすると、必要なキャッシュ容量は３０ＴＢにも達してしまう。
【００６８】
数値例として、本実施形態によるアーカイブ／バックアップシステム１において、ホストコンピュータ２のコマンド応答タイムアウト時間が１５秒、仮想ディスクライブラリ装置３の転送速度制限用遅延時間（調整時間）が１０秒、磁気ディスク装置６Ａにてデータ転送を維持する時間が３００秒、仮想ディスクライブラリ装置３に記録された論理ボリュームＶＯＬ数が１０００、ホストコンピュータ２からのリード要求データのデータ長が２５６ＫＢである場合、磁気ディスク装置６に必要なキャッシュ容量は１０ＧＢ程度になる。このように、上述したキャッシュ容量が大幅に削減される。
【００６９】
尚、バッファ１１及びホストコンピュータ２間におけるデータ転送に要する時間は、比較的短い（数ｍ秒〜数１０ｍ秒）ため、仮想ディスクライブラリ装置３は、ホストコンピュータ２のコマンド応答タイムアウト時間内にデータをホストコンピュータ２に転送することができる。具体的には、磁気テープ１４のデータがリード可能となるまでの間は、ホストコンピュータ２へデータを転送する前にホストコンピュータ２のコマンド応答タイムアウト時間よりも短い時間ウェイトを行うことで、データ転送速度を低速に制限する。
【００７０】
上述したように、本方式で、ホストコンピュータ２のコマンド応答タイムアウトが１５秒のシステムで仮想ディスクライブラリ装置３の転送速度制限用遅延時間を１０秒とすると、キャッシュでデータ転送を維持する時間を５分間、仮想ディスクライブラリ装置３内の論理ボリュームＶＯＬ数を１０００個、ホストコンピュータ２からの読み出し要求データ長を２５６ＫＢとした場合の必要なキャッシュ容量は１０ＧＢ程度となり、キャッシュ容量を大幅に削減することができる。尚、磁気テープ１４のデータがリード可能となった場合はデータ転送速度の制限を解除して最大転送速度（=バッファ１１へのデータ転送完了後のウェイトなし）で転送する。
【００７１】
以上をまとめると、本実施形態のデータ転送方法は、仮想ディスクライブラリ装置３が、テープライブラリ装置７に記録されたアーカイブ／バックアップデータを、バッファ１１に転送し（バッファ転送ステップ）、ホストコンピュータ２からのデータリード要求を受信し（リード要求受信ステップ）、バッファ１１からホストコンピュータ２に対するデータ転送の開始を、ホストコンピュータ２のコマンド応答タイムアウト時間よりも短い時間遅延させ（遅延ステップ）、バッファ１１に遅延させたデータを転送する（転送ステップ）。
【００７２】
また、遅延ステップにおいては、仮想ディスクライブラリ装置３は、テープライブラリ装置７または磁気ディスク装置６Ａに記録されたアーカイブ／バックアップデータをバッファ１１に転送するための経過時間を計測し（計測ステップ）、予め設定された転送速度制限用の遅延時間としての調整時間から計測した経過時間の差分計算を行って遅延時間を計算する（遅延時間計算ステップ）。
（３）本実施の形態の効果
【００７３】
ホストコンピュータ２は、仮想ディスクライブラリ装置３に特化した専用のアプリケーションソフトウェアをインストールされずに、仮想ディスクライブラリ装置３がデータ転送を開始するまでの間、ホストコンピュータ２におけるコマンド応答タイムアウトの発生を防止できる。
【００７４】
また、磁気ディスク装置６Ａ内の論理ボリュームＶＯＬと仮想ディスクライブラリ装置３内の論理ボリュームＶＯＬとの間において、データ移動が行われるので、磁気ディスク装置６がホストコンピュータ２に対してデータ転送を行っている間、仮想ディスクライブラリ装置３は、実効的なデータ転送速度を低速に制限した状態で転送を維持することができる。コントローラ５内の遅延処理部が転送速度を制御しているのである。このため、コントローラ５が、データ転送速度を制限することにより、仮想ディスクライブラリ装置３に必要なキャッシュ容量を削減することができる。
【００７５】
なお、本実施形態によるストレージ装置及びストレージシステム並びにデータ読出し方法は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００７６】
（４）他の実施の形態
なお、本実施形態においては、データとしてアーカイブ／バックアップデータを転送する場合を説明したが、これに限定されずに、任意のデータを転送することができる。
【００７７】
また、本実施形態については、データを保持するデバイスとしてバッファ１１を用いる場合を説明したが、本発明はこれに限らず、バッファ１１の代わりに各種のメモリを用いてもよい。
【００７８】
さらに、本実施形態においては、記憶装置として磁気ディスク装置６、テープライブラリ装置７、仮想ディスクライブラリ装置３等を用いる場合を説明したが、本発明はこれに限らず、他の種類の記憶装置を用いてもよい。
【産業上の利用可能性】
【００７９】
本発明は、種々の構成のアーカイブ／バックアップシステムシステムに広く適用することができる。例えば、本発明のストレージ装置及びストレージシステム並びにデータ読出し方法によれば、例えば階層アーカイブ／バックアップシステムにおいて、アクセス頻度が低下した大容量のデータを安価に保管することができる。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施形態によるアーカイブ／バックアップシステムのシステム構成を説明するための図である。
【図２】本実施形態によるアクセス頻度及びデータアクセス速度を説明するための図である。
【図３】図３は、各種テーブルを説明するための図である。
【図４】図４は、各種テーブルを説明するための図である。
【図５】図５は、各種テーブルを説明するための図である。
【図６】図６は、アーカイブ／バックアップシステムの一連の処理手順をあらわすための図である。
【図７】図７は、アーカイブ／バックアップシステムの一連の処理手順をあらわすための図である。
【図８】図８は、アーカイブ／バックアップシステムの一連の処理手順をあらわすための図である。
【符号の説明】
【００８１】
１・・・アーカイブ／バックアップシステム、２・・・ホストコンピュータ、３・・・仮想ディスクライブラリ装置、４・・・管理端末、５・・・コントローラ、６・・・磁気ディスク装置、７・・・テープライブラリ装置、１０・・・ＣＰＵ、１１・・・バッファ、１２・・・メモリ、１４・・・磁気テープ、１５・・・テープスロット。
【図１】
2008083845.tif 000003
【図２】
2008083845.tif 000004
【図３】
2008083845.tif 000005
【図４】
2008083845.tif 000006
【図５】
2008083845.tif 000007
【図６】
2008083845.tif 000008
【図７】
2008083845.tif 000009
【図８】
2008083845.tif 000010