JP2006215954A - ストレージシステム及びストレージ装置のアーカイブ管理方法 - Google Patents

ストレージシステム及びストレージ装置のアーカイブ管理方法 Download PDF

Info

Publication number
JP2006215954A
JP2006215954A JP2005030366A JP2005030366A JP2006215954A JP 2006215954 A JP2006215954 A JP 2006215954A JP 2005030366 A JP2005030366 A JP 2005030366A JP 2005030366 A JP2005030366 A JP 2005030366A JP 2006215954 A JP2006215954 A JP 2006215954A
Authority
JP
Japan
Prior art keywords
file
volume
archive
area
file data
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.)
Withdrawn
Application number
JP2005030366A
Other languages
English (en)
Inventor
Tetsuhiko Fujii
哲彦 藤井
Akira Murotani
暁 室谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005030366A priority Critical patent/JP2006215954A/ja
Priority to US11/091,651 priority patent/US20060179087A1/en
Priority to EP05255819A priority patent/EP1688832A1/en
Publication of JP2006215954A publication Critical patent/JP2006215954A/ja
Priority to US12/134,194 priority patent/US7870104B2/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 ランダムアクセス可能なデバイスを用いて適切なアーカイブ管理を行う。
【解決手段】 アーカイブ管理部1Bは、オンラインボリューム5Aに記憶されているファイルを、そのファイル型毎に定まるタイミングで読出し、アーカイブボリューム5B1,5B2のうち所定のボリュームに記憶させる。ファイルデータには保存期間が指定されており、各ボリューム5B1,5B2にもそれぞれ保存期間が設定されている。ファイルデータの保存期間と一致する保存期間を有するボリュームに、そのファイルデータが記憶される。各ボリューム5B1,5B2は、ハードディスク等のランダムアクセス可能なデバイスに設定されている。各ボリューム5B1,5B2にデータが書き込まれた領域は、ポインタPにより、書込み禁止領域として管理される。これにより、各ボリューム5B1,5B2は、いわゆるWORMデバイスのように使用される。
【選択図】 図1

Description

