(57)【要約】【課題】バックアップデータの管理工数を過大にすることなく、更新頻度の高いデータをバックアップする。【解決手段】ストレージ装置１は、ファイル単位でデータを記憶保持するとともに、記憶保持するファイルをバックアップする。第１の記憶部４は、ライトキャッシュとして機能する。第２の記憶部５は、バックアップディスクとして機能する。管理部２は、ファイル更新状態６と、バックアップ条件７を管理する。ファイル更新状態６は、第１の記憶部４が記憶するファイルの更新状態を含む情報である。バックアップ条件７は、第１の記憶部４が記憶するファイルを第２の記憶部５にバックアップする条件を含む情報である。バックアップ制御部３は、第１の記憶部４が記憶するファイルのうちファイル更新状態６がバックアップ条件７を満足したファイルを、第１のバックアップデータ８として第２の記憶部５に記憶する。【選択図】図１
2015014879.tif 000002
【特許請求の範囲】
【請求項１】
書き込まれたファイルを一時的に記憶する第１の記憶部と、
前記第１の記憶部が記憶するファイルのバックアップデータを記憶する第２の記憶部と、
前記第１の記憶部が記憶する前記ファイルの更新状態を示すファイル更新状態と、前記第１の記憶部が記憶するファイルを前記第２の記憶部にバックアップする条件を示すバックアップ条件を管理する管理部と、
前記第１の記憶部が記憶するファイルのうち前記ファイル更新状態が前記バックアップ条件を満足したファイルを、第１のバックアップデータとして前記第２の記憶部に記憶するバックアップ制御部と、
を備えることを特徴とするストレージ装置。
【請求項２】
前記ファイル更新状態は、前記ファイルの更新回数を含み、前記バックアップ条件は、前記更新回数が所定の閾値以上であることを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記ファイル更新状態は、前記第１の記憶部における前記ファイルの滞留時間を含み、前記バックアップ条件は、前記滞留時間が所定の閾値以上であることを特徴とする請求項１または請求項２記載のストレージ装置。
【請求項４】
前記ファイル更新状態は、前記ファイルの更新回数と、前記第１の記憶部における前記ファイルの滞留時間とを含み、前記バックアップ条件は、前記更新回数が所定の閾値以上、かつ前記滞留時間が所定の閾値以上であることを特徴とする請求項１記載のストレージ装置。
【請求項５】
前記バックアップ制御部は、前記第１の記憶部が記憶するファイルを、第２のバックアップデータとして前記第２の記憶部または第３の記憶部に定期的に記憶し、
前記第２のバックアップデータの記憶にもとづいて、前記第１のバックアップデータを、前記第２の記憶部から削除することを特徴とする請求項１乃至請求項４のいずれか１項に記載のストレージ装置。
【請求項６】
前記第１の記憶部は、所定時間更新がないファイルを削除することを特徴とする請求項１乃至請求項５のいずれか１項に記載のストレージ装置。
【請求項７】
書き込まれたファイルを一時的に記憶する第１の記憶部と、前記第１の記憶部が記憶するファイルのバックアップデータを記憶する第２の記憶部と、を備えるストレージ装置の制御方法であって、
前記ストレージ装置は、
前記第１の記憶部が記憶する前記ファイルの更新状態を示すファイル更新状態と、前記第１の記憶部が記憶するファイルを前記第２の記憶部にバックアップする条件を示すバックアップ条件を管理し、
前記第１の記憶部が記憶するファイルのうち前記ファイル更新状態が前記バックアップ条件を満足したファイルを、第１のバックアップデータとして前記第２の記憶部に記憶する、
ことを特徴とするストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、およびストレージ装置の制御方法に関する。
【背景技術】
【０００２】
複数の情報処理端末によってデータ処理をおこなう場合、データの保全と管理の効率化を図るために、ファイルサーバ（ストレージ装置）がデータを集中管理することがおこなわれている。ファイルサーバは、たとえば、ＮＡＳ（Network Attached Storage）装置がある。
【０００３】
近年のＮＡＳ装置の大容量化や処理性能の増大は、クラウド化に見られるような、多くのユーザが多種のアプリケーションを動作させる環境におけるデータ保護手段として、ＮＡＳ装置によるデータのバックアップを一般的なものとしている。
【０００４】
ＮＡＳ装置によるデータのバックアップは、システム全体の平均的なデータ更新量と平均更新頻度により決定され、オペレータによる操作あるいは設定により、月単位、日単位、あるいは時間単位などの一定間隔でおこなわれるのが通常である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０９−２１２４２４号公報
【特許文献２】特開２００５−３０１４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、データのバックアップが１時間ごとに設定された場合、分単位のデータ更新をおこなうアプリケーションが扱うデータは、バックアップ間隔の間で数世代にもなる。これらバックアップタイミングに挟まれた数世代のデータのバックアップは、スキップされることとなり、仮に１世代前、あるいは１０分前のデータの復元をおこないたいとしても復元対象となるデータが存在しない。
【０００７】
これに対して、復元対象となるデータは、バックアップ間隔を短く設定（たとえば、５分ごとに設定）することでその喪失を防ぐことができる。
しかしながら、上述したように、多くのユーザが多種のアプリケーションを動作させる環境下では、扱うデータの更新頻度が多様であり、適切なバックアップ間隔を設定することは容易でない。たとえば、バックアップ間隔を短く設定することにより復元対象となるデータが存在しないリスクを低減できるが、未更新データに対するバックアップ頻度が高くなり、バックアップデータの格納に必要な記憶領域が膨大になる。また、多くのバックアップ世代が存在することとなり、バックアップデータを保持、管理するための工数が増大する。
【０００８】
１つの側面では、本発明は、バックアップデータの管理工数を過大にすることなく、更新頻度の高いデータをバックアップすることができるストレージ装置、およびストレージ装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、以下に示すような、ストレージ装置が提供される。ストレージ装置は、第１の記憶部と、第２の記憶部と、管理部と、バックアップ制御部と、を備える。第１の記憶部は、書き込まれたファイルを一時的に記憶する。第２の記憶部は、第１の記憶部が記憶するファイルのバックアップデータを記憶する。管理部は、第１の記憶部が記憶するファイルの更新状態を示すファイル更新状態と、第１の記憶部が記憶するファイルを第２の記憶部にバックアップする条件を示すバックアップ条件を管理する。バックアップ制御部は、第１の記憶部が記憶するファイルのうちファイル更新状態がバックアップ条件を満足したファイルを、第１のバックアップデータとして第２の記憶部に記憶する。
【発明の効果】
【００１０】
１態様によれば、ストレージ装置、およびストレージ装置の制御方法において、バックアップデータの管理工数を過大にすることなく、更新頻度の高いデータをバックアップすることができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態のストレージ装置の構成の一例を示す図である。
【図２】第２の実施形態のストレージシステムの構成の一例を示す図である。
【図３】第２の実施形態のＮＡＳ装置のハードウェア構成の一例を示す図である。
【図４】第２の実施形態の定期バックアップ処理のフローチャートを示す図である。
【図５】第２の実施形態の定期バックアップの一例を示す図である。
【図６】第２の実施形態のキャッシュデータ更新処理のフローチャートを示す図である。
【図７】第２の実施形態の管理テーブル作成処理のフローチャートを示す図である。
【図８】第２の実施形態の管理テーブルの一例を示す図である。
【図９】第２の実施形態の不定期バックアップ処理のフローチャートを示す図である。
【図１０】第２の実施形態の定期バックアップおよび不定期バックアップの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して実施の形態を詳細に説明する。
［第１の実施形態］
まず、第１の実施形態のストレージ装置について図１を用いて説明する。図１は、第１の実施形態のストレージ装置の構成の一例を示す図である。
【００１３】
ストレージ装置１は、ファイル単位でデータを記憶保持するとともに、記憶保持するファイルを定期または不定期にバックアップする。ストレージ装置１は、管理部２と、バックアップ制御部３と、第１の記憶部４と、第２の記憶部５とを備える。
【００１４】
第１の記憶部４は、書き込まれたファイルを一時的に記憶する。第１の記憶部４は、ライトキャッシュとして機能する。なお、第１の記憶部４は、第２の記憶部５と比較して高速なアクセス性能を有する記憶部であることが望ましい。
【００１５】
第２の記憶部５は、第１の記憶部４が記憶するファイルのバックアップデータを記憶する。第２の記憶部５は、バックアップディスクとして機能する。第２の記憶部５は、第１の記憶部４と比較して大容量の記憶領域を有する記憶部であることが望ましい。
【００１６】
管理部２は、ファイル更新状態６と、バックアップ条件７を管理する。ファイル更新状態６は、第１の記憶部４が記憶するファイルの更新状態を含む情報である。バックアップ条件７は、第１の記憶部４が記憶するファイルを第２の記憶部５にバックアップする条件を含む情報である。
【００１７】
バックアップ制御部３は、第１の記憶部４が記憶するファイルのうちファイル更新状態６がバックアップ条件７を満足したファイルを、第１のバックアップデータ８として第２の記憶部５に記憶する。
【００１８】
これにより、ストレージ装置１は、バックアップデータの管理工数を過大にすることなく、更新頻度の高いデータをバックアップすることができる。
ここで、時系列ｔ（タイミングＴ０からタイミングＴ３まで）におけるファイル更新とファイルバックアップについて説明する。なお、図示する一点鎖線矢印は、ファイル更新状態６がバックアップ条件７を満足したときにおこなわれる第１のバックアップ（不定期バックアップ）であることを示す。また、図示する二点鎖線矢印は、定期的におこなわれる第２のバックアップ（定期バックアップ）であることを示す。バックアップ制御部３は、第１の記憶部４が記憶するファイルを、第２のバックアップデータ９として第２の記憶部５に定期的に記憶する。
【００１９】
タイミングＴ０において、第１の記憶部４は、ファイルＡ０およびファイルＢ０を記憶している。ストレージ装置１は、定期バックアップタイミングであるタイミングＴ０、すなわちバックアップ条件７の成立と関係なくおこなわれるバックアップタイミングで、ファイルＡ０およびファイルＢ０を第２の記憶部５にバックアップする。
【００２０】
タイミングＴ１においてファイルＡ０がファイルＡ１に更新され、ファイル更新状態６がバックアップ条件７を満足した場合、ストレージ装置１は、ファイルＡ１を第２の記憶部５にバックアップする。同様に、タイミングＴ２においてファイルＡ１がファイルＡ２に更新され、ファイル更新状態６がバックアップ条件７を満足した場合、ストレージ装置１は、ファイルＡ２を第２の記憶部５にバックアップする。なお、ファイル更新状態６は、第１の記憶部４が記憶するファイルの更新があった場合に更新される。
【００２１】
そして定期バックアップタイミングであるタイミングＴ３において、第１の記憶部４は、ファイルＡ２およびファイルＢ０を記憶している。ストレージ装置１は、定期バックアップタイミングであるタイミングＴ３で、ファイルＡ２およびファイルＢ０を第２の記憶部５にバックアップする。
【００２２】
したがって、第２の記憶部５は、タイミングＴ０のファイルＡ０，Ｂ０、タイミングＴ１のファイルＡ１、タイミングＴ２のファイルＡ２、およびタイミングＴ３のファイルＡ２，Ｂ０を記憶する。これにより、ストレージ装置１は、定期バックアップと定期バックアップとの間にある更新ファイル（たとえば、ファイルＡ１）をバックアップすることができる。また、ストレージ装置１は、タイミングＴ０とタイミングＴ３の定期バックアップでファイルＢ０を重複してバックアップしている。しかしながら、ストレージ装置１は、定期バックアップを短い時間に設定しなくても更新ファイルをバックアップすることができることから重複したバックアップの発生を抑制できる。
【００２３】
なお、第１の記憶部４は、第２の記憶部５と比較して高速なアクセス性能を有する場合、たとえば、第１の記憶部４がＳＳＤ（Solid State Drive:フラッシュメモリドライブ）であり、第２の記憶部５がＨＤＤ（Hard Disk Drive）である。あるいは、第１の記憶部４がオンラインディスクであり、第２の記憶部５がニアラインディスクである。この場合、第１の記憶部４、第２の記憶部５ともに、性能の異なるＨＤＤ、あるいは性能の異なるＳＳＤであることがある。
【００２４】
［第２の実施形態］
次に、第２の実施形態のストレージシステムについて図２を用いて説明する。図２は、第２の実施形態のストレージシステムの構成の一例を示す図である。
【００２５】
ストレージシステム１０は、複数のクライアント端末（情報処理端末）１１と、ＮＡＳ装置２０と、ＬＡＮ（Local Area Network）１２とを含む。クライアント端末１１は、ＮＡＳ装置２０が提供するファイル接続機能を利用して、ユーザごとまたはアプリケーションごとのデータ処理をおこなう。ＮＡＳ装置２０は、クライアント端末１１にファイル接続機能を提供するファイルサーバである。ＮＡＳ装置２０は、複数のディスク（記憶装置）２１を備え、大容量の記憶領域を有する。ＬＡＮ１２は、有線または無線、あるいはその両方を含む通信路であり、クライアント端末１１とＮＡＳ装置２０とを接続する。なお、ＬＡＮ１２は、クライアント端末１１とＮＡＳ装置２０とを接続するネットワークの一例であり、公衆回線等を含むものであってもよい。
【００２６】
次に、第２の実施形態のＮＡＳ装置２０について図３を用いて説明する。図３は、第２の実施形態のＮＡＳ装置のハードウェア構成の一例を示す図である。
ＮＡＳ装置２０は、プロセッサ２２によって装置全体が制御されている。プロセッサ２２には、バス２８を介してＲＡＭ（Random Access Memory）２３と複数の周辺機器が接続されている。
【００２７】
プロセッサ２２は、マルチプロセッサであってもよい。プロセッサ２２は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ２２は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２８】
ＲＡＭ２３は、ＮＡＳ装置２０の主記憶装置として使用される。ＲＡＭ２３には、プロセッサ２２に実行させるＯＳのプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２３には、プロセッサ２２による処理に必要な各種データが格納される。また、ＲＡＭ２３には、クライアント端末１１とＮＡＳ装置２０との間で転送されるデータが一時的に格納される。なお、ＲＡＭ２３は、各種データの格納に用いるメモリと別体にキャッシュメモリを含むものであってもよい。ＲＡＭ２３は、バッテリ２４に電力供給がバックアップされる。バッテリ２４は、たとえば、リチウムイオン電池などがある。
【００２９】
バス２８に接続されている周辺機器としては、ＲＯＭ（Read Only Memory）２５、ディスク制御部２６、および外部インタフェース部２７がある。
ＲＯＭ２５は、ＮＡＳ装置２０の電源遮断時においても記憶内容を保持する。ＲＯＭ２５は、たとえば、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）やフラッシュメモリなどの半導体記憶装置や、ＨＤＤなどである。また、ＲＯＭ２５は、ＮＡＳ装置２０の補助記憶装置として使用される。ＲＯＭ２５には、オペレーティングシステムのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。ＲＯＭ２５は、たとえば、データのバックアップ手順（バックアッププログラム）やリストア手順（リストアプログラム）を格納する。
【００３０】
ディスク制御部２６は、ファイルを格納するディスク（ＨＤＤ２１１、ＨＤＤ２１２、ＳＳＤ２１３）を制御する。なお、ディスク（ＨＤＤ２１１、ＨＤＤ２１２、ＳＳＤ２１３）は、ＮＡＳ装置２０が内蔵するものであってもよいし、外部接続するものであってもよい。また、ディスク制御部２６は、ディスクとバス２８との間のデータ転送を制御する。
【００３１】
外部インタフェース部２７は、ＬＡＮ１２と接続するインタフェース（たとえば、Ｅｔｈｅｒｎｅｔ（登録商標））を制御する。外部インタフェース部２７は、冗長性を有するため、あるいは負荷分散のために複数設けられる。
【００３２】
ＨＤＤ２１１は、クライアント端末１１にファイル接続機能を提供するためのデータを格納する記憶装置である。たとえば、ＨＤＤ２１１は、複数備えられ、ＲＡＩＤ（Redundant Array of Inexpensive Disks）を構築可能にしている。ＨＤＤ２１２は、ＨＤＤ２１１およびＳＳＤ２１３のバックアップデータを格納する記憶装置である。
【００３３】
ＳＳＤ２１３は、ＨＤＤ２１１にデータが書き込まれる前にデータを一時的に格納する記憶装置であり、ライトキャッシュとして機能する。ＳＳＤ２１３は、クライアント端末１１からＨＤＤ２１１へのデータの書き込みが発生した場合に、ＨＤＤ２１１への書き込み前のライトキャッシュとして使用される。
【００３４】
たとえば、ディスク制御部２６は、クライアント端末１１からＨＤＤ２１１へのデータの書き込み要求を受けて、ＳＳＤ２１３に空き領域がある場合にＳＳＤ２１３に一時的にデータを書き込み、後でＨＤＤ２１１へのデータの書き込みをおこなう。ディスク制御部２６は、ＳＳＤ２１３に書き込まれたデータの滞留時間をタイマ（たとえば、インクリメントタイマ）で監視する。ディスク制御部２６は、所定時間内に同一データへの書き込み、すなわちデータ更新が発生した場合に、タイマをリセットする。ディスク制御部２６は、所定時間内に同一データへの書き込みがない場合には、すなわちタイマのタイムアップによりＳＳＤ２１３に書き込まれたデータをＨＤＤ２１１に書き出し、ＳＳＤ２１３の領域を解放する。したがって、ＳＳＤ２１３が一時的に記憶するデータのうち頻繁に更新されるデータは、更新されないデータと比較してより滞留時間が長い。
【００３５】
このように、ディスク制御部２６は、ＳＳＤ２１３をライトキャッシュとして用いることで、ＮＡＳ装置２０の高速なデータ書き込みを実現している。
以上のようなハードウェア構成によって、第２の実施形態のＮＡＳ装置２０の処理機能を実現することができる。なお、ＮＡＳ装置２０におけるプロセッサ２２の他、ディスク制御部２６、第１の実施形態に示したストレージ装置１も、図示したＮＡＳ装置２０と同様のハードウェアにより実現することができる。
【００３６】
ＮＡＳ装置２０は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施形態の処理機能を実現する。ＮＡＳ装置２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、ＮＡＳ装置２０に実行させるプログラムをＲＯＭ２５に格納しておくことができる。プロセッサ２２は、ＲＯＭ２５内のプログラムの少なくとも一部をＲＡＭ２３にロードし、プログラムを実行する。またＮＡＳ装置２０に実行させるプログラムを、図示しない光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。メモリ装置は、外部インタフェース部２７あるいは図示しない機器接続インタフェースとの通信機能を搭載した記録媒体である。たとえば、メモリ装置は、メモリリーダライタによりメモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなうことができる。メモリカードは、カード型の記録媒体である。
【００３７】
可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ２２からの制御により、ＲＯＭ２５にインストールされた後、実行可能となる。またプロセッサ２２が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３８】
次に、第２の実施形態の定期バックアップ処理について図４を用いて説明する。図４は、第２の実施形態の定期バックアップ処理のフローチャートを示す図である。
定期バックアップ処理は、ＳＳＤ２１３が記憶するデータを定期的にＨＤＤ２１２にバックアップする処理である。定期バックアップ処理は、所定時間（たとえば、あらかじめ設定された時間）ごとにプロセッサ２２により実行される。
【００３９】
［ステップＳ１１］プロセッサ２２は、ＳＳＤ２１３が記憶するキャッシュデータをＨＤＤ２１２にバックアップする。
［ステップＳ１２］プロセッサ２２は、削除対象となるバックアップファイルの有無を判定する。プロセッサ２２は、削除対象となるバックアップファイルがある場合にステップＳ１３にすすみ、削除対象となるバックアップファイルがない場合に定期バックアップ処理を終了する。プロセッサ２２は、あらかじめ設定する定義ファイルにより削除対象となるバックアップファイルの有無を判定する。定義ファイルは、たとえば、上書き更新、追加更新、バック保持世代数など、バックアップファイルの保持条件（あるいは削除条件）が記録されている。
【００４０】
［ステップＳ１３］プロセッサ２２は、削除対象となるバックアップファイルを削除して定期バックアップ処理を終了する。
このような定期バックアップ処理によれば、ＮＡＳ装置２０は、ＳＳＤ２１３が記憶するキャッシュデータをＨＤＤ２１２に定期的にバックアップすることができる。なお、定期バックアップ処理は、ＳＳＤ２１３が記憶するキャッシュデータに加えて、ＨＤＤ２１１が記憶するデータをバックアップ対象としてもよい。
【００４１】
次に、図５を用いて定期バックアップ処理の実行例を説明する。図５は、第２の実施形態の定期バックアップの一例を示す図である。なお、ファイルＡ０，Ａ１，Ａ２，Ａ３，Ａ４は、同じｉｎｏｄｅのファイルであり、世代の区別を容易にするためにファイル名を便宜的に異ならせている。
【００４２】
［タイミングＴ００］ＮＡＳ装置２０は、ライトキャッシュ上にファイルＡ０を作成する。これにより、ＳＳＤ２１３は、ファイルＡ０を記録する。ＨＤＤ２１２は、未だバックアップタイミングに至っていないためファイルＡ０をバックアップしていない。
【００４３】
［タイミングＴ０１］ＮＡＳ装置２０は、ライトキャッシュの定期バックアップを作成する。これにより、ＨＤＤ２１２は、ファイルＡ０のバックアップファイルＡ０−ｂ１を記録する。
【００４４】
［タイミングＴ０２］ＮＡＳ装置２０は、ライトキャッシュ上のファイルＡ０をファイルＡ１に更新する。これにより、ＳＳＤ２１３は、ファイルＡ１を記録する。ＨＤＤ２１２は、バックアップファイルＡ０−ｂ１を保持するが、未だバックアップタイミングに至っていないためファイルＡ１をバックアップしていない。
【００４５】
［タイミングＴ０３］ＮＡＳ装置２０は、ライトキャッシュ上のファイルＡ１をファイルＡ２に更新する。これにより、ＳＳＤ２１３は、ファイルＡ２を記録する。ＨＤＤ２１２は、バックアップファイルＡ０−ｂ１を保持するが、未だバックアップタイミングに至っていないためファイルＡ２をバックアップしていない。
【００４６】
［タイミングＴ０４］ＮＡＳ装置２０は、ライトキャッシュ上のファイルＡ２をファイルＡ３に更新する。これにより、ＳＳＤ２１３は、ファイルＡ３を記録する。ＨＤＤ２１２は、バックアップファイルＡ０−ｂ１を保持するが、未だバックアップタイミングに至っていないためファイルＡ３をバックアップしていない。
【００４７】
［タイミングＴ０５］ＮＡＳ装置２０は、ライトキャッシュ上のファイルＡ３をファイルＡ４に更新する。これにより、ＳＳＤ２１３は、ファイルＡ４を記録する。ＨＤＤ２１２は、バックアップファイルＡ０−ｂ１を保持するが、未だバックアップタイミングに至っていないためファイルＡ４をバックアップしていない。
【００４８】
［タイミングＴ０６］ＮＡＳ装置２０は、ライトキャッシュの定期バックアップを作成する。これにより、ＨＤＤ２１２は、ファイルＡ０のバックアップファイルＡ０−ｂ１に加えて、ファイルＡ４のバックアップファイルＡ４−ｂ１を記録する。
【００４９】
［タイミングＴ０７］ＮＡＳ装置２０は、ライトキャッシュの定期バックアップを作成する。これにより、ＨＤＤ２１２は、ファイルＡ０のバックアップファイルＡ０−ｂ１、およびファイルＡ４のバックアップファイルＡ４−ｂ１に加えて、ファイルＡ４のバックアップファイルＡ４−ｂ２を記録する。なお、ＮＡＳ装置２０は、削除対象となるバックアップファイルがある場合、削除対象となるバックアップファイルを削除する。
【００５０】
このように、ＮＡＳ装置２０は、定期バックアップ処理だけによるバックアップでは、バックアップ間隔の間で第２世代から第４世代までのファイル（ファイルＡ１，Ａ２，Ａ３）がバックアップされていない。なお、ＮＡＳ装置２０は、バックアップ間隔を小さく設定することで、第２世代から第４世代までのファイルのバックアップ機会を得ることができるが、多くの場合、バックアップファイルＡ４−ｂ１，Ａ４−ｂ２のようにバックアップファイルが重複する。また、ＮＡＳ装置２０は、バックアップファイルの世代数が過大となり、管理工数が増大する。
【００５１】
そこで、ＮＡＳ装置２０は、図５に例示したファイルＡ（Ａ０，Ａ１，Ａ２，Ａ３，Ａ４）のように更新を繰り返すファイル、すなわちライトキャッシュに長時間滞留するファイルのバックアップ機会を得る。以下に、このようなバックアップ機会を得るための処理について説明する。
【００５２】
まず、第２の実施形態のキャッシュデータ更新処理について図６を用いて説明する。図６は、第２の実施形態のキャッシュデータ更新処理のフローチャートを示す図である。
キャッシュデータ更新処理は、ＳＳＤ２１３が記憶するデータ（キャッシュデータ）を更新する処理である。キャッシュデータ更新処理は、ＳＳＤ２１３が記憶するデータの更新タイミングにプロセッサ２２により実行される。更新タイミングは、ファイルの作成、ファイルの更新、ファイルの削除、ファイルの移動（ライトキャッシュからの追い出し）などがある。
【００５３】
［ステップＳ２１］プロセッサ２２は、ライトキャッシュにファイルを作成するか否かを判定する。プロセッサ２２は、ライトキャッシュにファイルを作成する場合にステップＳ２２にすすみ、ライトキャッシュにファイルを作成しない場合にステップＳ２４にすすむ。
【００５４】
［ステップＳ２２］プロセッサ２２は、ライトキャッシュにファイルを作成する。
［ステップＳ２３］プロセッサ２２は、管理テーブル作成処理を実行する。管理テーブル作成処理は、ライトキャッシュに作成したファイルの管理テーブルを作成する処理である。管理テーブルおよび管理テーブル作成処理については、図７および図８を用いて後で説明する。プロセッサ２２は、管理テーブル作成処理の実行後にキャッシュデータ更新処理を終了する。
【００５５】
［ステップＳ２４］プロセッサ２２は、ライトキャッシュに記録しているファイルを更新するか否かを判定する。プロセッサ２２は、ライトキャッシュに記録しているファイルを更新する場合にステップＳ２５にすすみ、ライトキャッシュに記録しているファイルを更新しない場合にステップＳ２７にすすむ。
【００５６】
［ステップＳ２５］プロセッサ２２は、ライトキャッシュに記録しているファイルを更新する。
［ステップＳ２６］プロセッサ２２は、不定期バックアップ処理を実行する。不定期バックアップ処理は、ライトキャッシュに記録している更新ファイルをバックアップする処理である。不定期バックアップ処理については、図９を用いて後で説明する。プロセッサ２２は、不定期バックアップ処理の実行後にキャッシュデータ更新処理を終了する。
【００５７】
［ステップＳ２７］プロセッサ２２は、ライトキャッシュに記録しているファイルを削除するか否かを判定する。プロセッサ２２は、ライトキャッシュに記録しているファイルを削除する場合にステップＳ２８にすすみ、ライトキャッシュに記録しているファイルを削除しない場合にステップＳ２９にすすむ。
【００５８】
［ステップＳ２８］プロセッサ２２は、ライトキャッシュに記録しているファイルを削除する。
［ステップＳ２９］プロセッサ２２は、ライトキャッシュに記録しているファイルを移動するか否かを判定する。プロセッサ２２は、ライトキャッシュに記録しているファイルを移動する場合にステップＳ３０にすすみ、ライトキャッシュに記録しているファイルを移動しない場合にキャッシュデータ更新処理を終了する。
【００５９】
［ステップＳ３０］プロセッサ２２は、ライトキャッシュに記録しているファイルを移動する。すなわち、プロセッサ２２は、ＨＤＤ２１１にファイルをコピーし、ＳＳＤ２１３からファイルを削除する。
【００６０】
［ステップＳ３１］プロセッサ２２は、ライトキャッシュから削除したファイルの管理テーブル、またはライトキャッシュから移動したファイルの管理テーブルを削除して、キャッシュデータ更新処理を終了する。
【００６１】
次に、第２の実施形態の管理テーブル作成処理について図７を用いて説明する。図７は、第２の実施形態の管理テーブル作成処理のフローチャートを示す図である。
ここで、管理テーブル作成処理を説明する前に、管理テーブルについて図８を用いて説明する。図８は、第２の実施形態の管理テーブルの一例を示す図である。
【００６２】
管理テーブル５０は、ファイルまたはディレクトリごとに設定されるバックアップ条件に関する条件情報と、ライトキャッシュに保持されているファイルまたはディレクトリごとの状態に関する状態情報とが記録される。
【００６３】
管理テーブル５０の項目「対象ファイル／ディレクトリ識別子」は、ライトキャッシュに保持されているファイルまたはディレクトリを一意に識別可能な識別情報である。項目「対象ファイル／ディレクトリ識別子」は、たとえば、ｉｎｏｄｅ番号である。プロセッサ２２は、たとえば、対象ファイル／ディレクトリ識別子「１２３４５６７８」からファイルまたはディレクトリを特定することができる。
【００６４】
管理テーブル５０の項目「バックアップ要否」は、条件情報の１つである。項目「バックアップ要否」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリのバックアップの要否を示す情報（フラグ）である。項目「バックアップ要否」は、たとえば、「１」、または「２」を格納する。バックアップ要否「１」はバックアップを要することを示し、バックアップ要否「２」はバックアップが不要であることを示す。
【００６５】
管理テーブル５０の項目「更新回数設定値」は、条件情報の１つである。項目「更新回数設定値」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリのバックアップ条件の１つであり、ファイルまたはディレクトリの更新回数の設定値である。項目「更新回数設定値」は、たとえば、整数を格納する。更新回数設定値「１」は１回目の更新でバックアップをおこなうことを示し、更新回数設定値「１０」は１０回目の更新でバックアップをおこなうことを示す。
【００６６】
管理テーブル５０の項目「滞留時間設定値」は、条件情報の１つである。項目「滞留時間設定値」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリのバックアップ条件の１つであり、ファイルまたはディレクトリの滞留時間の設定値である。項目「滞留時間設定値」は、たとえば、整数を格納する。滞留時間設定値「１００」は１００秒間のライトキャッシュ滞在でバックアップをおこなうことを示し、滞留時間設定値「６００」は６００秒間のライトキャッシュ滞在でバックアップをおこなうことを示す。
【００６７】
管理テーブル５０の項目「バックアップ対象区分」は、条件情報の１つである。項目「バックアップ対象区分」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリがファイルであるかディレクトリであるかを示す情報（フラグ）である。項目「バックアップ対象区分」は、たとえば、「１」、または「２」を格納する。バックアップ対象区分「１」はバックアップ対象がファイルであることを示し、バックアップ対象区分「２」はバックアップ対象がディレクトリであることを示す。
【００６８】
管理テーブル５０の項目「必要保持世代数」は、条件情報の１つである。項目「必要保持世代数」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリのバックアップ条件の１つであり、ファイルまたはディレクトリの必要保持世代数の設定値である。項目「必要保持世代数」は、たとえば、整数を格納する。必要保持世代数「１」は１世代のバックアップをおこなうことを示し、必要保持世代数「３」は３世代のバックアップをおこなうことを示す。
【００６９】
管理テーブル５０の項目「バックアップ先」は、条件情報の１つである。項目「バックアップ先」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリのバックアップ条件の１つであり、ファイルまたはディレクトリのバックアップ先の設定値である。項目「バックアップ先」は、たとえば、整数を格納する。バックアップ先「１」はＨＤＤ２１２にバックアップをおこなうことを示し、バックアップ先「２」はライトキャッシュと異なるＳＳＤにバックアップをおこなうことを示す。なお、項目「バックアップ先」は、は外部接続された記憶装置など、図３に図示したディスク以外の記憶装置を設定可能であってもよい。
【００７０】
管理テーブル５０の項目「現在の更新回数」は、状態情報の１つである。項目「現在の更新回数」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリの更新回数を示す。項目「現在の更新回数」は、たとえば、整数を格納する。現在の更新回数「１」はファイルまたはディレクトリの更新回数が１回であることを示し、現在の更新回数「２」はファイルまたはディレクトリの更新回数が２回であることを示す。
【００７１】
管理テーブル５０の項目「現在の滞留時間」は、状態情報の１つである。項目「現在の滞留時間」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリがライトキャッシュに滞留している時間を示す。項目「現在の滞留時間」は、たとえば、整数を格納する。現在の滞留時間「１０」はファイルまたはディレクトリがライトキャッシュに滞留している時間（滞留時間）が１０秒であることを示し、現在の滞留時間「４０」は滞留時間が４０秒であることを示す。
【００７２】
管理テーブル５０の項目「現在の保持世代数」は、状態情報の１つである。項目「現在の保持世代数」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリのバックアップが保持されている世代数を示す。項目「現在の保持世代数」は、たとえば、整数を格納する。現在の保持世代数「０」はファイルまたはディレクトリのバックアップが保持されていないことを示し、現在の保持世代数「２」はファイルまたはディレクトリのバックアップが保持されている世代数が２世代であることを示す。
【００７３】
管理テーブル５０の項目「バックアップ取得条件」は、条件情報の１つである。項目「バックアップ取得条件」は、項目「対象ファイル／ディレクトリ識別子」で特定されるファイルまたはディレクトリのバックアップ条件の１つであり、ファイルまたはディレクトリのバックアップ開始の条件式である。項目「バックアップ取得条件」は、たとえば、整数を格納する。バックアップ取得条件「１」は更新回数の条件成立と滞留時間の条件成立の論理和であることを示し、バックアップ取得条件「２」は更新回数の条件成立と滞留時間の条件成立の論理積であることを示す。
【００７４】
なお、管理テーブル５０は、ＲＡＭ２３に保持されるが、その他の記憶装置に保持されるものであってもよい。たとえば、管理テーブル５０は、ライトキャッシュであるＳＳＤ２１３が保持するファイルのメタデータとしてもよい。また、プロセッサ２２に代わってディスク制御部２６がバックアップに係る処理の一部または全部を分担する場合、管理テーブル５０は、ディスク制御部２６が有する記憶領域に保持されるものであってもよい。
【００７５】
ここで、管理テーブル作成処理の説明に戻る。管理テーブル作成処理は、ＳＳＤ２１３が記憶するデータの管理テーブルを作成する処理である。プロセッサ２２は、ＳＳＤ２１３が記憶するファイルごとのバックアップタイミングの決定に管理テーブルを用いる。管理テーブル作成処理は、キャッシュデータ更新処理のステップＳ２３で実行される。
【００７６】
［ステップＳ４１］プロセッサ２２は、管理テーブル作成対象のデータにバックアップ条件が設定されているか否かを判定する。プロセッサ２２は、管理テーブル作成対象のデータにバックアップ条件が設定されている場合にステップＳ４３にすすみ、バックアップ条件が設定されていない場合にステップＳ４２にすすむ。
【００７７】
［ステップＳ４２］プロセッサ２２は、デフォルト設定を取得する。
［ステップＳ４３］プロセッサ２２は、管理テーブル作成対象のデータに設定されているバックアップ条件が、ユーザ毎のユーザ設定であるか、ユーザが属するグループ毎のグループ設定であるかを判定する。プロセッサ２２は、バックアップ条件がユーザ設定である場合にステップＳ４４にすすみ、バックアップ条件がグループ設定である場合にステップＳ４５にすすむ。
【００７８】
［ステップＳ４４］プロセッサ２２は、ユーザ設定を取得する。
［ステップＳ４５］プロセッサ２２は、グループ設定を取得する。
［ステップＳ４６］プロセッサ２２は、管理テーブルを作成する。プロセッサ２２は、管理テーブルに１行追加し、管理テーブル作成対象のデータを特定可能なｉｎｏｄｅを記録し、取得した設定を条件情報に複写し、状態情報を初期化して、管理テーブルを作成する。
【００７９】
次に、第２の実施形態の不定期バックアップ処理について図９を用いて説明する。図９は、第２の実施形態の不定期バックアップ処理のフローチャートを示す図である。
不定期バックアップ処理は、ＳＳＤ２１３が記憶するデータ（キャッシュデータ）をバックアップする処理である。不定期バックアップ処理は、キャッシュデータ更新処理のステップＳ２６で実行される。
【００８０】
［ステップＳ５１］プロセッサ２２は、ファイル更新のあったファイルについて、管理テーブル５０の項目「現在の更新回数」を更新する。なお、管理テーブル５０の項目「現在の滞留時間」は、図示しない更新処理により所定時間ごとに更新されるものであってもよいし、管理テーブル５０の項目「現在の更新回数」とともに更新されるものであってもよい。
【００８１】
［ステップＳ５２］プロセッサ２２は、管理テーブル５０の項目「バックアップ要否」を参照して、ファイル更新のあったファイルがバックアップ対象か否かを判定する。プロセッサ２２は、ファイル更新のあったファイルがバックアップ対象である場合にステップＳ５３にすすみ、バックアップ対象でない場合に不定期バックアップ処理を終了する。
【００８２】
［ステップＳ５３］プロセッサ２２は、管理テーブル５０の項目「バックアップ取得条件」を参照して、バックアップ取得条件を判別する。プロセッサ２２は、バックアップ取得条件が「ＯＲ（論理和）」の場合にステップＳ５４にすすみ、バックアップ取得条件が「ＡＮＤ（論理積）」の場合にステップＳ５６にすすむ。
【００８３】
［ステップＳ５４］プロセッサ２２は、管理テーブル５０の項目「現在の滞留時間」の値と、管理テーブル５０の項目「滞留時間設定値」の値を比較する。プロセッサ２２は、管理テーブル５０の項目「現在の滞留時間」の値が、管理テーブル５０の項目「滞留時間設定値」の値より大きい場合にステップＳ５８にすすみ、大きくない場合にステップＳ５５にすすむ。
【００８４】
［ステップＳ５５］プロセッサ２２は、管理テーブル５０の項目「現在の更新回数」の値と、管理テーブル５０の項目「更新回数設定値」の値を比較する。プロセッサ２２は、管理テーブル５０の項目「現在の更新回数」の値が、管理テーブル５０の項目「更新回数設定値」の値より大きい場合にステップＳ５８にすすみ、大きくない場合に不定期バックアップ処理を終了する。
【００８５】
［ステップＳ５６］プロセッサ２２は、管理テーブル５０の項目「現在の滞留時間」の値と、管理テーブル５０の項目「滞留時間設定値」の値を比較する。プロセッサ２２は、管理テーブル５０の項目「現在の滞留時間」の値が、管理テーブル５０の項目「滞留時間設定値」の値より大きい場合にステップＳ５７にすすみ、大きくない場合に不定期バックアップ処理を終了する。
【００８６】
［ステップＳ５７］プロセッサ２２は、管理テーブル５０の項目「現在の更新回数」の値と、管理テーブル５０の項目「更新回数設定値」の値を比較する。プロセッサ２２は、管理テーブル５０の項目「現在の更新回数」の値が、管理テーブル５０の項目「更新回数設定値」の値より大きい場合にステップＳ５８にすすみ、大きくない場合に不定期バックアップ処理を終了する。
【００８７】
［ステップＳ５８］プロセッサ２２は、ＳＳＤ２１３が記憶するキャッシュデータ（ファイル更新のあったファイル）をＨＤＤ２１２にバックアップする。
［ステップＳ５９］プロセッサ２２は、管理テーブル５０の項目「現在の保持世代数」の値と、管理テーブル５０の項目「必要保持世代数」の値を比較する。プロセッサ２２は、管理テーブル５０の項目「現在の保持世代数」の値と、管理テーブル５０の項目「必要保持世代数」の値とが等しい場合にステップＳ６０にすすみ、等しくない場合にステップＳ６１にすすむ。
【００８８】
［ステップＳ６０］プロセッサ２２は、ＨＤＤ２１２にバックアップデータのうち、最も古い世代のバックアップデータを削除して不定期バックアップ処理を終了する。
［ステップＳ６１］プロセッサ２２は、管理テーブル５０の項目「現在の保持世代数」を更新（たとえば、１インクリメント）して不定期バックアップ処理を終了する。
【００８９】
このような不定期バックアップ処理によれば、ＮＡＳ装置２０は、ＳＳＤ２１３が記憶するキャッシュデータのうち、短期間で更新されるデータをＨＤＤ２１２にバックアップすることができる。
【００９０】
次に、図１０を用いて不定期バックアップ処理の実行例を説明する。図１０は、第２の実施形態の定期バックアップおよび不定期バックアップの一例を示す図である。なお、ファイルＡ０，Ａ１，Ａ２，Ａ３，Ａ４は、同じｉｎｏｄｅのファイルであり、世代の区別を容易にするためにファイル名を便宜的に異ならせている。また、特に世代を区別しない場合、ファイルＡを用いる。
【００９１】
［タイミングＴ１０］ＮＡＳ装置２０は、クライアント端末１１から外部インタフェース部２７を介して受信したファイルＡ０を、バス２８を介してＲＡＭ２３に書き込む。ＮＡＳ装置２０は、ＳＳＤ２１３にライトキャッシュとしての空き領域がある場合に、ＳＳＤ２１３にファイルＡ０を作成する。また、ＮＡＳ装置２０は、ファイルＡの管理テーブルを作成する。ＮＡＳ装置２０は、ＳＳＤ２１３へのファイルＡ０の作成後に、クライアント端末１１に書き込み終了を通知する。このようにして、ＳＳＤ２１３は、ファイルＡ０を記録する。ＨＤＤ２１２は、未だバックアップタイミングに至っていないためファイルＡ０をバックアップしていない。
【００９２】
なお、ファイルＡの管理テーブルは、項目「バックアップ要否」にバックアップ要否「１（バックアップ要）」、項目「更新回数設定値」に更新回数設定値「１（１回）」、項目「滞留時間設定値」に滞留時間設定値「１２０（１２０秒）」を設定したとする。さらに、ファイルＡの管理テーブルは、項目「バックアップ対象区分」にバックアップ対象区分「１（ファイル）」、項目「必要保持世代数」に必要保持世代数「２（２世代）」を設定したとする。さらに、ファイルＡの管理テーブルは、項目「バックアップ先」にバックアップ先「１（ＨＤＤ２１２）」、管理テーブル５０の項目「バックアップ取得条件」にバックアップ取得条件「２（論理積）」を設定したとする。
【００９３】
［タイミングＴ１１］ＮＡＳ装置２０は、クライアント端末１１からの指示、あるいは内部設定により、管理下にある記憶領域内のファイルのバックアップ（定期バックアップ）を取得する。ＮＡＳ装置２０は、ライトキャッシュにあるファイルＡ０の定期バックアップとしてファイルＡ０−ｂ１を作成し、バックアップ用ディスクであるＨＤＤ２１２に記録する。
【００９４】
［タイミングＴ１２］タイミングＴ１２は、タイミングＴ１０から１２０秒以上が経過したタイミングである。したがって、ライトキャッシュにおけるファイルＡ０の滞留時間は、滞留時間設定値「１２０（１２０秒）」を超えている。
【００９５】
ＮＡＳ装置２０は、クライアント端末１１から外部インタフェース部２７を介して受信したファイルＡ１（ファイルＡ０の更新ファイル）を、バス２８を介してＲＡＭ２３に書き込む。ＮＡＳ装置２０は、ＳＳＤ２１３にライトキャッシュとしての空き領域がある場合に、ＳＳＤ２１３のファイルＡ０をファイルＡ１に更新する。ＮＡＳ装置２０は、ファイルＡの管理テーブルを更新して、ＳＳＤ２１３へのファイルＡ１の作成後に、クライアント端末１１に書き込み終了を通知する。このようにして、ＳＳＤ２１３は、ファイルＡ１を記録する。
【００９６】
ＮＡＳ装置２０は、項目「現在の更新回数」の値をインクリメントして、管理テーブルを更新する。これにより、項目「現在の更新回数」は、更新回数「１」となる。更新回数「１」は、更新回数設定値「１」より大きくないため、更新回数の条件が不成立である。滞留時間の条件は成立しているが、項目「バックアップ取得条件」は、バックアップ取得条件「２」であるため、バックアップ開始条件を満たさない。したがって、ＨＤＤ２１２は、バックアップファイルＡ０−ｂ１を保持するが、未だバックアップタイミングに至っていないためファイルＡ１をバックアップしていない。
【００９７】
［タイミングＴ１３］ＮＡＳ装置２０は、タイミングＴ１２のファイル更新と同様にして、ＳＳＤ２１３のファイルＡ１をファイルＡ２に更新する。ＮＡＳ装置２０は、項目「現在の更新回数」の値をインクリメントして、ファイルＡの管理テーブルを更新する。これにより、項目「現在の更新回数」は、更新回数「２」となる。更新回数「２」は、更新回数設定値「１」より大きいため、更新回数の条件が成立する。滞留時間の条件は成立し、項目「バックアップ取得条件」は、バックアップ取得条件「２」であるから、バックアップ開始条件を満たす。したがって、ＨＤＤ２１２は、定期バックアップファイルＡ０−ｂ１に加えて、ファイルＡ２をバックアップした不定期バックアップファイルＡ２−ｚを保持する。ＮＡＳ装置２０は、項目「現在の保持世代数」の値をインクリメントして、ファイルＡの管理テーブルを更新する。
【００９８】
このように、ＮＡＳ装置２０は、ファイルの使用状態や、ユーザやアプリケーションのニーズに応じてファイルＡのバックアップ開始条件を設定できる。したがって、ＮＡＳ装置２０は、必要とされるバックアップをおこないながらもバックアップファイルの容量や管理工数が過大になることを抑制できる。
【００９９】
［タイミングＴ１４］ＮＡＳ装置２０は、タイミングＴ１２のファイル更新と同様にして、ＳＳＤ２１３のファイルＡ２をファイルＡ３に更新する。ＮＡＳ装置２０は、項目「現在の更新回数」の値をインクリメントして、ファイルＡの管理テーブルを更新する。これにより、項目「現在の更新回数」は、更新回数「３」となる。更新回数「３」は、更新回数設定値「１」より大きいため、更新回数の条件が成立する。滞留時間の条件は成立し、項目「バックアップ取得条件」は、バックアップ取得条件「２」であるから、バックアップ開始条件を満たす。したがって、ＨＤＤ２１２は、定期バックアップファイルＡ０−ｂ１、不定期バックアップファイルＡ２−ｚに加えて、ファイルＡ３をバックアップした不定期バックアップファイルＡ３−ｚを保持する。ＮＡＳ装置２０は、項目「現在の保持世代数」の値をインクリメントして、ファイルＡの管理テーブルを更新する。
【０１００】
［タイミングＴ１５］ＮＡＳ装置２０は、タイミングＴ１２のファイル更新と同様にして、ＳＳＤ２１３のファイルＡ３をファイルＡ４に更新する。ＮＡＳ装置２０は、項目「現在の更新回数」の値をインクリメントして、ファイルＡの管理テーブルを更新する。これにより、項目「現在の更新回数」は、更新回数「４」となる。更新回数「４」は、更新回数設定値「１」より大きいため、更新回数の条件が成立する。滞留時間の条件は成立し、項目「バックアップ取得条件」は、バックアップ取得条件「２」であるから、バックアップ開始条件を満たす。したがって、ＨＤＤ２１２は、定期バックアップファイルＡ０−ｂ１、不定期バックアップファイルＡ３−ｚに加えて、ファイルＡ４をバックアップした不定期バックアップファイルＡ４−ｚを保持する。ＮＡＳ装置２０は、項目「現在の保持世代数」の値をインクリメントして、ファイルＡの管理テーブルを更新する。
【０１０１】
なお、ＮＡＳ装置２０は、ファイルＡの項目「必要保持世代数」が必要保持世代数「２」であるから、不定期バックアップファイルＡ２−ｚを削除する。
このように、ＮＡＳ装置２０は、ファイルの使用状態や、ユーザやアプリケーションのニーズに応じてファイルＡのバックアップの必要保持世代数を設定できる。したがって、ＮＡＳ装置２０は、必要とされるバックアップをおこないながらもバックアップファイルの容量や管理工数が過大になることを抑制できる。
【０１０２】
［タイミングＴ１６］ＮＡＳ装置２０は、タイミングＴ１１と同様にして、ライトキャッシュの定期バックアップを作成する。なお、ＮＡＳ装置２０は、定期バックアップを追加生成するが、過去のバックアップを更新して生成するものであってもよい。
【０１０３】
これにより、ＨＤＤ２１２は、定期バックアップファイルＡ０−ｂ１に加えて、ファイルＡ４をバックアップした定期バックアップファイルＡ４−ｂ１を保持する。なお、ＮＡＳ装置２０は、ファイルＡ４の定期バックアップにより不定期バックアップファイルＡ３−ｚ，Ａ４−ｚを削除する。
【０１０４】
このように、ＮＡＳ装置２０は、定期バックアップタイミングで不定期バックアップファイルを削除するので、必要とされるバックアップをおこないながらもバックアップファイルの容量や管理工数が過大になることを抑制できる。なお、次回の定期バックアップタイミングでの不定期バックアップファイルの削除は、不定期バックファイルの削除条件の一例であって、次々回の定期バックアップタイミングや、対象ファイルのライトキャッシュからの追い出しタイミングなどであってもよい。
【０１０５】
また、ＮＡＳ装置２０は、ライトキャッシュにあるデータのうち更新頻度の高いファイルを選択して不定期のバックアップを生成することができる。これにより、更新のないファイルを含めてデータをバックアップする無駄を抑制できる。
【０１０６】
また、ＮＡＳ装置２０は、定期バックアップの間隔を狭くすることなく、短い間隔で更新されるデータをバックアップすることができる。したがって、ＮＡＳ装置２０は、必要とされるバックアップをおこないながらもバックアップファイルの容量や管理工数が過大になることを抑制できる。
【０１０７】
なお、第２の実施形態のＮＡＳ装置２０は、バックアップ開始条件成立後のファイル更新時にバックアップファイルを毎回生成するようにしたが、所定条件が成立したファイル更新ごとにバックアップファイルを生成するようにしてもよい。たとえば、ＮＡＳ装置２０は、所定回数（たとえば、１０回）のファイル更新ごとにバックアップファイルを生成するようにしてもよいし、所定のユーザによるファイル更新ごとにバックアップファイルを生成するようにしてもよい。
【０１０８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ＮＡＳ装置２０、第１の実施形態に示したストレージ装置１が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１０９】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１０】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１１】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１１２】
１  ストレージ装置
２  管理部
３  バックアップ制御部
４  第１の記憶部
５  第２の記憶部
６  ファイル更新状態
７  バックアップ条件
８  第１のバックアップデータ
９  第２のバックアップデータ
１０  ストレージシステム
１１  クライアント端末
１２  ＬＡＮ
２０  ＮＡＳ装置
２１  ディスク
２２  プロセッサ
２３  ＲＡＭ
２４  バッテリ
２５  ＲＯＭ
２６  ディスク制御部
２７  外部インタフェース部
２８  バス
５０  管理テーブル
２１１，２１２  ＨＤＤ
２１３  ＳＳＤ
【図１】
2015014879.tif 000003
【図２】
2015014879.tif 000004
【図３】
2015014879.tif 000005
【図４】
2015014879.tif 000006
【図５】
2015014879.tif 000007
【図６】
2015014879.tif 000008
【図７】
2015014879.tif 000009
【図８】
2015014879.tif 000010
【図９】
2015014879.tif 000011
【図１０】
2015014879.tif 000012