(57)【要約】【課題】  ホストから要求された大容量のデータがキャッシュ・ミスのデータである場合において、ホストへ遅延無くデータ転送を行う記憶装置、記憶装置のデータ転送方法を提供する。【解決手段】  データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置であって、ホスト装置からテープが保持するデータの要求を受け付ける受信部１０１と、受信部１０１により受け付けられた要求に基づいて、ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する判断部１０２と、判断部１０２により所定のデータが記憶部に格納されていないと判断された場合、所定のデータを保持するテープから該データを所定の単位でメモリに読み込み、メモリに読み込まれた所定の単位のデータを記憶部へ書き込むと共に、メモリに読み込まれた所定の単位のデータを前記ホスト装置へ転送する実行部１０４とを備えた。【選択図】図２
2010170295.tif 000002
【特許請求の範囲】
【請求項１】
データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置であって、
前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付部と、
前記受付部により受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する第１判断部と、
前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位で自身のメモリに読み込む読込部と、
前記読込部によりメモリに読み込まれた所定の単位のデータを前記記憶部へ書き込むと共に、前記読込部によりメモリに読み込まれた所定の単位のデータを前記ホスト装置へ転送する転送部と
を備える記憶装置。
【請求項２】
請求項１に記載の記憶装置において、
前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータの容量を示す容量情報を前記ホストから取得する容量情報取得部と、
前記容量情報取得部により取得された容量情報が所定の閾値以上であるか否かを判断する第２判断部とを更に備え、
前記読込部は、前記第２判断部により前記容量情報が所定の閾値以上であると判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位で前記メモリに読み込む記憶装置。
【請求項３】
請求項１または請求項２に記載の記憶装置において、
前記所定のデータが前記複数のテープにそれぞれ保持されているか否かを判断する第３判断部と、
前記読込部がそれぞれ前記複数のテープから所定のデータを読み込める条件を満たしているか否かを判断する第４判断部とを更に備え、
前記読込部が２系統化された第１読込部と第２読込部とを有し、且つ前記転送部が２系統化された第１転送部と第２転送部とを有し、
前記第３判断部により前記所定のデータが複数のテープに保持されていると判断され、前記第４判断部により前記第１読込部と前記第２読込部とがそれぞれ複数の前記テープから前記所定のデータを読み込める条件を満たしていると判断された場合、前記第１読込部と前記第２読込部は、前記所定のデータを有する複数の前記テープから、前記所定のデータを所定の単位でそれぞれ読み込み、
前記第１転送部は、前記第１読込部により読み込まれた所定の単位のデータを前記記憶部へ書き込み、前記第２転送部は、前記第２読込部により読み込まれた所定の単位のデータを前記ホスト装置へ転送する記憶装置。
【請求項４】
データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置であって、
前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付部と、
前記受付部により受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが自身の記憶部に格納されているか否かを判断する第１判断部と、
前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む単位読込部と、
前記単位読込部により読み込まれた前記一部の所定の単位のデータを前記記憶部に書き込む単位書込部と、
前記単位書込部により前記記憶部に書き込まれた前記一部の所定の単位のデータを前記ホスト装置へ転送する単位転送部と
を備える記憶装置。
【請求項５】
請求項４に記載の記憶装置において、
前記単位書込部による前記記憶部への書き込みに基づいて書き込みの完了を示す完了応答を前記ホスト装置へ応答する応答部と、
前記応答部による完了応答に応じて通知される前記ホスト装置からの所定の単位のデータの要求を受け付ける単位要求受付部と、
前記単位要求受付部により受け付けられた要求に基づいて、前記ホスト装置から要求された所定の単位のデータが前記一部の所定の単位のデータに含まれているか否かを判断する単位判断部とを更に備え、
前記単位判断部により、前記ホスト装置から要求された所定の単位のデータが、前記一部の所定の単位のデータに含まれていると判断された場合、前記単位転送部は、前記一部の所定の単位のデータを前記ホスト装置へ転送する記憶装置。
【請求項６】
請求項４または請求項５に記載の記憶装置において、
前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータの容量を示す容量情報を前記ホスト装置から取得する容量情報取得部と、
前記容量情報取得部により取得された前記容量情報が所定の閾値以上であるか否かを判断する第２判断部とを更に備え、
前記単位読込部は、前記第２判断部により前記容量情報が所定の閾値以上であると判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む記憶装置。
【請求項７】
データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置のデータ転送方法であって、
前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付ステップと、
前記受付ステップにより受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する第１判断ステップと、
前記第１判断ステップにより前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位でメモリに読み込む読込ステップと、
前記読込ステップによりメモリに読み込まれた所定の単位のデータを前記記憶部へ書き込むと共に、前記読込ステップによりメモリに読み込まれた所定の単位のデータを前記ホスト装置へ転送する転送ステップと
を実行する記憶装置のデータ転送方法。
【請求項８】
データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置のデータ転送方法であって、
前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付ステップと、
前記受付ステップにより受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する第１判断ステップと、
前記第１判断ステップにより前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む単位読込ステップと、
前記単位読込ステップにより読み込まれた前記一部の所定の単位のデータを前記記憶部に書き込む単位書込ステップと、
前記単位書込ステップにより前記記憶部に書き込まれた前記一部の所定の単位のデータを前記ホスト装置へ転送する単位転送ステップと
を実行する記憶装置のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置、記憶装置のデータ転送方法に関する。
【背景技術】
【０００２】
従来、テープ運用をディスク上で仮想的に行い、テープライブラリが有する物理テープにおけるイメージデータを論理ボリューム（ＬＶ：Ｌｏｇｉｃａｌ  Ｖｏｌｕｍｅ）（以後、データと呼称する）としてディスクアレイ上に保持する仮想テープライブラリ装置がある。この仮想テープライブラリ装置により、従来のテープマウント、ロード／アンロードなどの機械的な動作が無くなり、高速処理が実現される。この仮想テープライブラリ装置は、ホスト−テープライブラリ間のデータ等の制御を行う階層制御サーバを備え、ホストよりデータの読み込み／書き込み要求があった場合、テープライブラリとして振舞い、ディスクアレイを用いて、データの読み込み／書き込みを行う。
【０００３】
上述したように、仮想テープライブラリ装置は、データアクセスが速いディスクアレイ装置を用いて、ホストに対して応答を行うため、従来のテープライブラリのみを使用するシステムよりも高速処理を実現している。なお、ホストへの応答後、仮想テープライブラリ装置は、ホストを介さずにバックグラウンドでディスクアレイ装置に書き込まれたデータをテープへ保存するマイグレーション処理を行っている。
【０００４】
また、仮想テープライブラリ装置は、書き込まれたデータによって、ディスクアレイ装置の容量が圧迫されるのを防ぐため、頻繁にデータ更新がなく、マイグレーション済みの大容量のデータに対しては、ディスクアレイ装置から消去を行っている。なお、ホストが要求するデータがディスクアレイ装置上に存在する所謂オン・キャッシュの場合、仮想テープライブラリ装置は、ディスクアレイ装置からデータを読み込み、ホストに対し応答を行う。しかしながら、ホストに対し読み込み／書き込みの応答を行うデータがディスクアレイ装置上にない所謂キャッシュ・ミスの場合がある。この場合、仮想テープライブラリ装置は、テープライブラリが有するテープに保存されたマイグレーション済みのデータを読み込み、読み込んだデータをディスクアレイ装置上に書き込んだ後、ディスクアレイ装置上のデータを用いてホストに対して応答を行う。
【０００５】
なお、従来技術として、送信側で、複数のバッファメモリを備え、当該バッファメモリからデータ転送した際に、直ちに擬似応答を生成し、前記バッファメモリに空きがある場合に次の転送用データを記憶可能にする技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２８７２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
オープン系のホストに接続されるテープライブラリでは、ホストから書き込むデータの容量がメインフレーム系に比べて拡大されているため、マイグレーション処理後に頻繁に更新がないデータはディスクアレイ上から消去される所謂キャッシュ・ミス状態となりやすい。しかしながら、ホストから大容量のデータを扱いたい場合、上述した通り、仮想テープライブラリ装置はデータをディスクアレイ装置上に移した後にデータをホストへ転送するため、処理時間が非常に長くなる問題がある。よって、ホストから大容量のデータを扱いたい場合、通常のテープライブラリのみで構成されるシステムより仮想テープライブラリを有するシステムの方が、ホストへの応答が遅延してしまう。
【０００８】
本発明は上述した問題点を解決するためになされたものであり、ホストから要求された大容量のデータがキャッシュ・ミスのデータである場合において、ホストへ遅延無くデータ転送を行う記憶装置、記憶装置のデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため、記憶装置は、データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置であって、前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付部と、前記受付部により受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する第１判断部と、前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位で自身のメモリに読み込む読込部と、前記読込部によりメモリに読み込まれた所定の単位のデータを前記記憶部へ書き込むと共に、前記読込部によりメモリに読み込まれた所定の単位のデータを前記ホスト装置へ転送する転送部とを有する。
【００１０】
また、記憶装置は、データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置であって、前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付部と、前記受付部により受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが自身の記憶部内に格納されているか否かを判断する第１判断部と、前記第１判断部により前記所定のデータが前記記憶部内に格納されていないと判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む単位読込部と、前記単位読込部により読み込まれた前記一部の所定の単位のデータを前記記憶部に書き込む単位書込部と、前記単位書込部により前記記憶部に書き込まれた前記一部の所定の単位のデータを前記ホスト装置へ転送する単位転送部とを有する。
【００１１】
また、記憶装置のデータ転送方法は、データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置のデータ転送方法であって、前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付ステップと、前記受付ステップにより受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する第１判断ステップと、前記第１判断ステップにより前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位で自身のメモリに読み込む読込ステップと、前記読込ステップによりメモリに読み込まれた所定の単位のデータを前記記憶部へ書き込むと共に、前記読込ステップによりメモリに読み込まれた所定の単位のデータを前記ホスト装置へ転送する転送ステップとを実行する。
【００１２】
また、記憶装置のデータ転送方法は、データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置のデータ転送方法であって、前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付ステップと、前記受付ステップにより受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが自身の記憶部内に格納されているか否かを判断する第１判断ステップと、前記第１判断ステップにより前記所定のデータが前記記憶部内に格納されていないと判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む単位読込ステップと、前記単位読込ステップにより読み込まれた前記一部の所定の単位のデータを前記記憶部に書き込む単位書込ステップと、前記単位書込ステップにより前記記憶部に書き込まれた前記一部の所定の単位のデータを前記ホスト装置へ転送する単位転送ステップとを実行する。
【発明の効果】
【００１３】
開示の記憶装置、記憶装置のデータ転送方法によれば、ホストから要求された大容量のデータがキャッシュ・ミスのデータである場合において、ホストへ遅延無くデータ転送を行うことができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１に係る仮想テープライブラリシステムの構成の一例を示すブロック図である。
【図２】実施の形態１に係る階層制御部１１の機能ブロックの一例を示す図である。
【図３】実施の形態１に係る仮想テープライブラリ装置におけるデータ転送処理の動作の一例を示すフローチャートである。
【図４】実施の形態２に係る仮想テープライブラリシステムの構成の一例を示すブロック図である。
【図５】実施の形態２に係る仮想テープライブラリ装置におけるデータ転送処理の動作の一例を示すフローチャートである。
【図６】実施の形態２に係る仮想テープライブラリ装置における個別処理の動作の一例を示すフローチャートである。
【図７】実施の形態３に係る仮想テープライブラリ装置におけるデータ転送処理の動作の一例を示すフローチャートである。
【図８】実施の形態３に係る仮想テープライブラリ装置における一部転送処理の動作の一例を示すフローチャートである。
【図９】ホスト−階層制御部間の処理のシーケンスを示す図である。
【図１０】本実施の形態に係る仮想テープライブラリ装置における一部データ読込処理の動作の一例を示すフローチャートである。
【図１１】本実施の形態に係る仮想テープライブラリ装置におけるデータサイズ決定方法の一例を示すフローチャートである。
【図１２】本実施の形態に係るデータサイズテーブルの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００１６】
実施の形態１．
本実施の形態に係る仮想テープライブラリシステムの構成について図１から図２を用いて説明する。
【００１７】
図１は、本実施の形態に係る仮想テープライブラリシステムの構成の一例を示すブロック図である。図１に示されるように、仮想テープライブラリシステム４は、仮想テープライブラリ装置１と、ホスト２と、テープライブラリ３とを有する。なお、図１に示されている実線矢印は、制御の流れを示す。
【００１８】
仮想テープライブラリ装置１は、階層制御部１１と、ディスクアレイ１２とを有する。階層制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１と、メモリ１１２とを有し、ホストからの読み込み／書き込み要求に基づいてテープライブラリ３及びディスクアレイ１２に対しデータの読み書きを行う。
【００１９】
ＣＰＵ１１１は、上述した階層制御部１１の動作を制御する。メモリ１１２は、物理テープのデータや、後述する統計情報及び閾値等が一時的に読み込まれる不揮発性の記憶領域である。なお、データはブロック単位で構成され、ブロック単位でメモリ１１２上に読み込まれる。
【００２０】
ディスクアレイ１２は、ＲＡＩＤで構成され、データの読み出し／書き込み可能な磁気ディスク装置であり、また、テープライブラリ３に格納されている物理テープ３３に格納されているデータの情報データベースが格納されるものである。
【００２１】
ホスト２は、ユーザーにより操作され、仮想テープライブラリ装置に対し、データの読み込み／書き込みの指示を行う。テープライブラリ３は、ドライブ３１と、ロボット３２と、複数の物理テープ３３とを有する。ドライブ３１はマウントした物理テープ３３内に格納されているデータを読み出して階層制御部１１へ転送し、且つ階層制御部１１から転送されるデータを物理テープ３３へ書き込む。ロボット３２は、階層制御部１１からの指示により、物理テープ３３をドライブ３１へマウント、及びドライブ３１にマウントされている物理テープ３３をアンマウントする。物理テープ３３は、データの読み込み／書き込み可能な不揮発性の記憶媒体である。
【００２２】
図２は、本実施の形態に係る階層制御部１１の機能ブロックの一例を示す図である。図２に示されるように、階層制御部１１は、受信部１０１（受付部、単位要求受付部）と、判断部１０２（第１判断部、第２判断部、第３判断部、第４判断部、単位判断部）と、取得部１０３（容量情報取得部）と、実行部１０４（読込部、転送部、単位読込部、単位書込部、単位転送部、応答部）とを有する。受信部１０１は、ホストからのデータ要求を受信する。判断部１０２は、ホスト２から要求されたデータがディスクアレイ１２に格納されているか否かを判断し、また、ホスト２へ転送するデータの容量が予め設定されている閾値以上であるか否かを判断する。なお、閾値については、後述にて説明を行う。
【００２３】
取得部１０３は、ホスト２により要求されたデータの容量の情報を示す容量情報をホスト２から取得する。実行部１０４は、ロボット３２に対し、物理テープ３３のドライブ３１へのマウント指示または物理テープ３３のアンマウント指示を行い、且つドライブ３１にマウントされた物理テープ３３のデータをブロック単位で読み込みを行う。また、実行部１０４は、物理テープ３３からデータをブロック単位でメモリ１１２に読み込み、メモリ１１２上のブロックをディスクアレイ１２へ書き込み、メモリ１１２上のブロックをホスト２へ転送する同時転送処理を行う。
【００２４】
なお、上述した各機能ブロックは、ディスクアレイ１２に格納されているプログラムをＣＰＵ１１１が読み込み、メモリ１１２を用いて演算を行うことにより実現される。
【００２５】
次に、本実施の形態に係る磁気ディスク装置の動作について説明する。
【００２６】
図３は、本実施の形態に係る仮想テープライブラリ装置におけるデータ転送処理の動作の一例を示すフローチャートである。まず、受信部１０１によりホスト２からのデータ要求が受信されると（Ｓ１０１，受付ステップ）、判断部１０２は、要求されたデータである要求データがディスクアレイ１２に格納されているか否かの判断を行う（Ｓ１０２，第１判断ステップ）。要求データが格納されていない場合（Ｓ１０２，第１判断ステップ，ＮＯ）、取得部１０３は、ホスト２に対し要求データの容量情報の取得を行う（Ｓ１０３，容量情報取得ステップ）。容量情報取得後、判断部１０２は、取得部１０３が取得した容量情報が、予め設定されている閾値以上であるか否かの判断を行う（Ｓ１０４，第２判断ステップ）。なお、この閾値は、ドライブ３１の性能や仮想テープライブラリ装置１−テープライブラリ３間のインターフェース等により適宜設定可能である。閾値以上と判断された場合（Ｓ１０４，第２判断ステップ，ＹＥＳ）、実行部１０４は、ロボット３２に対し、要求データが格納されている物理テープ３３をドライブ３１にマウントするよう指示を行う（Ｓ１０５）。
【００２７】
マウント指示後、ロボット３２はドライブ３１に対し、物理テープ３３をマウントし、実行部１０４は、ドライブ３１より要求データをブロック単位でメモリ１１２へ読み込みを行う（Ｓ１０６，読込ステップ）。ブロックを読み込み後、実行部１０４は、メモリ１１２上のブロックをディスクアレイ１２へ書き込むと共に、メモリ１１２上のブロックをホスト２へ転送し、全てのブロックを読み終えるまで順次これを繰り返す（Ｓ１０７，転送ステップ）。なお、実行部１０４は、メモリ１１２上にあるホスト２へ転送を終えたブロックから順次消去を行ってもよい。データ転送及び書き込み完了後、実行部１０４は、ロボット３２に対し、物理テープ３３をアンマウントするよう指示し（Ｓ１０８）、本フローは終了となる。
【００２８】
また、ステップＳ１０２における判断処理において、要求データが格納されていると判断された場合（Ｓ１０２，第１判断ステップ，ＹＥＳ）、実行部１０４は、ディスクアレイ１２に格納されている要求データを読み込み、順次ホスト２へ転送し（Ｓ１０９）、本フローは終了となる。
【００２９】
また、ステップＳ１０４における判断処理において、要求データが閾値以下の容量であると判断された場合（Ｓ１０４，第２判断ステップ，ＮＯ）、実行部１０４は、ロボット３２に対し、要求データが保存されている物理テープ３３をドライブ３１にマウントするよう指示を行う（Ｓ１１０）。マウント指示後、ロボット３２はドライブ３１に対し、物理テープ３３をマウントし、実行部１０４は、ドライブ３１より要求データの読み込みを開始する（Ｓ１１１）。データ読み込み開始後、実行部は、メモリ１１２に読み込んだ要求データのブロックを読み込んだ順にディスクアレイ１２へ書き込む（Ｓ１１２）。書き込み後、実行部１０４は、ディスアレイ１２へ書き込んだ要求データをホスト２に対し転送を行う（Ｓ１１３）。データ転送完了後、実行部１０４は、ステップＳ１０８のアンマウント指示処理を行い、本フローは終了となる。
【００３０】
なお、本実施の形態において、閾値を設け、閾値以上の容量をもつデータに対し、同時転送処理を行ったが、これに限定するものではなく、ホスト２から読み込みを要求され、ディスクアレイ１２に要求データが格納されていないと判断された時点で上述した同時転送処理を行ってもよい。
【００３１】
本実施の形態によれば、所定の閾値を設定し、要求データが閾値以上の容量をもつデータと判断された場合に、同時転送処理を行うことにより、ホスト２からのデータ要求に対し迅速に対応でき、データ転送の遅延を抑えることが可能となる。
【００３２】
実施の形態２．
上述した実施の形態１では、ホスト２から要求された要求データが１本の物理テープ３３に書き込まれている状態においてデータ転送を行った。しかしながら、要求データは、デュアルセーブされている可能性がある。ここで、デュアルセーブとは、同様のデータが２つの物理テープ３３に二重化して保存されることを指す。本実施の形態に係る、仮想テープライブラリ装置は、データがデュアルセーブされている場合、一方の物理テープ３３をディスクアレイ１２に対するデータ書き込み用、もう一方の物理テープ３３をホスト２に対するデータ転送用として用いる。
【００３３】
まず、本実施の形態に係る仮想テープライブラリシステムの構成について説明する。なお、本実施の形態に係る仮想テープライブラリシステムは、ホスト２及びディスクアレイ１２以外の各構成が２系統に冗長化されており、２系統化されたものに関しては各符号に対し、Ａ，Ｂの記号を追加し説明を行う。また、本実施の形態において、実施の形態１で使用した図面と同一符号のものは、同一又は同等のものを示しており、重複する説明は省略する。
【００３４】
図４は、本実施の形態に係る仮想テープライブラリシステムの構成の一例を示すブロック図である。図１に示されるように、仮想テープライブラリシステム６は、仮想テープライブラリ装置５と、ホスト２と、テープライブラリ３Ａ及び３Ｂとを有する。この仮想テープライブラリ装置５は、図１の仮想テープライブラリ装置１に対し、階層制御部１１の代わりに階層制御部１１を２系統化した階層制御部１１Ａ及び１１Ｂを有する点が異なる。また、階層制御部１１Ａにはドライブ３１Ａ及びロボット３２Ａが、階層制御部１１Ｂにはドライブ３１Ｂ及びロボット３２Ｂがそれぞれ接続されている。なお、図４に示されている実線矢印は、制御の流れを示す。
【００３５】
また、本実施の形態における機能ブロックにおいて、判断部１０２は、要求データが２本の物理テープ３３Ａ及びＢにそれぞれ格納されているか否かの判断を更に行う点が、実施の形態１とは異なる。また、実行部１０４は、判断部１０２により要求データが物理テープ３３Ａ及びＢにそれぞれ格納されていると判断された場合、物理テープ３３Ａ及びＢから読み出した要求データをホスト２へ転送、またはディスクアレイ１２へ書き込みのどちらか一方を行う点が実施の形態１とは異なる。
【００３６】
次に、本実施の形態に係る仮想テープライブラリ装置の動作を説明する。図５は、本実施の形態に係る仮想テープライブラリ装置におけるデータ転送処理の動作の一例を示すフローチャートである。また、ホスト２からのデータ要求を受信した階層制御部は１１Ａとして説明を行う。また、このフローチャートにおいて、図３と同一符号のステップは、図３に示されたステップと同一又は相当するステップを示しており、ここでの説明を省略する。ステップＳ１０４の判断処理において、要求データの容量が閾値以上であると判断された場合（Ｓ１０４，ＹＥＳ）、判断部１０２Ａ及びＢ、実行部１０４Ａ（第１読込部、第１転送部）、及びＢ（第２読込部、第２転送部）は、個別処理を行い（Ｓ２）、本フローは終了となる。次に、図６を用いて個別処理について詳細を説明する。
【００３７】
図６は、本実施の形態に係る仮想テープライブラリ装置における個別処理の動作の一例を示すフローチャートである。
【００３８】
ステップＳ１０４において、要求データの容量が閾値以上であると判断された場合（Ｓ１０４，第２判断ステップ，ＹＥＳ）、まず、実行部１０４は、ロボット３２Ａに対し、要求データが保存されている物理テープ３３Ａを自身の階層制御部１１Ａと接続されているドライブ３１Ａにマウントするよう指示を行う（Ｓ２０１）。マウント指示後、ロボット３２Ａはドライブ３１Ａに対し、物理テープ３３Ａをマウントする。マウント後、判断部１０２は、階層制御部１１Ａ及びＢが個別に処理を行える状態であるか否かの判断を行う（Ｓ２０２，第３判断ステップ，第４判断ステップ）。すなわち、判断部１０２は、要求データが少なくとも２本以上の物理テープ３３にそれぞれ格納されており、且つ他の物理テープ３３をマウントしていない状態のドライブ３１が少なくとも２つあり、且つドライブ３１がそれぞれ別の階層制御部１１と接続されているか否かの判断を行う。
【００３９】
個別処理が可能である場合（Ｓ２０２，第３判断ステップ，第４判断ステップ，ＹＥＳ）、実行部１０４Ｂは、ロボット３２Ｂに対し、要求データが保存されている物理テープ３３Ｂを自身の階層制御部１１Ｂと接続されているドライブ３１Ｂにマウントするよう指示を行う（Ｓ２０３）。マウント指示後、ロボット３２Ｂはドライブ３１Ｂに対し、物理テープ３３Ｂをマウントする。マウント後、実行部１０４Ａは、ドライブ３１Ａより要求データの読み込みを開始し、同様に実行部１０４Ｂも、ドライブ３１Ｂより要求データの読み込みを開始する（Ｓ２０４，第１読込ステップ，第２読込ステップ）。
【００４０】
双方のデータ読み込み開始後、実行部１０４Ａは、メモリ１１２Ａに読み込んだ要求データのブロックをホスト２へ順次転送する。また、同じタイミングにおいて、実行部１０４Ｂは、メモリ１１２Ａに読み込んだ要求データのブロックを読み込んだ順にディスクアレイ１２へ順次書き込む（Ｓ２０５，第１転送ステップ，第２転送ステップ）。データ転送及び書き込み完了後、実行部１０４Ａ及びＢは、それぞれ接続しているロボット３２ＡまたはＢに対し、物理テープ３３ＡまたはＢをアンマウントするよう指示し（Ｓ２０６）、本フローは終了となる。
【００４１】
また、ステップＳ２０２の個別処理の判断において、個別処理が不可能であると判断された場合（Ｓ２０２，第３判断ステップ，第４判断ステップ，ＮＯ）、実行部１０４Ａは、上述したステップＳ１０５からステップＳ１０８の処理を行い、本フローは終了となる。
【００４２】
なお、本実施の形態において、要求を受けた階層制御部１１Ａがホスト２へデータ転送を行ったが、逆にディスクアレイ１２へデータを書き込み、階層制御部１１Ｂがホスト２へデータ転送を行ってもよい。また、本実施の形態において、階層制御部１１Ａ及びＢが必ずしも同時に処理を行う必要は無く、階層制御部１１Ａ及びＢがデータ転送またはデータ書き込みが行える状態となった時点でそれぞれ個別に各処理を行ってもよい。また、本実施の形態において、テープライブラリ３を２系統化しているが、テープライブラリ３を２系統化せず、１つのテープライブラリ３がドライブ３１Ａ及びＢ、物理テープ３３Ａ及びＢを有した場合においても、上述した個別処理を実行可能である。
【００４３】
また、本実施の形態において、ドライブ３１Ａは、階層制御部１１Ａのみでなく、ＨＡＢ等を介し、階層制御部１１Ａ及びＢとそれぞれに接続されていてもよく、また、ドライブ３１Ｂにおいても同様である。また、本実施の形態において、ドライブ３１Ａ及びＢが階層制御部１１Ａ及びＢにそれぞれ接続され、テープライブラリ３Ａのみに物理テープ３３Ａ及びＢがある場合でも、個別処理は可能である。
【００４４】
上述した本実施の形態によれば、階層制御部１１Ａ及びＢとで個別にホスト２へのデータ転送及びディスクアレイ１２へのデータ書き込みが行われることにより、個々階層制御部１１Ａ及びＢのＣＰＵ１１１Ａ及びＢの処理負荷を軽減することができる。また、本実施の形態によれば、階層制御部１１Ａは、ディスクアレイ１２に書き込みを行わず、ホスト２へデータ転送を行うため、データ読込要求に対し迅速に対応できるため、データ転送の遅延を抑えることが可能となる。
【００４５】
実施の形態３．
上述した実施の形態１及び２では、ホスト２から要求された要求データのブロック全てを転送する処理を行っていた。しかしながら、仮想テープライブラリ装置１は、要求されたデータにおいて、読み込み頻度の高い一部のブロックのみを読み込み、ホスト２へ転送する一部転送処理を行ってもよい。
【００４６】
まず、本実施の形態に係る仮想テープライブラリシステムの構成について説明する。なお、本実施の形態に係る仮想テープライブラリシステムは、ディスクアレイ１２、判断部１０２、及び実行部１０４以外は実施の形態１と同様であるため、ここでの説明を省略する。
【００４７】
本実施の形態においては、統計情報（単位情報）がディスクアレイ１２に格納されている点が実施の形態１とは異なる。この統計情報は、各データの各ブロックの値に対しアクセス頻度と更新情報が対応付けられている。アクセス頻度は、本実施の形態においては、対応するブロックが過去にホスト２から要求された回数を表わす。なお、アクセス頻度は、例えば、所定の時間内において対応するブロックが過去にホスト２から要求された回数等でもよい。また、更新情報は、本実施の形態においては、タイムスタンプを示し、ホスト２によりブロックの要求がなされる毎に更新される。また、要求データの各サイズと、テープから読み出されるブロックの割合が対応付けられたデータサイズテーブル（テーブル）がディスクアレイ１２に格納されている点が実施の形態１とは異なる。なお、データサイズテーブルについては後述にて説明する。
【００４８】
また、本実施の形態における判断部１０２は、ディスクアレイ１２が保持する統計情報にホスト２により要求されたブロックが含まれているか否かの判断、及びブロックのアクセス頻度の高さの判断を更に行う点が実施の形態１とは異なる。また、判断部１０２は、ディスクアレイ１２上にホスト２が要求するブロックが格納されているか否かの判断を更に行う点が実施の形態１とは異なる。また、本実施の形態における実行部１０４は、要求データのブロックの抽出、及び要求データのブロックの選択及び選択した要求データのブロックのみ読み込む動作、及び統計情報の更新を更に行う点が実施の形態１とは異なる。
【００４９】
次に、本実施の形態に係る仮想テープライブラリ装置の動作を説明する。図７は、本実施の形態に係る仮想テープライブラリ装置におけるデータ転送処理の動作の一例を示すフローチャートである。なお、図７に示すステップにおいて、図３と同一符号のステップは、図３に示されたステップと同一又は相当するステップを示しており、ここでの説明を省略する。また、ステップＳ１０４の判断処理において、要求データの容量が閾値以上であると判断された場合（Ｓ１０４，第２判断ステップ，ＹＥＳ）、判断部１０２及び実行部１０４は、後述する一部転送処理を行う（Ｓ３）。一部転送処理後、実行部１０４は、ロボット３２に対し、物理テープ３３をアンマウントするよう指示し（Ｓ１０８）、本フローは終了となる。次に、図８を用いて一部転送処理について詳細を説明する。
【００５０】
図８は、本実施の形態に係る仮想テープライブラリ装置における一部転送処理の動作の一例を示すフローチャートである。また、図９は、ホスト−階層制御部間の処理のシーケンスを示す図である。
【００５１】
まず、図８に示すように、実行部１０４は、ロボット３２に対し、要求データが保存されている物理テープ３３をドライブ３１にマウントするよう指示を行う（Ｓ３０１）。マウント指示後、ロボット３２はドライブ３１に対し、物理テープ３３をマウントする。マウント後、実行部１０４は、要求データを構成する一部のブロックのみ読み込みを開始し（Ｓ３０２，単位読込ステップ）、メモリ１１２に読み込んだ要求データの一部のブロックをディスクアレイ１２へ書き込む（Ｓ３０３，単位書込ステップ）。なお、読み込むブロックの選定方法及びデータ量は、後述にて詳細を説明する。書き込み完了後、実行部１０４は、ホスト２に対しデータ書込み終了を示す完了応答を行う（Ｓ３０４，応答ステップ）。
【００５２】
完了応答に応じて、図９に示すように、ホスト２は、階層制御部１１に対し、所定のブロックの要求を行い（Ｓ４０１）、受信部１０１は、ホスト２から通知される、ブロックの要求を受信する（Ｓ３０５，単位要求受付ステップ）。要求受信後、判断部１０２は、要求を受けたブロックがディスクアレイ１２に格納されているか否かの判断を行う（Ｓ３０６，単位判断ステップ）。要求を受けたブロックがディスクアレイ１２に格納されている場合（Ｓ３０６，単位判断ステップ，ＹＥＳ）、実行部１０４は、ディスクアレイ１２に格納されているホスト２により要求されたブロックをホスト２へ転送する（Ｓ３０７，単位転送ステップ）。転送後、実行部１０４は、ホスト２へ転送したブロック以外のブロックをディスクアレイ１２へ書き込み（Ｓ３０８）、本フローは終了となる。
【００５３】
また、要求を受けたブロックがディスクアレイ１２に格納されていない場合（Ｓ３０６，単位判断ステップ，ＮＯ）、実行部１０４は、ステップＳ１０６のデータ読み込み及びステップＳ１０７の同時転送処理を行い、本フローは終了となる。次に、ステップＳ３０２の一部データ読込み処理について図１０及び図１１を用いてその詳細を説明する。
【００５４】
図１０は、本実施の形態に係る仮想テープライブラリ装置における一部データ読込処理の動作の一例を示すフローチャートである。まず判断部１０２は、ディスクアレイ１２が保持する統計情報にホスト２が要求する要求データに関する情報が含まれているか否かの判断を行う（Ｓ５０１）。統計情報に要求データに関する情報が含まれている場合（Ｓ５０１，ＹＥＳ）、実行部１０４は、統計情報に基づいて最もアクセス頻度が高いブロックを抽出する（Ｓ５０２）。ブロック抽出後、判断部１０２は、統計情報に基づいて、抽出したブロックとアクセス頻度が同様であるブロックが存在するか否かの判断を行う（Ｓ５０３）。抽出したブロックとアクセス頻度が同様であるブロックがある場合（Ｓ５０３，ＹＥＳ）、実行部１０４は、統計情報に基づいて、タイムスタンプが最も新しいブロックを選択し（Ｓ５０４）、統計情報の更新を行う（Ｓ５０５）。統計情報更新後、実行部１０４は選択したブロックを読み込み（Ｓ５０６）、本フローは終了となる。
【００５５】
また、統計情報に要求データに関する情報が含まれていない場合（Ｓ５０１，ＮＯ）、実行部１０４は、要求データの先頭ブロックを選択し（Ｓ５０７）、ステップＳ５０５の統計情報の更新、及びステップＳ５０６のブロック読み込み処理を行い、本フローは終了となる。また、抽出したブロックとアクセス頻度が同様であるブロックが統計情報にない場合（Ｓ５０３，ＮＯ）、実行部１０４は、抽出したブロックを選択し（Ｓ５０８）、ステップＳ５０５の統計情報の更新、及びステップＳ５０６のブロック読み込みを行い、本フローは終了となる。なお、ステップＳ５０６のデータ読み込みにおいて、実行部１０４は、選択したブロックを読み込むにあたり、その読み込むブロックのデータサイズの決定を行う。また、このデータサイズ決定方法については後述する。
【００５６】
図１１は、本実施の形態に係るデータサイズテーブルの一例を示す図である。また、図１２は、本実施の形態に係る仮想テープライブラリ装置におけるデータサイズ決定方法の一例を示すフローチャートである。図１１に示されるように、データサイズテーブル７は、要求データの容量であるサイズと、ブロックを読み込む割合が対応付けられている。このデータサイズテーブル７を参照することで、実行部１０４は、読み込むブロックのデータサイズを決定する。
【００５７】
図１２に示されるように、まず、実行部１０４は、ディスクアレイ１２が保持しているデータサイズテーブル７の参照を行う（Ｓ６０１）。参照後、実行部１０４はデータサイズテーブル７に基づいて、要求データのサイズに対応する割合に読み込むデータサイズを決定し（Ｓ６０２）、本フローは終了となる。例えば、要求データのサイズが２００Ｇであれば、実行部１０４は、その３．５％の７Ｇのデータを読み込む決定を行う。なお、実行部１０４は、決定したデータサイズとなるまで選択したブロック以降のブロックを順次読み込む。
【００５８】
なお、本実施の形態では、上述したデータサイズの決定方法はステップＳ５０６のデータ読込処理において行うとしたが、ステップＳ５０１からステップＳ５０８の各ステップにおいてどのタイミングで行ってもよい。また、データサイズテープル７はこれに限定するものではなく、適宜設定可能である。
【００５９】
本実施の形態によれば、ホスト２から要求されるデータのブロックを統計的に管理し、そのアクセス頻度に基づいて、要求データの必要ブロックを予測し、必要ブロックのみを抜粋してホスト２へ転送することにより、ホスト２のデータ読込要求に対し迅速に対応でき、データ転送の遅延を抑えることが可能となる。
【００６０】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、上述した各実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【００６１】
以上、本実施の形態１〜３によれば、以下の付記で示す技術的思想が開示されている。
（付記１）
データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置であって、
前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付部と、
前記受付部により受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する第１判断部と、
前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位で自身のメモリに読み込む読込部と、
前記読込部によりメモリに読み込まれた所定の単位のデータを前記記憶部へ書き込むと共に、前記読込部によりメモリに読み込まれた所定の単位のデータを前記ホスト装置へ転送する転送部と
を備える記憶装置。
（付記２）
付記１に記載の記憶装置において、
前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータの容量を示す容量情報を前記ホストから取得する容量情報取得部と、
前記容量情報取得部により取得された容量情報が所定の閾値以上であるか否かを判断する第２判断部とを更に備え、
前記読込部は、前記第２判断部により前記容量情報が所定の閾値以上であると判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位で前記メモリに読み込む記憶装置。
（付記３）
付記１に記載の記憶装置において、
前記所定のデータが前記複数のテープにそれぞれ保持されているか否かを判断する第３判断部と、
前記読込部がそれぞれ前記複数のテープから所定のデータを読み込める条件を満たしているか否かを判断する第４判断部とを更に備え、
前記読込部が２系統化された第１読込部と第２読込部とを有し、且つ前記転送部が２系統化された第１転送部と第２転送部とを有し、
前記第３判断部により前記所定のデータが複数のテープに保持されていると判断され、前記第４判断部により前記第１読込部と前記第２読込部とがそれぞれ複数の前記テープから前記所定のデータを読み込める条件を満たしていると判断された場合、前記第１読込部と前記第２読込部は、前記所定のデータを有する複数の前記テープから、前記所定のデータを所定の単位でそれぞれ読み込み、
前記第１転送部は、前記第１読込部により読み込まれた所定の単位のデータを前記記憶部へ書き込み、前記第２転送部は、前記第２読込部により読み込まれた所定の単位のデータを前記ホスト装置へ転送する記憶装置。
（付記４）
付記３に記載の記憶装置において、
前記第４判断部は、前記テープライブラリにおいて、前記複数のテープが保持するデータの転送及び前記テープに対しデータの書き込みを行うドライブが複数有り、前記第１読込部と前記第２読込部がそれぞれ異なる前記ドライブと接続され、前記複数のテープから所定のデータを読み込めるか否かを判断する記憶装置。
（付記５）
データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置であって、
前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付部と、
前記受付部により受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが自身の記憶部に格納されているか否かを判断する第１判断部と、
前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む単位読込部と、
前記単位読込部により読み込まれた前記一部の所定の単位のデータを前記記憶部に書き込む単位書込部と、
前記単位書込部により前記記憶部に書き込まれた前記一部の所定の単位のデータを前記ホスト装置へ転送する単位転送部と
を備える記憶装置。
（付記６）
付記５に記載の記憶装置において、
前記単位書込部による前記記憶部への書き込みに基づいて書き込みの完了を示す完了応答を前記ホスト装置へ応答する応答部と、
前記応答部による完了応答に応じて通知される前記ホスト装置からの所定の単位のデータの要求を受け付ける単位要求受付部と、
前記単位要求受付部により受け付けられた要求に基づいて、前記ホスト装置から要求された所定の単位のデータが前記一部の所定の単位のデータに含まれているか否かを判断する単位判断部とを更に備え、
前記単位判断部により、前記ホスト装置から要求された所定の単位のデータが、前記一部の所定の単位のデータに含まれていると判断された場合、前記単位転送部は、前記一部の所定の単位のデータを前記ホスト装置へ転送する記憶装置。
（付記７）
付記５に記載の記憶装置において、
前記第１判断部により前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータの容量を示す容量情報を前記ホスト装置から取得する容量情報取得部と、
前記容量情報取得部により取得された前記容量情報が所定の閾値以上であるか否かを判断する第２判断部とを更に備え、
前記単位読込部は、前記第２判断部により前記容量情報が所定の閾値以上であると判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む記憶装置。
（付記８）
付記７に記載の記憶装置において、
前記記憶部は、前記ホスト装置から要求されたデータの容量と、前記テープから読み出される所定の単位のデータの割合とが対応付けられたテーブルと、前記ホスト装置から要求された過去の所定の単位のデータに関する情報である単位情報を保持し、
前記単位読込部は、前記単位情報に基づいて、前記ホスト装置から要求された所定のデータのうち、一部の所定の単位のデータのみを選択し、前記テーブルに基づいた割合分、選択した一部の所定の単位のデータ及び選択した一部の所定の単位のデータ以降のデータを読み込む記憶装置。
（付記９）
付記８に記載の記憶装置において、
前記単位情報は、過去の所定の単位のデータのアクセス頻度とタイムスタンプである記憶装置。
（付記１０）
付記１に記載の記憶装置において、
前記所定の単位のデータはブロック単位のデータである記憶装置。
（付記１１）
データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置のデータ転送方法であって、
前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付ステップと、
前記受付ステップにより受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する第１判断ステップと、
前記第１判断ステップにより前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位でメモリに読み込む読込ステップと、
前記読込ステップによりメモリに読み込まれた所定の単位のデータを前記記憶部へ書き込むと共に、前記読込ステップによりメモリに読み込まれた所定の単位のデータを前記ホスト装置へ転送する転送ステップと
を実行する記憶装置のデータ転送方法。
（付記１２）
付記１１に記載の記憶装置のデータ転送方法において、
前記第１判断ステップにより前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータの容量を示す容量情報を前記ホストから取得する容量情報取得ステップと、
前記容量情報取得ステップにより取得された容量情報が所定の閾値以上であるか否かを判断する第２判断ステップとを更に実行し、
前記読込ステップは、前記第２判断ステップにより前記容量情報が所定の閾値以上であると判断された場合、前記所定のデータを保持する前記テープから該データを所定の単位で前記メモリに読み込む記憶装置のデータ転送方法。
（付記１３）
付記１１に記載の記憶装置のデータ転送方法において、
前記所定のデータが前記複数のテープにそれぞれ保持されているか否かを判断する第３判断ステップと、
前記読込ステップがそれぞれ前記複数のテープから所定のデータを読み込める条件を満たしているか否かを判断する第４判断ステップとを更に備え、
前記読込ステップが第１読込ステップと第２読込ステップとを有し、且つ前記転送ステップが第１転送ステップと第２転送ステップとを有し、
前記第３判断ステップにより前記所定のデータが複数のテープに保持されていると判断され、前記第４判断ステップにより前記第１読込ステップと前記第２読込ステップとがそれぞれ複数の前記テープから前記所定のデータを読み込める条件を満たしていると判断された場合、前記第１読込ステップと前記第２読込ステップは、前記所定のデータを有する複数の前記テープから、前記所定のデータを所定の単位でそれぞれ読み込み、
前記第１転送ステップは、前記第１読込ステップにより読み込まれた所定の単位のデータを前記記憶部へ書き込み、前記第２転送ステップは、前記第２読込ステップにより読み込まれた所定の単位のデータを前記ホスト装置へ転送する記憶装置のデータ転送方法。
（付記１４）
付記１３に記載の記憶装置のデータ転送方法において、
前記第４判断ステップは、前記テープライブラリにおいて前記複数のテープが保持するデータの転送及び前記テープに対しデータの書き込みを行うドライブが複数有り、前記第１読込ステップと前記第２読込ステップがそれぞれ異なる前記ドライブにより前記複数のテープから所定のデータを読み込めるか否かを判断する記憶装置。
（付記１５）
データを保持する複数のテープを有するテープライブラリ及びホスト装置と接続することができる記憶装置のデータ転送方法であって、
前記ホスト装置から前記テープが保持するデータの要求を受け付ける受付ステップと、
前記受付ステップにより受け付けられた要求に基づいて、前記ホスト装置から要求された所定のデータが記憶部に格納されているか否かを判断する第１判断ステップと、
前記第１判断ステップにより前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む単位読込ステップと、
前記単位読込ステップにより読み込まれた前記一部の所定の単位のデータを前記記憶部に書き込む単位書込ステップと、
前記単位書込ステップにより前記記憶部に書き込まれた前記一部の所定の単位のデータを前記ホスト装置へ転送する単位転送ステップと
を実行する記憶装置のデータ転送方法。
（付記１６）
付記１５に記載の記憶装置のデータ転送方法において、
前記単位書込ステップによる前記記憶部への書き込みに基づいて書き込みの完了を示す完了応答を前記ホスト装置へ応答する応答ステップと、
前記応答ステップによる完了応答に応じて通知される前記ホスト装置からの所定の単位のデータの要求を受け付ける単位要求受付ステップと、
前記単位要求受付ステップにより受け付けられた要求に基づいて、前記ホスト装置から要求された所定の単位のデータが前記一部の所定の単位のデータに含まれているか否かを判断する単位判断ステップとを更に備え、
前記単位判断ステップにより、前記ホスト装置から要求された所定の単位のデータが、前記一部の所定の単位のデータに含まれていると判断された場合、前記単位転送ステップは、前記一部の所定の単位のデータを前記ホスト装置へ転送する記憶装置のデータ転送方法。
（付記１７）
付記１５に記載の記憶装置のデータ転送方法において、
前記第１判断ステップにより前記所定のデータが前記記憶部に格納されていないと判断された場合、前記所定のデータの容量を示す容量情報を前記ホスト装置から取得する容量情報取得ステップと、
前記容量情報取得ステップにより取得された前記容量情報が所定の閾値以上であるか否かを判断する第２判断ステップとを更に備え、
前記単位読込ステップは、前記第２判断ステップにより前記容量情報が所定の閾値以上であると判断された場合、前記所定のデータを有する前記テープから一部の所定の単位のデータのみを読み込む記憶装置のデータ転送方法。
（付記１８）
付記１７に記載の記憶装置のデータ転送方法において、
前記記憶部は、前記ホスト装置から要求されたデータの容量と、前記テープから読み出される所定の単位のデータの割合とが対応付けられたテーブルと、前記ホスト装置から要求された過去の所定の単位のデータに関する情報である単位情報を保持し、
前記単位読込ステップは、前記単位情報に基づいて、前記ホスト装置から要求された所定のデータのうち、一部の所定の単位のデータのみを選択し、前記テーブルに基づいた割合分、選択した一部の所定の単位のデータ及び選択した一部の所定の単位のデータ以降のデータを読み込む記憶装置のデータ転送方法。
【符号の説明】
【００６２】
１０１  受信部、１０２  判断部、１０３  取得部、１０４  実行部。
【図１】
2010170295.tif 000003
【図２】
2010170295.tif 000004
【図３】
2010170295.tif 000005
【図４】
2010170295.tif 000006
【図５】
2010170295.tif 000007
【図６】
2010170295.tif 000008
【図７】
2010170295.tif 000009
【図８】
2010170295.tif 000010
【図９】
2010170295.tif 000011
【図１０】
2010170295.tif 000012
【図１１】
2010170295.tif 000013
【図１２】
2010170295.tif 000014