本発明は、ストレージシステム及びストレージ装置のアーカイブ管理方法に関する。
ストレージ装置は、例えば、ハードディスクドライブや半導体メモリドライブ等の記憶デバイスを用いて、RAID(Redundant Array of Independent Disks)に基づく記憶領域を構築する。この物理的な記憶領域(論理ボリューム)は、例えば、サーバマシン等のホストコンピュータに提供される。
ホストコンピュータは、論理ボリュームに対してデータを書き込んだり、論理ボリュームからデータを読み出すことにより、ホストコンピュータに接続されたクライアント端末に対して情報処理サービスを提供する。論理ボリュームには、例えば、電子メールデータや顧客管理データ等のような多種多様のデータが、時々刻々と蓄積されていく。そこで、例えば、電子メールデータを自動的にアーカイブできるようにしたメールアーカイブシステムが提案されている(特許文献1)。
特開2001−344178号公報
上記文献に記載のアーカイブシステムでは、独自形式の電子メールデータを汎用データベースに記憶させることができる。しかし、この文献には、電子メールデータを記憶するデバイスについて何らの言及も含まれていない。もしも、例えば、電子メールデータを単純にハードディスクドライブ等に記憶させるだけの場合は、データを改ざんされる可能性がある。また、例えば、データ改ざん防止のために、CD-R等の追記型デバイスに記憶させる場合、これらのデバイスは比較的入出力速度が低いため、後日のデータ利用に不便である。
そこで、本発明の一つの目的は、ランダムアクセス可能な記憶デバイスを用いて追記型のボリュームを生成し、ファイルデータの保存に利用できるようにしたストレージシステム及びストレージ装置のアーカイブ管理方法を提供することにある。本発明の一つの目的は、データ改ざんを防止すると共に、後日のデータ利用の利用性を向上できるようにしたストレージシステム及びストレージ装置のアーカイブ管理方法を提供することにある。本発明の一つの目的は、データ改ざんを防止すると共に、記憶デバイスを繰り返し再利用可能としたストレージシステム及びストレージ装置のアーカイブ管理方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明の一つの観点に従うストレージシステムは、ホスト装置とストレージ装置とを備えるストレージシステムであって、ストレージ装置は、ランダムアクセス可能な少なくとも一つ以上の記憶デバイスと、記憶デバイスに基づいて生成され、保存期間が対応付けられるボリュームと、ホスト装置からの要求に応じて、ボリュームとの間でデータ入出力を行う制御部とを備えている。そして、ホスト装置は、保存期間に適合する少なくとも一つ以上のファイルデータをストレージ装置に送信してボリュームに記憶させるファイル管理部を備えている。さらに、制御部は、ホスト装置から入力されたファイルデータをその先頭から順番にボリュームの空き領域に書き込み、ファイルデータが書き込まれた領域を書込み禁止領域として管理する。
ランダムアクセス可能な記憶デバイスとしては、例えば、ハードディスクドライブ、半導体メモリドライブ、フレキシブルディスクドライブ等を挙げることができる。例えば、複数の記憶デバイスがそれぞれ提供する物理的な記憶領域上に、ファイルデータを格納させるためのボリュームが設けられる。このボリュームには、例えば、1年間や3年間等のように、予め保存期間が対応付けられる。即ち、保存期間毎にそれぞれボリュームを用意することができる。
ホスト(以下、「ホスト」とも呼ぶ)のファイル管理部は、予め保存期間を指定して、ファイルデータをストレージ装置に送信する。ホストから送信されるファイルデータの保存期間と、ファイルデータを記憶するボリュームに対応付けられている保存期間とは一致する。このように、両者の保存期間が一致することを、本明細書では「保存期間が適合する」と呼ぶ。
ストレージ装置の制御部は、ボリュームの空き領域に、ファイルデータの先頭から順番にファイルデータを書き込んでいく。ボリュームの空き領域は、各ファイルデータ毎に順番に使用されていく。制御部は、空き領域の先頭アドレスから順番に、ファイルデータをその先頭から順番に書き込んでいく。即ち、ランダムアクセス可能なボリュームに、ファイルデータはシーケンシャルに書き込まれていく。そして、ファイルデータの書込みを終えると、制御部は、ファイルデータの書き込まれている記憶領域を、書込み禁止領域として管理する。書込み禁止領域とは、その領域への書込みが禁止される領域である。なお、書込み禁止領域からのファイルデータ読出しは、許可することができる。
これにより、本発明では、ランダムアクセス可能なボリュームを、いわゆるWORM(Write Once Read Meny)デバイスのように、追記型のボリュームとして使用することができ、ファイルデータを保存(アーカイブ)することができる。そして、ランダムアクセスにより、目的のファイルデータに比較的高速にアクセスすることができ、使い勝手が向上する。なお、ファイル管理部は、例えば、アーカイブマネージャと呼ぶことができ、制御部は、ストレージコントローラと呼ぶことができる。
ファイル管理部は、それぞれ保存期間に適合する複数種類のファイルデータを、ストレージ装置に送信してボリュームにそれぞれ記憶させることができる。複数種類のファイルデータとしては、例えば、ボリュームに記憶させるためのトリガがそれぞれ異なるファイルデータを挙げることができる。このトリガには、周期性を有するものと非周期性を有するものとがある。
例えば、文書作成アプリケーションや表計算アプリケーション等のアプリケーションプログラムを用いて、ユーザが作成する第1ファイル型のファイルデータは、ユーザがアーカイブ実行(バックアップでもある)を指示した場合に、ボリュームに記憶される。即ち、第1ファイル型に属するファイルデータは、ユーザによって、非周期的に(必要に応じて随時に)、ボリュームへの記憶が指示される。
これに対し、例えば、OS(Operating System)の使用するシステムファイルや構成設定ファイル等のような制御ファイルは、管理者によって、周期的にボリュームへの記憶が指示される。これらの制御ファイルは、第2ファイル型として分類可能である。
さらに、例えば、バッチジョブプログラムにより生成されるファイルデータは、生成直後にバックアップ可能である。このようなバッチジョブファイルは、バッチジョブプログラムによって非周期的に、ボリュームへの記憶が指示される。この種のファイルデータを第3ファイル型と呼ぶこともできる。
このように、ホストによって生成されるファイルデータは、そのアーカイブに関して、それぞれ異なる複数の属性を備えている。第1の属性は、その保存期間である。第2の属性は、アーカイブ実行のトリガである。そして、第1の属性に基づいて、そのファイルデータの格納先ボリュームが選択される。従って、その選択されたボリュームには、第1の属性を共通にし、第2の属性がそれぞれ異なる複数種類のファイルデータが混在して記憶される。
制御部は、書込み禁止領域を管理するための一つの方法として、書込み禁止領域の範囲を検出するための書込み禁止ポインタを使用することができる。本発明の一つの実施態様では、制御部は、ボリュームに書き込まれたファイルデータの終端アドレスを書込み禁止ポインタによって管理する。
制御部は、ホスト装置からのアクセス要求に含まれるアドレス情報と書込み禁止ポインタの示す終端アドレスとを比較することにより、ホスト装置からのアクセス要求が書込み禁止領域に関するものであるか否かを判定し、書込み禁止領域への書込みを禁止させるようになっている。ホストからのアクセス要求には、例えば、書込み開始アドレス及びデータサイズが明示されている。制御部は、書込み開始アドレスが終端アドレスよりも前ならば(書込みアドレスの値が終端アドレスの値よりも小さいならば)、書込み禁止領域へのアクセス要求であると判定することができる。このアクセス要求がライト要求の場合、制御部は、このライト要求の実行を拒否する。ライト要求の実行拒否は、例えば、制御部からホストへライト要求を実行できない旨を通知することにより行われる。
本発明の他の実施態様では、書込み禁止領域の始まりと終わりをそれぞれ検出するために、複数の書込み禁止ポインタを用いる。第1書込み禁止ポインタは、ボリュームに書き込まれたファイルデータの先頭アドレス、即ち、書込み禁止領域の開始アドレスを示す位置情報である。第2書込み禁止ポインタは、ボリュームに書き込まれたファイルデータの終端アドレス、即ち、書込み禁止領域の終了アドレスを示す位置情報である。
制御部は、アクセス要求に含まれるアドレス情報と第1書込み禁止ポインタ,第2書込み禁止ポインタがそれぞれ示す先頭アドレス,終端アドレスとを比較することにより、ホスト装置からのアクセス要求が書込み禁止領域に関するものであるか否かを判定し、書込み禁止領域への書込みを禁止させることができる。
本発明の他の実施態様では、制御部は、ファイルデータがボリュームに記憶されてからの経過時間を管理し、この経過時間が保存期間に達した場合は、このファイルデータが記憶されていた領域を空き領域として再使用する。ボリュームには、保存期間が同一のファイルデータが順番に追記されていく。従って、ボリュームにそれぞれ記憶された各ファイルデータは、その記憶された順番に、指定された保存期間を満了してゆく。
ボリュームに記憶後の経過時間が保存期間に達したファイルデータは、保存しておく必要がない。そこで、制御部は、この保存の必要が無くなったファイルデータが記憶されている領域を空き領域として解放し、新たなファイルデータの記憶に再使用する。従って、ある時点において、ボリューム内には、その前側とその後側とにそれぞれ空き領域が存在し、これら空き領域に挟まれるような形で書込み禁止領域が存在する。時間の経過につれて、古いファイルデータの記憶領域は解放される。一方、時間の経過につれて、書込み禁止領域に後続する空き領域には、新たなファイルデータが順次記憶されていく。
従って、ボリュームのサイズ及びファイルデータのアーカイブ頻度及びファイルデータのサイズ等によっても異なるが、書込み禁止領域は、時間の経過に従って、ボリュームの記憶空間内を移動していく。これにより、ボリュームを繰り返し使用することができ、比較的低コストでアーカイブ管理を行うことができる。
本発明の一つの実施態様では、ファイル管理部は、ストレージ装置にライト要求を発行する際に、予め制御部からボリュームの空き領域の先頭アドレスを取得し、この取得した先頭アドレスに基づいてライト要求の書込み開始アドレスを決定する。これにより、書込み禁止領域に続く空き領域の先頭から順番に、ファイルデータを書き込んで記憶させることができる。
本発明の一つの実施態様では、ファイル管理部は、制御部にボリューム初期化要求を発行することができる。そして、制御部は、ボリューム初期化要求に基づいて、書込み禁止領域を空き領域に変更させる。これにより、例えば、ファイルデータで満杯になった古いボリュームを空きボリュームとして再利用することができる。
本発明の一つの実施態様では、制御部は、ファイルデータを記憶させるための所定量以上の空き領域がボリュームに存在しない場合、ボリュームに対応付けられている保存期間と同一の保存期間が対応付けられている別のボリュームを用いて、ファイルデータを記憶させる。例えば、制御部は、同一の保存期間が設定される別のボリュームを新たに生成することができる。また、例えば、制御部は、保存期間が設定されていない未使用のボリュームに、ファイルデータの保存期間に一致する保存期間を設定してから使用することもできる。さらに、例えば、制御部は、同一の保存期間が設定済の別のボリュームを検索し、その空き領域にファイルデータを格納させることもできる。
本発明の一つの実施態様では、ボリュームは、ファイル管理領域とデータ記憶領域とを備えている。データ記憶領域には、ホスト装置から入力されたファイルデータが書換不能に記憶される。ファイル管理領域には、データ記憶領域に記憶されているファイルデータを管理するための第1ファイル管理情報が書換可能に記憶される。これにより、データ記憶領域を順番に繰り返して利用する場合でも、ファイル管理領域に随時第1ファイル管理情報を記憶させて、ボリューム内のファイルデータを管理することができる。また、ファイル管理領域にランダムアクセスすることにより、所望の第1ファイル管理情報を比較的高速に読み出すことができる。
本発明の一つの実施態様では、データ記憶領域には、ファイルデータを管理するための第2ファイル管理情報がファイルデータに関連付けられて書換不能に記憶されている。そして、第1ファイル管理情報と第2ファイル管理情報とは関連付けられている。ファイル管理領域は書換可能な記憶領域であるため、例えば、過度にアクセスされたような場合には、第1ファイル管理情報の一部または全部が破損することも考えられる。この場合、データ記憶領域に記憶されている第2ファイル管理情報に基づいて、ファイル管理領域の第1ファイル管理情報を復元させることができる。
ここで、第2ファイル管理情報には、次に記憶されるファイルデータの先頭アドレスを含めることもできる。従って、先に記憶されている第2ファイル管理情報を参照することにより、次に記憶されているファイルデータの記憶開始アドレスを用意に求めることができる。そして、データ記憶領域では、第2ファイル管理情報に続いてファイルデータの本体を記憶させることができる。従って、第2ファイル管理情報を順番に用意に辿ることができ、全ての第2ファイル管理情報を比較的高速に読み出すことができる。これにより、ファイル管理領域を比較的短時間で復元させることができる。
本発明のさらに別の実施態様では、ファイル管理部は、ファイルデータが記憶時期のそれぞれ異なる複数世代でボリュームにそれぞれ記憶されている場合、ファイルデータのファイル名をディレクトリ名とし、複数世代をそれぞれ識別する時間情報を該各世代毎のファイル名として提供可能となっている。例えば、ファイルデータが複数回の修正を経て完成するような場合、それぞれの修正が行われる度に、そのファイルデータがボリュームに記憶されることがある。この場合、同一のファイル名でありながら、その内容がそれぞれ異なる複数世代のファイルデータが、ボリューム内に併存する。
このように、同一ファイル名のファイルデータが複数世代存在する場合、ファイル管理部は、その共通のファイル名を仮想的なディレクトリ名として使用する。そして、ファイル管理部は、この仮想ディレクトリ内に、例えば、各世代を区別する時間情報を各世代のファイル名として使用し、表示させる。即ち、ファイル名”file1.txt”というファイルデータが、2004年12月と2005年1月のそれぞれでボリュームに記憶されている場合、元のファイル名をディレクトリ名として使用し、各記憶日を個別のファイル名として表示させる。これにより、ユーザは、目的とする世代のファイルデータを直ちに特定して選択することができる。
本発明の他の観点に従うストレージ装置のアーカイブ管理方法は、ホスト装置から入力されるファイルデータをストレージ装置の有するボリュームに記憶させるアーカイブ管理方法であって、ランダムアクセス可能な少なくとも一つ以上の記憶デバイスに基づいてボリュームを生成させるステップと、生成されたボリュームに、ホスト装置から指示された保存期間を対応付けるステップと、ホスト装置からファイルデータを受信するステップと、受信したファイルデータに関連付けられている保存期間と同一の期間が設定されているボリュームを選択するステップと、選択されたボリュームの空き領域を検出するステップと、検出された空き領域に、受信したファイルデータを先頭から順番に書き込むステップと、ファイルデータが書き込まれている領域を書込み禁止領域として管理するステップと、を含んでいる。
本発明のさらに別の観点に従うストレージ装置は、ランダムアクセス可能な少なくとも一つ以上の記憶デバイスと、それぞれ異なる保存期間毎に、記憶デバイスに基づいてそれぞれ生成される少なくとも一つ以上のボリュームと、ホスト装置からの要求に応じて、ボリュームとの間でデータ入出力を行う制御部とを備え、制御部は、(1)ホスト装置からファイルデータを入力された場合、ボリュームの中から、ファイルデータに指定されている保存期間と一致する保存期間を有するボリュームを選択し、(2)ファイルデータを、その先頭から順番に選択されたボリュームの空き領域に書き込み、(3)ファイルデータが書き込まれた領域を書込み禁止領域として管理する。
本発明の機能、手段、ステップの全部または一部は、例えば、マイクロコンピュータにより実行されるコンピュータプログラムとして構成可能な場合がある。そして、このコンピュータプログラムは、例えば、ハードディスク、光ディスク、半導体メモリ等の記憶媒体に固定して配布することができる。または、コンピュータプログラムをインターネット等の通信ネットワークを介して、配信することもできる。
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、以下に述べるように、ランダムアクセス可能な記憶デバイスに所定の保存期間を設定し、この記憶デバイスにシーケンシャルにファイルデータを書込み、かつ、書換不能に管理する。
図1は、本実施形態の全体概念図である。詳細はさらに後述するが、図1に示すように、本実施形態のホスト装置1(以下、「ホスト」)は、例えば、FC_SAN(Fibre Channel_Storage Area Network)やLAN(Local Area Network)等のような通信ネットワークを介して、ストレージ装置2に双方向通信可能に接続されている。
ホスト1のアプリケーションプログラム(以下、「アプリケーション」)1Aは、ストレージ装置2に対してデータを読み書きすることにより、図外のクライアント端末に対して所定の情報処理サービスを提供する。
アーカイブ管理部1Bは、ストレージ装置2にアーカイブさせるファイルを管理するものである。アーカイブ管理部1Bは、アーカイブタイミングを制御するためのタイミング情報1B1と、ファイルデータの保存期間(Retention Term)を制御するための保存期間情報1B2とを備えている。
アーカイブ管理部1Bは、管理装置3からの指示に基づいて、所定の保存期間に対応付けられるボリュームをストレージ装置2に用意させる。また、アーカイブ管理部1Bは、既に生成されているボリュームを初期化し、別の保存期間に対応付けて再利用することもできる。
ストレージ装置2は、例えば、ディスクアレイ装置として構成可能である。ストレージ装置2は、制御部4と、オンラインボリューム5Aと、複数のアーカイブボリューム5B1,5B2とを備えて構成することができる。
制御部4は、ストレージ装置2の全体動作を制御し、ホスト1からのアクセス要求に応じて、各ボリューム5A,5B1,5B2との間でデータ入出力を行う。アクセス要求の処理は、I/O(Input/Output)処理部4Aによって実行される。書込み禁止領域管理部4Bは、アーカイブボリューム5B1,5B2に既にファイルデータが書き込まれている領域に、別のデータが上書きされないように管理するものである。保存期間管理部4Cは、アーカイブボリューム5B1,5B2に記憶されているファイルデータの保存期間が満了したか否か管理するものである。
オンラインボリューム5Aは、ホスト1によって使用されているボリュームであり、各種のファイルデータ6A,6B,6Cがそれぞれ記憶されている。オンラインボリューム5Aは、アーカイブボリューム5B1,5B2と同様に、例えば、ハードディスクドライブ等のランダムアクセス可能な記憶デバイスの記憶領域を利用して生成される。
第1のファイル型に属する文書ファイル6Aは、ユーザによって作成されるファイルである。文書ファイル6Aのアーカイブタイミング(アーカイブボリュームに記憶させる時期)は、ユーザによって決定される。
第2のファイル型に属する制御ファイル6Bは、例えば、システムファイルや構成設定ファイル、インストール履歴ファイル等のように、ホスト1のOSによって使用される制御用のファイルである。この制御ファイル6Bは、例えば、システム管理者によって管理される。制御ファイル6Bは、システム管理者により決定される所定の周期で、アーカイブボリューム5B1,5B2のいずれか又は両方に記憶される。
第3のファイル型に属するバッチジョブファイル6Cは、バッチジョブプログラムにより作成されるものである。このバッチジョブファイル6Cは、バッチジョブプログラムがバッチジョブファイル6Cを生成した時点(更新時点)で、アーカイブボリューム5B1,5B2のいずれか又は両方に記憶させることができる。
アーカイブボリューム5B1,5B2には、それぞれ異なる保存期間RT1,RT2が予め設定されている。これら保存期間RT1,RT2は、保存期間管理部4Cによって管理されている。ファイルデータの保存期間は、そのファイルの種類や目的等によっても相違するが、例えば、1年間、3年間、7年間等のように設定される。
制御部4は、オンラインボリューム5Aに記憶される各ファイル6A〜6Cの各保存期間に応じて、例えば、1年間保存用ボリューム、3年間保存用ボリューム等のように、各保存期間に対応するアーカイブボリューム5B1,5B2をそれぞれ生成する。
各アーカイブボリューム5B1,5B2は、それぞれ書込み禁止ポインタPによって、書込み禁止領域への書込みが禁止されている。換言すれば、この書込み禁止ポインタPにより、アーカイブボリューム5B1,5B2にファイルデータを書込み可能な領域が規定される。
第1のアーカイブボリューム5B1は、一つの書込み禁止ポインタP1によって、書込み禁止領域と書込み可能領域(空き領域)とを区別している。第2のアーカイブボリューム5B2は、第1書込み禁止ポインタP2Aと第2書込み禁止ポインタP2Bとの複数のポインタを用いて、書込み禁止領域と書込み可能領域とを区別している。第1書込み禁止ポインタP2Aは、アーカイブボリューム5B2に記憶されている最古のファイルデータの先頭アドレスを示す。従って、このポインタP2Aは、書込み禁止領域開始ポインタ、または先頭ポインタと呼ぶことができる。第2書込み禁止ポインタP2Bは、アーカイブボリューム5B2に記憶されている最新のファイルデータの終端アドレスを示す。従って、このポインタP2Bは、書込み禁止領域終了ポインタ、または終端ポインタと呼ぶことができる。
各アーカイブボリューム5B1,5B2には、その先頭アドレスから順番にファイルデータが連続的に記憶されていく。即ち、ボリュームの先頭からボリュームの末尾に向けて、各ファイルデータが順番に途切れることなく連続して記憶される。そして、書込み禁止ポインタP1,P2Bは、最新のファイルデータが記憶される度にその終端アドレスに移動する。
各アーカイブボリューム5B1,5B2は、それぞれ保存期間RT1,RT2が設定されており、この保存期間RT1,RT2に対応するファイルデータが、それぞれのアーカイブボリューム5B1,5B2に記憶される。例えば、RT1=1年間、RT2=3年間とすると、1年間の保存が指定されたファイルデータは、第1アーカイブボリューム5B1に記憶され、3年間の保存が指定されたファイルデータは、第2アーカイブボリューム5B2に記憶される。
各アーカイブボリューム5B1,5B2には、それぞれ保存期間が同一のファイルデータのみが記憶される。従って、各ボリューム5B1,5B2内において、最古のファイルデータから順番にその保存期間が満了し、保存の必要が無くなる。保存期間が満了するとは、ファイルデータがアーカイブボリュームに記憶されてからの経過期間が、そのアーカイブボリュームに設定されている保存期間(そのファイルデータについて指定された保存期間)に到達した場合を言う。
そこで、保存期間が満了したファイルデータの終端アドレスまで、第1書込み禁止ポインタP2Aの位置を移動させることにより、そのファイルデータの記憶されていた領域を解放し、書込み可能領域に変更させる。換言すれば、第1書込み禁止ポインタP2Aの位置を更新させることにより、保存期間の満了したファイルデータを記憶する領域は、その属性が「書込み禁止」から「書込み可能」に変更される。
本実施形態の作用を説明する。まず最初に、アーカイブ管理部1Bは、制御部4に対して、書込み禁止ポインタのリセットを命じる(S1)。そして、アーカイブ管理部1Bは、書込み禁止ポインタの初期値を制御部4から取得する(S2)。これにより、アーカイブ管理部1Bは、アーカイブボリューム5B1,5B2を利用可能となる。
アプリケーション1Aは、オンラインボリューム5Aに記憶されている所望のファイルにアクセスして、ファイルデータを読み出すことができる(S3)。また、図示は省略するが、アプリケーション1Aは、読出したファイルデータの全部または一部を更新して、オンラインボリューム5Aに記憶させることもできる。
アーカイブ管理部1Bは、管理装置3により設定されたアーカイブタイミングが到来すると、アーカイブ対象となっている所定のファイルデータをオンラインボリューム5Aから読出す(S3)。
アーカイブ管理部1Bは、この読出したファイルデータを、所定のアーカイブボリューム5B1,5B2に記憶させる(S4,S5)。つまり、アーカイブ管理部1Bは、アーカイブ対象のファイルデータに設定されている保存期間を確認し、この保存期間と一致する保存期間に設定されているアーカイブボリュームにファイルデータを記憶させる。従って、各アーカイブボリューム5B1,5B2には、それぞれ保存期間が同一のファイルデータのみが記憶される。先にアーカイブされたファイルデータから順番に、その保存期間の満了を迎えることになる。
本実施形態は、上述のように構成されるので以下の効果を奏する。本実施形態では、ランダムアクセス可能なアーカイブボリューム5B1,5B2に、各ファイル6A〜6Cのファイルデータをシーケンシャルに記憶させることができる。これにより、本実施形態では、アーカイブボリューム5B1,5B2をWORMデバイスとして使用できる。従って、例えば、CD−R等の光ディスク媒体に比べて、アーカイブされたファイルデータを比較的高速に読み出すことができ、使い勝手が向上する。
本実施形態では、それぞれアーカイブに関する属性が異なる種々のファイル6A〜6Cを、その指定された保存期間に応じて、同一または異なるアーカイブボリューム5B1,5B2に記憶させることができる。即ち、各ファイル6A〜6Cは、アーカイブに関する第1属性として、それぞれ保存期間がユーザや管理者により指定される。また、各ファイル6A〜6Cは、アーカイブに関する第2属性として、アーカイブボリューム5B1,5B2に記憶される時期(アーカイブ実行)を備え、各ファイル型に由来するタイミングでそれぞれアーカイブされる。本実施例では、アーカイブ実行タイミングがそれぞれ異なる複数種類のファイル6A〜6Cであっても、その指定された保存期間が等しい場合は、その保存期間に対応するアーカイブボリュームに記憶させることができる。
本実施形態では、書込み禁止ポインタPを用いて、ファイルデータが既に記憶された領域を書込み禁止領域として管理する。従って、比較的簡単な構成で、アーカイブボリューム5B1,5B2をWORMデバイスとして使用することができる。
本実施形態では、書込み禁止領域の先頭及び終端をそれぞれ検出するポインタP2A,P2Bを用いる。そして、本実施形態では、ファイルデータがアーカイブボリューム5B2に記憶されてからの経過時間を管理する。この経過時間が保存期間に達した場合、そのファイルデータが記憶されていた領域を空き領域として再使用する。これにより、アーカイブ5B2を繰り返して利用することができ、アーカイブ管理コストの低減を図ることができる。
本実施形態では、書込み禁止ポインタPをリセットさせることにより、使用中のアーカイブボリュームを改めて再利用することができる。従って、例えば、企業組織の改編等により、記憶されているファイルデータを保存する必要が無くなった場合は、そのアーカイブボリュームをリセットして、別のアーカイブに用いることができる。
後述の実施例のように、アーカイブボリューム5B1,5B2の空き領域が少ない場合、他のアーカイブボリュームを用いてアーカイブ処理を続行することもできる。
また、後述の実施例のように、各アーカイブボリューム5B1,5B2にファイル管理領域とデータ記憶領域とをそれぞれ設け、データ記憶領域にファイルデータを書換不能に記憶させることもできる。そして、後述の実施例のように、ファイル管理領域には第1ファイル管理情報を記憶させ、データ記憶領域に第2ファイル管理情報を記憶させ、各ファイル管理情報を関連付けておくことができる。
後述の実施例のように、ファイルデータが複数世代で記憶されている場合、そのファイルデータのファイル名をディレクトリ名とし、各世代をそれぞれ識別する時間情報を当該世代のデータのファイル名として、管理装置3の画面に表示等させることができる。
図2は、ストレージシステムの全体概要を示すブロック図である。このストレージシステムは、それぞれ後述するように、例えば、ホスト10と、アーカイブ管理端末20と、スイッチ30と、ストレージ管理端末40及びストレージ装置100とを備えて構成することができる。
ホスト10は、例えば、いわゆるオープン系ホストとメインフレーム系ホストとに大別できる。オープン系ホストとしては、例えば、Windows(登録商標)やUNIX(登録商標)等の汎用的なOS(Operating System)を搭載し、FC(Fibre Channel)、iSCSI(Internet SCSI)、TCP/IP(Transmission Control Protocol/Internet Protocol)等の比較的汎用性のある通信プロトコルを介してストレージ装置100にアクセスするサーバマシンを挙げることができる。メインフレーム系ホストとしては、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルを介してストレージ装置100にアクセスするメインフレームマシンを挙げることができる。
ホスト10は、例えば、メタルケーブルや光ファイバケーブル、スイッチ30等を含むことができる通信ネットワークCN1を介して、ストレージ装置100に接続することができる。図中では、一つのホスト10のみを示すが、複数のホスト10を設けることもできる。また、オープン系ホストとメインフレーム系ホストとを混在させてもよい。
ホスト10は、例えば、一つまたは複数のHBA(Host Bus Adapter)11と、アーカイブ管理端末20との通信インターフェース(以下「通信I/F」)12と、デバイスドライバプログラム(以下、「デバイスドライバ」)13と、OS14と、アーカイブ管理部15と、アプリケーションプログラム(以下、「アプリケーション」)16と、を備えて構成することができる。
各HBA11は、所定のプロトコルに基づいて、ストレージ装置100との間のデータ通信を行うものである。通信I/F12は、例えば、TCP/IP等のプロトコルに基づいて、アーカイブ管理端末20との間でデータ通信を行うものである。
デバイスドライバ13は、各HBA11や通信I/F12を制御する。アプリケーション16は、例えば、電子メール処理プログラムや文書作成プログラムである。アーカイブ管理部15は、ファイルデータのアーカイブを管理する。詳細はさらに後述するが、アーカイブ管理部15は、アプリケーション16等により生成されたアーカイブ対象のファイルデータを、所定のタイミングで所定のボリュームに記憶させる。
アーカイブ管理端末20は、例えば、LANやインターネット等の通信ネットワークCN4を介して、ホスト10に接続されている。アーカイブ管理端末20は、例えば、ウェブヴラウザ等のユーザインターフェース(以下「UI」)21を備えている。システム管理者やユーザは、UI21を介して、アーカイブ管理部15にアーカイブ実行タイミング等を指示することができる。
スイッチ30は、ホスト10とストレージ装置100とを接続する中継装置である。スイッチ30を介さずに、ホスト10とストレージ装置100とを接続してもよい。複数のスイッチ30を介して、ホスト10とストレージ装置100とを接続してもよい。
ストレージ管理端末40は、後述のサービスプロセッサ(SVP)170を介して、ストレージ装置100の各種情報を収集したり、ストレージ装置100に必要な指令を与えるための装置である。ストレージ管理端末40は、例えば、LAN(Local Area Network)等の通信ネットワークCN2を介して、SVP170に接続されている。ストレージ管理端末40は、例えば、ウェブブラウザをベースとしたGUI(Graphical User Interface)を備えており、SVP170が提供するWWW(World Wide Web)サーバにログインすることにより、各種情報の収集と指令の入力とを行う。なお、ホスト10からストレージ装置100の状態を管理する構成でもよい。
ストレージ装置100は、例えば、複数のCHA(CHannel Adapter)110と、複数のDKA(DisK Adapter)120と、キャッシュメモリ130と、共有メモリ140と、接続制御部150と、記憶部160と、SVP170とを備えて構成することができる。
ストレージ装置100には、複数のCHA110を設けることができる。各CHA110は、HBA11との間のデータ転送を制御する制御パッケージである。各CHA110は、複数の通信ポート111を備えることができ、少なくとも一つ以上のホスト10と接続可能である。ホスト10が複数存在する場合、各CHA110は、複数のホスト10との間のデータ転送をそれぞれ個別に制御できる。
ストレージ装置100には、複数のDKA120を設けることができる。各DKA120は、記憶部160とのデータ転送をそれぞれ制御する制御パッケージである。各DKA120は、例えば、ホスト10から指定された論理ブロックアドレス(LBA)を物理ディスクのアドレスに変換等することにより、各ディスクドライブ161にアクセスし、データの読出しまたはデータの書込みを行う。
キャッシュメモリ130は、ホスト10から書き込まれたライトデータや、ホスト10に読み出されたリードデータを記憶するものである。キャッシュメモリ130は、例えば、揮発または不揮発のメモリから構成可能である。キャッシュメモリ130が揮発性メモリを含んで構成される場合、図示せぬバッテリ電源等によりメモリバックアップを行うことが好ましい。
共有メモリ(あるいは制御メモリとも呼ばれる)140は、例えば、不揮発メモリから構成可能であるが、揮発メモリから構成してもよい。共有メモリ140には、例えば、制御情報や管理情報等が記憶される。これらの制御情報等の情報は、複数のメモリ140により多重管理することができる。例えば、テーブルTには、どのボリュームがどのディスクドライブ161から構成されており、どのホスト10から利用可能であるか等の制御情報が記憶されている。
共有メモリ140及びキャッシュメモリ130は、それぞれ別々のメモリパッケージとして構成することもできるし、同一のメモリパッケージ内にキャッシュメモリ130及び共有メモリ140を設けてもよい。また、メモリの一部をキャッシュ領域として使用し、他の一部を制御領域として使用することもできる。つまり、共有メモリとキャッシュメモリとは、同一のメモリまたはメモリ群として構成することもできる。
接続制御部150は、各CHA110と、各DKA120と、キャッシュメモリ130と、共有メモリ140とをそれぞれ相互に接続するものである。これにより、全てのCHA110,DKA120は、キャッシュメモリ130及び共有メモリ140にそれぞれ個別にアクセス可能である。接続制御部150は、例えば、超高速クロスバスイッチ等として構成することができる。
なお、CHA110,DKA120,キャッシュメモリ130及び共有メモリ140を一つまたは複数のコントローラに集約することもできる。
記憶部160は、多数のディスクドライブ161を備えて構成される。記憶部160は、各CHA110及び各DKA120等のコントローラ部分と共に同一の筐体内に設けることもできるし、コントローラ部分とは別の筐体内に設けることもできる。
記憶部160は、例えば、複数種類のディスクドライブ161を混在させて構成することができる。ディスクドライブ161としては、例えば、FCディスク(ファイバチャネルディスク)、SCSI(Small Computer System Interface)ディスク、SATA(Serial AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。なお、ディスクの種類は、上記のものに限定されず、例示したディスクドライブと同等の記憶デバイスまたは将来開発されるであろう記憶デバイスを利用可能な場合もある。例えば、半導体メモリ装置を用いてボリュームを形成する構成でもよい。
記憶部160には、複数のパリティグループ(RAIDグループとも呼ばれる)162を設けることができる。各パリティグループ162は、同一種類の物理ディスク161からそれぞれ構成される。即ち、あるパリティグループ162は、FCディスクのみから構成され、他のパリティグループ162は、SATAディスクのみから構成される。
そして、各パリティグループ162がそれぞれ提供する論理的な記憶領域には、少なくとも一つ以上の論理ボリューム(LDEVとも呼ぶ)を設けることができる。この論理ボリュームをLU(Logical Unit)に対応付けることにより、オープン系のホスト10は、そのボリュームを物理的な記憶デバイスとして認識し、利用することができる。なお、オープン系ホスト10のアクセス対象ボリュームはLUであるが、メインフレーム系ホストのアクセス対象は、論理ボリューム(LDEV)となる。
ところで、ストレージ装置100が使用する記憶資源は、全てストレージ装置100内に存在する必要はない。ストレージ装置100は、ストレージ装置100の外部に存在する他のストレージ装置の記憶資源を、あたかも自己の記憶資源であるかのように取り込んで、利用することもできる。
SVP170は、LAN等の内部ネットワークCN3を介して、例えば、各CHA110とそれぞれ接続されている。SVP170は、CHA110を介して共有メモリ140にアクセスすることにより、各DKA120の状態を検出することもできる。SVP170は、ストレージ装置100内部の各種状態を収集し、そのままで又は加工して、ストレージ管理端末40に提供する。また、SVP170は、ストレージ管理端末40から入力されたデータを共有メモリ140内のテーブルTに登録させることもできる。
図3は、ストレージシステムの主要な構成に着目した概略構成図である。ストレージ装置100は、例えば、制御部200と、オンラインボリューム300及びアーカイブボリューム400とを備えることができる。
制御部200は、ストレージ装置100の全体動作を制御するものであり、具体的には、例えば、各CHA110及び各DKA120がそれぞれ備える制御機能を集約したものである。制御部200は、I/O処理部210と、ポインタ管理部220とを備えることができる。
オンラインボリューム300は、アプリケーション16によって利用されるボリュームであり、各種のファイル310〜330をそれぞれ記憶可能である。文書ファイル310は、例えば、文書や図面等のように、ユーザによって生成されるファイルである。制御ファイル320は、例えば、構成設定ファイルやインストール履歴ファイル等のように、ホスト10のOS14等によって生成されるファイルである。バッチジョブファイル(図中「バッチファイル」)330は、バッチジョブプログラムによって生成されるファイルである。
アーカイブボリューム400は、オンラインボリューム300に記憶されているファイルのデータを記憶するためのものである。アーカイブボリューム400の詳細は、さらに後述するが、そのデータ記憶領域420には、書込み禁止領域430及び書込み可能領域440がそれぞれ設けられる。
書込み禁止領域430は、オンラインボリューム300から読み出されたファイルデータが記憶されている記憶済領域である。書込み禁止領域430の終端アドレスは、書込み禁止ポインタ401によって管理される。書込み可能領域440は、新たなファイルデータを書き込んで記憶させることが可能な空き領域である。
制御部200の構成を説明する。I/O処理部210は、ホスト10からオンラインボリューム300またはアーカイブボリューム400のいずれかに対するアクセス要求(リード要求及びライト要求)を、それぞれ個別に処理する。
リード要求の場合、I/O処理部210は、オンラインボリューム300またはアーカイブボリューム400のいずれか又は双方からデータを読出し、キャッシュメモリ130に記憶させる(これをステージング処理と呼ぶ)。I/O処理部210は、ステージングされたデータを、ホスト10に送信する。
ライト要求の場合、I/O処理部210は、ホスト10から受信したライトデータをいったんキャッシュメモリ130に記憶させた後、直ちにホスト10に対してライト要求の処理が完了した旨を通知する。その後、I/O処理部210は、キャッシュメモリ130に記憶されたライトデータを所定のボリュームの所定の位置に記憶させる(これをディステージ処理と呼ぶ)。このように、ホスト10へ処理完了を通知する時期とボリュームへの書込み時期とが異なる方式を非同期方式と呼ぶ。これに対し、ホスト10から受信したライトデータを所定のボリュームに書き込んだ後で、ホスト10に処理完了を通知する方式を同期方式と呼ぶ。いずれの方式でも採用することができる。
I/O処理部210は、アーカイブボリューム400へのライト要求である場合、ポインタ管理部220に書込み禁止ポインタ401の値を問合せる。そして、I/O処理部210は、書込み禁止領域430へのライト要求であると判断した場合、例えば、ホスト10に書込み不能等を通知し、書込みを排除する。
ポインタ管理部220は、アーカイブボリューム400の書込み禁止領域430を管理するものである。アーカイブボリューム400には、その先頭から順番に、アーカイブされるファイルデータが間をあけずに連続して書き込まれていく。そして、アーカイブボリューム400に書き込まれた最後のファイルデータの終端アドレスの値が、書込み禁止ポインタ401にセットされる。従って、データ記憶領域420の開始アドレスから書込み禁止ポインタ401の示すアドレスまでの範囲が、書込み禁止領域430となる。
I/O処理部210は、書込み可能領域(空き領域とも呼ぶ)440へのファイルデータ書込みは許可するが、書込み禁止領域430へのファイルデータ書込みを禁止する。そして、アーカイブボリューム400には、ボリュームの先頭から順番に一つまたは複数のファイルデータが連続して書き込まれていく。このように、アーカイブボリューム400は、追記型の記憶ボリュームとして利用される。
ホスト10及びアーカイブ管理端末20に目を転じると、アーカイブ管理部15は、アーカイブ管理テーブルT1を備えている。詳細は後述するが、アーカイブ管理テーブルT1は、アーカイブのタイミング等を管理するための情報であり、ホスト10の備えるメモリ装置に記憶される。アーカイブ管理部15は、アーカイブ管理テーブルT1を参照することにより、オンラインボリューム300からアーカイブ対象のファイルデータを読出して、これをアーカイブボリューム400に記憶させる。
アーカイブ管理端末20は、UI21を介して、複数の機能22〜25をそれぞれ実現させる。アーカイブボリューム登録処理22では、例えば、アーカイブに使用するボリュームを選択してアーカイブ管理部15に登録させる。アーカイブ対象指定処理23は、例えば、アーカイブすべきファイルをアーカイブ管理部15に指定する。アーカイブ取得指示処理24は、例えば、指定されたファイルデータのアーカイブボリューム400への記憶をアーカイブ管理部15に指示する。アーカイブファイル表示処理25は、例えば、アーカイブボリューム400に記憶されたファイルデータに関する情報をアーカイブ管理部15によって読み出させ、これをアーカイブ管理端末20の端末画面に表示させる。
アーカイブ管理部15は、アーカイブを行う際に、ポインタ管理部220から書込み禁止ポインタ401の値を取得する。そして、アーカイブ管理部15は、オンラインボリューム300から所定のファイルデータを読出し、この読出したファイルデータをアーカイブボリューム400の空き領域400に書き込む。
図4,図5に基づいてアーカイブボリューム400の詳細を説明する。図4は、アーカイブボリューム400の全体構成を模式的に示す説明図である。アーカイブボリューム400は、例えば、ファイル管理領域410と、データ記憶領域420とに区切ることができる。
ファイル管理領域410は、データ記憶領域420に記憶されているファイルデータに関するファイル管理情報411を記憶する。ファイル管理領域410において、ファイル管理情報411は書換可能である。データ記憶領域420に新たなファイルデータが書き込まれた場合、そのファイルデータに関するファイル管理情報411がファイル管理領域410に書き込まれる。また、データ記憶領域420に記憶されていたファイルデータが上書きされた場合、上書きされた古いファイルデータに関するファイル管理情報411は消去ないし上書きが許可され、新たなファイル管理情報411が記憶される。
データ記憶領域420は、ファイルデータを書き込むための領域である。データ記憶領域420には、複数のファイルデータを連続させて、かつ、書換不能に記憶させることができる。データ記憶領域420のうちファイルデータを書込み済の領域は、書き込み禁止領域430として書換不能に管理される。データ記憶領域420のうちファイルデータが未だ書き込まれていない未使用の領域は、書込み可能領域440となる。
データ記憶領域420に記憶される各ファイルデータは、ファイル管理情報431と、データ本体432とにそれぞれ区別することができる。ファイル管理情報431は、そのファイルデータに関する管理情報から構成される。各ファイルデータのファイル管理情報431とファイル管理領域410に記憶されている各ファイル管理情報411とは互いに関連づけられている。
図5を参照する。図5は、アーカイブボリューム400のより詳細なデータ構造の一例を示す説明図である。
アーカイブボリューム400の先頭アドレス”0”には、例えば、アーカイブボリューム400のボリューム名と、アーカイブボリューム400の所有者名と、アーカイブボリューム400の作成日時とを記憶させることができる。これに続いて、ファイル管理領域410のサイズ(L0)が記憶され、このサイズ情報に続いて、複数のファイル管理情報411がそれぞれ書換可能に記憶されている。
つまり、アーカイブボリューム400の先頭アドレス0からアドレスA1までの領域L0は、ファイル管理領域410となっている。なお、例えば、ファイル管理領域410のサイズ(L0)は、予め余裕を考慮して設定される固定値である。
ファイル管理情報411は、例えば、ファイル名と、ファイルサイズと、データ本体の格納先アドレスと、アーカイブボリューム400に記憶された日時と、ファイル管理情報431の記憶先アドレスとを含んで構成することができる。従って、ファイル管理情報411を参照することにより、目的のファイルデータが書込み禁止領域430のいずれに記憶されているかを容易に知ることができる。
アドレスA1以降の領域は、データ記憶領域420として使用される。アドレスA1からアドレスA3までの領域には、第1のファイルデータが記憶されている。詳細に見ると、アドレスA1からアドレスA2の領域には、第1のファイルデータのファイル管理情報431が記憶されている。そして、アドレスA2からアドレスA3までのサイズ(L3)の領域に、データ本体432が記憶されている。
続いて、アドレスA3からアドレスA5までの領域には、第2のファイルデータが記憶されている。詳細には、アドレスA3からアドレスA4までの領域には、第2のファイルデータのファイル管理情報431が記憶されており、アドレスA4からアドレスA5にかけてのサイズ(L4)の領域にデータ本体432が記憶されている。
ここで、書込み禁止領域430に記憶されるファイル管理情報431は、例えば、ファイル名と、ファイルサイズと、データ本体の記憶先アドレスと、記憶日時と、次の空き領域の先頭アドレスとを含んで構成することができる。
次の空き領域の先頭アドレスとは、当該ファイルデータの次に記憶される他のファイルデータの先頭アドレスである。ファイルデータは、ファイル管理情報431とデータ本体432とから構成され、ファイル管理情報431から先に記憶される。従って、次の空き領域の先頭アドレスとは、次に記憶されているファイルデータのファイル管理情報431の記憶先アドレスに他ならない。つまり、ファイル管理情報431を参照することにより、次に記憶されているファイルデータのファイル管理情報431の記憶先を容易に取得することができる。
アドレスA5以降の領域には、ファイルデータが書き込まれておらず、書込み可能領域440となっている。
図5に示す例では、アーカイブボリューム400の先頭アドレス0からサイズ(L0)の領域が、書換可能に使用されるファイル管理領域410となっている。ファイル管理領域410に続いて、サイズ(L1)+サイズ(L2)の領域が追記型のデータ記憶領域420として使用される。データ記憶領域420のうち、サイズ(L1)の領域は、複数のファイルデータが書き込まれた書込み禁止領域430として使用され、これに続くサイズ(L2)の領域は、空き領域として使用される。
図6は、アーカイブ管理に用いる各テーブルの構成例を示す説明図である。まず、(a)はアーカイブ管理テーブルT1を示す。アーカイブ管理テーブルT1は、アーカイブボリューム400毎に生成される。アーカイブ管理テーブルT1は、例えば、アーカイブ対象として設定されているファイル名やディレクトリ名と、その保存期間と、アーカイブタイミングのトリガ種別とを対応付けることにより、構成することができる。
ここで、アーカイブ対象のファイル名またはディレクトリ名は、そのアーカイブ対象にアクセスするためのパス情報として構成することができる。保存期間は、例えば、1年間または3年間等のように、ユーザやシステム管理者によって指定される。
アーカイブタイミングは、例えば、手動起動と自動起動とに大別可能である。手動起動とは、ユーザやシステム管理者からの手動操作によって、アーカイブが実行される場合である。自動起動とは、例えば、「毎正午」、「毎週」、「毎月末」等のように、予め指定された所定の周期で自動的にアーカイブが実行されることを意味する。
図6(b)は、書込み禁止ポインタ管理テーブルT2を示す。このポインタ管理テーブルT2は、ポインタ管理部220により使用される。ポインタ管理テーブルT2は、例えば、ポインタ移動日時と、書込み禁止ポインタ401の値とを対応付けることにより、構成することができる。即ち、このポインタ管理テーブルT2は、書込み禁止ポインタ401の履歴管理テーブルとして構成されている。ポインタ401の値には、データ本体432の終端アドレスが記憶される。このアドレスには、論理ブロックアドレス(LBA:Logical Block Address)を用いることができる。ポインタ401の履歴管理を行わない場合、図に示すテーブルに代えて、最新の書込み禁止アドレスのみを記憶すればよい。
次に、図7〜図10に基づいてストレージシステムの動作を説明する。なお、以下に述べる各フローチャートは、処理の概要をそれぞれ示すもので、実際のプログラムとは相違する。また、以下、「ステップ」を「S」と略記する。
図7は、アーカイブ設定処理の概略を示すフローチャートである。システム管理者は、アーカイブ管理端末20を介してアーカイブ管理部15にアクセスし(S11)、アーカイブボリュームとして使用するボリュームのアドレス情報を、アーカイブ管理部15に登録する(S12)。
次に、システム管理者からの指示により、アーカイブ管理部15は、マウントされたアーカイブボリューム400に対して、書込み禁止ポインタ401のリセットコマンドを発行する(S13)。このリセットコマンドにより、ストレージ装置100の制御部200は、アーカイブボリューム400に設定されている書込み禁止ポインタ401の値を”0”に戻し、リセットさせる。なお、アーカイブボリュームとして新品の未使用ボリュームが使用される場合、書込み禁止ポインタが未設定なので、リセットコマンドを発行する必要はない。
次に、システム管理者は、アーカイブ管理端末20を介して、アーカイブ対象のファイルやディレクトリ、アーカイブポリシー(アーカイブタイミングの種類)等を指定し、これらの情報をアーカイブ管理テーブルT1に登録させる(S14)。
図8は、アーカイブ取得処理を示すフローチャートである。この処理は、所定時刻が到来するたびに実行される(S21:YES)。
アーカイブ管理部15は、アーカイブ管理テーブルT1を参照し、アーカイブ対象として登録されているファイル名やディレクトリ名をチェックする(S22)。アーカイブ管理部15は、登録されているアーカイブ対象のファイルやディレクトリ(以下、「ファイル等」と呼ぶ場合がある)のアーカイブ時期をチェックする(S23)。
アーカイブ管理部15は、そのファイル等のアーカイブ時期(アーカイブタイミング)が到来しているか否かを判定する(S24)。アーカイブ時期が到来している場合(S24:YES)、アーカイブ管理部15は、そのファイル等の更新日時が前回のアーカイブ時における更新日時よりも新しいか否かを判定する(S25)。そのファイル等の最新の更新日時が前回のそれよりも新しい場合(S25:YES)、ファイルデータに差分が生じており、アーカイブの意義があるときである。
一方、そのファイル等に設定されているアーカイブ時期が到来していない場合(S24:NO)、または、ファイル等の更新日時が前回の更新日時と一致する場合(S25:NO)のいずれの場合は、そのファイル等のデータをアーカイブボリューム400に記憶させる必要はない。そこで、アーカイブ管理部15は、アーカイブ管理テーブルT1を参照し、次のファイル等に移動する(S26)。そして、アーカイブ管理部15は、上述のS22〜S25の処理を繰り返す。
アーカイブ時期が到来し(S24:YES)、かつ、ファイル等が前回のアーカイブ取得時から更新されている場合(S25:YES)、アーカイブ管理部15は、ストレージ装置100の制御部200から書込み禁止ポインタ401の最新の値を読み出す(S27)。
アーカイブ管理部15は、書込み禁止ポインタ401の値に基づいて、アーカイブボリューム400の空き領域サイズを算出し(S28)、アーカイブボリューム400に十分な空き領域440があるか否かを判定する(S29)。上述のように、アーカイブボリューム400は、その先頭アドレスから順番に連続して使用されるため、アーカイブボリューム400の初期サイズが既知であれば、書込み禁止ポインタ401の値によって、空き領域440のサイズを求めることができる。ここで、「十分な空き領域」とは、アーカイブ対象となっているファイルデータのサイズ以上の空き容量を意味する。
アーカイブボリューム400に十分な空き領域が存在する場合(S29:YES)、アーカイブ管理部15は、アーカイブ対象のファイルデータについてファイル管理情報431を生成する(S30)。なお、この際、アーカイブ管理部15は、次のファイルデータを記憶させるべき空き領域440の先頭アドレスを算出する(S30)。
そして、アーカイブ管理部15は、アーカイブ対象のファイルデータを空き領域440の先頭から連続的に書き込んでいく(S31)。図4,図5と共に述べた通り、アーカイブ管理部15は、ファイル管理情報431及びデータ本体432をアーカイブボリューム400のデータ記憶領域420に記憶させる。また、アーカイブ管理部15は、ファイル管理情報411をファイル管理領域410に記憶させる。
アーカイブボリューム400に十分な空き領域440が存在しない場合(S29:NO)、アーカイブ管理部15は、利用可能な他の空きボリュームを探索する(S32)。利用可能な空きボリュームを発見した場合(S33:YES)、アーカイブ管理部15は、そのボリュームにファイルデータを記憶させる(S30,S31)。利用可能な空きボリュームを発見できない場合(S33:NO)、アーカイブ管理部15は、アーカイブ管理端末20を介して、アーカイブボリュームが足りないためにアーカイブすることができない旨をシステム管理者に通知する(S34)。このエラー通知を受けたシステム管理者は、例えば、ディスクドライブ161を追加等することにより、アーカイブボリュームを用意することができる。
図9は、ストレージ装置100の制御部200によって実行されるI/O処理を示すフローチャートである。制御部200は、ホスト10からコマンドを受信すると(S41:YES)、この受信されたコマンドがリードコマンドであるか否かを判定する(S42)。
リードコマンドをホスト10から受信した場合(S42:YES)、制御部200は、要求されたデータをオンラインボリューム300から読み出し、このデータをホスト10に送信する(S43)。
ホスト10から受信したコマンドがリードコマンドではない場合(S42:NO)、制御部200は、そのコマンドがライトコマンドであるか否かを判定する(S44)。ホスト10からライトコマンドを受信した場合(S44:YES)、制御部200は、書込み禁止ポインタ401の値を確認し(S45)、書込み禁止領域430を対象とするライトコマンドであるか否かを判定する(S46)。ホスト10から受信するコマンドには、目的とするデータを特定するためのアドレス情報が含まれている。従って、このアドレス情報と書込み禁止ポインタ401の値(LBA#)とを比較することにより、そのコマンドが対象とする領域を判別することができる。
書込み禁止領域430へのデータ書込みではない場合(S46:NO)、即ち、空き領域440を対象とするライトコマンドの場合、制御部200は、空き領域440にファイルデータを書込み(S47)、書込み禁止ポインタ401の値を更新させる(S48)。上述のように、空き領域440の先頭から順番に、間をあけずにファイルデータが連続的に書き込まれる。
これに対し、書込み禁止領域430を対象とするライトコマンドの場合(S46:YES)、制御部200は、そのライトコマンドをリジェクトする(S49)。例えば、制御部200は、指定されたボリューム400への書込みを行うことができない旨をホスト10に通知する。これにより、アーカイブボリューム400に既に記憶されているファイルデータが改ざんされたり消去されるのを未然に防止することができる。
なお、ホスト10から受信したコマンドがリードコマンドまたはライトコマンドのいずれでもない場合(S44:NO)、制御部200は、そのコマンドに応じた通常の処理を実行する(S50)。このようなコマンドとしては、例えば、状態確認コマンド等を挙げることができる。
また、上記フローチャートでは、説明の便宜上、ホスト10から受信したコマンドがリードコマンドであるか否かを判別し、リードコマンドでない場合は、そのコマンドがライトコマンドであるか否かを判別する。実際には、そのコマンドの種別を示すコマンド識別情報がコマンド内に含まれている。従って、このコマンド識別情報からリードコマンド、ライトコマンド、その他のコマンドのいずれに該当するかを直ちに検出できる。
図10は、書込み禁止ポインタ管理処理を示すフローチャートである。ストレージ装置100の制御部200は、ホスト10からポインタ401の読出しが要求されたか否かを判定する(S61)。
ホスト10からポインタ401の値の読出しを要求された場合(S61:YES)、制御部200は、ポインタ401の最新値を読出して(S62)、この値をホスト10に送信する(S63)。
ホスト10からの要求がポインタ401の値の読出しではない場合(S61:NO)、制御部200は、ホスト10からポインタ401のリセットが要求されているか否かを判定する(S64)。ポインタ401のリセットが要求された場合(S64:YES)、制御部200は、ポインタ401の値を”0”にリセットさせる(S65)。これにより、そのポインタ401によって管理されているアーカイブボリューム400は初期化され、新たにデータを書き込むことができるようになる。
図11は、アーカイブボリューム400の利用状況の変化を示す模式図である。(a)は初期状態を示す。初期状態では、アーカイブボリューム400には、ファイルデータが一つも記憶されていない。
(b),(c)に示すように、時間の経過につれて、アーカイブボリューム400には、アーカイブ対象のファイルデータが徐々に記憶されていく。ファイルデータが書き込まれる度に書込み禁止ポインタ401の値が更新される。ポインタ401の最新値は、アーカイブボリューム400に書き込まれている最新のファイルデータの終端アドレスを示している。
やがて、(d)に示すように、アーカイブボリューム400は満杯状態となる。満杯状態のアーカイブボリューム400は、そのままストレージ装置100に設けたままにしておくことができる。あるいは、テープデバイス等の他の記憶デバイスに、満杯となったアーカイブボリューム400のバックアップを取ることもできる。
さらに、そのアーカイブボリューム400が不要になった場合、書込み禁止ポインタ401をリセットすることにより、そのアーカイブボリューム400を空きボリュームとして再利用することもできる。
本実施例は、上述のように構成されるので、以下の効果を奏する。本実施例では、ランダムアクセス可能なアーカイブボリューム400に、各ファイル310〜330のファイルデータをシーケンシャルに記憶させることができる。これにより、アーカイブボリューム400をいわゆるWORMデバイスとして使用できる。従って、光ディスク媒体のWORMデバイスに比べて、ファイルデータを比較的高速に読み出すことができ、使い勝手が向上する。
本実施例では、書込み禁止ポインタ401を用いて、ファイルデータが既に記憶された領域を書込み禁止領域430として管理する。ホスト10は、ファイルデータを記憶させる際に、書込み禁止ポインタ401の値を取得して、アーカイブを実行できる。従って、比較的簡単な構成で、アーカイブボリューム400をWORMデバイスとして使用することができる。
本実施例では、書込み禁止ポインタ401をリセットさせることにより、使用中のアーカイブボリューム400を改めて再利用することができる。従って、ファイルデータを保存する必要が無くなった場合は、そのアーカイブボリュームに設定されているポインタをリセットし、別のアーカイブに用いることができる。
本実施例では、アーカイブボリューム400の空き領域440が少ない場合、他のアーカイブボリュームを探索し、発見された他のアーカイブボリュームを用いてアーカイブ処理を行うことができる。従って、利便性が向上する。
本実施例では、アーカイブボリューム400にファイル管理領域410とデータ記憶領域420とをそれぞれ設け、データ記憶領域420にファイルデータを書換不能に記憶させる。さらに、ファイル管理領域410には第1ファイル管理情報411を記憶させ、データ記憶領域420には第2ファイル管理情報431を記憶させ、これら各ファイル管理情報411,431を関連付けておく構成とした。従って、制御部200は、ファイル管理領域410にアクセスするだけで、そのボリューム400のどこにどのようなファイルデータが記憶されているのかを容易に把握することができる。また、万が一、ファイル管理領域410のデータの全部または一部が失われた場合でも、データ記憶領域420内のファイル管理情報431に基づいて、ファイル管理情報411を復元可能であり、信頼性が向上する。
図12〜図26に基づいて、第2実施例を説明する。本実施例では、アーカイブ対象のファイルを予め分類し、各タイプ毎にアーカイブ時期を定義して自動的にアーカイブを実行できるようにする。また、本実施例では、複数の書込み禁止ポインタを用い、アーカイブボリュームを循環利用する。本実施例は、第1実施例の変形例に該当し、第1実施例で述べた構成の全部または一部を必要に応じて引用可能である。
図12は、ストレージシステムの主要な構成を概略的に示すブロック図である。このストレージシステムは、第1実施例で述べたと同様に、ホスト10と、アーカイブ管理端末20と、ストレージ装置100とを備えている。本実施例のストレージシステムは、図2と共に述べた構成を全て備えることができるが、重複した説明を割愛する。
ホスト10は、デバイスドライバ13と、OS14と、アーカイブ管理部15Aと、アプリケーション16とを備えて構成可能である。アーカイブ管理部15Aは、アーカイブ管理テーブルT10を利用することができる。
ストレージ装置100は、制御部200Aを備えている。制御部200Aは、I/O処理部210と、ポインタ管理部220と、保存期間管理部230と、クロック240とを備えて構成することができる。
ポインタ管理部220は、複数の書込み禁止ポインタ401,402を用いることによって、書込み禁止領域430を管理する。第1書込み禁止ポインタ(以下、「第1ポインタ」)401は、書込み禁止領域430の先頭アドレスを特定する。第2書込み禁止ポインタ(以下、「第2ポインタ」)402は、書込み禁止領域430の終端アドレスを特定する。従って、書込み禁止領域430は、第1ポインタ401の示すアドレスから第2ポインタ402の示すアドレスまでの領域として管理される。
保存期間管理部230は、アーカイブボリューム400に記憶されている各ファイルデータの保存期間が満了したか否かをそれぞれ管理する。保存期間管理部230は、保存期間記憶部231に記憶されたアーカイブ日管理テーブルT3(図13)とクロック240からの計時情報とによって、各ファイルデータがアーカイブボリューム400に記憶された日をそれぞれ管理している。
即ち、保存期間管理部230は、アーカイブボリューム400に記憶されている各ファイルデータについて、それぞれのファイルデータが記憶されてからの経過時間がアーカイブボリューム400に設定されている保存期間(即ち、そのファイルデータに設定された保存期間)に到達したか否かを管理する。
図13は、アーカイブ日管理テーブルT3の一例を示す説明図である。このテーブルT3は、各ファイルデータがアーカイブボリューム400にそれぞれ記憶された日と、各ファイルデータの先頭アドレスとを対応付けて管理している。アーカイブ日管理テーブルT3は、各アーカイブボリューム毎に、それぞれのアーカイブボリューム内に記憶されている各ファイルデータを管理する。図13では、一つのアーカイブボリュームについて管理する様子を示すが、ボリューム番号を追加することにより、複数のアーカイブボリュームのそれぞれを管理可能である。
アーカイブ管理テーブルT3は、複数の目的で使用することができる。その第1は、ファイルデータの保存期間が満了したか否かを検査する目的である。この目的を達成するために、管理テーブルT3には、各ファイルデータがそのアーカイブボリュームに記憶された日(以下「登録日」とも呼ぶ)がそれぞれ記憶されている。
登録日(Date#)からの経過日数をカウントすることにより、そのファイルデータを保存すべき期間が終了したか否かを判定できる。登録日や経過日数のような「日」の情報は、種々の方法で得られるが、本実施例では、毎日1つずつ出力値(Dateコード)が増加するクロック240を用いる。
運用開始時におけるクロック240の出力値を”0”とすると、その翌日にクロック240は”1”を出力し、一週間後には”7”を出力する。従って、現在のDateコードとそのファイルデータが記憶された日のDateコードとを比較することにより、そのファイルデータがアーカイブボリュームに記憶されてからの経過日数を求めることができる。
もしも、現在のDateコードが”765”であり、あるファイルデータの登録日が”399”である場合、そのファイルデータの経過日数は366日(=765-399)となる。このファイルデータの保存期間として”365日”が指定されている場合、即ち、そのファイルデータが記憶されているアーカイブボリュームが1年間保存用のボリュームである場合、経過日数366日に達したそのファイルデータへの書込み禁止を解除することができる。
制御部200Aは、第1ポインタ401の値を、保存期間が経過したファイルデータの次に記憶されているファイルデータの先頭アドレス(図13では”LBA#200”)に更新させることにより、保存期間を満了したファイルデータへの書込み禁止を解除する。このように、各アーカイブボリューム内に存在する各ファイルデータの登録日(アーカイブ日)をそれぞれ個別に把握することで、各ファイルデータの保存期間が満了したか否かを容易に判定することができる。そして、第1ポインタ401を、保存期間の満了したファイルデータの次に記憶されているファイルデータの先頭に移動させることにより、保存期間の満了したファイルデータへの書込み禁止が解除され、空き領域として再利用することができる。
アーカイブ日管理テーブルT3の第2の目的は、各書込み禁止ポインタ401,402の管理を行うことにある。この目的達成のために、管理テーブルT3には、ファイルデータの先頭アドレスが記憶されている。書込み禁止領域430の開始位置を特定する第1ポインタ401の値は、そのアーカイブボリューム内で最も古い登録日を有するファイルデータの先頭アドレスに一致する。書込み禁止領域430の終了位置を特定する第2ポインタ402の値は、そのアーカイブボリューム内で最新の登録日を有するファイルデータの終端アドレスに一致する。なお、各ファイルデータのサイズは、隣接するファイルデータの先頭アドレス同士を比較することにより求めることができる。
このように、各アーカイブボリュームにそれぞれ記憶されている各ファイルデータの先頭アドレスを管理テーブルT3でそれぞれ管理することにより、各ポインタ401,402の値をそれぞれ把握することができる。また、これにより、各ポインタ401,402の値の変化、即ち、各ポインタ401,402の移動履歴を同時に管理できる。
このように、アーカイブ日管理テーブルT3は、各ファイルデータがアーカイブボリュームに記憶された日(Date#)とその先頭アドレスとを対応付けて記憶することにより、複数の目的を同時に実現する。なお、同様の目的を達成できるのであれば、複数の異なるテーブルを用いてもよい。
図14は、アーカイブ管理部15Aによって使用されるアーカイブ管理テーブルT10の一例を示す説明図である。この管理テーブルT10は、オンラインボリューム300に記憶されている各ファイル310〜330の種類毎に、それぞれのアーカイブタイミングを管理するためのものである。アーカイブ管理テーブルT10は、例えば、各ファイル310〜330の種類にそれぞれ対応する複数のサブテーブルT11〜T13から構成することができる。
ユーザ文書型アーカイブ管理テーブル(以下、「ユーザ文書型テーブル」)T11は、オンラインボリューム300に記憶されている各ファイル310〜330のうち、ユーザ文書型に属するファイル310のアーカイブを管理する。ユーザ文書型とは、ユーザによって作成され、そのアーカイブ時期がユーザによって決定されるべきファイルの種類を意味する。ユーザ文書型に属するファイル310としては、例えば、文書ファイル、作図ファイル、画像ファイル、音声ファイル等を挙げることができる。
ユーザ文書型に属するファイル310は、その作成者であるユーザの判断によって、任意の日時に保存されるべきである。即ち、ユーザ文書型に属するファイル310は、アーカイブ管理に関して、任意性または非周期性という性質を備える。より具体的には、例えば、ファイル310は、その改訂版毎にアーカイブボリュームに記憶させればよく、改訂版の完成時期は、その作成者以外に知りようがない。
従って、ユーザ文書型テーブルT11では、アーカイブ対象のファイル等を特定するためのファイルパス情報と、そのアーカイブ対象のファイル等を保護すべき保存期間とを対応付けることにより、構成される。ユーザ文書型テーブルT11には、自動的なアーカイブに関するタイミング情報を含まずに構成可能である。
制御ファイル型アーカイブ管理テーブル(以下、「制御ファイル型テーブル」)T12は、オンラインボリューム300に記憶されている各ファイル310〜330のうち、制御ファイル型に属するファイル320のアーカイブタイミングを管理する。制御ファイル型とは、例えば、OS14により使用されるシステムファイルや構成設定ファイル、インストール履歴ファイル等のように、ホスト10の制御に使用されるファイルの種類を意味する。
制御ファイル320は、周期的にアーカイブボリュームに保存されるべきものであり、アーカイブ管理に関して周期性を有している。そこで、制御ファイル型管理テーブルT12は、アーカイブ対象のファイル等を特定するためのファイルパス情報と、そのファイル等の保存期間と、自動的なアーカイブを行うためのアーカイブタイミングとを対応付けて構成される。このアーカイブタイミングとしては、例えば、「毎日」、「毎週」、「毎月末」等のように、その制御ファイル320の性質や管理ポリシー等に応じて、システム管理者が適宜設定することができる。
バッチジョブファイル型アーカイブ管理テーブル(以下、「バッチジョブファイル型テーブル」)T13は、オンラインボリューム300に記憶されている各ファイル310〜330のうち、バッチジョブファイル型に属するファイル330のアーカイブを管理するものである。バッチジョブファイル型とは、バッチジョブプログラムによって生成されるファイルを意味する。バッチジョブファイル型のファイル330は、その更新が完了した時点でアーカイブボリュームに自動的に記憶させることが可能である。周期性を備えない点でユーザ文書型と共通し、自動的なアーカイブが可能である点で制御ファイル型と共通する。
バッチジョブファイル型テーブルT13は、アーカイブ対象のファイル等を特定するためのファイルパス情報と、そのファイル等の保存期間とを対応付けることにより、構成することができる。この管理テーブルT13には、自動的なアーカイブ周期を設定する必要はない。対象となっているバッチジョブファイル330が更新された時点で、アーカイブを行えばよいためである。
図15は、本実施例のアーカイブ管理の概略を模式的に示す説明図である。アーカイブ管理部15Aは、それぞれ型の異なる複数種類のファイルFa,Fb,Fc,Fd,Fe,Ffについて、そのアーカイブ実行を管理する。
これらの各ファイルFa〜Ffは、例えば、ユーザ文書型,制御ファイル型,バッチジョブファイル型のいずれかに属する。そして、同一の型に属するファイル同士であっても、その保存期間は互いに相違する。一つの保存期間は、例えば、365日間(1年間)である。他の一つの保存期間は、1095日間(3年間)である。FaとFb、FcとFd、FeとFfとは、それぞれ同一のファイル型に属し、互いに異なる保存期間が設定されているものとする。
図15において、365日間保存されるファイルはFa,Fc,Feであり、1095日間保存されるファイルはFb,Fd,Ffである。ファイルFa,Fc,Feは、予め365日間の保存期間が設定されているアーカイブボリューム400に記憶される。ファイルFb,Fd,Ffは、予め1095日間の保存期間が設定されている他のアーカイブボリューム500に記憶される。各ファイルFa〜Ffを所定のアーカイブボリュームに記憶させる時期は、それぞれのファイルの型によって相違する。ユーザ文書型のファイルFa,Fbは、ユーザによって指示されたタイミングで、所定のアーカイブボリュームにそれぞれ記憶される。制御ファイル型のファイルFc,Fdは、システム管理者により設定された所定の周期で、所定のアーカイブボリュームにそれぞれ記憶される。バッチジョブファイル型のファイルFe,Ffは、そのファイルが更新された時点で自動的に、所定のアーカイブボリュームにそれぞれ記憶される。
アーカイブボリューム400は、第1ポインタ401及び第2ポインタ402によって、書込み禁止領域430の始まりと終わりをそれぞれ管理している。同様に、アーカイブボリューム500は、第1ポインタ501及び第2ポインタ502により、書込み禁止領域530の始まりと終わりをそれぞれ管理している。
また、アーカイブボリューム400に書き込まれたファイルデータのアーカイブ日及びその先頭アドレスは、アーカイブ日管理テーブルT3により管理される。同様に、アーカイブボリューム500に書き込まれたファイルデータのアーカイブ日及びその先頭アドレスも、アーカイブ日管理テーブルT3によって管理される。
アーカイブボリューム400に記憶されている各ファイルデータのうち、そこに記憶されてからの経過日数が365日に達したファイルデータは、保存の必要がない。そこで、保存期間の満了したファイルデータが記憶されている領域を、書込み可能領域440として解放する。即ち、保存期間の満了したファイルデータの次に記憶されているファイルデータの先頭アドレスまで第1ポインタ401を移動させる。
一方、保存期間が365日間に設定されている新たなファイルデータをアーカイブボリューム400に記憶させる場合、そのファイルデータは、書込み禁止領域430に後続する空き領域440に連続して書き込まれる。従って、時間の経過につれて、書込み禁止領域430は、アーカイブボリューム400内を順次移動していくことなる。書込み禁止領域430は、ボリューム内のアドレスが大きくなる方向に向けて移動する。
他のアーカイブボリューム500でも同様に、書込み禁止領域530の両側に空き領域540がそれぞれ位置し、時間の経過につれて書込み禁止領域530は、アーカイブボリューム500内を移動する。
このように、アーカイブ管理部15Aは、そのファイルデータの種類に応じたタイミングで、そのファイルデータに設定されている保存期間と一致する保存期間が設定されているアーカイブボリュームに、そのファイルデータを記憶させる。そして、アーカイブ管理部15Aは、保存期間を終えたファイルデータが記憶されている領域への書込み禁止を解除し、空き領域として解放する。この結果、書込み禁止領域は、アーカイブボリューム内を移動し、アーカイブボリュームが循環的に再利用されることになる。
もっとも、アーカイブボリュームのサイズに比べて、ファイルデータのサイズ及び書込み頻度(アーカイブ頻度)が大きく、書き込まれるファイルデータのサイズと解放される領域のサイズとが釣り合わない場合、アーカイブボリュームは満杯となるであろう。この場合は、例えば、書き込まれるファイルデータのサイズと解放される記憶領域のサイズとが適合するように、アーカイブボリュームのサイズを設定したり、アーカイブ頻度を調節したりすればよい。
本実施例では、アーカイブボリュームが循環的に再利用されるため、ファイル管理領域に記憶されているファイル管理情報が頻繁に書き換えられる。この頻繁な書換によって、万が一ファイル管理領域が破損した場合でも、データ記憶領域内に記憶されているファイル管理情報によって、ファイル管理領域を復元することができる。
図16は、アーカイブ管理を行うための設定画面の一例を示す説明図である。図16の上側にはボリューム登録画面G10が、下側にはアーカイブ設定画面G20がそれぞれ示されている。
ボリューム登録画面G10は、アーカイブに使用するボリュームを登録するために使用される。この画面G10には、例えば、アドレス情報入力フィールドG11と、アーカイブデバイス登録ボタンG12と、ボリューム初期化ボタンG13と、保存期間入力フィールドG14と、保存期間登録ボタンG15とを含めることができる。
アドレス情報入力フィールドG11には、アーカイブボリュームとして使用予定のボリュームまたは初期化予定のアーカイブボリュームを特定するためのアドレス情報を、システム管理者が入力する。このアドレス情報は、ボリュームを特定できれば足りるため、フルパス情報である必要はない。従って、例えば、ボリューム番号やボリュームのニックネーム等で指定することもできる。また、例えば、利用可能な全てのボリュームを一覧表示させ、その中からユーザが選択する構成でもよい。
アーカイブデバイス登録ボタンG12は、アドレス情報入力フィールドG11によって特定されたボリュームを、アーカイブボリュームとして使用することについて、システム管理者が承認を与えるためのボタンである。ボリューム初期化ボタンG13は、アドレス情報入力フィールドによって特定されたボリュームを初期化させるボタンである。初期化ボタンG13を操作することにより、そのボリュームに関連付けられている書込み禁止ポインタの値がリセットされる。
保存期間入力フィールドG14では、アドレス情報入力フィールドG11によって特定されたボリュームに対し、システム管理者が所定の保存期間を設定する。設定可能な保存期間を予め複数用意しておき、その中からいずれか一つを選択する構成でもよいし、任意の期間を入力可能な構成でもよい。保存期間登録ボタンG15は、保存期間入力フィールドG14に入力された保存期間について、システム管理者がその登録を要求するためのボタンである。
アーカイブ設定画面G20を説明する。アーカイブ設定画面G20には、例えば、アドレス情報入力フィールドG21と、ファイル型指定フィールドG22と、自動アーカイブ頻度入力フィールドG23と、保存期間入力フィールドG24と、登録ボタンG25と、取消ボタンG26とを含めることができる。
アドレス情報入力フィールドG21では、システム管理者やユーザが、アーカイブ対象のファイルまたはディレクトリを特定する。ファイル型指定フィールドG22では、システム管理者等が、そのファイル等がいずれの型に属するのかを指定する。ファイル型としては、例えば、ユーザ文書型、制御ファイル型、バッチジョブファイル型の3種類を挙げることができる。
自動アーカイブ頻度入力フィールドG23では、システム管理者等が、そのアーカイブ対象のファイル等をアーカイブボリュームに記憶させる周期を入力する。ここで、自動アーカイブ頻度入力フィールドG23は、それが必要なファイル等についてのみ関連付けられる。ユーザ文書型に指定されたファイル等については、自動アーカイブ頻度入力フィールドG23は出現しない。ユーザ文書型のファイルは、ユーザの意思によってアーカイブ時期が定まるためである。同様に、バッチジョブファイル型のファイルについても、自動アーカイブ頻度入力フィールドG23は出現しない。これにより、そのファイル等について設定不能な値(自動アーカイブ頻度)が入力される事態を未然に防止することができ、操作性が向上する。
保存期間入力フィールドG24では、システム管理者等により、そのファイル等を保存すべき期間が入力される。例えば、ファイルの属性によって保存期間が異なる場合、ファイルの属性を示す情報を取得し、この属性情報に応じた保存期間を自動的に設定する構成でもよい。例えば、拡張子によって電子メールであることが識別される場合、電子メールの保存期間として予め指定されている値を、保存期間入力フィールドG24に自動的に入力させることができる。
なお、登録ボタンG25は、各フィールドG21〜G24に入力された情報の登録を促すボタンである。取消ボタンG26は、各フィールドG21〜G24に入力された情報の取消を求めるボタンである。
次に、ストレージシステムの動作を説明する。図17は、アーカイブ設定処理の概略を示すフローチャートである。
システム管理者は、アーカイブ管理端末20を介してアーカイブ管理部15にアクセスし(S111)、アーカイブボリュームとして使用するボリュームのアドレス情報を、アーカイブ管理部15Aに登録する(S112)。次に、アーカイブ管理部15Aは、アーカイブボリュームに、書込み禁止ポインタをリセットさせるリセットコマンドを発行する(S113)。これにより、制御部200Aは、アーカイブボリューム4に設定されている第1ポインタ及び第2ポインタの値をそれぞれリセットさせる。
システム管理者は、登録されたアーカイブボリュームに対して、その保存期間を設定する(S114)。続いて、システム管理者は、アーカイブ対象のファイルやディレクトリ、アーカイブポリシー等を指定し、これらの情報をアーカイブ管理テーブルT10に登録させる(S115)。
図18は、アーカイブを自動的に取得する処理を示すフローチャートである。この処理は、所定時刻が到来するたびに実行される(S121:YES)。
アーカイブ管理部15Aは、アーカイブ管理テーブルT10を参照し、アーカイブ対象として登録されているファイル名やディレクトリ名をチェックする(S122)。アーカイブ管理部15Aは、登録されているアーカイブ対象のファイル等のアーカイブ時期をチェックする(S123)。
アーカイブ管理部15Aは、そのファイル等のアーカイブ時期が到来しているか否かを判定する(S124)。アーカイブ時期が到来している場合(S124:YES)、アーカイブ管理部15Aは、そのファイル等の更新日時が前回のアーカイブ時における更新日時よりも新しいか否かを判定する(S125)。そのファイル等の最新の更新日時が前回のそれよりも新しい場合(S125:YES)、ファイルデータに差分が生じており、アーカイブの意義があるときである。
これに対し、そのファイル等に設定されているアーカイブ時期が到来していない場合(S124:NO)、または、ファイル等の更新日時が前回の更新日時と一致する場合(S125:NO)のいずれかである場合は、そのファイル等のデータをアーカイブボリューム400に記憶させる必要はない。そこで、アーカイブ管理部15Aは、アーカイブ管理テーブルT10を参照し、次のファイル等に移動する(S126)。そして、アーカイブ管理部15Aは、上述のS122〜S125の処理を繰り返す。
次に、アーカイブ管理部15Aは、アーカイブ対象のファイルデータに設定されている保存期間と同一の保存期間が設定されているアーカイブボリューム400(ここでは、ボリューム400であるとする。)を選択する(S127)。そして、アーカイブ管理部15Aは、制御部200Aから第1ポインタ401及び第2ポインタ402の最新の値をそれぞれ取得する(S128)。
アーカイブ管理部15Aは、第1ポインタ401,第2ポインタ402の値に基づいて、アーカイブボリューム400の空き領域サイズを算出し(S129)、アーカイブボリューム400に十分な空き領域440があるか否かを判定する(S130)。
アーカイブボリューム400に十分な空き領域が存在する場合(S130:YES)、アーカイブ管理部15Aは、アーカイブ対象のファイルデータについてファイル管理情報431を生成する(S131)。この際、アーカイブ管理部15Aは、次のファイルデータを記憶させるべき空き領域440の先頭アドレスを算出する(S131)。
アーカイブ管理部15Aは、アーカイブ対象のファイルデータを空き領域440の先頭から連続的に書き込んでいく(S132)。アーカイブ管理部15Aは、ファイル管理情報431及びデータ本体432をアーカイブボリューム400のデータ記憶領域420に記憶させ、ファイル管理情報411をファイル管理領域410に記憶させる。
ところで、アーカイブボリューム400に十分な空き領域440が存在しない場合(S130:NO)、アーカイブ管理部15Aは、利用可能な他の空きボリュームを探索する(S133)。利用可能な空きボリュームを発見した場合(S134:YES)、アーカイブ管理部15Aは、そのボリュームにファイルデータを記憶させる(S131,S132)。利用可能な空きボリュームを発見できない場合(S134:NO)、アーカイブ管理部15Aは、ボリュームの空き容量が足りないためにアーカイブすることができない旨をシステム管理者に通知する(S135)。
図19は、手動操作の指示によってアーカイブを取得する処理の概略を示すフローチャートである。
システム管理者等は、アーカイブ管理端末20を介して、アーカイブ対象のファイル等を選択する(S141)。次に、システム管理者等は、アーカイブ管理端末20を介して、アーカイブ対象のファイル等に設定されている保存期間に対応するアーカイブボリューム400を選択する(S142)。保存期間に対応するアーカイブボリュームとは、アーカイブ対象のファイルデータに設定されている保存期間と同一の保存期間が設定されているボリュームである。
アーカイブに使用するアーカイブボリュームが選択されると、アーカイブ管理部15Aは、制御部200Aから第1ポインタ401及び第2ポインタ402の最新の値をそれぞれ取得する(S143)。アーカイブ管理部15Aは、第1ポインタ401,第2ポインタ402の値に基づいて、アーカイブボリューム400の空き領域サイズを算出し(S144)、アーカイブボリューム400に十分な空き領域440があるか否かを判定する(S145)。
アーカイブボリューム400に十分な空き領域が存在する場合(S145:YES)、アーカイブ管理部15Aは、アーカイブ対象のファイルデータについてファイル管理情報431を生成する(S146)。アーカイブ管理部15Aは、アーカイブ対象のファイルデータを空き領域440の先頭から連続的に書き込んでいく(S147)。
一方、アーカイブボリューム400に十分な空き領域440が存在しない場合(S145:NO)、アーカイブ管理部15Aは、利用可能な他の空きボリュームを探索する(S148)。利用可能な空きボリュームを発見した場合(S149:YES)、アーカイブ管理部15Aは、そのボリュームにファイルデータを記憶させる(S146,S147)。利用可能な空きボリュームを発見できない場合(S149:NO)、アーカイブ管理部15Aは、システム管理者に通知する(S150)。
図20は、制御部200Aにより実行されるI/O処理を示すフローチャートである。制御部200Aは、ホスト10からコマンドを受信すると(S161:YES)、この受信されたコマンドがリードコマンドであるか否かを判定する(S162)。
リードコマンドの場合(S162:YES)、制御部200Aは、ホスト10から要求されたデータをオンラインボリューム300から読み出し、このデータをホスト10に送信する(S163)。
リードコマンドではない場合(S162:NO)、制御部200Aは、そのコマンドがライトコマンドであるか否かを判定する(S164)。ライトコマンドである場合(S164:YES)、制御部200Aは、第1ポインタ401及び第2ポインタ402の値をそれぞれ確認し(S165)、書込み禁止領域430を対象とするライトコマンドであるか否かを判定する(S166)。
書込み禁止領域430へのデータ書込みではない場合(S166:NO)、制御部200Aは、空き領域440にファイルデータを書込み(S167)、第2ポインタ402の値を更新させる(S168)。また、制御部200Aは、アーカイブ日管理テーブルT3を更新させる(S169)。
書込み禁止領域430を対象とするライトコマンドの場合(S166:YES)、制御部200Aは、そのライトコマンドをリジェクトする(S169)。ホスト10から受信したコマンドがリードコマンドまたはライトコマンドのいずれでもない場合(S164:NO)、制御部200Aは、そのコマンドに応じた通常の処理を実行する(S170)。
図21は、書込み禁止ポインタ管理処理を示すフローチャートである。制御部200Aは、ホスト10から各ポインタ401,402の読出しが要求されたか否かを判定する(S181)。
ホスト10からポインタ401の値の読出しを要求された場合(S181:YES)、制御部200Aは、各ポインタ401,402の最新値をそれぞれ読出して(S182)、この値をホスト10にそれぞれ送信する(S183)。
ホスト10がポインタ401,402の値の読出しを要求していない場合(S181:NO)、制御部200Aは、ホスト10から各ポインタ401,402のリセットが要求されているか否かを判定する(S184)。各ポインタ401,402のリセットが要求された場合(S184:YES)、制御部200Aは、各ポインタ401,402の値をそれぞれ”0”にリセットさせる(S185)。
図22は、保存期間設定処理を示すフローチャートである。まず、制御部200Aは、保存期間の設定を要求するコマンドを受信したか否か判定する(S191)。保存期間の設定コマンドを受信した場合(S191:YES)、制御部200Aは、指定されたアーカイブボリュームについて、指定された保存期間を設定する(S192)。
保存期間の設定を要求するコマンドではない場合(S191:NO)、制御部200Aは、保存期間の読出しを要求するコマンドであるか否かを判定する(S193)。保存期間の読出しをホスト10から要求された場合(S193:YES)、制御部200Aは、保持している保存期間を読出して、ホスト10に送信する(S194)。なお、保存期間の読出しコマンドでも無い場合(S193:NO)、制御部200Aは、本処理を終了する。
図23は、アーカイブボリュームに記憶されているファイルデータの保存期間が満了したか否かを監視する処理のフローチャートである。ここでは、アーカイブボリューム400を例に挙げて説明するが、他のアーカイブボリューム500の場合も同様である。
制御部200Aは、監視タイミングが到来したか否かを判定する(S201)。例えば、この保存期間監視処理は、毎日所定時刻に起動させることができる。監視タイミングが到来した場合(S201:YES)、制御部200Aは、クロック240の出力値を読出して、現在の日付を取得する(S202)。
制御部200Aは、アーカイブ日管理テーブルT3を参照し(S203)、このテーブルT3に登録されている先頭のエントリを選択する(S204)。制御部200Aは、この最初のエントリに登録されているファイルデータの記憶日(登録日あるいはアーカイブ日)と現在の日付とを比較し、そのファイルデータがアーカイブボリューム400に記憶されてからの経過日数を算出する(S205)。
制御部200Aは、そのファイルデータに指定されている保存期間とそのファイルデータがアーカイブボリューム400に記憶されてからの経過日数とを比較し、そのファイルデータの保存期間が満了したか否かを判定する(S206)。
経過日数が保存期間を過ぎている場合(S206:YES)、制御部200Aは、第1ポインタ401の値を更新させる(S207)。即ち、第1ポインタ401には、保存期間が満了したと判定されたファイルデータの次に位置するファイルデータの先頭アドレスがセットされる。
続いて制御部200Aは、アーカイブ日管理テーブルT3から、保存期間の満了したファイルデータのエントリを削除等することにより無効化させる(S208)。制御部200Aは、アーカイブ日管理テーブルT3に登録されている全てのエントリについて検査したか否かを判定する(S209)。
未検査のエントリが存在する場合(S209:NO)、制御部200Aは、アーカイブ日管理テーブルT3の次のエントリに移動し(S210)、S205〜S209の処理を再び繰り返す。そのファイルデータの保存期間が満了していない場合も(S206:NO)、次のエントリに移動し(S210)、S205〜S209の処理を繰り返す。
このようにして、制御部200Aは、アーカイブボリューム400に記憶されている全てのファイルデータについて、その保存期間が満了したか否かを検査し、検査を終了した場合(S209:YES)、処理を終了する。
図24は、アーカイブタイミングの全体概要を模式的に示すフローチャートである。既に述べたように、本実施例では、アーカイブ対象のファイルを、そのアーカイブタイミングに応じて複数のファイル型にパターン分けしている(S221)。
制御ファイル型の場合、システム管理者により予め設定された所定の周期で(S222)、そのファイルのデータがオンラインボリューム300からホスト10に読み出され、ホスト10を介して所定のアーカイブボリュームに記憶される(S223)。
ユーザ文書型の場合、そのファイルの作成者または所有者であるユーザからの指示が、アーカイブ実行のトリガとなる(S224)。ユーザからの指示があると、そのファイルのデータは、オンラインボリューム300からホスト10を介して、所定のアーカイブボリュームに記憶される。
バッチジョブファイル型の場合、バッチジョブプログラムによるファイルの更新(または生成)が、アーカイブ実行のトリガとなる(S226)。バッチジョブファイルのデータは、オンラインボリューム300からホスト10に読み出され、ホスト10を介して所定のアーカイブボリュームに書き込まれる(S227)。
図25は、アーカイブボリュームに記憶されている各ファイルを表示させる処理を示すフローチャートである。システム管理者等は、アーカイブ管理端末20を介して、アーカイブ管理部15Aにアクセスし、アーカイブされているファイルの閲覧を要求することができる。ここでは、アーカイブボリューム400の状態を表示させる場合を例に挙げて説明するが、他のアーカイブボリューム500の場合も同様である。
アーカイブ管理部15Aは、システム管理者等によって指定されたアーカイブボリューム400にアクセスし、そのファイル管理領域410に記憶されている全てのファイル管理情報411をそれぞれ読み出す(S231)。ここで、ファイル管理領域410は、ボリューム400の先頭側にまとめて記憶されているため、アーカイブ管理部15Aは、全てのファイル管理情報411を高速に読み出すことができる。
そして、アーカイブ管理部15Aは、取得した各ファイル管理情報411に基づいて、システム管理者等に提供するための画面を生成し、この画面をアーカイブ管理端末20に提供する(S232)。
図26は、アーカイブ管理部15Aによって提供されるアーカイブファイル(アーカイブボリュームに記憶されているファイル)の表示画面例を示す説明図である。アーカイブ管理部15Aは、システム管理者等から入力される画面切替指示に基づいて、複数の画面G30,G31,G32を自在に切り替える。
第1画面G31は、アーカイブボリューム別に、各アーカイブファイルをそれぞれ表示させる。この第1画面G31では、画面右端に示すアーカイブボリューム(”Stored Volume”)毎に、各アーカイブボリュームに記憶されているファイルの情報がそれぞれ表示される。表示されるファイル情報としては、例えば、ファイル名、ファイルサイズ、記憶日、保存期間を挙げることができる。画面G31により、システム管理者等は、各アーカイブボリュームにどのようなファイルが記憶されているかを容易に把握できる。
第2画面G32は、全てのアーカイブボリュームに記憶されている各アーカイブファイルをファイル名順に並び替えて表示させる。ファイル名のソートは、例えば、ASCIIコードに基づくことができる。これにより、例えば、電子メールデータ、売上げデータ、顧客データ、仕様書データ等のように、ファイルの種類毎に、どのアーカイブボリュームに記憶されているかを容易に把握することができる。
第3画面G33は、アーカイブファイルを世代別に表示させる。同一のアーカイブ対象ファイルについて、定期的または不定期に、複数の時点でアーカイブボリュームに記憶される場合がある。この場合、同一対象について、その記憶日及び内容が若干または大幅に異なるファイルデータが、同一のアーカイブボリュームに記憶されることになる。
そこで、第3画面G32では、例えば、指定されたファイル名を検索キーとして各ファイル管理情報411を検索し、共通のファイル名を有する複数のファイルデータを、その記憶日順に並び替えて表示させる。これにより、アーカイブ対象ファイルの各世代のデータがどのように記憶されているかを容易に把握することができる。
本実施例は、上述のように構成されるため、第1実施例で述べた効果と同様の効果を得ることができる。これらの効果に加えて、本実施例では、さらに以下に述べる効果を発揮する。
本実施例では、それぞれアーカイブタイミングの異なる種々のファイル310〜330を、その指定された保存期間に適合するアーカイブボリューム記憶させる。従って、各ファイルの型毎に、それぞれ適切なタイミングでアーカイブを実行させることができ、アーカイブ管理コストの低減し、かつ、信頼性を向上させることができる。
例えば、ファイル型を問わずに全てのファイルを、その更新直後に一律にアーカイブボリュームに記憶させる構成も考えられる。しかし、この場合は、アーカイブの必要が無いファイル(例えば、ユーザ文書型ファイル)まで画一的にアーカイブされてしまい、無駄なデータでアーカイブボリュームがすぐに満杯になってしまう。
また、例えば、ファイル型を問わずに全てのファイルを、システム管理者またはユーザの手動操作によってアーカイブボリュームに記憶させる構成も考えられる。しかし、この場合は、アーカイブされるべきファイルデータ(例えば、制御ファイル)のアーカイブが忘れられる可能性があり、アーカイブ管理の信頼性が低下する。また、オンラインボリューム300内の全てのファイルを、システム管理者の指示によって強制的にアーカイブする場合は、不要なアーカイブファイルでアーカイブボリュームが満杯になるおそれがあり、アーカイブ管理コストが増大する。
これに対し、本実施例では、オンラインボリューム300内に記憶されている各ファイル310〜330の属性に着目し、各ファイル310〜330を複数のファイル型に予め分類し、各ファイル型にそれぞれ応じたアーカイブタイミングを予め定義する。従って、それぞれのファイル型に応じた適切なタイミングでアーカイブすることができ、アーカイブ管理コストの低減と信頼性の向上とを両立させることができる。
本実施例では、書込み禁止領域の始まりと終わりとを第1ポインタ及び第2ポインタによってそれぞれ管理する。さらに、本実施例では、ファイルデータがアーカイブボリュームに記憶されてからの経過時間と、そのファイルデータに指定されている保存期間とを比較し、保存期間の満了したファイルデータの記憶領域を空き領域として再使用する。従って、アーカイブボリュームを循環的に再利用することができ、アーカイブ管理コストのさらなる低減を図ることができる。
本実施例では、アーカイブボリュームに記憶されているファイルの情報を、種々の形態G31〜G33で表示させることができる。従って、システム管理者等は、アーカイブファイルの状態を種々の視点から容易に把握することができる。
図27に基づいて、第3実施例を説明する。本実施例では、データ記憶領域内に記憶されているファイル管理情報431に基づいて、ファイル管理領域410の記憶内容を復元させる。図27は、ファイル管理領域410に記憶されているファイル管理情報411を復元させる処理を示すフローチャートである。
制御部200(あるいは200A。以下同様)は、ファイル管理領域410内のファイル管理情報411を復元させるか否かを判定する(S241)。即ち、本処理を開始するか否かを判定する。本処理は、手動で、または自動的に開始させることができる。
復元処理の開始を実行する場合(S241:YES)、制御部200は、データ記憶領域420内に記憶されている最初のファイル管理情報431を読出し(S242)、このファイル管理情報431に対応するファイル管理情報411を生成して、ファイル管理領域410に書き込む(S243)。
全てのファイル管理情報411を復元するまで(S244:NO)、制御部200は、データ記憶領域420内のファイル管理情報431を順番に辿りながら(S245)、ファイル管理情報411を順番に復元していく(S242,S243)。ファイル管理領域410の復元を完了すると(S244:YES)、本処理を終了する。
既に述べた通り、データ記憶領域420内のファイル管理情報431には、次のファイル管理情報431が記憶されているアドレスが含まれている。従って、制御部200は、最初のファイル管理情報431から最後のファイル管理情報431まで、順番に辿りながらそれぞれ読み出すことができる。また、アーカイブボリューム400は、ランダムアクセス可能なデバイスであるため、制御部200は、データ本体432を読み飛ばして直ちにファイル管理情報431にアクセスすることができる。このように、ファイル管理情報431を後続のそれにリンクさせる構成と、ランダムアクセス可能な構成とが結合することにより、速やかにファイル管理領域410を復元可能である。
図28,図29に基づいて、第4実施例を説明する。本実施例では、アーカイブファイルのファイル名をディレクトリ名に見立てると共に、そのアーカイブファイルの各世代別データのタイムスタンプ(記憶日)をファイル名に見立てて、表示させる。
図28は、本実施例による表示画面G40の一例を示す説明図である。この画面G40は、例えば、左側に位置するディレクトリ構造表示部G41と、右側に位置するディレクトリ内容表示部G42とを備えている。
構造表示部G41では、アーカイブボリュームに記憶されているファイルのファイル名が、仮想的なディレクトリ名G43として表示されている。この仮想ディレクトリ名を選択すると、内容表示部G42には、そのアーカイブファイルの各世代毎のファイルデータG44がそれぞれ表示される。これら各世代別のファイルデータは、その”記憶日”がそれぞれのファイル名となっている。
図29は、画面G40を表示させるための処理の概略を示すフローチャートである。アーカイブ管理部15(あるいはアーカイブ管理部15A。以下同様)は、アーカイブボリュームにアクセスし、ファイル管理情報411をそれぞれ取得する(S251)。
アーカイブ管理部15は、各ファイル名毎にファイルデータを並び替え、共通のファイル名を有する各世代のファイルデータをそれぞれ検出する(S252)。そして、アーカイブ管理部15は、複数のファイルデータに共通のファイル名を仮想的なディレクトリ名とし、各ファイルデータをそれぞれ識別する時間情報を各ファイルデータの個別のファイル名として使用する(S253)。これにより、図28に示すような画面G40を提供することができる。
なお、時間情報としては、例えば、そのファイルデータがアーカイブボリュームに記憶された日時、そのファイルデータのアーカイブボリュームに記憶される際のオリジナルファイルの更新日時、あるいは、記憶日時や更新日時にさらなる情報を付加した情報を使用することができる。
このように、本実施例では、例えば、複数世代にわたって継続的にアーカイブされる複数のファイルデータを、その共通のファイル名を仮想的なディレクトリ名としてグループ化し、一覧表示させることができる。従って、画面G40に示すように、共通のオリジナルファイルからそれぞれ異なる日時にアーカイブされた複数のファイルデータを、見やすく表示させることができる。これにより、システム管理者等は、アーカイブ状況をより簡単に把握することができ、所望の世代のデータを容易に選択することができる。
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、当業者であれば、前記各実施例を適宜組み合わせることができる。
また、例えば、毎日1つずつ出力値が増加するクロックに代えて、タイムサーバやカレンダタイマ等から取得した年月日情報を用いて、ファイルデータの経過期間を管理することもできる。さらに、アーカイブ日管理テーブル内に、各ファイルデータの経過日数をそれぞれ記憶させ、毎日更新させる構成でもよい。
本発明の実施形態の概念を示す説明図である。 実施例に係るストレージシステムの全体構成図である。 ストレージシステムの機能構成を示す説明図である。 アーカイブボリュームの構造を模式的に示す説明図である。 アーカイブボリュームの構造をより詳細に示すデータ構造図である。 (a)はアーカイブ管理テーブルを、(b)は書込み禁止ポインタ管理テーブルをそれぞれ示す説明図である。 アーカイブ設定処理を示すフローチャートである。 アーカイブ取得処理を示すフローチャートである。 I/O処理を示すフローチャートである。 書込み禁止ポインタ管理処理を示すフローチャートである。 アーカイブボリュームの使用状況の変化を模式的に示す説明図である。 第2実施例に係るストレージシステムの機能構成を示す説明図である。 アーカイブ日管理テーブル及びこのテーブルを用いたポインタの管理方法を示す説明図である。 ファイル型毎にアーカイブを管理するアーカイブ管理テーブルを示す説明図である。 アーカイブの様子を模式的に示す説明図である。 アーカイブ管理部がアーカイブ管理端末に提供する画面例を示し、(a)はアーカイブボリュームの登録画面を、(b)はアーカイブ条件を設定する画面をそれぞれ示す。 アーカイブ設定処理を示すフローチャートである。 自動的にアーカイブを取得する処理を示すフローチャートである。 手動操作の指示によりアーカイブを取得する処理を示すフローチャートである。 I/O処理を示すフローチャートである。 書込み禁止ポインタ管理処理を示すフローチャートである。 保存期間設定処理を示すフローチャートである。 保存期間満了監視処理を示すフローチャートである。 ファイル型でそれぞれ異なるアーカイブタイミングの全体概要を示すフローチャートである。 アーカイブファイルの表示処理を示すフローチャートである。 アーカイブファイルを表示させる画面例を示し、(a)はボリューム別に表示させた場合、(b)ファイル名順に表示させた場合、(c)は世代別に表示させた場合を、それぞれ示す。 第3実施例に係るストレージシステムにより実行されるファイル管理情報の復元処理を示すフローチャートである。 共通のファイル名をディレクトリ名とし、各世代のデータがそれぞれ有する時間情報をファイル名として表示させる画面例を示す説明図である。 仮想ディレクトリ表示処理のフローチャートである。
符号の説明
1…ホスト、1A…アプリケーションプログラム、1B…アーカイブ管理部、1B1…アーカイブタイミング情報、1B2…保存期間情報、2…ストレージ装置、3…管理装置、4…制御部、4A…I/O処理部、4B…書込み禁止領域管理部、4C…保存期間管理部、5A…オンラインボリューム、5B1,5B2…アーカイブボリューム、6A…文書ファイル、6B…制御ファイル、6C…バッチジョブファイル、10…ホスト、11…ホストバスアダプタ(HBA)、12…通信インターフェース、13…デバイスドライバ、14…OS、15,15A…アーカイブ管理部、16…アプリケーションプログラム、20…アーカイブ管理端末、21…ユーザインターフェース(UI)、22…アーカイブボリューム登録処理、23…アーカイブ対象指定処理、24…アーカイブ取得指示処理、25…アーカイブファイル表示処理、30…スイッチ、40…ストレージ管理端末、100…ストレージ装置、110…チャネルアダプタ(CHA)、111…通信ポート、120…ディスクアダプタ、130…キャッシュメモリ、140…共有メモリ、150…接続制御部、160…記憶部、161…ディスクドライブ、162…パリティグループ、200,200A…制御部、210…I/O処理部、220…ポインタ管理部、230…保存期間管理部、231…保存期間記憶部、240…クロック、300…オンラインボリューム、310…ユーザ文書型ファイル、320…制御ファイル型ファイル、330…バッチジョブファイル型ファイル、400…アーカイブボリューム、401…書込み禁止ポインタ(第1書込み禁止ポインタ)、402…書込みポインタ(第2書込み禁止ポインタ)、410…ファイル管理領域、411…ファイル管理情報、420…データ記憶領域、430…書込み禁止領域、431…ファイル管理情報、432…データ本体、440…書込み可能領域(空き領域)、500…アーカイブボリューム、501…第1書込み禁止ポインタ、502…第2書込み禁止ポインタ、530…書込み禁止領域、540…書込み可能領域(空き領域)、A1〜A5…アドレス、Fa,Fb,Fc,Fd,Fe,Ff…ファイル

Claims (20)

  1. ホスト装置とストレージ装置とを備えるストレージシステムであって、
    前記ストレージ装置は、
    ランダムアクセス可能な少なくとも一つ以上の記憶デバイスと、
    前記記憶デバイスに基づいて生成され、保存期間が対応付けられるボリュームと、
    前記ホスト装置からの要求に応じて、前記ボリュームとの間でデータ入出力を行う制御部とを備え、
    前記ホスト装置は、前記保存期間に適合する少なくとも一つ以上のファイルデータを前記ストレージ装置に送信して前記ボリュームに記憶させるファイル管理部を備え、
    前記制御部は、前記ホスト装置から入力された前記ファイルデータをその先頭から順番に前記ボリュームの空き領域に書き込み、前記ファイルデータが書き込まれた領域を書込み禁止領域として管理するストレージシステム。
  2. 前記ファイル管理部は、それぞれ前記保存期間に適合する複数種類のファイルデータを、前記ストレージ装置に送信して前記ボリュームにそれぞれ記憶させることができる請求項1に記載のストレージシステム。
  3. 前記ファイル管理部は、それぞれ前記保存期間に適合し、かつ、前記ボリュームに記憶させるためのトリガがそれぞれ異なる複数種類のファイルデータを、前記ストレージ装置に送信して前記ボリュームにそれぞれ記憶させることができる請求項1に記載のストレージシステム。
  4. 前記各トリガは、周期性を有するトリガと非周期性を有するトリガとが含まれている請求項3に記載のストレージシステム。
  5. 前記ファイル管理部は、それぞれ前記保存期間に適合する複数種類のファイルデータを前記ストレージ装置に送信して前記ボリュームにそれぞれ記憶させることができ、
    前記複数種類のファイルデータには、そのファイルデータのユーザによって非周期的に記憶時期が指示される第1ファイル型を有するファイルデータと、そのファイルデータの管理者によって周期的に記憶時期が指示される第2ファイル型を有するファイルデータとが含まれている請求項1に記載のストレージシステム。
  6. 前記制御部は、前記ホスト装置による前記書込み禁止領域へのライト要求を拒否し、前記ホスト装置による前記書込み禁止領域へのリード要求を許可することができる請求項1に記載のストレージシステム。
  7. 前記制御部は、前記ボリュームに書き込まれた前記ファイルデータの終端アドレスを書込み禁止ポインタによって管理し、前記ホスト装置からのアクセス要求に含まれるアドレス情報と前記書込み禁止ポインタの示す終端アドレスとを比較することにより、前記ホスト装置からのアクセス要求が前記書込み禁止領域に関するものであるか否かを判定し、前記書込み禁止領域への書込みを禁止させる請求項1に記載のストレージシステム。
  8. 前記制御部は、前記ボリュームに書き込まれた前記ファイルデータの先頭アドレス及び終端アドレスを第1書込み禁止ポインタ及び第2書込み禁止ポインタによってそれぞれ管理し、前記ホスト装置からのアクセス要求に含まれるアドレス情報と前記第1書込み禁止ポインタ,第2書込み禁止ポインタがそれぞれ示す先頭アドレス,終端アドレスとを比較することにより、前記ホスト装置からのアクセス要求が前記書込み禁止領域に関するものであるか否かを判定し、前記書込み禁止領域への書込みを禁止させる請求項1に記載のストレージシステム。
  9. 前記制御部は、前記ファイルデータが前記ボリュームに記憶されてからの経過時間を管理し、この経過時間が前記保存期間に達した場合は、このファイルデータが記憶されていた領域を空き領域として再使用する請求項1に記載のストレージシステム。
  10. 前記ファイル管理部は、前記ストレージ装置にライト要求を発行する際に、予め前記制御部から前記ボリュームの空き領域の先頭アドレスを取得し、この取得した先頭アドレスに基づいて前記ライト要求の書込み開始アドレスを決定する請求項1に記載のストレージシステム。
  11. 前記ファイル管理部は、前記制御部にボリューム初期化要求を発行することができ、
    前記制御部は、前記ボリューム初期化要求に基づいて、前記書込み禁止領域を空き領域に変更させる請求項1に記載のストレージシステム。
  12. 前記制御部は、前記ファイルデータを記憶させるための所定量以上の空き領域が前記ボリュームに存在しない場合、前記ボリュームに対応付けられている前記保存期間と同一の保存期間が対応付けられている別のボリュームを用いて、前記ファイルデータを記憶させる請求項1に記載のストレージシステム。
  13. 前記ボリュームは、ファイル管理領域とデータ記憶領域とを備えており、
    前記データ記憶領域には、前記ホスト装置から入力された前記ファイルデータが書換不能に記憶され、
    前記ファイル管理領域には、前記データ記憶領域に記憶されている前記ファイルデータを管理するための第1ファイル管理情報が書換可能に記憶される請求項1に記載のストレージシステム。
  14. 前記データ記憶領域には、前記ファイルデータを管理するための第2ファイル管理情報が前記ファイルデータに関連付けられて書換不能に記憶されており、
    前記第1ファイル管理情報と前記第2ファイル管理情報とは関連付けられている請求項13に記載のストレージシステム。
  15. 前記第2ファイル管理情報には、次に記憶されるファイルデータの先頭アドレスが含まれている請求項14に記載のストレージシステム。
  16. 前記ファイル管理部は、前記ファイルデータが記憶時期のそれぞれ異なる複数世代で前記ボリュームにそれぞれ記憶されている場合、前記ファイルデータのファイル名をディレクトリ名とし、前記複数世代をそれぞれ識別する時間情報を該各世代毎のファイル名として提供可能である請求項1に記載のストレージシステム。
  17. ホスト装置から入力されるファイルデータをストレージ装置の有するボリュームに記憶させるアーカイブ管理方法であって、
    ランダムアクセス可能な少なくとも一つ以上の記憶デバイスに基づいて前記ボリュームを生成させるステップと、
    前記生成されたボリュームに、前記ホスト装置から指示された保存期間を対応付けるステップと、
    前記ホスト装置から前記ファイルデータを受信するステップと、
    前記受信したファイルデータに関連付けられている保存期間と同一の期間が設定されているボリュームを選択するステップと、
    前記選択されたボリュームの空き領域を検出するステップと、
    前記検出された空き領域に、前記受信したファイルデータを先頭から順番に書き込むステップと、
    前記ファイルデータが書き込まれている領域を書込み禁止領域として管理するステップと、
    を含むストレージ装置のアーカイブ管理方法。
  18. 前記ファイルデータが前記ボリュームに書き込まれてからの経過時間を管理するステップと、
    前記経過時間が前記ファイルデータに関連付けられている保存期間に達したか否かを監視するステップと、
    前記経過時間が前記ファイルデータの保存期間に達した場合は、このファイルデータが記憶されている領域を空き領域に変更するステップと、
    をさらに含む請求項17に記載のストレージ装置のアーカイブ管理方法。
  19. 前記ボリュームは、ファイル管理領域とデータ記憶領域とを備えており、
    前記ファイル管理領域には、前記データ記憶領域に記憶されている前記ファイルデータを管理するための第1ファイル管理情報が書換可能に記憶され、
    前記データ記憶領域には、前記ホスト装置から入力された前記ファイルデータ及び該ファイルデータを管理するための第2ファイル管理情報がそれぞれ書換不能に記憶され、
    前記第1ファイル管理情報と前記第2ファイル管理情報とは関連付けられており、
    前記データ記憶領域に記憶されている全ての第2ファイル管理情報を読み出すステップと、
    この読み出された前記第2ファイル管理情報に基づいて、前記ファイル管理領域に記憶される前記第1ファイル管理情報を復元させるステップと、
    をさらに含む請求項17に記載のストレージ装置のアーカイブ管理方法。
  20. ランダムアクセス可能な少なくとも一つ以上の記憶デバイスと、
    それぞれ異なる保存期間毎に、前記記憶デバイスに基づいてそれぞれ生成される少なくとも一つ以上のボリュームと、
    ホスト装置からの要求に応じて、前記ボリュームとの間でデータ入出力を行う制御部とを備え、
    前記制御部は、
    (1)前記ホスト装置からファイルデータを入力された場合、前記ボリュームの中から、前記ファイルデータに指定されている保存期間と一致する保存期間を有するボリュームを選択し、
    (2)前記ファイルデータを、その先頭から順番に前記選択されたボリュームの空き領域に書き込み、
    (3)前記ファイルデータが書き込まれた領域を書込み禁止領域として管理する、
    ストレージ装置。
JP2005030366A 2005-02-07 2005-02-07 ストレージシステム及びストレージ装置のアーカイブ管理方法 Withdrawn JP2006215954A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005030366A JP2006215954A (ja) 2005-02-07 2005-02-07 ストレージシステム及びストレージ装置のアーカイブ管理方法
US11/091,651 US20060179087A1 (en) 2005-02-07 2005-03-29 Storage system and storage device archive control method
EP05255819A EP1688832A1 (en) 2005-02-07 2005-09-20 Storage system and storage device archive control method
US12/134,194 US7870104B2 (en) 2005-02-07 2008-06-06 Storage system and storage device archive control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005030366A JP2006215954A (ja) 2005-02-07 2005-02-07 ストレージシステム及びストレージ装置のアーカイブ管理方法

Publications (1)

Publication Number Publication Date
JP2006215954A true JP2006215954A (ja) 2006-08-17

Family

ID=35478642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005030366A Withdrawn JP2006215954A (ja) 2005-02-07 2005-02-07 ストレージシステム及びストレージ装置のアーカイブ管理方法

Country Status (3)

Country Link
US (2) US20060179087A1 (ja)
EP (1) EP1688832A1 (ja)
JP (1) JP2006215954A (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077423A (ja) * 2006-09-21 2008-04-03 Nec Corp 仮想ライブラリ装置、仮想ライブラリ装置の制御方法、仮想ライブラリ装置の制御プログラム
JP2009069995A (ja) * 2007-09-11 2009-04-02 Ricoh Co Ltd 情報処理装置、情報処理方法、コンピュータプログラム、及び、情報記録媒体
JP2009157875A (ja) * 2007-12-28 2009-07-16 Dainippon Printing Co Ltd 構造化文書ファイル、およびその処理装置および方法
JP2009187544A (ja) * 2008-02-01 2009-08-20 Prostor Systems Inc 取り外し可能ディスクドライブ格納システム上の追記型モードの実装のための装置
JP2009244962A (ja) * 2008-03-28 2009-10-22 Toshiba Corp メモリシステム
US7836265B2 (en) 2006-12-04 2010-11-16 Hitachi, Ltd. Storage system, management method, and management apparatus
US8244996B2 (en) 2008-03-06 2012-08-14 Fujitsu Limited Hierarchical storage apparatus, control device, and control method
US8645625B2 (en) 2007-10-05 2014-02-04 Imation Corp. Methods for implementation of worm enforcement in a storage system
US8725780B2 (en) 2009-06-12 2014-05-13 Imation Corp. Methods and systems for rule-based worm enforcement
JP2014225071A (ja) * 2013-05-15 2014-12-04 富士通株式会社 ストレージ制御装置、ストレージシステム、及び制御プログラム
US8914336B2 (en) 2010-02-03 2014-12-16 Fujitsu Limited Storage device and data storage control method
WO2016051492A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 データベース管理システム、データベース管理方法及び記憶媒体
KR20180040178A (ko) * 2016-10-11 2018-04-20 임장식 하드디스크나 ssd 기반의 worm 저장장치에서 실시간으로 위변조를 방지하는 데이터 기록 방법
WO2020049746A1 (ja) * 2018-09-07 2020-03-12 株式会社東芝 データベース装置、プログラム、およびデータ処理方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US8010498B2 (en) * 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
JP4566808B2 (ja) * 2005-04-21 2010-10-20 株式会社日立製作所 情報処理システム、ストレージシステム及び情報処理方法
US8903763B2 (en) 2006-02-21 2014-12-02 International Business Machines Corporation Method, system, and program product for transferring document attributes
US7721021B2 (en) * 2006-11-21 2010-05-18 Lsi Corporation SAS zone group permission table version identifiers
US20080216009A1 (en) * 2007-03-02 2008-09-04 Paul Drallos Virtual Library File System
US8806324B2 (en) 2007-08-03 2014-08-12 Sap Ag Annotation data filtering of computer files
JP2009096144A (ja) * 2007-10-19 2009-05-07 Konica Minolta Business Technologies Inc 画像形成装置
JP2010020357A (ja) * 2008-05-29 2010-01-28 Toshiba Corp 情報処理装置及びその使用開始日記録方法
JP4670968B2 (ja) * 2009-01-22 2011-04-13 富士ゼロックス株式会社 情報管理プログラム及び情報管理システム
US9569319B2 (en) * 2009-09-18 2017-02-14 Alcatel Lucent Methods for improved server redundancy in dynamic networks
US8407185B2 (en) 2009-12-07 2013-03-26 Hitachi, Ltd. Computer, its processing method, and computer system
US8706697B2 (en) * 2010-12-17 2014-04-22 Microsoft Corporation Data retention component and framework
US9852143B2 (en) 2010-12-17 2017-12-26 Microsoft Technology Licensing, Llc Enabling random access within objects in zip archives
US20130304778A1 (en) * 2011-01-21 2013-11-14 Thomson Licensing Method for backward-compatible aggregate file system operation performance improvement, and respective apparatus
US8898378B2 (en) * 2011-02-23 2014-11-25 International Business Machines Co Retention management and reordering the data based on retention times on tape
US9183111B2 (en) * 2011-05-10 2015-11-10 Microsoft Technology Licensing, Llc Methods and computer program products for collecting storage resource performance data using file system hooks
US8738882B2 (en) * 2011-06-03 2014-05-27 Apple Inc. Pre-organization of data
US9514150B2 (en) * 2013-04-19 2016-12-06 Hewlett Packard Enterprise Development Lp Automatic WORM-retention state transitions
US10042859B1 (en) * 2013-09-27 2018-08-07 Open Text Corporation Chronological based retention for objects archived through a web-based storage interface for ILM
US9015439B1 (en) * 2014-05-30 2015-04-21 SanDisk Technologies, Inc. Event lock storage device
US9971777B2 (en) * 2014-12-18 2018-05-15 International Business Machines Corporation Smart archiving of real-time performance monitoring data
US9880780B2 (en) 2015-11-30 2018-01-30 Samsung Electronics Co., Ltd. Enhanced multi-stream operations
US9898202B2 (en) 2015-11-30 2018-02-20 Samsung Electronics Co., Ltd. Enhanced multi-streaming though statistical analysis
KR102474596B1 (ko) * 2017-12-06 2022-12-05 삼성전자주식회사 반도체 장치
US11416156B2 (en) * 2020-02-24 2022-08-16 Netapp, Inc. Object tiering in a distributed storage system

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US194452A (en) * 1877-08-21 Improvement in street-car engines
JPH087981B2 (ja) * 1989-08-30 1996-01-29 日本ビクター株式会社 追加方式の追記型情報記録媒体及びその情報管理方法
US5043967A (en) * 1990-08-20 1991-08-27 International Business Machines Corporation Structured data storage method and medium
US5765152A (en) * 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
US6353834B1 (en) * 1996-11-14 2002-03-05 Mitsubishi Electric Research Laboratories, Inc. Log based data architecture for a transactional message queuing system
US6098148A (en) * 1997-05-29 2000-08-01 International Business Machines Corporation Storage and access of data using volume trailer
US6185651B1 (en) * 1997-11-05 2001-02-06 Compaq Computer Corp SCSI bus extender utilizing tagged queuing in a multi-initiator environment
US6185661B1 (en) * 1998-01-02 2001-02-06 Emc Corporation Worm magnetic storage device
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
JP3460617B2 (ja) * 1999-03-30 2003-10-27 富士通株式会社 ファイル制御装置
US6618751B1 (en) * 1999-08-20 2003-09-09 International Business Machines Corporation Systems and methods for publishing data with expiration times
JP2001344178A (ja) 2000-05-30 2001-12-14 Nec Soft Ltd 電子メール・アーカイブシステム
US6886020B1 (en) * 2000-08-17 2005-04-26 Emc Corporation Method and apparatus for storage system metrics management and archive
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US7092977B2 (en) * 2001-08-31 2006-08-15 Arkivio, Inc. Techniques for storing data based upon storage policies
US8613102B2 (en) * 2004-03-30 2013-12-17 Intellectual Ventures I Llc Method and system for providing document retention using cryptography
US7269612B2 (en) * 2002-05-31 2007-09-11 International Business Machines Corporation Method, system, and program for a policy based storage manager
US7478096B2 (en) * 2003-02-26 2009-01-13 Burnside Acquisition, Llc History preservation in a computer storage system
US7107416B2 (en) * 2003-09-08 2006-09-12 International Business Machines Corporation Method, system, and program for implementing retention policies to archive records
US8417673B2 (en) * 2003-10-07 2013-04-09 International Business Machines Corporation Method, system, and program for retaining versions of files
US7590807B2 (en) * 2003-11-03 2009-09-15 Netapp, Inc. System and method for record retention date in a write once read many storage system
US7580961B2 (en) * 2004-01-21 2009-08-25 Emc Corporation Methods and apparatus for modifying a retention period for data in a storage system
US7346751B2 (en) * 2004-04-30 2008-03-18 Commvault Systems, Inc. Systems and methods for generating a storage-related metric
JP2006072789A (ja) * 2004-09-03 2006-03-16 Hitachi Ltd ストレージシステム及びストレージシステムのデータ管理装置
US20060075007A1 (en) * 2004-09-17 2006-04-06 International Business Machines Corporation System and method for optimizing a storage system to support full utilization of storage space
US7958093B2 (en) * 2004-09-17 2011-06-07 International Business Machines Corporation Optimizing a storage system to support short data lifetimes
US20060101084A1 (en) * 2004-10-25 2006-05-11 International Business Machines Corporation Policy based data migration in a hierarchical data storage system
WO2006053084A2 (en) * 2004-11-05 2006-05-18 Commvault Systems, Inc. Method and system of pooling storage devices
JP2006139552A (ja) * 2004-11-12 2006-06-01 Hitachi Ltd ストレージ装置及びストレージ装置のデータライフサイクル管理方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4535049B2 (ja) * 2006-09-21 2010-09-01 日本電気株式会社 仮想ライブラリ装置、仮想ライブラリ装置の制御方法、仮想ライブラリ装置の制御プログラム
JP2008077423A (ja) * 2006-09-21 2008-04-03 Nec Corp 仮想ライブラリ装置、仮想ライブラリ装置の制御方法、仮想ライブラリ装置の制御プログラム
US7836265B2 (en) 2006-12-04 2010-11-16 Hitachi, Ltd. Storage system, management method, and management apparatus
JP2009069995A (ja) * 2007-09-11 2009-04-02 Ricoh Co Ltd 情報処理装置、情報処理方法、コンピュータプログラム、及び、情報記録媒体
US8645625B2 (en) 2007-10-05 2014-02-04 Imation Corp. Methods for implementation of worm enforcement in a storage system
JP2009157875A (ja) * 2007-12-28 2009-07-16 Dainippon Printing Co Ltd 構造化文書ファイル、およびその処理装置および方法
JP2009187544A (ja) * 2008-02-01 2009-08-20 Prostor Systems Inc 取り外し可能ディスクドライブ格納システム上の追記型モードの実装のための装置
US8635419B2 (en) 2008-02-01 2014-01-21 Imation Corp. Methods for implementation of worm mode on a removable storage system
US8244996B2 (en) 2008-03-06 2012-08-14 Fujitsu Limited Hierarchical storage apparatus, control device, and control method
JP2009244962A (ja) * 2008-03-28 2009-10-22 Toshiba Corp メモリシステム
US8307172B2 (en) 2008-03-28 2012-11-06 Kabushiki Kaisha Toshiba Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory
US8725780B2 (en) 2009-06-12 2014-05-13 Imation Corp. Methods and systems for rule-based worm enforcement
US8914336B2 (en) 2010-02-03 2014-12-16 Fujitsu Limited Storage device and data storage control method
JP2014225071A (ja) * 2013-05-15 2014-12-04 富士通株式会社 ストレージ制御装置、ストレージシステム、及び制御プログラム
WO2016051492A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 データベース管理システム、データベース管理方法及び記憶媒体
KR20180040178A (ko) * 2016-10-11 2018-04-20 임장식 하드디스크나 ssd 기반의 worm 저장장치에서 실시간으로 위변조를 방지하는 데이터 기록 방법
KR101954421B1 (ko) * 2016-10-11 2019-03-06 임장식 하드디스크나 ssd 기반의 worm 저장장치에서 실시간으로 위변조를 방지하는 데이터 기록 방법
WO2020049746A1 (ja) * 2018-09-07 2020-03-12 株式会社東芝 データベース装置、プログラム、およびデータ処理方法
JPWO2020049746A1 (ja) * 2018-09-07 2021-05-13 株式会社東芝 データベース装置、プログラム、およびデータ処理方法
JP7106656B2 (ja) 2018-09-07 2022-07-26 株式会社東芝 データベース装置、プログラム、およびデータ処理方法

Also Published As

Publication number Publication date
US20080235304A1 (en) 2008-09-25
US20060179087A1 (en) 2006-08-10
US7870104B2 (en) 2011-01-11
EP1688832A1 (en) 2006-08-09

Similar Documents

Publication Publication Date Title
JP2006215954A (ja) ストレージシステム及びストレージ装置のアーカイブ管理方法
US7340571B2 (en) Storage system and data management device for storage system
US9298382B2 (en) Systems and methods for performing replication copy storage operations
US8103622B1 (en) Rate of change monitoring for a volume storing application data in a fractionally reserved data storage system
JP4920976B2 (ja) データ移動方法及びストレージシステム
JP5028218B2 (ja) 記憶制御装置、ストレージシステム及び記憶制御装置の制御方法
US20180018099A1 (en) Systems and methods for performing storage operations using network attached storage
US7933936B2 (en) Method and system for automatic management of storage space
JP4234086B2 (ja) ファイル・リクエストを処理するための方法、システム、およびプログラム
JP4583150B2 (ja) ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法
JP4972457B2 (ja) 記憶制御装置、記憶制御装置の制御方法及び情報処理システム
US20140149665A1 (en) Storage System Capable of Managing a Plurality of Snapshot Families and Method of Operating Thereof
US20090100223A1 (en) Storage control apparatus, data archive method for storage control apparatus, and storage system
JP4555040B2 (ja) ストレージ装置及びストレージ装置のライトアクセス処理方法
JP2005115948A (ja) ファイルをアーカイブするための方法、システム、およびプログラム
JP2006268830A (ja) ストレージシステムにおいて差分データ量をモニタする方法と装置
JP2005301628A (ja) ディスクアレイ装置
US20090300303A1 (en) Ranking and Prioritizing Point in Time Snapshots
JP2006139552A (ja) ストレージ装置及びストレージ装置のデータライフサイクル管理方法
US20060221721A1 (en) Computer system, storage device and computer software and data migration method
US8032712B2 (en) Storage system for staging data in random access area
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
JP2008152695A (ja) 電子的な保護対象に要求される保護能力で該保護対象を保護する記憶制御装置
JP2010044660A (ja) ストレージシステム及びそのデータ保護方法
KR101073894B1 (ko) 멀티-포인트 데이터 복구 방법 및 시스템과 이를 저장한 컴퓨터가 판독 가능한 기록매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071112

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090526