JP2010102492A - データアーカイブシステム - Google Patents
データアーカイブシステム Download PDFInfo
- Publication number
- JP2010102492A JP2010102492A JP2008273048A JP2008273048A JP2010102492A JP 2010102492 A JP2010102492 A JP 2010102492A JP 2008273048 A JP2008273048 A JP 2008273048A JP 2008273048 A JP2008273048 A JP 2008273048A JP 2010102492 A JP2010102492 A JP 2010102492A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage area
- page
- type
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】仮想ディスクライブラリ装置などに係わり、LU単位でのディスクからテープへの高速アーカイビングを維持したまま、テープ格納データへのアクセスを高速に可能とする技術を提供する。またテープ格納データの更新の効率を向上できる技術を提供する。
【解決手段】本システムでは、LU単位でのディスクからテープへの高速アーカイビングを維持したまま、テープ格納データにアクセスしたい場合に、LU単位よりも細粒度であるページ単位で、ディスクステージング処理することで、高速アクセス可能とする。また、テープ格納データ(LU)に対する更新時は、LUのうちデータ更新対象のページのみをステージングしてホストへ応答し、バックグラウンドで当該LU内の残りのページを事前ディスクステージング処理しておく。再びテープ格納する時には、ステージング処理無しですぐにテープへの格納が可能である。
【選択図】図5
【解決手段】本システムでは、LU単位でのディスクからテープへの高速アーカイビングを維持したまま、テープ格納データにアクセスしたい場合に、LU単位よりも細粒度であるページ単位で、ディスクステージング処理することで、高速アクセス可能とする。また、テープ格納データ(LU)に対する更新時は、LUのうちデータ更新対象のページのみをステージングしてホストへ応答し、バックグラウンドで当該LU内の残りのページを事前ディスクステージング処理しておく。再びテープ格納する時には、ステージング処理無しですぐにテープへの格納が可能である。
【選択図】図5
Description
本発明は、データのテープアーカイブのための技術に関し、特に、ディスクアレイ装置とテープライブラリ装置とを備える仮想ディスクライブラリ装置に関する。
仮想ディスクライブラリ装置(システム)は、装置内に、ランダムアクセス型デバイス、例えば磁気ディスクデバイス(以下、ディスク)と、シーケンシャルアクセス型デバイス、例えば磁気テープデバイス(以下、テープ)とを備え、必要に応じて、ディスクとテープとの間(「ディスク−テープ」等と表記)でデータのコピー/移動を行うことができる。
そのような技術に関して、例えば特許文献1(特開2007−305075号公報)に開示されている。
特開2007−305075号公報
ところで、法規制などにより、長期間保管しなければならない電子データが増加している。大容量のデータを長期間保管するには、例えば、コストの面で、ディスクよりもテープが有効であると考えられる。一般的に、ビットコスト(1ビット当たりのコスト)がディスクに比べて低いためである。そのため、古くなり殆どアクセスされなくなったデータについては、ディスクではなくテープに格納することにより、データ保管コストを低減することができ有効である。
データをディスクからテープにアーカイブ(格納)する契機は、例えば、当該データが一定期間アクセスされなくなった場合が考えられる。この場合、前記特許文献1の技術では、LU(論理的ディスクデバイス)単位でディスク−テープ間(ディスク→テープ)のデータコピーを行うため、高速に実行可能である。
しかしながら、上記テープ格納データにアクセス(読み書き)したい場合は、LU単位でのディスクステージング処理(テープからディスクへデータをステージング(コピー)する処理)を行ってからアクセス可能となる。そのため、LUの容量(サイズ)が大きい場合などには、当該コピー(ディスクステージング)時間が長くなるため、アクセス可能となるまでに長い時間がかかってしまうという問題が発生する。
この場合、LUの容量が大きい場合には、ディスクステージング(コピー)処理に数時間以上かかる場合がある。そのため、ホスト(ホストシステム、ホストコンピュータ)からの当該テープ格納データへのアクセス(例えばリード)の際に、例えばタイムアウト時間を延長しただけでは、ホストからのリードコマンドを処理(受領及び応答)することはできない。なお上記タイムアウト時間は、通常のディスクアクセス応答に応じた時間であり、上記テープアクセスの場合はディスクよりも時間がかかるので、当該時間を延長してアクセスするように、例えばホストにより指定または設定される。
よって、この場合、例えば、ホストからのアクセスよりも前に、ディスクステージング指示コマンド(ディスクステージング処理)などにより、当該LU単位のテープ格納データについてのディスクステージングを完了しておく等の対処が必要であり、そうでなければ、ホストからのリードコマンドを受領及び応答することができなかった。
上記問題の1つの解決策として、ファイル単位でディスク−テープ間でのデータコピーを行うことが考えられる。しかし、ファイルを扱うことによるオーバーヘッドにより性能が低下してしまう。
また、アーカイブ先の媒体がシーケンシャルアクセス型デバイスであるテープであるため、テープの一部分のみを上書き(更新)することはできない。そのため、テープ格納データを更新したい場合は、LU単位でテープからディスクへステージングし、当該ディスク上のデータに対して更新を行ってから、再度、当該LU単位でテープにコピーする必要がある。よって、このような更新処理には時間がかかってしまう。
本発明は以上のような問題に鑑みてなされたものであり、その主な目的は、仮想ディスクライブラリ装置などの計算機システム(情報処理システム)に係わり、第1に、LU単位(サイズが大きい記憶領域単位)でのディスクからテープへの高速アーカイビングを維持したまま、テープ格納データへのアクセスを高速に可能とする技術を提供することである。第2に、テープ格納データの更新(更新反映)の効率を向上できる技術を提供することである。更には、ディスク−テープ間のデータコピーに関するホストの負荷を低減できる技術を提供することである。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。前記目的を達成するために、本発明の代表的な実施の形態は、複数のディスクを備えるディスクアレイ装置(ストレージ装置)、複数のテープを備えるテープライブラリ装置、それらを備える仮想ディスクライブラリ装置、それらのデータへアクセス(読み出し(リード)・書き込み(ライト))するコンピュータ(ホストシステム)、などから成る計算機システムにおけるデータアーカイブの技術であって、以下に示す構成を有することを特徴とする。
本形態は、LU単位(サイズが大きい記憶領域単位)でのデータのディスク(RAIDグループ等)からテープ(テープグループ等)への高速アーカイビング(移動/コピー(ライト))を維持したまま、テープ格納データにアクセスしたい場合には、LU単位よりも細粒度であるページ単位(サイズが小さい記憶領域単位)でのデータのディスクステージング処理(テープからディスクへのコピー(リード))を行うことにより、テープ格納データに対する高速アクセスを可能とする。
これにより、テープ格納データに対するアクセスの前のディスクステージング指示及び処理を不要とする。例えばホストは単にテープ格納データへのアクセスコマンドを発行するだけで済む。また例えば、タイムアウト時間を例えば数分に延長すること(あるいは従来よりも短い所定のタイムアウト時間の設定)によって、テープ格納データに対してもホストからのリードコマンド等を受領して正常に応答処理することが可能となる。
また、上記処理に関してファイルを扱わずにLU単位及びページ単位での処理を行うことにより、ホストを経由せずに、仮想ディスクライブラリ装置内でディスク−テープ間のデータコピーを行うことで、ホストの負荷が低減される。
また、テープ格納データに対するデータ更新時(例えばホストからのライト)は、LU単位ではなくデータ更新対象のページのみをテープからディスクへステージングしてホストへすぐに応答し、それと共にそのバックグラウンド等で、当該LU内の残りのページ(更新されない部分)をテープからディスクへステージング処理しておく(従来はこのような事前ステージングは行われていない)。これにより、再び当該データをテープへ格納(更新反映)したい場合に、ディスクステージング処理(ホスト等からあらためて指示を発行して当該LU単位でディスクステージング処理すること等)を必要とすること無く、LU単位で効率的にテープへの格納(コピー)を可能とする。これにより当該更新及び反映が効率的に実現される。
また、一形態では、仮想ボリューム機能を有する仮想ディスクライブラリ装置とホストとを有するシステムにおいて、仮想ボリュームについて、前記LU単位でのディスクからテープへの高速アーカイビングを行い、ホストからのテープ格納データ(仮想ボリュームのページ)へのアクセス時には、前記ページ単位でのデータのテープからディスクへのステージングを可能とする。これにより、ホストからの高速なアクセスが実現される。
本形態のシステムは、例えば、ホストコンピュータと、それにより利用される記憶制御装置(仮想ディスクライブラリ装置など)とを含んで成るデータアーカイブシステム(計算機システム)であって、記憶制御装置は、ランダムアクセス型の第1種の記憶装置群(例えばディスク)と、シーケンシャルアクセス型の第2種の記憶装置群(例えばテープ)とを内蔵または接続し、1つ以上の第1種の記憶装置に、データが格納可能な1つ以上の論理記憶領域(LU)を設定する処理と、1つ以上の第2種の記憶装置に、論理記憶領域のデータを格納可能なグループ(例えばテープグループ)を設定する処理と、論理記憶領域単位よりも細かい所定のサイズの複数のページ単位から構成される、LUよりも大きい仮想サイズを持つ仮想ボリュームをホストコンピュータに提供する処理とを行う。
そして、記憶制御装置は、仮想ボリュームに対し論理記憶領域を対応付けて管理し、仮想ボリュームのページに対し、実記憶領域として、第1種の記憶装置側の論理記憶領域のうちの第1の実記憶領域(セグメント)、または第2種の記憶装置側のグループのうちの第2の実記憶領域、を対応付けて管理する処理を行う。
そして、記憶制御装置は、所定の判断または指示(インアクティベートコマンドやホストアクセス等)に従い、仮想ボリュームのデータを、論理記憶領域単位で、第1種の記憶装置側の論理記憶領域の第1の実記憶領域から、第2種の記憶装置側のグループの第2の実記憶領域へ、移動またはコピー(アーカイブ)する第1の処理(インアクティベート処理)と、所定の判断または指示(アクティベートコマンドやホストアクセス等)に従い、仮想ボリュームの実記憶領域のデータを、論理記憶領域単位で、第2種の記憶装置側のグループの第2の実記憶領域から、第1種の記憶装置側の論理記憶領域の第1の実記憶領域へ、移動またはコピー(ステージング)する第2の処理(アクティベート処理)とを行う。
そして、記憶制御装置は、ホストコンピュータから仮想ボリュームのデータに対するリードまたはライトのアクセスのコマンドを受けると、当該アクセスの対象データが第2種の記憶装置側に格納されている場合、第2種の記憶装置側のグループの第2の実記憶領域における、当該対象データを含むページに対応付けられる領域から、当該ページ単位でデータを第1種の記憶装置側の論理記憶領域の第1の実記憶領域に読み出して、ホストコンピュータへ応答する第3の処理を行う。
更に、本システムにおいて、記憶制御装置は、前記第3の処理のバックグラウンドまたは後で、ホストからの関与無しで自動的に、第2種の記憶装置側のグループの第2の実記憶領域における、論理記憶領域の対象データを含むページ以外の残りのページに対応付けられる領域からデータを第1種の記憶装置側の論理記憶領域の第1の実記憶領域に読み出しておく第4の処理(事前ステージング処理)を行う。
そして、本システムにおいて、記憶制御装置は、ホストコンピュータにより第3の処理またはその後のアクセスにより更新された仮想ボリュームのデータを、所定の判断または指示を契機として、第1種の記憶装置側の第1の実記憶領域から第2の記憶装置側の第2の実記憶領域へ再度格納する際、前記第4の処理の後で、ホストからの関与無しで、更新されたページを含む論理記憶領域単位でデータを第2種の記憶装置側のグループの第2の実記憶領域に格納する第5の処理を行う。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明の代表的な実施の形態によれば、仮想ディスクライブラリ装置などの計算機システムに係わり、第1に、LU単位でのディスクからテープへの高速アーカイビングを維持したまま、テープ格納データへのアクセスを高速に可能とする。第2に、テープ格納データの更新(更新反映)の効率を向上できる。更には、ディスク−テープ間のデータコピーに関するホストの負荷を低減できる。
特に、テープへのデータの格納(アーカイブ)については、従来技術と同様に高速にLU単位で格納し、ホストからのテープ格納データへのアクセス時には、LU単位よりも細粒度であるページ単位(更新対象ページ)でディスクへステージングして応答できるため、従来技術よりも高速にホストへ応答が可能である。また、テープ格納データの更新(更新反映)時には、上記LUの更新対象ページのみのステージングによりホストへ応答すると共に、そのバックグラウンドで残りページを事前ステージング処理しておくので、当該データを再度テープ格納(更新反映)する場合に効率的に可能である。更に、上記ディスク−テープ間のデータコピーに関する処理の際、ホストによるステージング指示等による介在が不要であるので、ホストの負荷を低減できる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。説明上、プログラムまたは機能が主語となる場合、実際には、プログラムを実行するプロセッサや回路によって処理が実行される。
(実施の形態1)
図1〜図19を用いて、本発明の実施の形態1の計算機システム(仮想ディスクライブラリ装置を含んで成るデータアーカイブシステム)について説明する。
図1〜図19を用いて、本発明の実施の形態1の計算機システム(仮想ディスクライブラリ装置を含んで成るデータアーカイブシステム)について説明する。
実施の形態1では、概要としては、ディスクアレイ装置120とテープライブラリ装置130とを備える仮想ディスクライブラリ装置10がホスト20に接続されるシステムにおいて(図1)、仮想ディスクライブラリ装置10のコントローラ110は、ホスト20に対し仮想ボリューム310を提供する機能を持つ(図3,図4)。そして、仮想ボリューム310におけるディスク−テープ間のデータの移動/コピーの処理(インアクティベート/アクティベート処理)に関し、LU単位及びページ単位で管理する。ディスク122からテープ133へはLU122単位で高速にアーカイブ処理する(図5、(1))。テープ格納データのアクセス時には、テープ133からディスク(LU)122へは、ページ311(135)単位でステージングしてホスト20へ高速に応答可能に処理する(図5、(2))。また、そのバックグラウンドでは、当該LU122の残りのページ135を事前ステージング処理しておく(図6、(3))。また、テープ格納データの更新時には、当該LU122の事前ステージング処理済みにより、高速に応答でき(図6、(3))、再度テープ格納(更新反映)時にもLU122単位で高速に処理できる(図6、(4))。
<システム>
図1は、本発明の実施の形態1の計算機システムの構成例を示している。本システムは、ホスト(ホストシステム)20と、仮想ディスクライブラリ装置(記憶制御装置)10とが、ファイバチャネル(ネットワーク)50を用いて接続される構成である。ホスト20及び仮想ディスクライブラリ装置10は、ファイバチャネル50を介して、データや処理要求等の受け渡しを行う。ホスト20と仮想ディスクライブラリ装置10は、LAN等の通信ネットワークで接続されていても良いし、専用線などで接続されても良い。
図1は、本発明の実施の形態1の計算機システムの構成例を示している。本システムは、ホスト(ホストシステム)20と、仮想ディスクライブラリ装置(記憶制御装置)10とが、ファイバチャネル(ネットワーク)50を用いて接続される構成である。ホスト20及び仮想ディスクライブラリ装置10は、ファイバチャネル50を介して、データや処理要求等の受け渡しを行う。ホスト20と仮想ディスクライブラリ装置10は、LAN等の通信ネットワークで接続されていても良いし、専用線などで接続されても良い。
ホスト20は、ユーザが使用する何らかの計算機システム(PC、サーバ、メインフレームコンピュータ等)である。ホスト20は、例えば、マイクロプロセッサ(MPU)21等のプロセッサと、メモリ22と、通信インターフェース(I/F)23と、ユーザインターフェース(UI)24とを備えて構成することができる。
メモリ22には、例えば、ファイル管理プログラム220と、ファイル管理プログラム220が管理するファイル管理テーブル221及びファイルシステム管理テーブル222とが記憶される。メモリ22には各種ドライバソフトウェア等のプログラムも記憶されるが省略する。
メモリ22に記憶されたファイル管理プログラム220は、MPU21に読み込まれて実行される。ファイル管理プログラム220は、インアクティベートコマンドやアクティベートコマンドを発行することができる。
仮想ディスクライブラリ装置10は、コントローラ(制御装置)110と、ディスクアレイ装置120と、テープライブラリ装置130とを備えて構成される。これら(110,120,130)は、同一の筐体に設ける形態も可能であるし、それぞれを別々の筐体に設ける形態も可能である。
コントローラ110は、仮想ディスクライブラリ装置10の動作を制御する。コントローラ110は、例えば、マイクロプロセッサ(MPU)111と、制御メモリ112と、キャッシュメモリ113と、フロントエンド通信インターフェース(フロントエンドI/F)114と、ディスクインターフェース(ディスクI/F)115と、テープインターフェース(テープI/F)116とを備える。
図2に示すように、制御メモリ112には、各種のプログラム(201,202,210,211)やテーブル(203,204,205,206,207,209)が記憶される。制御メモリ112に、例えば、ディスク制御プログラム201、テープライブラリ制御プログラム202、仮想ボリューム管理テーブル203、仮想ボリューム−ページ情報テーブル204、ページマッピングビットマップ205、ディスクプール管理テーブル206、TG(Tape Group)管理テーブル207、TGプール管理テーブル209、インアクティベートプログラム210が記憶されている。
MPU111がプログラム(201,202,210等)を読み込んで実行することにより、仮想ボリューム310を生成してホスト20へ提供する機能(仮想ボリューム機能)や、ディスク−テープ間でデータをコピー/移動する機能(アクティベート/インアクティベート)等が実現される。
キャッシュメモリ113には、ホスト20から受信したライトデータや、ディスクアレイ装置120のディスク121(LU122)から読み出されたデータや、テープライブラリ装置130のテープ133から読み出されたデータ、等が適宜記憶(キャッシュ)される。キャッシュメモリ113は各部が共用する。
フロントエンドI/F114は、ホスト20側と通信するためのインターフェースである。フロントエンドI/F114は、例えばファイバチャネルに対応している。ディスクI/F115は、ディスクアレイ装置120内のディスク121(LU122)と通信(データ入出力)するためのインターフェースである。ディスクI/F115は、RAIDに対応している。テープI/F116は、テープライブラリ装置130内のテープ133と通信(データ入出力)するためのインターフェースである。
ディスクアレイ装置120は、複数のHDD(ハードディスクドライブ)121を備える(以下、HDDを単にディスクともいう)。ディスク121のそれぞれに有する物理的記憶領域を1つにまとめてRAIDグループを構成することができる。RAIDグループの物理的記憶領域には、固定サイズまたは可変サイズのLU122を設けることができる。あるいは、1つのディスク121の物理的記憶領域に、1つまたは複数のLU122を設定することもできる。LU122は、論理的記憶領域(論理ユニット、論理ボリュームなどともいう)である。LU122は、コントローラ110により管理される。
前述のように、ランダムアクセス型記憶デバイスの一例としてHDD(ディスク)121を示しているが、これに限定されず、フラッシュメモリデバイス等の他のデバイスを用いても良いし、例えばHDDとフラッシュメモリデバイスを混在させる形態としても良い。
テープライブラリ装置130は、例えば、ロボット131と、テープドライブ132と、複数のテープ(磁気テープデバイス)133とを備える。また複数のテープ133によりテープグループ(TG)134を構成できる。ロボット131は、テープ133の移動を制御する。ロボット131は、テープ133をテープドライブ132にセットすることや、テープドライブ132からテープ133を取り出して所定の場所に保管することを行う。テープドライブ132は、テープ133にデータを書き込む駆動や、テープ133からデータを読み出す駆動を行う。テープ133は、磁気テープ領域にデータを記憶する、シーケンシャルアクセス型記憶デバイスの一例である。
<仮想ボリューム>
図3,図4は、仮想ディスクライブラリ装置10が備える仮想ボリューム310についての説明図である。図3は、仮想ボリューム310とディスクとの対応付けを示し、図4は、図3に対応して、仮想ボリューム310とテープとの対応付け(ディスクからテープへの対応付けの変更)を示す。
図3,図4は、仮想ディスクライブラリ装置10が備える仮想ボリューム310についての説明図である。図3は、仮想ボリューム310とディスクとの対応付けを示し、図4は、図3に対応して、仮想ボリューム310とテープとの対応付け(ディスクからテープへの対応付けの変更)を示す。
仮想ボリューム310は、ホスト20に対して見せる仮想的な記憶ボリュームであり、そのデータの実体(実記憶領域)は、ディスク121(LU122,ディスクプール320)や、テープ133(TG134、TGプール330)側に存在する。
ディスク制御プログラム201は、各管理情報(203,204,205,206,207,209)を使用して、ホスト20側(例えばファイル管理プログラム220)に仮想ボリューム310を見せる仮想ボリューム機能を有する。仮想ボリューム310(VVで表すとする)として、例えばVV#1(320−1),VV#2(320−2)を示す。#数字は、同種のものが複数存在する場合の識別番号とする。例えばVV#1は第1番目の仮想ボリュームとする。
ディスクプール320は、ディスク制御プログラム201によって、ディスクプール管理テーブル206を使用してプール管理される、ディスク(HDD)121の集合体である。ディスクプール320においてディスク121上に設定されるLU122を有する。LU122として、例えばLU#1(122−1)、LU#2(122−2)を示す。
TGプール330は、ディスク制御プログラム201(テープライブラリ制御プログラム202)によって、TGプール管理テーブル209を使用してプール管理される、テープ133の集合体である。TGプール330は、複数のテープ133からなるTG134を有する。TG134は、ディスク121からテープ133へのデータコピー(アーカイブ)時に使用可能なように、必要な本数分のテープ133がグループ化されたセットである。TG134として、例えばTG#1(134−1),TG#2(134−2)を示す。
仮想ボリューム310は、複数のアドレス範囲(ページ)を持つことができる。1つのアドレス範囲をページと称する。例えば図3のVV#1(310−1)は、ページとして、ページ311a,311b,311c,311dを含む。VV#2(310−2)は、ページ311eを含む。
仮想ボリューム310における複数のアドレス範囲(ページ)の各々には、そのアドレス範囲に対するアクセス(例えばリード(R)/ライト(W))に応じて、ディスクプール320のディスク121(対応LU122)を構成する複数のセグメント(物理記憶領域、第1の実記憶領域)のうちの未使用のセグメントが割り当てられる。上記ディスク121側の物理記憶領域に関しては、ディスク121(LU122)におけるセグメント(ページ)123と表記する(図5)。
例えば、図3のVV#1(310−1)のページ311aは、LU#1(122−1)の対応ディスク121のセグメント123aに対応付けられる。同様に、VV#1−LU#1において、ページ311b−セグメント123b、ページ311c−セグメント123c、ページ311d−セグメント123dがそれぞれ対応付けられる。VV#2−LU#2において、ページ311e−セグメント123eが対応付けられる。割り当て(対応付け)は後述のテーブルで管理される。
また図4のように、インアクティベート処理(機能)では、例えば、仮想ボリューム310−1(VV#1)のデータ(図3のLU#1のデータ)が、LU122単位で高速にTG134、例えばTG134−1(TG#1)にコピー(アーカイブ)される。当該コピーの完了後、図3のLU#1(122−1)のセグメント(ページ)123a,123b,123c,123dは、VV#1(310−1)から解放され、別の仮想ボリューム310への再割り当て(利用)が可能となる。
そして、VV#1(310−1)の各ページ(311a〜311d)は、図4のTG#1(134−1)(対応テープ133)における、連続する各テープ領域(物理記憶領域、第2の実記憶領域)135a,135b,135c,135dに対して対応付けられるように変更される。上記テープ122側の物理記憶領域に関しては、TG134(LU122)における領域(ページ)135と表記する(図5)。
このように、仮想ボリューム310(ページ311)に対して割り当てられる実記憶領域(物理記憶領域)は、ディスク121(LU122)のセグメント(ページ)123、またはTG134(LU122)の領域(ページ)135のいずれかである。ホスト20はこれらの区分を気にせずに仮想ボリューム310を利用できる。ホスト20に対しては、仮想ボリューム310のサイズ(容量)として、実サイズ以上のサイズ(仮想サイズ)が提供される。実サイズとは、仮想ボリューム310に対して割り当てられた実記憶領域の合計サイズである。
ディスク制御プログラム201は、ホスト20が仮想ボリューム310のうちの空いているページ311にデータを書き込む場合、そのページ311にLU122のセグメント123を割り当てる。さらに、ディスク制御プログラム201は、LU122を制御する機能を有する。
テープライブラリ制御プログラム202は、テープライブラリ装置130を制御するプログラムである。また、インアクティベートプログラム210は、ディスク制御プログラム201及びテープライブラリ制御プログラム202と連携し、ディスク121(LU122)のデータをLU122単位でテープ133(TG134)にコピーするインアクティベート処理を行う機能を有する。ディスク121(LU122)−テープ133(TG134)間でデータをコピーする場合、インアクティベートプログラム210などが実行される。インアクティベートプログラム210は、必要に応じて適宜テープライブラリ制御プログラム202を呼び出して実行させる。インアクティベート処理において、テープ133の領域へのデータの書き込み、及びテープ133の領域からのデータの読み出しの際には、テープライブラリ制御プログラム202が使用される。なお、以下の説明では、簡単のため、上記テープライブラリ制御プログラム202の呼び出し等に関する説明を省略する。
なお、各単位のサイズを比較すると、概略的に、仮想ボリューム>LU>ページ、等である。
<特徴>
本システムにおける基本的な特徴や処理(機能)をまとめると以下である。処理の詳細は後述される。
本システムにおける基本的な特徴や処理(機能)をまとめると以下である。処理の詳細は後述される。
ホスト20は、ファイル及びディレクトリ等に対応付けられる形で、仮想ボリューム(LU)に対してアクセス可能である。特に、ホスト20は、テープ格納判定処理(言い換えればインアクティベート判定、図15)を行う。コントローラ110は、仮想ボリューム機能、LU制御機能、インアクティベート及びアクティベート機能などを有する。コントローラ110は、インアクティベート処理を行う(図16)。また、コントローラ110は、テープ格納データ等に対するリード処理(図17)及びライト処理(図18)、ホストアクセスデータについての事前ステージング処理(図19)などを行う。コントローラ110は、仮想ボリュームのデータについてのディスク−テープ間での移行においては、適宜、キャッシュメモリ113を用いて仮想ボリュームのデータをキャッシュする処理を行う。
なお、インアクティベートは、データをインアクティブ状態(テープ格納状態)にすることであり、アクティベートは、データをアクティブ状態(ディスク格納状態)にすることである。インアクティブ状態は保管コスト等の点で有利であり、アクティブ状態はアクセス効率等の点で有利である。
図5の(1)では、ディスク121からテープ133へのLU単位のアーカイブ(インアクティベート)、及び仮想ボリューム310等について示している。ホスト20からアクセス(R/W)されるデータが格納される仮想ボリューム310に対して、LU122及びその各ページ311が対応付けられる。インアクティベートの実行の際には、当該仮想ボリューム310のデータは、LU122単位で、ディスク121側の各セグメント123のデータが、テープ133(TG134)側の領域135へコピー(アーカイブ)される。テープ領域へのコピー(書き込み)動作はシーケンシャルである。ディスク−テープ間のデータコピー動作は、ディスクI/F115やテープI/F116等により行われ、その際、キャッシュメモリ113を利用して行われてもよく、ホスト20による動作を介在する必要は無い。
図5の(2)では、テープ133からディスク121へのページ単位のステージング(ディスクステージング)処理について示している。ホスト20からの仮想ボリューム310へのアクセスの際、対応するLU122のアクセス対象データを含むページ311に対応するデータが、テープ133(TG134)の対応する領域(ページ)135からディスク121(ないしキャッシュメモリ113)上へ読み出される(ステージング)。読み出されたページ311のデータを用いて、すぐにホスト20へ応答される。ホスト20からのテープ格納データへのアクセス(R/W)の際、例えばタイムアウト時間をディスクアクセスの場合よりも延長するようにコマンドで指定される。あるいはシステムで予め所定のタイムアウト時間が設定される。これによりコントローラ110でホスト20からのコマンドを受領してタイムアウト時間内に正常に処理が可能である。
図6の(3)では、ホスト20によるディスク121(LU122)上のページ311対応のデータの更新(ライト)と、当該LU122の残りのページ311のデータについての事前ステージング処理について示している。図5の(2)のようにLU122のうちのアクセス対象のページのデータがステージングされるが、そのバックグラウンドで、即ちタイミング的には同時または直後において、当該LU122のうちの残りのページのデータがテープ領域からディスク(ないしキャッシュメモリ113)上へ読み出される(事前ステージング)。
図6の(4)では、ディスク121上の更新されたLU122のデータ(図6の(3))に対する再度テープ格納(更新反映)について示している。ディスク121上の更新されたLU122のデータ(図6の(3))は、ホスト20によるアクセス(R/W)に備えてディスク121側にアクティブ状態として存在する。そして、ホスト20からの再格納指示が発行された時や、しばらくアクセスされなくなった契機などによって、テープ133側へ再度格納(即ち更新反映)されてインアクティブ状態となる。特定のページのみが更新されている場合でも、再度格納の際には、LU単位でテープへの格納(シーケンシャルな書き込み)を行う必要があるが、既に事前ステージング処理(図6の(3))が行われていることにより、すぐに当該LU単位でテープ領域への格納(コピー)を実行できる。
次に各種管理情報について説明する。
<仮想ボリューム管理テーブル>
図7は、仮想ボリューム管理テーブル203の構成例を示す。仮想ボリューム管理テーブル203は、仮想ボリューム310に実記憶領域として割り当てられる各セグメント(ページ)123などを管理する。仮想ボリューム管理テーブル203は、例えば、仮想ボリューム310毎に、仮想LUN510、サイズ520、格納先TG番号530、論理アドレス540、ページ番号550、セグメント番号560をそれぞれ記録する。
図7は、仮想ボリューム管理テーブル203の構成例を示す。仮想ボリューム管理テーブル203は、仮想ボリューム310に実記憶領域として割り当てられる各セグメント(ページ)123などを管理する。仮想ボリューム管理テーブル203は、例えば、仮想ボリューム310毎に、仮想LUN510、サイズ520、格納先TG番号530、論理アドレス540、ページ番号550、セグメント番号560をそれぞれ記録する。
仮想LUN(または単にLUN)510は、ディスク制御プログラム201によってホスト20に提供される、各仮想ボリューム310(対応LU122)を識別するための一意な番号である。なお仮想LUNを仮想ボリューム番号(VV#)と言い換えることもできる。本実施の形態では、仮想ボリューム310が、LU122に対応付けられる形で、ホスト20へ提供される。即ち、ホスト20は、ファイルシステム管理においてLUN(LU番号)を管理して指定することで、仮想ボリューム310へアクセスできる。
サイズ520は、仮想ボリューム310の容量(サイズ)である。サイズ520は、前述のように、ホスト20に対して仮想的に提供するサイズ(仮想サイズ)である。例えば、仮想LUNが「01」のVV#1は、2TBである。
格納先TG番号530は、インアクティベート処理により当該仮想ボリューム310のデータが格納されているTG134(格納先TG)を表す。格納先TG番号530が無し(未登録)の場合、ディスク側に格納されている。
論理アドレス(LBA)540は、ディスク121(LU122)のセグメント123におけるアドレス範囲(即ちLBA範囲)に対応付けられる、仮想ボリューム310の領域(特にページ311)を示す。例えば、論理アドレス540における「0−999」は、論理ブロックアドレス(LBA:Logical Block Address)における0から999までの範囲を示す。
ページ番号550は、仮想ボリューム310の有する各ページ311を一意に識別するための番号である。上記の通り、各ページ311は、それぞれ論理アドレス540(LBA範囲)として定義される。例えば、1ページを1000ブロックとし、1000ブロックを1セグメントとしている。
セグメント番号560は、ディスクプール管理テーブル206で管理されている実記憶領域(ディスク121上のセグメント123)を一意に特定する番号である。従って、セグメント番号560の参照によって、あるLU121のあるページ311について、どのディスク121(LU122)のどのセグメント123であるかが特定できる。
図7の例では、仮想LUN510が「01」である仮想ボリューム310(対応LU122)は、インアクティベート処理によりTG134に格納されていない仮想ボリューム310(LU122)、即ちディスク121側にデータが存在するものを表している。この場合、その格納先TG番号530には何も値が格納されていない。また、当該ボリュームでは、ホスト20からライト(更新)があったページ311(例えばページ1,3,4,6)のみに対してディスク121のセグメント番号560が割り当てられている。また、仮想LUN510が「02」である仮想ボリューム310(対応LU122)は、インアクティベート処理によりTG134に格納されている仮想ボリューム310を表している。この場合、格納先TG番号530には例えば「10」が格納されており、それに対応するTG134の領域に、当該仮想ボリューム310のデータが格納されている。また、仮想LUN510が「03」である仮想ボリューム310(対応LU122)は、インアクティベート処理によりTG134(格納先TG番号530が「11」)に格納された後、ホスト20からのアクセスによりページがディスクステージングされているものを表している。例えば、当該仮想ボリューム310(LU122)のうちページ3,4,5に対しホスト20からアクセスがあったため、当該ページ3,4,5のデータのみがテープ領域からディスク121上へ読み出されている。
<仮想ボリューム−ページ管理テーブル>
図8は、仮想ボリューム−ページ管理テーブル204の構成例を示す。仮想ボリューム−ページ管理テーブル204は、仮想ボリューム310の各ページ311の状態などを管理する。仮想ボリューム−ページ管理テーブル204は、各仮想ボリューム310(対応LU122)を示す仮想LUN610において、ページ311を示すページ番号620毎に、ステータス630、データ状態640を記録する。
図8は、仮想ボリューム−ページ管理テーブル204の構成例を示す。仮想ボリューム−ページ管理テーブル204は、仮想ボリューム310の各ページ311の状態などを管理する。仮想ボリューム−ページ管理テーブル204は、各仮想ボリューム310(対応LU122)を示す仮想LUN610において、ページ311を示すページ番号620毎に、ステータス630、データ状態640を記録する。
ステータス630は、各ページ311のデータの状態を表す。例えば、ホスト20から一度も書き込みが行われていないページ311は「未割当」とする。当該「未割当」のページに対してホスト20からリードコマンドを受領した場合は「0」(エラー応答)が返却される。また、ホスト20から書き込み(及び割り当て)が行われたページ311において、ディスク121上にある場合を「アクティブ」、ディスク121上に無い場合で例えばテープ133に格納されている場合を「インアクティブ」として表す。
データ状態(更新フラグ)640は、TG134に格納されたデータがディスク121上にステージングされ、更新されることによって、ディスク121上のデータとテープ133に格納されているデータとで不一致が生じた状態を「不一致」(更新有り)とし、それ以外の状態を「一致」(更新無し)として表す。
<ページマッピングビットマップ>
図9は、ページマッピングビットマップ205の例を示す。ページマッピングビットマップ205は、仮想ボリューム310の各ページ311に対しディスク121の物理記憶領域(セグメント123)が割り当てられているか否かをビットで示すものである。701a,701b等は、ページ単位の状態を示すビットである。例えば、701aで示すページ1にはセグメント123が割り当てられている状態(ビット「1」)、701bで示すページ2にはセグメント123が割り当てられていない状態(ビット「0」)を示す。なお、ページマッピングビットマップ205の内容を、仮想ボリューム−ページ管理テーブル204の中に統合した形も可能である。
図9は、ページマッピングビットマップ205の例を示す。ページマッピングビットマップ205は、仮想ボリューム310の各ページ311に対しディスク121の物理記憶領域(セグメント123)が割り当てられているか否かをビットで示すものである。701a,701b等は、ページ単位の状態を示すビットである。例えば、701aで示すページ1にはセグメント123が割り当てられている状態(ビット「1」)、701bで示すページ2にはセグメント123が割り当てられていない状態(ビット「0」)を示す。なお、ページマッピングビットマップ205の内容を、仮想ボリューム−ページ管理テーブル204の中に統合した形も可能である。
ページマッピングビットマップ205を用いた制御により、テープ133(TG134)の資源を節約することができる。即ち、コントローラ110は、ディスク121からテープ133へのデータのコピーの際は、LU122の全ページ311のデータをコピーするのではなく、セグメント123が割り当てられている状態(ビット「1」)のページ311のみをテープ133側へコピーし、かつページマッピングビットマップ205の内容自体をテープ133側へコピーする。ビット「0」のページ311のデータについてはコピーする必要が無いので、その分、テープ133の領域が節約できる。
<ディスクプール管理テーブル>
図10は、ディスクプール管理テーブル206の構成例を示す。ディスクプール管理テーブル206は、ディスク121(LU122)によって提供される実記憶領域を、ディスクプール320として、プール管理するためのものである。コントローラ110において、仮想ボリューム310で実記憶領域が必要となった場合(ホスト20からのアクセス(書き込み)が発生した場合)、仮想ボリューム310(ページ311)への割り当てが可能な実記憶領域(セグメント123)がディスクプール320から選択され、選択された実記憶領域(セグメント123)が仮想ボリューム310(ページ311)に割り当てられる。
図10は、ディスクプール管理テーブル206の構成例を示す。ディスクプール管理テーブル206は、ディスク121(LU122)によって提供される実記憶領域を、ディスクプール320として、プール管理するためのものである。コントローラ110において、仮想ボリューム310で実記憶領域が必要となった場合(ホスト20からのアクセス(書き込み)が発生した場合)、仮想ボリューム310(ページ311)への割り当てが可能な実記憶領域(セグメント123)がディスクプール320から選択され、選択された実記憶領域(セグメント123)が仮想ボリューム310(ページ311)に割り当てられる。
ディスクプール管理テーブル206は、LUN(内部LUN)810、セグメント番号820、スタートLBA830、サイズ840、使用フラグ850を記録する。
LUN810は、仮想ディスクライブラリ装置10内部においてLU122を識別する番号(LU番号)である。LUN810は、例えば、ディスク制御プログラム201によって決定される。LUN810とLU122は、一対一に対応付けられる形に限定される必要は無く、公知技術を用いて、1つのLU122に複数のLUN810が割り当てられる形としてもよいし、複数のLU122にまたがって1つのLUN810が割り当てられる形としてもよい。
セグメント番号820は、ディスク制御プログラム201がセグメント123を管理するための一意な識別番号である。セグメント番号820で示すセグメント123は、LU122(ディスク121)の領域を分けて管理するための最小単位である。セグメント123は、ディスク制御プログラム201によって管理される。
スタートLBA830は、LUN810で特定されるLU122内において、当該セグメント123が開始される物理的な位置をLBAで示す(なお論理アドレス540のようにLBA範囲で定義しても同様である)。例えば、LUN810が「01」のLU122の領域の先頭は、セグメント番号が「1」のセグメント123におけるLBA「0」である。
サイズ840は、当該セグメント123のサイズを、LBA単位(スタートLBA830から始まるLBAの個数)によって表している。
使用フラグ850は、当該セグメント123の利用状況を示す。例えば、使用フラグ850は、そのセグメント123がディスク制御プログラム201によって使用されているか否かを、2つの値によって示す。使用中の場合は「1」、未使用の場合は「0」が設定される。
なお、ディスクプール管理テーブル206では示していないが、コントローラ110により、LUN810(LU122)とディスク121(HDD識別情報など)とが対応付けて管理されている。
<TG管理テーブル>
図11は、TG管理テーブル207の構成例を示す。TG管理テーブル207は、TG134に格納されているデータを管理する。TG管理テーブル207は、TG番号910、ファイルマーク間隔920、テープ番号(構成テープ番号)930、格納LUN940、LU容量950、破棄フラグ960を記録する。
図11は、TG管理テーブル207の構成例を示す。TG管理テーブル207は、TG134に格納されているデータを管理する。TG管理テーブル207は、TG番号910、ファイルマーク間隔920、テープ番号(構成テープ番号)930、格納LUN940、LU容量950、破棄フラグ960を記録する。
TG番号910は、TG134を一意に識別する番号である。ファイルマーク間隔920は、テープ133からのリード時の位置決めを行うためのファイルマーク(一般的技術)が、当該テープ133に記録されている間隔である(例えばGB単位)。TG134のテープ133の領域へのデータのライト時には、ファイルマーク間隔920に対応してファイルマークが書き込みされる。これにより、後でテープ133からリードする際に、ファイルマークの位置での頭出しが可能である。
テープ番号930は、当該TG134を構成しているテープ133を一意に識別する番号である。格納LUN940は、当該テープ133に格納されているLU122(その対応データ)を示す。LU容量950は、当該テープ133に格納されている各LU122の容量(サイズ)を示す。
例えば図11では、「0001」のTG134において、「00001」のテープ133には、「0001」のLU122の容量500GB分のデータと、次に、「0002」のLU122のうちの先頭から300GB分のデータとが格納されている。また、次の「00002」のテープ133には、「0002」のLU122の続きの容量200GB分のデータと、次に、「0003」のLU122の容量400GB分のデータとが格納されている。
破棄フラグ960は、最初「0」とし、当該テープ領域に格納されているLU122のデータが破棄(上書き)可能な状態をフラグ「1」で示す。あるTG134に格納されているすべてのLU122のデータについての破棄フラグが「1」となった場合に、当該TG134のデータが破棄可能となり、即ち当該TG134を構成していたテープ133が他のデータのために再利用(上書き)可能となる。
この制御例としては、コントローラ110は、あるTG134において、破棄フラグ960が「0」の状態のLU122のデータに対し、ホスト20からのアクセス(ライト)による更新が発生すると、その更新後のデータを別のTG134の領域へ格納し、元の格納領域の破棄フラグ960を「1」にする。TG134単位ですべての破棄フラグ960が「1」になった場合(既に別のTG134へ全データが格納済みの状態)、当該TG134が破棄(再利用)可能となる。
上記破棄フラグ960を用いた制御により、コピー時間を少なくできる利点がある。また、上記制御とは異なり、更新の際に元の位置のTG134へ書き戻す制御も可能である。この場合、コピー時間は少しかかるが、空きTG134が無くとも可能である利点がある。
<TGプール管理テーブル>
図12は、TGプール管理テーブル209の構成例を示す。TGプール管理テーブル209は、テープ133によって提供される実記憶領域を、TGプール330としてプール管理するためのものである。TGプール管理テーブル209は、複数のTG134に関し、登録TG番号1010、使用フラグ1020を記録する。
図12は、TGプール管理テーブル209の構成例を示す。TGプール管理テーブル209は、テープ133によって提供される実記憶領域を、TGプール330としてプール管理するためのものである。TGプール管理テーブル209は、複数のTG134に関し、登録TG番号1010、使用フラグ1020を記録する。
登録TG番号1010は、当該番号で識別されるTG134を、本特徴であるアーカイブ等の用途に使用するために登録することを示す。使用フラグ1020は、当該TG134が当該用途に使用されているかどうかを示す。仮想ボリューム310のデータを、ディスク121(LU122)からTG134(テープ133)へコピーする場合には、TGプール330に登録されている複数のTG134のうち、未使用(使用フラグ1020が「0」)のTG134を使用する。
<ファイルシステム管理テーブル、ファイル管理テーブル>
図13は、ファイルシステム管理テーブル222、図14は、ファイル管理テーブル221の構成例を示す。ホスト20のファイル管理プログラム220は、ディレクトリやファイルを管理するためにこれらのテーブル(222,221)を保持して使用し、これらに基づき、インアクティベートコマンド発行の判断(テープ格納判定処理、図15)などを行う。ディレクトリに対してはLU122(LUN)が対応付けられる。なおファイルよりもLU122(ディレクトリ)の方がサイズが大きい。
図13は、ファイルシステム管理テーブル222、図14は、ファイル管理テーブル221の構成例を示す。ホスト20のファイル管理プログラム220は、ディレクトリやファイルを管理するためにこれらのテーブル(222,221)を保持して使用し、これらに基づき、インアクティベートコマンド発行の判断(テープ格納判定処理、図15)などを行う。ディレクトリに対してはLU122(LUN)が対応付けられる。なおファイルよりもLU122(ディレクトリ)の方がサイズが大きい。
ファイルシステム管理テーブル222は、ディレクトリ1110、格納ファイルシステム1120、パス名1130、ディレクトリ容量1140、空き容量1150、テープ格納しきい値1160、LUN1170を記録する。さらに、ファイル管理テーブル221には、ファイル1210、格納ファイルシステム1220、パス名1230の他、各ファイル1210の最終アクセス時刻1240が記録される。
ディレクトリ1110は、ファイル管理プログラム220がディレクトリを識別するためのものであり、格納ファイルシステム1120とパス名1130により一意に識別される。格納ファイルシステム1120は、当該ディレクトリが存在するファイルシステムを一意に識別可能なものである。パス名1130は、当該ディレクトリのファイルシステムにおけるパス名である。ディレクトリ容量1140は、当該ディレクトリの容量である(例えばGB単位)。空き容量1150は、当該ディレクトリの空き容量である(例えばGB単位)。テープ格納しきい値1160は、ファイル管理プログラム220が当該ディレクトリのデータをテープ133側に格納するべきかの判定(テープ格納判定処理)を行うためのしきい値である。LUN1170は、当該ディレクトリに対応付けられるLU122のLUNである。
判定の例として、ファイル管理プログラム220は、空き容量1150がテープ格納しきい値1160よりも小さくなった場合、かつ、当該ディレクトリに格納されている全ファイルが、最終アクセス時刻1240を参照して一定期間以上アクセスされていない場合に、仮想ディスクライブラリ装置10(コントローラ110)に対しテープ格納指示コマンド(インアクティベートコマンド)を発行する。
なお、上記ではホスト20側で判定する形態としているが、仮想ディスクライブラリ装置10(コントローラ110)側で上記のような管理情報(221,222)を保持して判定する形態とすることも可能である。
次に、各処理(機能)の詳細例について示す。以下の説明で処理の主体が省略されている場合、当該主体は前述のプログラム(それを実行するプロセッサ)等である。
<テープ格納判定処理>
図15は、テープ格納判定処理(インアクティベート処理の契機の判定の処理)のフローを示している。テープ格納判定処理は、概ねファイル管理プログラム220によって行われる。Sは処理ステップを表す。
図15は、テープ格納判定処理(インアクティベート処理の契機の判定の処理)のフローを示している。テープ格納判定処理は、概ねファイル管理プログラム220によって行われる。Sは処理ステップを表す。
S1310では、ファイルシステム管理テーブル222を使用して、TG134への格納を行うべきディレクトリ(LU122)を判定する。例えば、[ディレクトリ容量1140]×(1−[テープ格納しきい値1160])>[空き容量1150]の条件を満たすディレクトリがある場合はS1320へ進み、無い場合は終了する。
S1320では、ファイル管理テーブル221を使用して、S1310の該当ディレクトリに格納されているファイルが全て一定期間以上アクセスされていない場合は、S1330へ進み、そうでない場合は終了する。例えば、該当ディレクトリの全ファイルが半年間や一年間以上アクセスされていない場合である。このようなファイル(ディレクトリ)に対応付けられるLU122(仮想ボリューム310)のデータを、ディスク121側からテープ133側にコピー/移動し、これによりデータ保管コストの低減を図る。
S1330では、ファイルシステム管理テーブル222に基づき、S1320の条件を満たす該当ディレクトリ(ディレクトリ1110)に対応付けられるLUN(LUN1170)を指定して、ホスト20から仮想ディスクライブラリ装置10に指示(インアクティベートコマンド)を発行する。当該指示には、実行対象となるLU122の情報などが含まれる。
上記テープ格納判定処理を、一定間隔、例えば一ヶ月に一回などで行う。S1310とS1320に該当する全ディレクトリに関して、インアクティベートコマンドを発行し、テープ格納判定処理を終了する。
<インアクティベート処理>
図16は、インアクティベート処理(仮想ボリューム310のデータをディスク121側からテープ133側へアーカイブする処理)のフローを示している。インアクティベート処理は、仮想ディスクライブラリ装置10がファイル管理プログラム220から指示(インアクティベートコマンド)を受領したことを契機として、概ねインアクティベートプログラム210によって実行される。
図16は、インアクティベート処理(仮想ボリューム310のデータをディスク121側からテープ133側へアーカイブする処理)のフローを示している。インアクティベート処理は、仮想ディスクライブラリ装置10がファイル管理プログラム220から指示(インアクティベートコマンド)を受領したことを契機として、概ねインアクティベートプログラム210によって実行される。
S1410では、仮想ボリューム管理テーブル203の格納先TG番号530が参照され、指示(コマンド)で指定されたLU122が格納されているTG134があるかどうか判断される。ある場合はS1420へ、無い場合はS1460へ進む。
S1420では、仮想ボリューム−ページ管理テーブル204が参照され、当該LU122のページ311においてデータ状態640が「不一致」(更新有り)のページがあるかどうか判断される。ある場合はS1430へ、無い場合はS1491へ進む。
S1430では、TG管理テーブル207において、当該LU122の破棄フラグ960を「1」とする。
S1440では、当該LU122が格納されていたTG134に格納されている全LU122の破棄フラグが「1」であるか判断される。すべて「1」の場合はS1450へ、そうでない場合はS1460へ進む。
S1450では、当該TG134がリセット(データ破棄状態)され、当該TG134が当該LU122のコピー先として使用され、S1480へ進む。
S1460では、TGプール管理テーブル209が参照され、使用フラグ1020が「0」のTG134(空きTG)が存在するかどうか判断される。存在する場合はS1470へ、存在しない場合はS1493へ進み、S1493ではホスト20にエラー応答して終了する。
S1470では、TGプール管理テーブル209が参照され、使用フラグが「0」のTG134(空きTG)が1つ選択され、当該1つのTG134が、当該LU122のコピー先として使用される。そして、当該TG134の使用フラグを「1」に変更する。例えば使用フラグが「0」のTG134のうち、最もTG番号の小さいTG134が選択される。
S1480では、ディスクへのステージング時に必要となる管理情報と当該LUのページマッピングビットマップ205とがテープにコピーされる。
S1490では、当該LUのページマッピングビットマップ205を参照しながら、ビットオン(物理領域割り当て有り状態)のページのみがテープにコピーされる。これにより、ホスト20から書き込みが行われていないページ(ビットオフのページ)の0データをテープに格納する必要が無く、テープ使用容量が低減できる。
S1491では、全ページのコピー完了後、当該LUのページに割り当てられていたセグメントが開放され、ページマッピングビットマップ205も全てビットオフ(物理領域割り当て無し状態)される。これにより、テープに格納した容量分、ディスク物理領域が解放され、別の仮想ボリューム310等のために再利用可能となる。
S1492では、各種管理テーブルが更新され、終了する。例えば、仮想ボリューム管理テーブル203において、格納先TG番号530が記録され、セグメント番号560がすべて解放される。仮想ボリューム−ページ管理テーブル204において、アクティブであったステータス630がインアクティブに変更され、データ状態640が「不一致」のページがあった場合は「一致」に変更される。ディスクプール管理テーブル206において、当該LUに割り当てられていたセグメントの使用フラグ850が「0」に変更される。TG管理テーブル207において、ファイルマーク間隔920、テープ番号930、格納LUN940、LU容量950、破棄フラグ960が記録される。以上でインアクティベート処理を終了する。
<ディスク常駐機能>
また、上記インアクティベート処理に関し、ホスト20から仮想ディスクライブラリ装置10へのインアクティベートコマンド発行時に、ディスク上へ常駐させたいLBA範囲(対応するページ)を指定することにより、当該LBA範囲(対応するページ)をディスク上に常駐させる処理(ページ単位のディスク常駐機能)を行ってもよい。この場合、指定されたLBA範囲に対応するページ(ディスク常駐ページ)についてはページ開放(破棄)を行わず、当該ページ以外をページ開放するように制御する。これにより、例えば、ホスト20からのインアクティベートコマンド発行時に、メタデータが格納されているLBA範囲を指定することで、メタデータについてはディスク上で保持したまま、ファイルのデータのテープ格納を行うことができる。
また、上記インアクティベート処理に関し、ホスト20から仮想ディスクライブラリ装置10へのインアクティベートコマンド発行時に、ディスク上へ常駐させたいLBA範囲(対応するページ)を指定することにより、当該LBA範囲(対応するページ)をディスク上に常駐させる処理(ページ単位のディスク常駐機能)を行ってもよい。この場合、指定されたLBA範囲に対応するページ(ディスク常駐ページ)についてはページ開放(破棄)を行わず、当該ページ以外をページ開放するように制御する。これにより、例えば、ホスト20からのインアクティベートコマンド発行時に、メタデータが格納されているLBA範囲を指定することで、メタデータについてはディスク上で保持したまま、ファイルのデータのテープ格納を行うことができる。
<リード処理>
図17は、リード処理の処理フローを示している。リード処理は、概ねディスク制御プログラム201によって行われる。
図17は、リード処理の処理フローを示している。リード処理は、概ねディスク制御プログラム201によって行われる。
S1510では、ホスト20から仮想ディスクライブラリ装置10がリードコマンドを受領する。S1520では、リードコマンドにおけるリード対象LBAから、対象ページ(ページ311)が判定される。例えば、ブロックサイズが512バイト、ページサイズが32MBの場合、LBA1〜65536がページ1、65537〜131072がページ2、131073〜196608がページ3となる。
S1530では、仮想ボリューム−ページ管理テーブル204が参照され、対象ページのステータス630が確認される。ステータス630がインアクティブの場合はS1540へ、インアクティブでない場合はS1591へ進む。
S1540では、ディスクプール管理テーブル206が参照され、対象ページに割り当てられる未使用セグメント(セグメント123)があるかどうか判断される。ある場合はS1550へ、無い場合はS1545に進む。S1545ではホスト20にエラー応答して終了する。
S1550では、ディスクプール管理テーブル206が参照され、未使用セグメントが対象ページに割り当てられる。
S1560では、TG管理テーブル207が参照され、対象ページのデータが格納されているテープ133がロボット131によりテープドライブ132にセットされる。複数テープ133にまたがって格納されているLU122に関しては、TG管理テーブル207の各テープ(テープ番号930)に格納されているLU(格納LUN940)のLU容量950を参照することで、対象ページが格納されているテープ133が判別可能である。
S1570では、セットされている対象テープ133の駆動において、対象ページの手前のファイルマークまで位置付けが行われる。
S1580では、対象テープ133において、ファイルマーク位置からテープ格納データの読み出しが行われ、対象ページのデータが、ディスク側のS1550で割り当てられたセグメントにコピーされる。なお、ファイルマーク間隔920が大きくない場合は、対象ページの領域のデータのみをコピーする時間と、ファイルマーク間隔分の領域のデータをコピーする時間とにおいて大きな差は無いため、対象ページを含むファイルマーク間隔分の領域のデータをコピー(ステージング)してしまってもよい。
S1590では、各種管理テーブルが更新する。例えば、仮想ボリューム管理テーブル203において、セグメント番号560が記録される。仮想ボリューム−ページ管理テーブル204において、ステージングされたページのステータス630がアクティブに変更される。ディスクプール管理テーブル206において、S1550で割り当てられたセグメントの使用フラグ850が「1」に変更される。S1591では、ステージングされたページのデータを用いて、ホスト20にリード応答が行われ、終了する。
<ライト処理>
図18は、ライト処理の処理フローを示している。ライト処理は、概ねディスク制御プログラム201によって行われる。
図18は、ライト処理の処理フローを示している。ライト処理は、概ねディスク制御プログラム201によって行われる。
S1610では、ホスト20から仮想ディスクライブラリ装置10がライトコマンドを受領する。S1620では、ライトコマンドにおけるライト対象LBAから対象ページが判定される(リード処理と同様)。
S1630では、仮想ボリューム−ページ管理テーブル204が参照され、対象ページのステータス630がアクティブの場合はS1692へ、アクティブでない場合はS1640へ進む。
S1640では、ディスクプール管理テーブル206が参照され、対象ページに割り当てられる未使用セグメントがある場合はS1650へ、無い場合はS1645に進む。S1645ではホスト20にエラー応答して終了する。
S1650では、ディスクプール管理テーブル206が参照され、未使用セグメントが対象ページに割り当てられる。
S1660では、仮想ボリューム管理テーブル203が参照され、対象LUが格納されているTG134が存在する場合はS1670へ、存在しない場合はS1692へ進む。
S1670では、TG管理テーブル207が参照され、対象ページのデータが格納されているテープ133がロボット131によりテープドライブ132にセットされる(リード処理と同様)。
S1680では、セットされている対象テープ133の駆動において、対象ページの手前のファイルマークまで位置付けが行われる。
S1690では、対象テープ133において、ファイルマーク位置からテープ格納データの読み出しが行われ、対象ページのデータが、S1650で割り当てられたセグメントにコピーされる(リード処理と同様)。
S1691では、各種管理テーブルが更新される。例えば、仮想ボリューム管理テーブル203において、セグメント番号560が記録される。仮想ボリューム−ページ管理テーブル204において、ステージングされたページのステータス630がアクティブに変更される。ディスクプール管理テーブル206において、S1550で割り当てられたセグメントの使用フラグ850が「1」に変更される。
S1692では、ステージングされたページを用いて、ホスト20にライト応答が行われる。即ち当該ページにライト対象データが書き込まれる。そして、仮想ボリューム−ページ管理テーブル204の当該ページのデータ状態640が「不一致」に変更され、終了する。
<テープ格納データの更新処理>
テープ格納データの更新(更新反映)処理については、リード処理後にライト処理が行われることで実現される。前記S1692の処理により、仮想ボリューム−ページ管理テーブル204のデータ状態640が「不一致」(更新有り)で管理されている。
テープ格納データの更新(更新反映)処理については、リード処理後にライト処理が行われることで実現される。前記S1692の処理により、仮想ボリューム−ページ管理テーブル204のデータ状態640が「不一致」(更新有り)で管理されている。
ディスク側の当該LUの対象ページのデータ(更新済み)について、一定期間アクセスが行われていないこと、あるいはホスト20からの再格納指示などの契機により、再度、インアクティベート処理によってテープ側へ格納(更新反映)する処理が行われる。
その場合、従来技術では、テープへのシーケンシャルな書き込みの必要から、当該LUの残りのページ(対象ページ以外の更新されていないページのデータ)のディスクステージングが必要となる。対象ページのみをテープ133へ書き込むことはできない。従来技術では、ページデータの更新及びテープ格納のためには、LU単位でのコピーを、テープからディスクへのコピーと、ディスクからテープへのコピーとで、計2回行う必要があるため、全体として時間がかかる。
あるいは、従来技術では、ホストからのアクセスよりも前に、ディスクステージング指示コマンド(ディスクステージング処理)などを発行して、当該LU単位のテープ格納データについてのディスクステージングを完了しておく必要があるが、ホストに負荷がかかる。
そこで、本実施の形態では、事前ステージング処理によって、再インアクティベート(再度テープ格納)時よりも事前に、当該LUの残りのページをディスクステージングしておく。これにより、上記契機による再インアクティベート時には、事前ステージング済みであるので、あらためてのディスクステージング処理が不要であり、すぐにLU単位でテープ格納が実行可能であり、全体として時間短縮が図られる。
<事前ステージング処理>
図19は、事前ステージング処理のフローを示している。事前ステージング処理は、概ねディスク制御プログラム201によって行われる。
図19は、事前ステージング処理のフローを示している。事前ステージング処理は、概ねディスク制御プログラム201によって行われる。
S1710では、仮想ボリューム−ページ管理テーブル204が参照され、データ状態640が「不一致」になっているページが存在するLUがあるかどうか判断される。ある場合はS1720へ、無い場合は終了する。
S1720では、ディスクプール管理テーブル206が参照され、当該LUの各ページにおいて、ステータス630が「インアクティブ」となっているページに割り当てられる未使用のセグメントがあるかどうか判断される。ある場合はS1730へ、無い場合は終了する。
S1730では、ディスクプール管理テーブル206が参照され、当該LUの各ページにおいて、ステータス630が「インアクティブ」となっているページに対して、未使用セグメントが割り当てられる。
S1740では、TG管理テーブル207が参照され、対象ページのデータが格納されているテープ133がロボット131によりテープドライブ132にセットされる。TG管理テーブル207の参照により、対象ページが格納されているテープ133が判別可能である。
S1750では、セットされている対象テープ133の駆動において、対象ページの手前のファイルマークまで位置付けが行われる。
S1760では、対象テープ133において、対象ページのデータが、S1730で割り当てられたセグメントにコピーされる。
S1770では、各種管理テーブルが更新される。例えば、仮想ボリューム管理テーブル203において、セグメント番号560が記録される。仮想ボリューム−ページ管理テーブル204において、ステージングされたページのステータス630が「アクティブ」に変更される。ディスクプール管理テーブル206において、S1550で割り当てられたセグメントの使用フラグ850が「1」に変更される。
前述の図6の(3)の事前ステージング処理は、図5の(2)のディスクステージング処理のバックグラウンドで開始されている場合である。しかしながら、事前ステージング処理は、再インアクティベート処理(図6の(4))までに完了すればよい。よって例えば、事前ステージング処理は、夜間など仮想ディスクライブラリ装置10の性能に余裕がある時間帯などに行われてもよい(この場合、再インアクティベートの指示のタイミングは1日単位など)。
(実施の形態2)
次に、図20を用いて実施の形態2のシステムについて説明する。実施の形態2以下は、実施の形態1の変形例である。
次に、図20を用いて実施の形態2のシステムについて説明する。実施の形態2以下は、実施の形態1の変形例である。
本発明の構成では、基本として、殆どアクセスされなくなったデータを、ディスク側ではなくテープ側に格納すること(インアクティベート処理)により、データ保管コストの低減を図っている。実施の形態1に例示したように、ディレクトリに格納されているファイルが一定期間アクセスされておらず、かつ空き容量がしきい値を超えた場合などにおいて、ホスト20から仮想ディスクライブラリ装置10に当該ディレクトリに対応付けられるLUNを指定してインアクティベートコマンドを発行することにより、インアクティベート処理が実行される。
そのため、仮想ディスクライブラリ装置10のディレクトリ(仮想ボリューム310に対応付けられるLU121)が順番に使用され、かつアクセスされなくなったファイルが格納される場合(ファイル最適配置の場合)においては、効率よくテープ格納を行うことができる。
そのため、実施の形態2では、「階層ストレージ管理(HSM:Hierarchical Storage Management)」の技術を用いて、ホスト20にそのHSMプログラムを備えたシステムにおいて、ホスト20からファイルの最適配置を制御する。これにより、効率よくテープ格納を行うことができる。
「階層ストレージ管理(HSM)」は、性能や機能が異なる複数のファイルシステムを1つのファイルシステムとして構成し、ファイルの利用状況に合わせてファイルシステム間を移動させる技術である。
実施の形態2では、ホスト10に、HSMプログラム1810、HSM管理テーブル1820、ファイル管理プログラム220、ファイル管理テーブル221、ファイルシステム管理テーブル222が備えられる。ホスト10は、ファイバチャネル(ネットワーク)50を介して、ディスクアレイ装置30、仮想ディスクライブラリ装置10と接続されている。
図21に、HSM管理テーブル1820の構成例を示す。HSM管理テーブル1820は、ファイルシステム1910、ディレクトリ1920、パス名1930、ストレージ装置識別番号1940、ストレージタイプ1950を記録する。ファイルシステム1910は、HSMプログラム1810がファイルシステムを一意に識別するためのものである。ディレクトリ1110は、HSMプログラム1810とファイル管理プログラム220がディレクトリを識別するためのものである。パス名1930は、当該ディレクトリのファイルシステムにおけるパスである。ストレージ装置識別番号1940は、ファイルシステムを構成しているストレージ装置(ファイルシステムのデータの格納先)を一意に識別するためのものである。ストレージタイプ1950は、当該ストレージの属性を決めるものであり、ストレージタイプ1950毎に異なったポリシー設定を可能とする。ストレージタイプ1950は、例えば「FC」(ファイバチャネル)、「SATA」(シリアルATA)、「tape」(テープ)等である。
HSMプログラム1810は、各管理情報(1820,221,222)を用いて、仮想ディスクライブラリ装置10の資源に対して、ファイルの最適配置を行う。例えば、一定期間以上アクセスされていないファイルfを、ディスクアレイ装置30(その内部の例えば第1の仮想ボリュームT1)から、仮想ディスクライブラリ装置10(その内部の例えば第2の仮想ボリュームT2)に移動する。このとき、HSMプログラム1810は、HSM管理テーブル1820、及びファイルシステム管理テーブル222を参照し、ストレージタイプ1950が「tape」、空き容量1150がテープ格納しきい値1160を超えていないディレクトリ1110のうち、ディレクトリ名の最も小さいディレクトリに、当該ファイルを移動する。例えば、「dir01」と「dir02」の場合、「dir01」が選択される。また例えば、「adir01」と「bdir01」の場合、「adir01」が選択される。目的はディレクトリ(LU)を順番に使用することであるため、ディレクトリ名から使用順番が決まればよい。そして、ファイルfの移動により、空き容量1150がテープ格納しきい値1160を超えた場合、当該LUNを指定してインアクティベートコマンドを発行することで、実施の形態1と同様に、テープ格納が行われる。
このように、HSMプログラム1810を用いることで、テープ格納を行う仮想ディスクライブラリ装置10のディレクトリ(仮想ボリューム310に対応付けられるLU122)が順番に使用され、ファイルの最適配置(仮想ボリュームのアドレス空間に連続的にデータが配置される)により、ディスクからテープへのデータの格納を効率的に行うことができる。
実施の形態2の詳しい構成例としては、ホストシステム20において、クライアントとNAS(Network Attached Server)を有する。NASに対し、ディスクアレイ装置30と、仮想ディスクライブラリ装置10とが接続される。NASは、HSMプログラム1810を備え、階層管理されるファイルシステムを有する。ディスクアレイ装置30の第1の仮想ボリュームT1から、仮想ディスクライブラリ装置10の第2の仮想ボリュームT2に、ファイルfのデータが移動され、T1に順番に格納されてゆく。
ホスト20のHSM管理では、T1からT2へのファイルfのデータの移動の際、ファイルfを第1のファイルシステムから第2のファイルシステムへ移動させ、HSM管理テーブル1820を更新する。T2がファイルデータで一杯になった場合は、NASから仮想ディスクライブラリ装置10へLUNを指定して前述の指示(インアクティベートコマンド)を発行する。これにより、仮想ディスクライブラリ装置10では、LU単位でディスクからテープへのデータコピー(アーカイブ)を行う。アーカイブ後のT1のページは開放される。クライアントからファイルアクセスが発生した場合、NAS側では、例えばタイムアウト時間を延長して仮想ディスクライブラリ装置10へファイルリードコマンドを発行する。仮想ディスクライブラリ装置10は、ページ単位でディスクステージング処理を行い、ホスト(クライアント)側へ応答する。
以上のように各実施の形態によれば、ディスク−テープ間のデータコピー処理に関して、LU単位及びページ単位で効率的に処理することができ、ホストに対して高速に応答することができる。
前述した各処理部(機能)は、ハードウェア、コンピュータプログラム、またはそれらの組み合わせ等により構成できる。プログラムは、所定のプロセッサに読み込まれて実行され、また、その際、適宜、メモリ等のハードウェア資源上に存在する記憶領域が使用されてもよい。また、プログラムは、CD−ROM等の記録媒体からコンピュータにインストール等されてもよいし、通信ネットワークを介してダウンロード等されてもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明は、ディスク装置とテープ装置を両方含む計算機システムなどに利用可能である。
10…仮想ディスクライブラリ装置、20…ホスト(ホストシステム)、21…MPU、22…メモリ、23…UI、24…I/F、30…ディスクエリア装置、50…ファイバチャネル(ネットワーク)、110…コントローラ、111…MPU、112…制御メモリ、113…キャッシュメモリ、114…フロントエンドI/F、115…ディスクI/F、116…テープI/F、120…ディスクアレイ装置、121…HDD(ディスク)、122…LU(論理的ディスクデバイス)、123…セグメント(ページ)、130…テープライブラリ装置、131…ロボット、132…テープドライブ、133…テープ、134…TG(テープグループ)、135…領域(ページ)、201…ディスク制御プログラム、202…テープライブラリ制御プログラム、203…仮想ボリューム管理テーブル、204…仮想ボリューム−ページ管理テーブル、205…ページマッピングビットマップ、206…ディスクプール管理テーブル、207…TG管理テーブル、209…TGプール管理テーブル、210…インアクティベートプログラム、220…ファイル管理プログラム、221…ファイル管理テーブル、222…ファイルシステム管理テーブル、310…仮想ボリューム、311…ページ、510…仮想LUN、520…サイズ、530…格納先TG番号、540…論理アドレス(LBA)、550…ページ番号、560…セグメント番号、610…仮想LUN、620…ページ番号、630…ステータス、640…データ状態、701a,702b…ビット、810…LUN、820…セグメント番号、830…スタートLBA、840…サイズ、850…使用フラグ、910…TG番号、920…ファイルマーク間隔、930…テープ番号、940…格納LUN、950…LU容量、960…破棄フラグ、1010…登録TG番号、1020…使用フラグ、1110…ディレクトリ、1120…格納ファイルシステム、1130…パス名、1140…ディレクトリ容量、1150…空き容量、1160…テープ格納しきい値、1170…LUN、1210…ファイル、1220…格納ファイルシステム、1230…パス名、1240…最終アクセス時刻、1800…ディスクアレイ装置、1810…HSM管理プログラム、1820…HSM管理テーブル。
Claims (15)
- コンピュータにより利用されるデータアーカイブシステムであって、
ランダムアクセス型の第1種の記憶装置群と、シーケンシャルアクセス型の第2種の記憶装置群とを内蔵または接続され、前記コンピュータからのアクセスのコマンドを処理する記憶制御部を有し、
前記記憶制御部は、
1つ以上の前記第1種の記憶装置に、データが格納可能な1つ以上の論理記憶領域を設定する処理と、
前記論理記憶領域単位に対し、それよりも細かい所定のサイズの複数のページ単位を対応付け、前記ページに対し、実記憶領域として、前記第1種の記憶装置側の第1の実記憶領域、または前記第2種の記憶装置側の第2の実記憶領域、を対応付けて管理する処理と、
所定の判断または指示に従い、前記論理記憶領域単位のデータを、前記第1種の記憶装置側の第1の実記憶領域から、前記第2種の記憶装置側の第2の実記憶領域へ、移動またはコピーする処理と、
前記コンピュータから前記論理記憶領域のデータに対するリードまたはライトのアクセスのコマンドを受けると、当該アクセスの対象データが前記第2種の記憶装置側に格納されている場合、前記第2種の記憶装置側の第2の実記憶領域における、当該対象データを含むページに対応付けられる領域から、当該ページ単位でデータを前記第1種の記憶装置側の第1の実記憶領域に読み出して、前記コンピュータへ応答する処理と、を行うこと、を特徴とするデータアーカイブシステム。 - 請求項1記載のデータアーカイブシステムにおいて、
前記記憶制御部は、前記応答する処理のバックグラウンドまたは後で、前記第2種の記憶装置側の第2の実記憶領域における、前記論理記憶領域のうちの前記対象データを含むページ以外の残りのページに対応付けられる領域からデータを前記第1種の記憶装置側の第1の実記憶領域に読み出しておく処理を行うこと、を特徴とするデータアーカイブシステム。 - 請求項2記載のデータアーカイブシステムにおいて、
前記記憶制御部は、前記コンピュータにより前記応答する処理またはその後のアクセスにより更新された前記論理記憶領域のデータを、所定の判断または指示を契機として、前記第1種の記憶装置側の第1の実記憶領域から前記第2種の記憶装置側の第2の実記憶領域へ再度格納する際、前記更新されたページを含む前記論理記憶領域単位でデータを前記第2種の記憶装置側の第2の実記憶領域に格納する処理を行うこと、を特徴とするデータアーカイブシステム。 - コンピュータと、前記コンピュータにより利用される記憶制御装置とを含んで成るデータアーカイブシステムであって、
前記記憶制御装置は、
ランダムアクセス型の第1種の記憶装置群と、シーケンシャルアクセス型の第2種の記憶装置群とを内蔵または接続し、
1つ以上の前記第1種の記憶装置に、データが格納可能な1つ以上の論理記憶領域を設定する処理と、
1つ以上の前記第2種の記憶装置に、前記論理記憶領域のデータが格納可能なグループを設定する処理と、
前記論理記憶領域単位よりも細かい所定のサイズの複数のページ単位から構成される仮想ボリュームを前記コンピュータに提供する処理と、
前記仮想ボリュームに対し前記論理記憶領域を対応付けて管理し、前記仮想ボリュームのページに対し、実記憶領域として、前記第1種の記憶装置側の前記論理記憶領域のうちの第1の実記憶領域、または前記第2種の記憶装置側の前記グループのうちの第2の実記憶領域、を対応付けて管理する処理と、
所定の判断または指示に従い、前記仮想ボリュームのデータを、前記論理記憶領域単位で、前記第1種の記憶装置側の前記論理記憶領域の前記第1の実記憶領域から、前記第2種の記憶装置側の前記グループの前記第2の実記憶領域へ、移動またはコピーする第1の処理と、
所定の判断または指示に従い、前記仮想ボリュームの実記憶領域のデータを、前記論理記憶領域単位で、前記第2種の記憶装置側の前記グループの前記第2の実記憶領域から、前記第1種の記憶装置側の前記論理記憶領域の前記第1の実記憶領域へ、移動またはコピーする第2の処理と、
前記コンピュータから前記論理記憶領域のデータに対するリードまたはライトのアクセスのコマンドを受けると、当該アクセスの対象データが前記第2種の記憶装置側に格納されている場合、前記第2種の記憶装置側の第2の実記憶領域における、当該対象データを含むページに対応付けられる領域から、当該ページ単位でデータを前記第1種の記憶装置側の第1の実記憶領域に読み出して、前記コンピュータへ応答する第3の処理と、を行うこと、を特徴とするデータアーカイブシステム。 - 請求項4記載のデータアーカイブシステムにおいて、
前記記憶制御装置は、前記第3の処理のバックグラウンドまたは後で、前記第2種の記憶装置側の前記グループの前記第2の実記憶領域における、前記論理記憶領域の前記対象データを含むページ以外の残りのページに対応付けられる領域からデータを前記第1種の記憶装置側の前記論理記憶領域の前記第1の実記憶領域に読み出しておく第4の処理を行うこと、を特徴とするデータアーカイブシステム。 - 請求項5記載のデータアーカイブシステムにおいて、
前記記憶制御装置は、前記コンピュータにより前記第3の処理またはその後のアクセスにより更新された前記仮想ボリュームのデータを、所定の判断または指示を契機として、前記第1種の記憶装置側の第1の実記憶領域から前記第2種の記憶装置側の第2の実記憶領域へ再度格納する際、前記更新されたページを含む前記論理記憶領域単位でデータを前記第2種の記憶装置側の前記グループの前記第2の実記憶領域に格納する第5の処理を行うこと、を特徴とするデータアーカイブシステム。 - 請求項4記載のデータアーカイブシステムにおいて、
前記記憶制御装置は、前記仮想ボリュームのページごとに、実記憶領域への割り当ての状態を示すステータス情報と、前記第1種の記憶装置側のデータと前記第2種の記憶装置側のデータとにおける内容の一致/不一致を示すデータ状態情報とを管理すること、を特徴とするデータアーカイブシステム。 - 請求項4記載のデータアーカイブシステムにおいて、
前記記憶制御装置は、前記第2種の記憶装置に格納される前記論理記憶領域のデータごとに、破棄フラグを管理し、
最初に前記第1の実記憶領域から前記第2の実記憶領域へデータを格納する前記第1の処理の際、前記破棄フラグをオフとし、
前記第2の実記憶領域から前記第1の実記憶領域へ読み出されたデータが更新され、当該更新されたデータを前記第2種の記憶装置へ格納する際、格納元の第2種の記憶装置とは別の第2種の記憶装置へ格納して当該格納元の前記破棄フラグをオンとし、
前記グループにおける前記破棄フラグがすべてオンとなった場合、当該グループを他のデータのために利用可能に開放すること、を特徴とするデータアーカイブシステム。 - 請求項4記載のデータアーカイブシステムにおいて、
前記記憶制御装置は、前記仮想ボリュームのページごとにデータが格納されているか否かをビットマップで管理し、前記第1種の記憶装置側から前記第2種の記憶装置側に前記仮想ボリュームのデータを格納する際には、前記ビットマップの参照に基づき、データが格納されているページのデータと、当該ビットマップ自体のデータとを格納する処理を行うこと、を特徴とするデータアーカイブシステム。 - 請求項4記載のデータアーカイブシステムにおいて、
前記第1種の記憶装置側から前記第2種の記憶装置側へ前記論理記憶領域のデータを格納する際、当該論理記憶領域のうち前記コンピュータから指定されたページのデータを、前記第1種の記憶装置側の第1の実記憶領域上に常駐させる処理を行うこと、を特徴とするデータアーカイブシステム。 - 請求項4記載のデータアーカイブシステムにおいて、
前記コンピュータは、
前記仮想ボリュームまたは論理記憶領域に対応付けてファイルシステムを管理する処理と、
前記仮想ボリュームまたは論理記憶領域のデータを前記第1の実記憶領域から第2の実記憶領域へ移行させる前記第1の処理を行うか否かを判定し、行う場合、当該第1の処理の指示を前記記憶制御装置へ発行する処理と、を行うこと、を特徴とするデータアーカイブシステム。 - 請求項11記載のデータアーカイブシステムにおいて、
前記コンピュータは、
前記仮想ボリュームまたは論理記憶領域のデータに対するアクセスの際、前記第2種の記憶装置へのアクセスの場合に、前記第1種の記憶装置へのアクセスの場合のタイムアウト時間よりも長いタイムアウト時間によるコマンドを発行し、
前記記憶制御装置は、前記第2種の記憶装置側のデータに対するアクセスの場合、前記タイムアウト時間内に前記コンピュータへ応答処理すること、を特徴とするデータアーカイブシステム。 - 請求項4記載のデータアーカイブシステムにおいて、
前記コンピュータは、異なる複数のファイルシステムを1つのファイルシステムとして構成し、ファイルの利用状況に合わせてファイルシステム間を移動させる階層ストレージ管理の処理を行い、
前記コンピュータは、前記コンピュータから前記記憶制御装置の記憶資源に対して格納するファイルにおいて、一定期間以上アクセスされなくなったファイルを、前記仮想ボリュームのアドレス空間に順番に格納してゆくことにより、ファイルを最適に配置する処理を行い、
前記記憶制御装置は、所定の仮想ボリュームが前記一定期間以上アクセスされなくなったファイルで一杯になった場合、当該仮想ボリュームに対応付けられる前記論理記憶領域のデータに対して前記第1の処理を行うこと、を特徴とするデータアーカイブシステム。 - ファイルシステムを備えるコンピュータと、前記コンピュータにより利用される仮想ディスクライブラリ装置とを含んで成るデータアーカイブシステムであって、
前記仮想ディスクライブラリ装置は、コントローラと、ランダムアクセス型の第1種の記憶装置群である磁気ディスク装置群を備えるディスクアレイ装置と、シーケンシャルアクセス型の第2種の記憶装置群である磁気テープ装置群を備えるテープライブラリ装置と、を備え、
前記コントローラは、プロセッサと、制御メモリと、前記コンピュータに対する通信I/FであるフロントエンドI/F部と、前記磁気ディスク装置群に対する第1の通信I/F部と、前記磁気テープ装置群に対する第2の通信I/F部と、キャッシュメモリとを備え、
前記コントローラは、
1つ以上の前記磁気ディスク装置に、データが格納可能な1つ以上の論理記憶領域を設定する処理と、
1つ以上の前記磁気テープ装置に、前記論理記憶領域のデータが格納可能なグループを設定する処理と、
前記論理記憶領域単位よりも細かい所定のサイズの複数のページ単位から構成される仮想ボリュームを前記コンピュータに提供する処理と、
前記仮想ボリュームに対し前記論理記憶領域を対応付けて管理し、前記仮想ボリュームのページに対し、実記憶領域として、前記磁気ディスク装置側の前記論理記憶領域のうちの第1の実記憶領域、または前記磁気テープ装置側の前記グループのうちの第2の実記憶領域、を対応付けて管理する処理と、
所定の判断または指示に従い、前記仮想ボリュームのデータを、前記論理記憶領域単位で、前記磁気ディスク装置側の前記論理記憶領域の前記第1の実記憶領域から、前記磁気テープ装置側の前記グループの前記第2の実記憶領域へ、移動またはコピーする第1の処理と、
所定の判断または指示に従い、前記仮想ボリュームの実記憶領域のデータを、前記論理記憶領域単位で、前記磁気テープ装置側の前記グループの前記第2の実記憶領域から、前記磁気ディスク装置側の前記論理記憶領域の前記第1の実記憶領域へ、移動またはコピーする第2の処理と、
前記第1及び第2の処理において適宜前記キャッシュメモリを用いてデータをキャッシュする処理と、
前記コンピュータから前記仮想ボリュームまたは前記論理記憶領域のデータに対するリードまたはライトのアクセスのコマンドを受けると、当該アクセスの対象データが前記磁気テープ装置側に格納されている場合、前記磁気テープ装置側の第2の実記憶領域における、当該対象データを含むページに対応付けられる領域から、当該ページ単位でデータを前記磁気ディスク装置側の第1の実記憶領域に読み出して、前記コンピュータへ応答する第3の処理と、を行うこと、を特徴とするデータアーカイブシステム。 - 請求項14記載のデータアーカイブシステムにおいて、
前記コントローラは、前記第3の処理のバックグラウンドまたは後で、前記磁気テープ装置側の前記グループの前記第2の実記憶領域における、前記論理記憶領域の前記対象データを含むページ以外の残りのページに対応付けられる領域からデータを前記磁気ディスク装置側の前記論理記憶領域の前記第1の実記憶領域に読み出しておく第4の処理を行い、
前記コントローラは、前記コンピュータにより前記第3の処理またはその後のアクセスにより更新された前記仮想ボリュームのデータを、所定の判断または指示を契機として、前記磁気ディスク装置側の第1の実記憶領域から前記磁気テープ装置側の第2の実記憶領域へ再度格納する際、前記更新されたページを含む前記論理記憶領域単位でデータを前記磁気テープ装置側の前記グループの前記第2の実記憶領域に格納する第5の処理を行うこと、を特徴とするデータアーカイブシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008273048A JP2010102492A (ja) | 2008-10-23 | 2008-10-23 | データアーカイブシステム |
US12/331,598 US7987328B2 (en) | 2008-10-23 | 2008-12-10 | Data archive system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008273048A JP2010102492A (ja) | 2008-10-23 | 2008-10-23 | データアーカイブシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010102492A true JP2010102492A (ja) | 2010-05-06 |
Family
ID=42117239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008273048A Pending JP2010102492A (ja) | 2008-10-23 | 2008-10-23 | データアーカイブシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7987328B2 (ja) |
JP (1) | JP2010102492A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018456A (ja) * | 2014-07-09 | 2016-02-01 | 富士通株式会社 | 媒体制御装置、制御方法、及び制御プログラム |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533427B2 (en) * | 2010-05-06 | 2013-09-10 | International Business Machines Corporation | Mapping locations of logical volume records on a physical stacked volume |
US8656094B2 (en) * | 2010-05-06 | 2014-02-18 | International Business Machines Corporation | Locating host data records on a physical stacked volume |
US9336149B2 (en) | 2010-05-06 | 2016-05-10 | International Business Machines Corporation | Partial volume access in a physical stacked volume |
US8380949B2 (en) * | 2010-05-20 | 2013-02-19 | International Business Machines Corporation | Managing write operations to an extent of tracks migrated between storage devices |
US20120047109A1 (en) * | 2010-08-19 | 2012-02-23 | Panasonic Corporation | Data structure production method and backup device |
US9563365B2 (en) | 2012-04-30 | 2017-02-07 | Kip Cr P1 Lp | System and method for using a memory buffer to stream data from a tape to multiple clients |
US8977827B1 (en) | 2012-05-31 | 2015-03-10 | Kip Cr P1 Lp | System, method and computer program product for recovering stub files |
JP6107625B2 (ja) * | 2013-12-02 | 2017-04-05 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法 |
WO2017046864A1 (ja) * | 2015-09-15 | 2017-03-23 | 株式会社日立製作所 | ストレージシステム、計算機システム、およびストレージシステムの制御方法 |
JP2020123157A (ja) * | 2019-01-30 | 2020-08-13 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
US11231866B1 (en) * | 2020-07-22 | 2022-01-25 | International Business Machines Corporation | Selecting a tape library for recall in hierarchical storage |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4158235A (en) * | 1977-04-18 | 1979-06-12 | Burroughs Corporation | Multi port time-shared associative buffer storage pool |
US4755928A (en) * | 1984-03-05 | 1988-07-05 | Storage Technology Corporation | Outboard back-up and recovery system with transfer of randomly accessible data sets between cache and host and cache and tape simultaneously |
US5835953A (en) * | 1994-10-13 | 1998-11-10 | Vinca Corporation | Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating |
JP3714046B2 (ja) * | 1999-07-23 | 2005-11-09 | 株式会社日立製作所 | 仮想テープ記憶装置 |
JP4116413B2 (ja) * | 2002-12-11 | 2008-07-09 | 株式会社日立製作所 | プリフェッチアプライアンスサーバ |
US7627617B2 (en) * | 2004-02-11 | 2009-12-01 | Storage Technology Corporation | Clustered hierarchical file services |
JP4639075B2 (ja) * | 2004-12-02 | 2011-02-23 | 株式会社日立製作所 | 可搬記憶媒体に対する論理ディスク仮想化機能を有するディスクシステム |
JP4806556B2 (ja) * | 2005-10-04 | 2011-11-02 | 株式会社日立製作所 | ストレージシステム及び構成変更方法 |
JP4756545B2 (ja) * | 2006-05-15 | 2011-08-24 | 株式会社日立製作所 | 複数のテープ装置を備えるストレージシステム |
JP5222469B2 (ja) * | 2006-10-11 | 2013-06-26 | 株式会社日立製作所 | 記憶システム及びデータ管理方法 |
US7865468B2 (en) * | 2008-02-29 | 2011-01-04 | International Business Machines Corporation | Prefetching remote files on local disk space |
-
2008
- 2008-10-23 JP JP2008273048A patent/JP2010102492A/ja active Pending
- 2008-12-10 US US12/331,598 patent/US7987328B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018456A (ja) * | 2014-07-09 | 2016-02-01 | 富士通株式会社 | 媒体制御装置、制御方法、及び制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US7987328B2 (en) | 2011-07-26 |
US20100103549A1 (en) | 2010-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010102492A (ja) | データアーカイブシステム | |
US8380929B2 (en) | Hierarchical storage management for database systems | |
US7949637B1 (en) | Storage management for fine grained tiered storage with thin provisioning | |
US7975115B2 (en) | Method and apparatus for separating snapshot preserved and write data | |
US7340571B2 (en) | Storage system and data management device for storage system | |
TWI452462B (zh) | 使用寫入配置快照之動態儲存層的方法和系統 | |
US9396207B1 (en) | Fine grained tiered storage with thin provisioning | |
US7603529B1 (en) | Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment | |
US8862815B2 (en) | Reading files stored on a storage system | |
US8250335B2 (en) | Method, system and computer program product for managing the storage of data | |
US9990395B2 (en) | Tape drive system server | |
US8001345B2 (en) | Automatic triggering of backing store re-initialization | |
US7783603B2 (en) | Backing store re-initialization method and apparatus | |
US7840657B2 (en) | Method and apparatus for power-managing storage devices in a storage pool | |
US20140089628A1 (en) | Data storage space recovery system and method | |
US20090100223A1 (en) | Storage control apparatus, data archive method for storage control apparatus, and storage system | |
US20080320258A1 (en) | Snapshot reset method and apparatus | |
WO2015015550A1 (ja) | 計算機システム及び制御方法 | |
EP2639710A2 (en) | A method for metadata persistence | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
US20130138705A1 (en) | Storage system controller, storage system, and access control method | |
JP2008299559A (ja) | ストレージシステム及びストレージシステムにおけるデータ移行方法 | |
US8311992B2 (en) | Information processing device and data shredding method | |
WO2015145707A1 (ja) | 追記型記憶装置への書き込みデータ決定方法 |