(57)【特許請求の範囲】
【請求項１】
１次記憶域が複数の区画に分割され、少なくとも１つの区画が該区画内に記憶されている内容を有する、コンピュータ・システムに対して１次記憶域をアーカイブ記憶域に増分アーカイブするように指示するコンピュータ実施方法であって、
ユーザ制御装置からの全バックアップ要求に応答して、各アレイ項目が無効な項目であるか又は対応する区画が記憶されているか若しくは記憶すべきであるアーカイブ記憶域上の場所を示す複数のアレイ項目を有する区画マップを走査するステップと、
対応する区画が記憶されているか若しくは記憶すべきであるアーカイブ記憶域上の場所を示すアレイ項目を有する区画の各々について、それら区画をアレイ項目によって示される場所に複写するステップと、
ユーザ制御装置から増分アーカイブ要求を受け取ることに応答して、各項目が１つの対応する区画が直前にアーカイブが行われてから修正されたかどうかを示す複数の項目を有する区画状況テーブルを走査するステップと、
第１の項目が修正済み区画を示す場合、第１の項目をアーカイブ状況に設定するステップと、
修正済み区画が記憶されているか若しくは記憶すべきであるアーカイブ記憶域上の場所を示す区画マップ内に項目を有する場合、修正済み区画の内容をアーカイブ記憶域上の項目によって示される場所に記憶するステップと、
修正済み区画が区画マップ内に無効な項目を有する場合、区画マップ内に項目を作成して、修正済み区画の複写を記憶する１つのアーカイブ区画を示すステップと、
修正済み区画の内容の複写をアーカイブ区画に記憶するステップと
を含む方法。
【請求項２】
１次記憶域が複数の区画に分割され、少なくとも１つの区画が該区画内に記憶されている内容を有する、コンピュータ・システムに対して１次記憶域をアーカイブ記憶域に増分アーカイブするように指示するコンピュータ実施方法であって、
ユーザ制御装置からの全バックアップ要求に応答して、各アレイ項目が「マップなし」であるか又は対応する区画が記憶されているか若しくは記憶すべきであるアーカイブ記憶域上の場所を示す複数のアレイ項目を有する区画マップを走査するステップと、
対応する区画が記憶されているか若しくは記憶すべきであるアーカイブ記憶域上の場所を示すアレイ項目を有する区画の各々について、それら区画をアレイ項目によって示される場所に複写するステップと、
ユーザ制御装置から増分アーカイブ要求を受け取ることに応答して、各項目が１つの対応する区画が直前にアーカイブが行われてから修正されたかどうかを示す複数の項目を有する区画状況テーブルを走査するステップと、
第１の項目が修正済み区画を示す場合、第１の項目をアーカイブ状況に設定するステップと、
修正済み区画が記憶されているか若しくは記憶すべきであるアーカイブ記憶域上の場所を示す区画マップ内に項目を有する場合、修正済み区画の内容をアーカイブ記憶域上の項目によって示される場所に記憶するステップと、
修正済み区画が区画マップ内に「マップなし」である場合、区画マップ内に項目を作成して、修正済み区画の複写を記憶する１つのアーカイブ区画を示すステップと、
修正済み区画の内容の複写をアーカイブ区画に記憶するステップと
を含む方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、最小限のアーカイブ記憶域を使用して永続記憶装置の高速増分アーカイブ（archive）を実現する技法に関する。
【０００２】
【従来の技術】
多くのコンピュータ・システムは、従来のアーカイブ方式を使用して１つまたは複数のディスクのバックアップを行っている。このアーカイブ方式では、ユーザがファイルの修正とアーカイブを行うたびに、そのファイル全体のコピーを磁気テープに書き込む。その後、そのファイルに変更を加え、ユーザが再度そのファイルをアーカイブしたい場合、このアーカイブ方式ではファイル全体をテープ上の直前にアーカイブされたファイルの後に追加する。
【０００３】
このアーカイブ方式には、いくつかの欠点と限界がある。第１に、このアーカイブ方式は、ユーザがファイルに最小限の修正を加えた場合でも、ユーザがそのファイルをアーカイブするときにファイル全体をテープに書き込む。したがって、このアーカイブ方式は、大きなファイルをアーカイブするのにかなりの時間を要する。第２に、このアーカイブ方式は各アーカイブ・ファイルを直前にアーカイブされたファイルの最後に追加するため、絶えず追加のテープを必要とする。
【０００４】
【発明が解決しようとする課題】
したがって、従来のアーカイブ方式よりも格段に高速化され、追加のテープを必要としないアーカイブ・システムが強く求められている。そのようなアーカイブ・システムは、修正を行うたびにファイルを完全に再書込みせず、そのファイルの修正部分を再書込みまたはアーカイブするだけでよい。
【０００５】
【課題を解決するための手段】
本発明は、コンピュータ・システムに対して、１次記憶域を増分アーカイブして、区画に基づいて記憶域をアーカイブするように指示する、コンピュータで実施される方法、メモリ、およびコンピュータ・システムである。１次記憶域は複数の区画に分割され、少なくとも１つの区画に情報が含まれる。この方法は、ユーザ制御装置から増分アーカイブ要求を受け取るステップと、それに応答して、最後にアーカイブしてから修正された区画があればその各区画内の情報のコピーをアーカイブ記憶域に記憶するステップとを含む。
【０００６】
【発明の実施の形態】
以下の詳細な説明は、現在企図されている本発明を実施するための最善の方式の説明である。この説明は、限定的なものとみなすべきではなく、単に本発明の一般原理を例示するためのものである。本発明の範囲は、特許請求の範囲によってのみ規定される。
【０００７】
本発明は、ハードディスク記憶域をアーカイブするための、装置、コンピュータ可読コードを実施するメモリ、および方法を含む。本発明は、ラップトップ・コンピュータや図１に図示するハードウェア構成など、適合する代表的なハードウェア構成で実施することが好ましい。
【０００８】
ワークステーション１００は、ＰｏｗｅｒＰＣ６０１など任意の適切な中央処理装置１０と、システム・バス１２を介して相互接続されたその他のいくつかの装置を備える。例示するワークステーション１００は、ランダム・アクセス・メモリ（ＲＡＭ）１４、読取り専用メモリ（ＲＯＭ）１６、システム・バス１２を表示装置３８に接続するディスプレイ・アダプタ３６、および周辺装置（たとえばハードディスク、読取り／書込み光ディスク、ＣＤ−ＲＯＭ、テープ装置２０など）をシステム・バス１２に接続する入出力アダプタ１８を備える。ワークステーション１００は、キーボード２４、マウス２６、スピーカ２８、マイクロフォン３２、タッチ・スクリーン装置（図示せず）またはその他のユーザ・インタフェース装置などのユーザ制御装置をシステム・バス１２に接続する、ユーザ・インタフェース・アダプタ２２をさらに備える。また、通信アダプタ３４によって、ワークステーション１００がデータ処理ネットワークに接続される。
【０００９】
ユーザは、適切な任意のオペレーティング・システムによってワークステーション１００とインタフェースすることができる。しかし、好ましい実施例では、ユーザはＩＢＭのＡＩＸオペレーティング・システム（ＯＳ）によってワークステーション１００とインタフェースする。「アーカイブ媒体」と言うときは、ハードディスクに記憶されている情報のコピーを保存する磁気テープ装置２０を含む。あるいは、読取り／書込み光ディスクなど適切な任意のタイプの記憶媒体を使用してこのコピーを保存することもできる。
【００１０】
好ましい実施例は、コンピュータ可読媒体内に常駐し、ワークステーション１００の動作を指示する、ＯＳに組み込むことが可能なユーティリティを含む。このユーティリティは、ＲＡＭ１４、ＲＯＭ１６、磁気ディスケット、磁気テープ、光ディスク（最後の３つは、ディスク装置およびテープ装置２０内に入っている）など任意の適切なコンピュータ可読媒体によって保存することができる。ユーティリティには、ワークステーション１００が認識することができる「信号」として伝送されるデータ構造と詳細論理（本明細書で説明する）が含まれている。説明を簡単にするために、以下の明細ではユーティリティを本発明の様々なタスクを実行するものとして説明する。実際には、ユーティリティは、それらの様々なタスクを実行するようにＣＰＵ１０を制御し、指示するにすぎない。
【００１１】
ＯＳは、すべての１次ディスク記憶域を、物理区画と呼ばれる同じ大きさの区画に論理的に分割する。ユーザは一般に、これらの物理区画のうちのいくつかの区画の内容を修正してからアーカイブを要求する。
【００１２】
図２に、ユーティリティが物理区画の修正をどのように管理し、追跡するかを示す。ユーザが物理区画を修正したかどうかを検出するために、ユーティリティは区画アーカイブ状況アレイテーブルを調べる。たとえば、区画アーカイブ状況アレイ２００には、物理区画２０１ないし２１２の修正状況が入っている。各状況ビット２４０によって、その物理区画に入っている情報が、最後のアーカイブ操作が行われてから修正されたかどうかが示される。ユーティリティは最初に、すべての状況ビット２４０を「アーカイブ済み」に設定する。
【００１３】
ユーティリティは、状況ビット２４０を設定することによって、各物理区画２０１ないし２１２に対するユーザ・アクセスを追跡する。たとえば、ユーティリティは「修正済み」を示すために状況ビット２４０を「１」に設定し、「アーカイブ済み」を示すために状況ビット２４０を「０」に設定する。増分アーカイブでは、ユーティリティは「修正済み」（最後のアーカイブが行われてから修正されたことを示す）の状況ビットを有するすべての物理区画を選択し、それらをアーカイブ媒体に複写する。したがって、増分アーカイブ時には、ユーティリティは「修正済み」としてマークされた物理区画のみをアーカイブする。
【００１４】
アーカイブが行われると、ユーティリティはアーカイブされた各物理区画に対応するすべての状況ビット２４０を「アーカイブ済み」（それらの物理区画が、最後にアーカイブ操作が行われてから修正されていないことを示す）にリセットする。このタイプの選択的アーカイブ操作は、まだ修正されていない「空の」区画がアーカイブされないようにする。
【００１５】
最適な使用のために、ユーティリティは、主として区画アーカイブ状況アレイ２００をＲＡＭ１４で維持すると同時に、一時的にディスクに記憶する。
【００１６】
図２および図３を参照すると、区画マップ・アレイ２２０内の項目には、１つの物理区画２０１ないし２１２からアーカイブ媒体上のそれに対応する物理区画２２１ないし２３２へのマッピングが入っている。したがって、アレイ２２０は各物理区画の内容がアーカイブ媒体上のどこに複写されるかを正確に示す。物理区画２０４など、物理区画が現在、有効なデータを保持するために使用されていない場合、アレイ２００はその物理区画について無効な値を保持する。たとえば、アレイ項目２４０は、区画２０４が「マップなし」であって、増分バックアップ処理時に考慮に入れてはならないことを示している。ユーティリティは、区画マップ・アレイ２２０をハードディスクとアーカイブ媒体の両方で維持し、アーカイブ操作時または物理区画をその論理ボリュームから削除する際にそれを更新する。
【００１７】
図４に、増分バックアップを実施するための詳細論理を示す。４００で、ユーティリティはユーザ制御装置によってアーカイブ要求が生成されたかどうかを判断する。ユーティリティがアーカイブ要求を受け取った場合、図５に制御が移る。アーカイブ要求を受け取らなかった場合、４０２でユーティリティは要求がＲＥＡＤ要求かどうかを判断する。物理区画のＲＥＡＤ要求はその内容に影響を与えないので、ＲＥＡＤ要求が発生した場合はユーティリティはアレイ２００または２２０に対して何も処置を行わない。したがって、４０４でＯＳがＲＥＡＤを実行し、４００に制御を戻す。
【００１８】
ＲＥＡＤ要求を受け取らなかった場合、４０６で、ユーティリティはその要求が１組のグループ化された物理区画を削除する要求であるかどうかを判断する。削除要求でない場合、４０８でユーティリティはＷＲＩＴＥ操作を実行する。４１０で、修正された各物理区画について、ユーティリティは区画状況アレイ２００内の状況ビット２４０を「修正」に設定する。４００に制御が戻る。
【００１９】
４０６に戻って、要求が１組のグループ化された物理区画を削除する要求の場合、４１２でユーティリティはハードディスクから区画マップ・アレイ２２０を読み取る。４１４で、ユーティリティは削除された各物理区画に対応する各アレイ項目を「マップなし」としてマークする。４１６で、ユーティリティは更新された区画マップ・アレイ２２０をディスクに書き込み、４１８でユーティリティは、削除された各物理区画についてアーカイブ状況アレイ２００内の状況ビット２４０を「アーカイブ済み」に設定する。４００に制御が戻る。
【００２０】
４００に戻って、ユーティリティが、要求がアーカイブ要求であると判断した場合、図５の５００に制御が移る。５００で、ユーティリティは要求が増分アーカイブ要求であるかどうかを判断する。増分アーカイブ要求の場合、５１０でユーティリティはディスクから区画マップ・アレイ２２０を読み取る。５１５で、ユーティリティは区画アーカイブ状況アレイ２００から第１の状況ビット２４０を読み取る。５２０で、ユーティリティは第１の状況ビット２４０が「修正」に設定されているかどうかを判断する。「修正」に設定されていない場合、５２５でユーティリティは区画アーカイブ状況アレイ２００から読み取るべき状況ビット２４０がまだほかにあるかどうかを判断する。ある場合は、５１５に制御が戻り、次の状況ビット２４０が読み取られる。ない場合は、図４の４００に制御が戻る。
【００２１】
５２０で、状況ビット２４０が「修正」に設定されていると判断した場合、ユーティリティは５３０で「修正」ビットを「アーカイブ」ビットに変更する。５３５で、ユーティリティは修正された物理区画が、区画マップ・アレイ２２０内に有効なアレイ項目を持っているかどうかを判断する。有効なアレイ項目を持っていない場合、５４０でユーティリティは区画マップ・アレイ２２０内に修正された物理区画のためのアレイ項目を作成する。修正された物理区画が区画マップ・アレイ２２０内に有効なアレイ項目を持っている場合、５４５でユーティリティは修正された物理区画に対応するアーカイブ区画を見つけ出し、その場所で更新を行う。次に５２５に制御が移り、ユーティリティは区画アーカイブ状況アレイ２００内に読み出すべき状況ビットがまだほかにあるかどうかを判断する。
【００２２】
５００に戻って、ユーティリティが、要求が増分アーカイブ要求ではなく全バックアップ要求であると判断した場合、図６に制御が移る。この場合、ユーティリティは物理区画の状況ビットには関与しない。６００で、ユーティリティはディスクから区画マップ・アレイ２２０をＲＡＭにロードし、有効なアレイ項目を有するすべての物理区画をテープにアーカイブする操作に進む。アーカイブを行うために、ユーティリティは６１０で区画マップ・アレイ２２０内の第１のアレイ項目を読み取る。６２０で、ユーティリティはそのアレイ項目に対応する区画アーカイブ状況アレイ２００内の状況ビット２４０を「アーカイブ」に設定する。６３０で、ユーティリティはそのアレイ項目が有効なアーカイブ区画にマップするかどうかを判断する。「マップなし」としてマークされているものは、ブランク、未使用、または削除された物理区画を示し、システムがもはや認識しなくなってアーカイブすべきでない区画であることを示す。アレイ項目が正しくマップされない場合、６４０でユーティリティは区画マップ・アレイ２２０から読み取るべきアレイ項目がまだほかにあるかどうかを判断する。ない場合、図４のブロック４００に制御が戻る。ある場合、６１０に制御が戻り、ユーティリティは次のアレイ項目を読み取る。
【００２３】
６３０に戻って、アレイ項目が有効なテープ位置にマップする場合、６５０でユーティリティはその１次記憶域物理区画の内容を、アーカイブ媒体上のマップ場所に複写し、６４０に制御が戻る。この全アーカイブが完了すると、ユーティリティは区画マップ・アレイ２２０をアーカイブ媒体の予約部分に記憶し、復元が必要なときにそれを使用する。
【００２４】
ユーティリティは、選択したアーカイブ区画をアーカイブ媒体からそれに対応する１次物理区画に複写することによって復元操作を行う。アーカイブ操作と同様に、データ・アクセス時間を最小限にするために、ユーティリティはアーカイブ区画番号をソートし、順次に保管データにアクセスして復元する。増分復元の場合、ユーティリティは区画アーカイブ状況アレイ２００を調べ、「修正済み」とマークされている物理区画のみを復元する。「アーカイブ済み」とマークされている残りの物理区画は、テープに書き込まれた内容と一致し、したがっていかなるタイプのデータ復元も必要としない。ユーティリティが区画をアーカイブから１次記憶域に複写すると、アーカイブと１次データが一致するため、状況ビットは「アーカイブ済み」に設定される。
【００２５】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００２６】
（１）１次記憶域が複数の区画に分割され、少なくとも１つの区画が該区画内に記憶されている内容を有する、コンピュータ・システムに対して１次記憶域をアーカイブ記憶域に増分アーカイブするように指示するコンピュータ実施方法であって、
ユーザ制御装置から増分アーカイブ要求を受け取るステップと、
修正された各区画の内容のコピーをアーカイブ記憶域に記憶するステップとを含む方法。
（２）各区画の内容のコピーを記憶するステップが、
（ａ）各項目が、１つの対応する区画が直前のアーカイブが行われてから変更されたかどうかを示す、複数の項目を有する区画状況テーブルを走査するステップと、
（ｂ）第１の項目が修正された区画を示す場合、修正された区画の内容をアーカイブ記憶域に記憶するステップと、
（ｃ）第１の項目をアーカイブ状況に設定するステップと、
（ｄ）すべての項目が走査されるまでステップ（ａ）ないし（ｃ）を繰り返すステップとを含む、上記（１）に記載のコンピュータ実施方法。
（３）ステップ（ｂ）が、
各アレイ項目が、対応する区画が記憶されているかまたは記憶すべきであるアーカイブ記憶域上の場所を示す、複数のアレイ項目を有する区画マップ・テーブルを走査するステップと、
修正された区画に対応するアレイ項目を探し出すステップと、
見つかったアレイ項目がアーカイブ記憶域上の有効なアーカイブ区画を示す場合は、修正された区画の内容のコピーを該アーカイブ区画に記憶するステップとを含む、上記（２）に記載のコンピュータ実施方法。
（４）修正された区画のアレイ項目が区画マップ・テーブル内にない場合には、修正された区画のコピーを記憶するアーカイブ区画を示すアレイ項目を作成するステップと、
修正された区画の内容のコピーを該アーカイブ区画に記憶するステップとをさらに含む、上記（３）に記載のコンピュータ実施方法。
（５）少なくとも１つの区画が該区画内に記憶されている内容を有する、複数の区画を有する１次記憶域と、
アーカイブ記憶域と、
アーカイブ要求を生成するユーザ制御装置と、
前記アーカイブ要求に応答して、修正された各区画の内容のコピーをアーカイブ記憶域に記憶するプロセッサとを含む、休止状態に入るコンピュータ・システム。
（６）各項目が１つの対応する区画が直前にアーカイブが行われてから修正されたかどうかを示し、すべての項目が走査されるまで複数の項目を有する区画状況テーブルを走査する前記プロセッサをさらに含み、
第１の項目が修正済み区画を示す場合には、前記プロセッサが該修正済み区画をアーカイブ記憶域に記憶し、
前記プロセッサが第１の項目をアーカイブ状況に設定する、上記（５）に記載のコンピュータ・システム。
（７）各アレイ項目がアーカイブ記憶域上の対応する区画が記憶されているかまたは記憶すべき場所を示す、複数のアレイ項目を有する区画マップを走査する前記プロセッサをさらに含み、
前期プロセッサが修正済み区画に対応するアレイ項目を探し出し、
見つかったアレイ項目がアーカイブ記憶域上の有効なアーカイブ区画を示す場合には、前期プロセッサが該修正済み区画の内容のコピーを該アーカイブ区画に記憶する、
上記（６）に記載のコンピュータ・システム。
（８）１次記憶域が複数の区画に分割され、少なくとも１つの区画が該区画内に記憶されている内容を有する、コンピュータ・システムに１次記憶域をアーカイブ記憶域に増分アーカイブするように指示するコンピュータ可読詳細論理を実施するコンピュータ可読メモリであって、
増分アーカイブ要求に応答して、コンピュータ・システムに対して修正された各区画の内容のコピーをアーカイブ記憶域に記憶するように指示する第１のコンピュータ可読論理を有する、コンピュータ可読メモリ。
（９）（ａ）各項目が１つの対応する区画が直前にアーカイブが行われてから修正されたかどうかを示す、コンピュータ・システムに対して複数の項目を有する区画状況テーブルを走査するように指示する第２のコンピュータ可読論理をさらに含み、
（ｂ）第１の項目が修正済み区画を示す場合、前期第２のコンピュータ可読論理がコンピュータ・システムに対して該修正済み区画の内容をアーカイブ記憶域に記憶するように指示し、
（ｃ）前期第２のコンピュータ可読論理がコンピュータ・システムに対して第１の項目をアーカイブ状況に設定するように指示し、
（ｄ）前期第２のコンピュータ可読論理がコンピュータ・システムに対し、すべての項目が走査されるまで（ａ）ないし（ｃ）を繰り返すように指示する、上記（８）に記載のメモリ。
【図面の簡単な説明】
【図１】本発明による適合する代表的なハードウェア構成を示す図である。
【図２】ディスク区画の状況を追跡する区画アーカイブ状況データ構造と、アーカイブ記憶媒体上の物理記憶場所をディスク上の物理記憶区画と相関させる区画マップ・データ構造を示す図である。
【図３】ユーティリティが物理区画を管理し、変更を追跡する様子を示す図である。
【図４】増分バックアップを実施する詳細論理を示す図である。
【図５】アーカイブ要求を実施する詳細論理を示す図である。
【図６】全バックアップを実施する詳細論理を示す図である。
【符号の説明】
１００  ワークステーション
１２  システム・バス
２０  テープ装置
２４  キーボード
２６  マウス
２８  スピーカ
３８  表示装置
【図１】
0003643166.tif 000002
【図２】
0003643166.tif 000003
【図３】
0003643166.tif 000004
【図４】
0003643166.tif 000005
【図５】
0003643166.tif 000006
【図６】
0003643166.tif 000007