(57)【要約】【課題】  既存の技術は、良好な信頼性特性値を有する、記憶システム用の非重複化技術を提供する能力において、不完全なものとなっている。【解決手段】  一実現形態において、記憶システムが、ホストコンピュータと、管理端末と、記憶システムとを備えており、その記憶システムは、ホストコンピュータ／クライアントと通信するためのブロックインタフェースを有している。記憶システムはまた、チャンク（分割された記憶領域）を使用した非重複化能力を組み込んでいる。記憶システムは、非重複化の程度（すなわち、１つの実データに対する仮想データの数）に関連する閾値（上限）を維持し、その非重複化の程度は、ユーザーまたは管理ソフトウェアによって指定される。記憶システムは、各チャンクに対するリンクの数をカウントし、また、重複が検出された場合でもチャンクに対する削減されたデータの数が閾値を超えるときには、非重複化を実施しない。【選択図】図１
2009129441.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１台のホストコンピュータと、
管理端末と、
記憶システムであって、
前記少なくとも１台のホストコンピュータと通信するように操作可能なインタフェースと、
複数のデータ対象を含んだ記憶装置と、
前記記憶装置内に記憶されたデータの非重複化を実施するように操作可能な非重複化コントローラであって、非重複化の許容される程度に関連する閾値を維持し、各データ対象に対するリンクの数をカウントし、重複が検出された場合でも前記データ対象に対するリンクの前記カウント数が前記閾値を超えるときは非重複化を実施しない非重複化コントローラと、を備える記憶システムと、
を備える、コンピュータ化データ記憶システム。
【請求項２】
前記インタフェースはブロックインタフェースであり、前記データ対象はチャンクである、請求項１に記載のコンピュータ化データ記憶システム。
【請求項３】
前記インタフェースはネットワークインタフェースであり、前記データ対象はファイルである、請求項１に記載のコンピュータ化データ記憶システム。
【請求項４】
前記インタフェースはテープインタフェースであり、前記データ対象はバックアップファイルである、請求項１に記載のコンピュータ化データ記憶システム。
【請求項５】
非重複化を実施することは、複数の仮想対象から１つのデータ対象を指す複数のリンクを作成することを含む、請求項１に記載のコンピュータ化データ記憶システム。
【請求項６】
前記非重複化コントローラは、書込みコマンドを前記インタフェースによって受信したことに応答して、前記非重複化を実施するように操作可能である、請求項１に記載のコンピュータ化データ記憶システム。
【請求項７】
少なくとも１台のホストコンピュータと、
管理端末と、
記憶システムであって、
前記少なくとも１台のホストコンピュータと通信するように操作可能なインタフェースと、
通常の信頼性の記憶領域と、
高度な信頼性のデータ記憶領域と、
前記通常の信頼性の記憶領域と前記高度な信頼性のデータ記憶領域との間でデータを移送するように操作可能なデータ移送コントローラと、
前記通常の信頼性のデータ記憶領域または前記高度な信頼性のデータ記憶領域内に記憶されたデータの非重複化を実施するように操作可能な非重複化コントローラであって、非重複化の許容される程度に関連する閾値を維持し、各対象に対するリンクの数をカウントし、前記データ対象に対するリンクの前記カウント数が前記閾値を超えたとき、前記データ移送コントローラに、前記データ対象を前記高度な信頼性の記憶領域に移送させるように操作可能である非重複化コントローラと、
を備える記憶システムと、
を備えるコンピュータ化データ記憶システム。
【請求項８】
前記非重複化コントローラはさらに、前記データ対象に対するリンクの前記カウント数が前記閾値を下回ったとき、前記移送コントローラに、前記通常の信頼性の記憶領域に前記高度な信頼性の記憶領域から前記データ対象を移送させるように操作可能である、請求項７に記載のコンピュータ化データ記憶システム。
【請求項９】
前記インタフェースはブロックインタフェースであり、前記データ対象はチャンクである、請求項７に記載のコンピュータ化データ記憶システム。
【請求項１０】
前記インタフェースはネットワークインタフェースであり、前記データ対象はファイルである、請求項７に記載のコンピュータ化データ記憶システム。
【請求項１１】
前記インタフェースはテープインタフェースであり、前記データ対象はバックアップファイルである、請求項７に記載のコンピュータ化データ記憶システム。
【請求項１２】
非重複化を実施することは、複数の仮想対象から１つのデータ対象を指す複数のリンクを作成することを含む、請求項７に記載のコンピュータ化データ記憶システム。
【請求項１３】
前記非重複化コントローラは、書込みコマンドを前記インタフェースによって受信したことに応答して、前記非重複化を実施するように操作可能である、請求項７に記載のコンピュータ化データ記憶システム。
【請求項１４】
少なくとも１台のホストコンピュータと通信するように操作可能なインタフェースと、複数のデータ対象を含んだ少なくとも１台の記憶装置とを備える記憶システムによって実施される方法であって、
第１のデータが前記少なくとも１つの重複データ対象において重複しているかどうかを判定するステップと、
非重複化の許容される程度に関連する閾値を維持するステップと、
前記少なくとも１つの重複データ対象に対するリンクの数をカウントするステップと、
前記第１のデータが前記少なくとも１つの重複データ対象において重複している場合、またリンクの前記カウント数が前記閾値を超えない場合、前記データの非重複化を、前記少なくとも１つの重複データ対象において実施するステップと、
リンクの前記カウント数が前記閾値を超える場合、前記データの前記非重複化を、前記少なくとも１つの重複データ対象において実施しないステップと、
を含む方法。
【請求項１５】
前記インタフェースはブロックインタフェースであり、前記データ対象はチャンクである、請求項１４に記載の方法。
【請求項１６】
前記インタフェースはネットワークインタフェースであり、前記データ対象はファイルである、請求項１４に記載の方法。
【請求項１７】
前記インタフェースはテープインタフェースであり、前記データ対象はバックアップファイルである、請求項１４に記載の方法。
【請求項１８】
非重複化を実施することは、複数の仮想対象から前記重複データ対象を指す複数のリンクを作成することを含む、請求項１４に記載の方法。
【請求項１９】
前記判定するステップの前に、書込み要求を前記少なくとも１台のホストコンピュータから受信することをさらに含み、前記書込み要求は前記第１のデータを含む、請求項１４に記載の方法。
【請求項２０】
少なくとも１台のホストコンピュータと通信するように操作可能なインタフェースと、複数のデータ対象を含んだ少なくとも１台の記憶装置とを備える記憶システムによって実施される方法であって、
データが前記複数のデータ対象のうちの前記少なくとも１つ重複データ対象において重複しているかどうかを判定するステップと、
非重複化の許容される程度に関連する閾値を維持するステップと、
前記少なくとも１つの重複データ対象に対するリンクの数をカウントするステップと、
前記第１のデータが前記少なくとも１つの重複データ対象において重複している場合、前記データの非重複化を前記少なくとも１つの重複データ対象において実施するステップと、
リンクの前記カウント数が前記閾値を超える場合、前記少なくとも１つの重複データ対象を高度な信頼性のデータ記憶領域に移送するステップと、を含む方法。
【請求項２１】
前記インタフェースはブロックインタフェースであり、前記データ対象はチャンクである、請求項２０に記載の方法。
【請求項２２】
前記インタフェースはネットワークインタフェースであり、前記データ対象はファイルである、請求項２０に記載の方法。
【請求項２３】
前記インタフェースはテープインタフェースであり、前記データ対象はバックアップファイルである、請求項２０に記載の方法。
【請求項２４】
非重複化を実施することは、複数の仮想対象から前記重複データ対象を指す複数のリンクを作成することを含む、請求項２０に記載の方法。
【請求項２５】
前記判定するステップの前に、書込み要求を前記少なくとも１台のホストコンピュータから受信することをさらに含み、前記書込み要求は前記第１のデータを含む、請求項２０に記載の方法。
【請求項２６】
命令のセットを記憶するコンピュータ可読媒体であって、前記命令のセットは、少なくとも１台のホストコンピュータと通信するように操作可能なインタフェースと、複数のデータ対象を含んだ少なくとも１台の記憶装置とを備える記憶システムによって実行されたとき、前記記憶システムに、
第１のデータが前記少なくとも１つの重複データ対象において重複しているかどうかを判定させ、
非重複化の許容される程度に関連する閾値を維持させ、
前記少なくとも１つの重複データ対象に対するリンクの数をカウントさせ、
前記第１のデータが前記少なくとも１つの重複データ対象において重複している場合、またリンクの前記カウント数が前記閾値を超えない場合、前記データの非重複化を、前記少なくとも１つの重複データ対象において実施させ、
リンクの前記カウント数が前記閾値を超える場合、前記データの前記非重複化を、前記少なくとも１つの重複データ対象において実施させない、
コンピュータ可読媒体。
【請求項２７】
前記命令のセットはさらに、前記記憶システムに、前記判定するステップの前に、前記少なくとも１台のホストコンピュータからの書込み要求を受信させるように操作可能であり、前記書込み要求は前記第１のデータを含む、請求項２６に記載のコンピュータ可読媒体。
【請求項２８】
命令のセットを記憶するコンピュータ可読媒体であって、前記命令のセットは、少なくとも１台のホストコンピュータと通信するように操作可能なインタフェースと、複数のデータ対象を含んだ少なくとも１台の記憶装置とを備える記憶システムによって実行されたとき、前記記憶システムに、
第１のデータが前記複数のデータ対象のうちの前記少なくとも１つの重複データ対象において重複しているかどうかを判定させ、
非重複化の許容される程度に関連する閾値を維持させ、
前記少なくとも１つの重複データ対象に対するリンクの数をカウントさせ、
前記第１のデータが前記少なくとも１つの重複データ対象において重複している場合、前記データの非重複化を前記少なくとも１つの重複データ対象において実施させ、
リンクの前記カウント数が前記閾値を超える場合、前記少なくとも１つの重複データ対象を高度な信頼性のデータ記憶領域に移送させる、
コンピュータ可読媒体。
【請求項２９】
前記命令のセットはさらに、前記記憶システムに、前記判定するステップの前に、前記少なくとも１台のホストコンピュータからの書込み要求を受信させるように操作可能であり、前記書込み要求は前記第１のデータを含む、請求項２６に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本発明は、一般には記憶技術に関し、より具体的には記憶システム内に記憶されたデータの非重複化に関する。
【背景技術】
【０００２】
[0002]  最近では、記憶システムのための非重複化技術が、記憶領域コストおよび管理コストを削減する目的で開発されている。非重複化を用いると、記憶システムがデータまたはファイルをホストコンピュータから受信するとき、その記憶システムはまず、受信したデータを、記憶システムに既に記憶されていたデータまたはファイルと比較する。同じデータまたはファイルが検出された場合、記憶システムは、受信したデータまたはファイルすべてを記憶する代わりに、その検出したデータまたはファイルへのコンパクトリンク情報を作成する。換言すれば、記憶システムは、受信したデータまたはファイルを、記憶媒体上に物理的に記憶するのとは対照的に、仮想コピーとして記憶する。非重複化によって、記憶システムにおける使用される物理的記憶領域の総計は、コンピュータによって使用される対応する論理的領域のサイズよりも小さくすることができる。すなわち、非重複化により、記憶システムの物理的記憶領域をより効率的な方式で使用することが可能となる。
【０００３】
[0003]  記憶システムに適用されるある非重複化の方法が、本願にそのすべてが組み込まれる米国特許第７，０６５，６１９号に記載されている。Ｈｉｒｓｃｈらへの米国特許公報ＵＳ２００６／００５９２０７には、仮想テープライブラリなどの記憶システムに適用される非重複化の方法が示されている。米国特許第６，７０４，７３０号には、コンピュータのファイルシステムに適用される非重複化の方法が示されている。加えて、ＮｅｔＷｏｒｋ  Ａｐｐｌｉａｎｃｅ社は、ｈｔｔｐ：／／ｗｗｗ．ｎｅｔａｐｐ．ｃｏｍ／ｐｒｏｄｕｃｔｓ／ｓｔｏｒａｇｅ−ｓｙｓｔｅｍｓ／ｎｅａｒ−ｌｉｎｅ−ｓｔｏｒａｇｅ／ａｓｉｓ−ｄｅｄｕｐ．ｈｔｍｌに記載されているように、非重複化を使用してファイル記憶システム（ＮＡＳ）を提供している。
【０００４】
[0004]  現在の非重複化技術は一般に、以下の問題のうちの１つまたは複数を有している。非重複化では、複数の仮想データ対象が、ただ１つの物理的対象によって確立されることを前提とするため、重複の量（１つの物理的データに関連する仮想化データ）が多い場合、大量のデータまたはファイルが失われることにつながる。例えば、物理的データまたはファイルが、記憶システムの障害が原因で失われた場合、多数の対応する仮想データまたはファイルも失われることがある。換言すれば、非重複化が原因で、予期しない記憶の失敗による損害および影響がより大きなものとなる。さらに、他の例として、物理的データまたはファイルが性能の問題を欠点とする場合、対応する仮想データまたはファイルへのアクセスもまた、同様の性能の問題を欠点とする。そのような性能の問題は、記憶システムの障害、システムの誤設定による人的過誤、アクセス負荷の集中などよって発生することがある。この問題は、同じ物理的対象に対応する複数の仮想データ対象またはファイルが、複数のクライアントからの同時アクセスを受け、それによって、結果的にそれぞれの物理的データ対象にアクセス負荷が集中するときに発生することがある。これらの影響は、非重複化の程度が増加すると、より大きなものとなる。
【０００５】
[0005]  したがって、既存の技術は、良好な信頼性特性値を有する、記憶システム用の非重複化技術を提供する能力において、不完全なものとなっている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
[0006]  本発明の方法論は、データの非重複化のための通常の技術に伴う上記の問題および他の問題のうちの１つまたは複数を実質的に回避する方法およびシステムに関する。
【課題を解決するための手段】
【０００７】
[0007]  本発明の構想の一態様によれば、少なくとも１台のホストコンピュータと、管理端末と、記憶システムとを含んだコンピュータ化データ記憶システムが提供される。その記憶システムは、少なくとも１台のホストコンピュータと通信するように構成されたインタフェースと、複数のデータ対象を有する記憶装置と、記憶装置に記憶されたデータの非重複化を実施するように構成された非重複化コントローラとを含んでいる。その非重複化コントローラは、非重複化の許容される程度に関連する閾値を維持し、各データ対象に対するリンクの数をカウントし、重複が検出された場合でもデータ対象に対するリンクのカウント数が閾値を超えるときは非重複化を実施しない。
【０００８】
[0008]  本発明の構想の別の態様によれば、コンピュータ化データ記憶システムが提供される。この本発明の記憶システムは、少なくとも１台のホストコンピュータと、管理端末と、記憶システムとを含んでいる。その記憶システムは、少なくとも１台のホストコンピュータと通信するように操作可能なインタフェースと、通常の信頼性の記憶領域と、高度な信頼性のデータ記憶領域と、通常の信頼性の記憶領域と高度な信頼性のデータ記憶領域との間でデータを移送するように構成されたデータ移送コントローラと、通常の信頼性のデータ記憶領域または高度な信頼性のデータ記憶領域内に記憶されたデータの非重複化を実施するように構成された非重複化コントローラと、を含んでいる。その非重複化コントローラは、非重複化の許容される程度に関連する閾値を維持し、各対象に対するリンクの数をカウントする。非重複化コントローラはさらに、データ対象に対するリンクのカウント数が閾値を超えたとき、データ移送コントローラに、データ対象を高度な信頼性の記憶領域内に移送させるように構成されている。
【０００９】
[0009]  本発明の構想のさらなる別の態様によれば、少なくとも１台のホストコンピュータと通信するように構成されたインタフェースと、複数のデータ対象を有する少なくとも１台の記憶装置とを含んだ記憶システムによって実施される方法が提供される。この本発明の方法は、第１のデータが少なくとも１つの重複データ対象において重複しているかどうかを判定するステップと、非重複化の許容される程度に関連する閾値を維持するステップと、少なくとも１つの重複データ対象に対するリンクの数をカウントするステップと、を含んでいる。第１のデータが少なくとも１つの重複データ対象において重複している場合、またリンクのカウント数が閾値を超えない場合、少なくとも１つの重複データ対象におけるデータの非重複化は実施され、リンクのカウント数が閾値を超える場合、少なくとも１つの重複データ対象におけるデータの非重複化は実施されない。
【００１０】
[0010]  本発明の構想のさらなる態様によれば、少なくとも１台のホストコンピュータと通信するように構成されたインタフェースと、複数のデータ対象を有する少なくとも１台の記憶装置とを含んだ記憶システムによって実施される方法が提供される。この本発明の方法は、データが複数のデータ対象のうちの少なくとも１つの重複データ対象において重複しているかどうかを判定するステップと、非重複化の許容される程度に関連する閾値を維持するステップと、少なくとも１つの重複データ対象に対するリンクの数をカウントするステップと、を含んでいる。第１のデータが、少なくとも１つの重複データ対象において重複している場合、少なくとも１つの重複データ対象におけるデータの非重複化が実施され、リンクのカウント数が閾値を超える場合、少なくとも１つの重複データ対象が高度な信頼性の記憶領域に移送される。
【００１１】
[0011]  本発明の構想のさらなる態様によれば、命令のセットを記憶するコンピュータ可読媒体であって、その命令のセットは、少なくとも１台のホストコンピュータと通信するように構成されたインタフェースと、複数のデータ対象を有する少なくとも１台の記憶装置とを含んだ記憶システムによって実行されると、記憶システムに、第１のデータが複数のデータ対象のうちの少なくとも１つの重複データ対象において重複しているかどうかを判定させ、非重複化の許容される程度に関連する閾値を維持させ、少なくとも１つの重複データ対象に対するリンクの数をカウントさせる、コンピュータ可読媒体が提供される。第１のデータが、少なくとも１つの重複データ対象において重複している場合、少なくとも１つの重複データ対象におけるデータの非重複化が実施され、リンクのカウント数が閾値を超える場合、少なくとも１つの重複データ対象が高度な信頼性の記憶領域に移送される。
【００１２】
[0012]  本発明の構想のさらなる態様によれば、命令のセットを記憶するコンピュータ可読媒体であって、その命令のセットは、少なくとも１台のホストコンピュータと通信するように構成されたインタフェースと、データ対象を有する少なくとも１台の記憶装置とを含んだ記憶システムによって実行されると、記憶システムに、第１のデータが少なくとも１つの重複データ対象において重複しているかどうかを判定させ、非重複化の許容される程度に関連する閾値を維持させ、少なくとも１つの重複データ対象に対するリンクの数をカウントさせる、コンピュータ可読媒体が提供される。第１のデータが少なくとも１つの重複データ対象において重複している場合、またリンクのカウント数が閾値を超えない場合、少なくとも１つの重複データ対象におけるデータの非重複化は実施され、リンクのカウント数が閾値を超える場合、少なくとも１つの重複データ対象におけるデータの非重複化は実施されない。
【００１３】
[0013]  本発明に関連するさらなる態様は、以下の説明において部分的に記載することにし、また、部分的にその説明から明らかとなり、あるいは、本発明を実施することで理解することができる。本発明の態様は、以下の詳細な説明および添付の特許請求の範囲で具体的に指摘する要素および様々な要素の組み合わせならびに態様によって、実現しかつ達成することができる。
【００１４】
[0014]  上述の説明と以下の説明の双方は、単に例示的かつ説明的なものであり、いかなる方式においても、請求する本発明またはその用途を限定することを意図したものではない。
【００１５】
[0015]  本明細書に組み込まれ本明細書の一部となる添付の図面は、本発明の実施形態を例示するものであり、また、説明と共に、本発明の技術の原理を説明し解説するのに役立つものである。
【発明を実施するための最良の形態】
【００１６】
[0042]  以下の詳細な説明において、添付の図面を参照するが、その図面において、同一の機能要素は同様の符号で示してある。上述の添付の図面は、本発明の原理と整合した特定の実施形態および実現形態を、例として示すものであり、限定のために示すものではない。これらの実現形態については、当業者が本発明を実施するのに十分詳細に説明しており、また、他の実現形態を利用しうること、ならびに、様々な要素の構造的な変更および／または置換が、本発明の範囲および趣旨から逸脱することなくなされうることを理解されたい。以下の詳細な説明はしたがって、限定的な意味で解釈されるべきではない。加えて、説明する本発明の様々な実施形態は、汎用コンピュータ上で動作するソフトウェアの形式で、専用ハードウェアの形式で、またはソフトウェアとハードウェアの組み合わせの形式で実現してもよい。
【００１７】
Ａ．第１の実施形態
Ａ．１．システム構成
[0043]  図１は、本発明の記憶システムの第１の実施形態の例示的なシステム構成を示している。本発明の一実施形態に関するある記憶システムが、次の構成要素、すなわち、記憶システム１００と、アレイコントローラ１１０と、メインプロセッサ１１１と、スイッチ１１２と、ブロックＩ／Ｆコントローラ１１３と、メモリ２００と、キャッシュ３００と、ディスクコントローラ４００と、ディスク（例えばＨＤＤ）６１０と、バックエンドパス（例えばファイバチャネル、ＳＡＴＡ、ＳＡＳ、ｉＳＣＳＩ（ＩＰ））６０１とのうちの１つまたは複数を組み込んでいる。
【００１８】
[0044]  メインプロセッサ１１１は、アレイコントローラ１１０を適切に機能させるのに必要な様々なプロセスを実施する。メインプロセッサ１１１および他の構成要素は、メモリ２００内に記憶された次の情報、すなわち、パリティグループ情報２０１と、チャンク情報２０２と、セグメント情報２０３と、統合閾値２０４と、移送情報（Migration Information）２０５とを使用する。
【００１９】
[0045]  メインプロセッサ１１１は、メモリ２００内に記憶された次のプログラム、すなわち、書込みプロセスプログラム２１１と、読出しプロセスプログラム２１２と、非重複化（Deduplication）（ポストプロセス）プログラム２１３と、移送プログラム２１４とを実行することによって、上述のプロセスを実施する。上記のプロセスの詳細な説明を、以下に示すことにする。
【００２０】
[0046]  ホスト５００および管理端末５２０は、ＳＡＮ  ９０１を介してブロックインタフェース１１３に接続されている。このＳＡＮ  ９０１は、ファイバチャネルまたはｉＳＣＳＩ（ＩＰ）技術を使用して実装してもよい。ホスト５００と管理端末５２０は、ＬＡＮ  ９０３（例えばＩＰネットワーク）を介して相互接続されている。管理端末５２０はまた、ＩＰベースのネットワークなど、帯域外ネットワーク９０２を介してアレイコントローラ１１０に接続されている。
【００２１】
[0047]  計算能力を向上させるために、ホスト５００および管理端末５２０は、プロセッサおよびメモリ（図１には示さず）など、様々な計算リソースを組み込んでいる。ホスト５００はまた、アプリケーションソフトウェア５０１と、ＯＳ５０２と、ファイルシステム５０３とを組み込んでいる。加えて、管理端末５２０は、管理ソフトウェア５２１を組み込んでいる。
【００２２】
[0048]  記憶システム１００によって設けられた記憶ボリューム（論理装置）は、ＨＤＤに配置された記憶領域の集まりから構成されている。これらのボリューム内のデータは、パリティコードを記憶することによって保護してもよく、このことは、ＲＡＩＤ構成およびその関連技術を使用して達成される。ボリュームを提供するＨＤＤの集まりをパリティグループ６００と呼ぶ。一実施形態において、様々なパリティグループの構成（ＲＡＩＤ構成）およびそのパリティグループ用の様々な多数のディスクを利用することができる。ＲＡＩＤ構成の一例として、ダブルパリティ構成（すなわちＲＡＩＤ６）を利用することができる。ＲＡＩＤ６では、記憶データは、パリティグループ６００内の２台のＨＤＤが故障した場合でも、回復させることができる。したがって、ＲＡＩＤ６構成により、データを記憶することに対して、非常に高度な信頼性がもたらされる。上述のＲＡＩＤ６構成については、２０００年にＭｃＧｒａｗ−Ｈｉｌｌ  Ｃｏｍｐａｎｙによって出版された、Ｍａｒｃ  Ｆａｒｌｅｙ著の「Ｂｕｉｌｄｉｎｇ  Ｓｔｏｒａｇｅ  Ｎｅｔｗｏｒｋｓ」に記載されており、本書は参照によって本願に組み込まれる。
【００２３】
[0049]  ホスト５００は、データを記憶ボリューム内に記憶することができ、また記憶ボリューム内に記憶したデータにアクセスすることができる。換言すれば、ホスト５００は、データを記憶ボリュームに書き込み、またデータを記憶ボリュームから読み出す。アレイコントローラ１１０は、パリティグループ情報２０１を使用してパリティグループ６００を管理する。図２は、パリティグループ情報２０１の例示的な実施形態を示している。図２に示すように、パリティグループ情報２０１は、パリティグループＩＤと、各パリティグループ６００内のディスクの枚数と、ディスク構成のタイプ（ＲＡＩＤタイプ）と、各パリティグループ６００内のディスクのＩＤと、各ディスクの容量情報とを含んでいる。
【００２４】
[0050]  図３は、記憶システム１００内のボリュームの例示的な使用法を示している。記憶システム１００は、ボリューム６３０（すなわちデータ記憶領域）をホスト５００に提供している。ホスト５００は、書込みおよび読出しアクセス操作を実施して、ホストパス（例えばＳＡＮ  ９０１）を介して、データをボリューム６３０内に記憶し、ボリューム６３０内のデータにアクセスする。新しいデータがボリューム６３０内に記憶されると、記憶システム１００は、ボリューム６３０の内容の非重複化を実施する。上述の非重複化操作のためのプロセスについて、以下で説明することにする。図３に示すように、ボリューム６３０内の記憶領域は、固定サイズを有する複数のセグメントに論理的に分割されている。それに対して、ＲＡＩＤパリティグループによって設けられた物理的記憶領域は、複数のチャンクに分割されている。チャンクのサイズは、セグメントのサイズと同じである。アレイコントローラ１１０は、書込みプロセスの間にチャンクをセグメントに割り当て、セグメントに対応するデータをそれぞれのチャンク内に記憶する。さらに、以下で説明するように、アレイコントローラ１１０が、同じ内容を他のセグメント内に検出すると、アレイコントローラ１１０は、チャンク内に冗長な内容のコピーを１つのみ物理的に記憶し、複数のセグメントと１つのチャンクとのリンク関係を作成する。例えば、図３において、セグメント２とセグメント３は、チャンク１内に記憶された同じ内容を有している。
【００２５】
[0051]  上記の非重複化を達成する目的で、アレイコントローラ１１０は、チャンク情報２０２およびセグメント情報２０３を使用している。図４は、チャンク情報２０２の例示的な実施形態を示している。チャンク情報２０２は、記憶システム１００内の物理的領域を管理するために使用される。図４において、チャンク情報２０２は、パリティグループＩＤと、チャンクＩＤと、使用状態（使用のステータス）と、ハッシュ値と、それぞれの非重複化リンクの数に関する情報とを含んでいる。一組のパリティグループＩＤとチャンクＩＤによって、チャンクが一意に識別される。このハッシュ値は、同じデータを検出するために使用される値である。このハッシュ値は、各チャンク内のデータに基づいて計算される半一意的な値である。ハッシュ値のサイズは、チャンク自体のサイズよりも小さい。したがって、ハッシュ値は比較が容易であり、それゆえに、ハッシュ値は、同じデータの検出に使用するのに非常に好適である。ハッシュ値は、ＳＨＡ−１およびＳＨＡ−２５６などのハッシュ関数によって生成される。リンクの数は、図３に示すように、チャンク（すなわち物理的領域）とセグメント（すなわち論理的または仮想的領域）との確立された関連の数を示す。使用情報は、各チャンク（すなわち物理的領域）の現在の使用状態を示す。
【００２６】
[0052]  図５は、セグメント情報２０３の例示的な実施形態を示している。セグメント情報２０３は、チャンク（すなわち物理的領域）とそれに対応するセグメント（すなわち論理的または仮想領域）との関連（リンク）を維持する。図５において、セグメント情報２０３は、ボリュームＩＤと、セグメントＩＤと、割り当てのステータスと、パリティグループＩＤと、セグメントにリンクされたチャンクのチャンクＩＤとを含んでいる。一組のボリュームＩＤとセグメントＩＤによって、セグメントが一意に識別される。割り当てのステータスは、チャンクがセグメントに割り当てられていない場合は「ノー」であるが、一方で、「イエス」は、あるチャンクがセグメントに割り当てられていることを示唆する。リンク済みチャンク（パリティグループＩＤとチャンクＩＤ）は、セグメントにリンクされたチャンクを示す。すなわち、セグメント内のデータは、リンク済みチャンクとして示されたチャンク内に記憶されている。一実施形態において、上記の情報は、迅速な検索のために各要素のリストまたはディレクトリとして記憶される。
【００２７】
Ａ．２．書込みプロセスの第１の例：非重複化の制限
[0053]  記憶システム１００は、データ書込み要求を処理するためのプロセスの一部として非重複化を実施する。図６は、例示的な書込みプロセスの第１の部を示している。この部において、重複の検出が実施される。
【００２８】
[0054]  ステップ１００１で、アレイコントローラ１１０は、書込み要求とそれに関連付けられたデータをホスト５００からＳＡＮ  ９０１を介して受信する。アレイコントローラ１００は次いで、書込み要求において指定されたターゲット領域の第１のセグメントを、処理すべき現在のターゲットセグメントとみなす。
【００２９】
[0055]  ステップ１００２で、アレイコントローラ１１０は、セグメント情報２０３をターゲットセグメントに関して照合する。ターゲットセグメントが既に、ステップ１００３で割り当てられた対応するチャンクを有している場合、アレイコントローラ１１０は、ターゲットセグメントに対する新しいデータを書込みデータから取得する（ステップ１００４）。そうでない場合、アレイコントローラ１１０は、チャンクおよび書込みデータに記憶された古いデータから新しいデータを取得する（ステップ１００５）。
【００３０】
[0056]  ステップ１００６で、アレイコントローラ１１０は、新しいデータのハッシュ値を、ハッシュ関数を用いて計算する。
【００３１】
[0057]  ステップ１００７で、アレイコントローラ１１０は、同じハッシュ値について、チャンク情報２０２を検索する。
【００３２】
[0058]  ステップ１００８で、アレイコントローラ１１０が、同じハッシュ値を有するチャンクを発見した場合、プロセスはステップ１００９に進む。そうでない場合、プロセスは図８のステップ１２０１に進む。
【００３３】
[0059]  ステップ１００９で、アレイコントローラ１１０は、統合閾値２０４およびチャンク情報２０２を参照することによって、統合閾値記録２０４内に記録された閾値を、ステップ１００８で発見したチャンクへのリンクの数と比較する。統合閾値は、１つの物理的データ対象に対応する仮想的データ対象の数に対する閾値を表す。換言すれば、この閾値は、非重複化の程度に関連する閾値を表す。リンクの数が閾値よりも小さい場合、プロセスはステップ１０１０に進む。そうでない場合、プロセスは図８のステップ１２０１に進む。
【００３４】
[0060]  ステップ１０１０で、アレイコントローラ１１０は、新しいデータを、発見したチャンク内のデータと、バイナリレベルの比較で比較する。
【００３５】
[0061]  ステップ１０１１で、比較の結果、両方のデータが同じである場合、プロセスは図７のステップ１１０１に進む。そうでない場合、プロセスは図８のステップ１２０１に進む。
【００３６】
[0062]  図７は、例示的な書込みプロセスの第２の部を示している。この部においては、受信したデータを物理的に記憶する代わりに、リンク（関連）が作成されるかまたは更新される。
【００３７】
[0063]  ステップ１１０１で、アレイコントローラ１１０は、ターゲットセグメントを突き止める目的でセグメント情報２０３を照合する。
【００３８】
[0064]  ターゲットセグメントが既に、ステップ１１０２で割り当てられた対応するチャンクを有している場合、プロセスはステップ１１０４に進む。そうでない場合、アレイコントローラ１１０は、セグメント情報２０３を更新して、ターゲットセグメントと、同じ新しいデータを有する発見したチャンクとのリンクを作成する（ステップ１１０３）。
【００３９】
[0065]  ステップ１１０４で、アレイコントローラ１１０は、ターゲットセグメントに対するチャンクを、同じデータを有する発見したチャンクに変更することによって、セグメント情報２０３を更新する。
【００４０】
[0066]  ステップ１１０５で、アレイコントローラ１１０は、ターゲットセグメントに対する古いチャンクのリンクの数から１を減算することによって、チャンク情報２０２を更新する。
【００４１】
[0067]  古いチャンクのリンクの数がステップ１１０６で０に等しい場合、アレイコントローラ１１０はチャンク情報２０２を更新して、古いチャンクを未使用としてラベル付けする（ステップ１１０７）。そうでない場合、プロセスはステップ１１０８に進む。
【００４２】
[0063]  ステップ１１０８で、アレイコントローラ１１０は、新しいデータと同じものを有する発見したチャンクのリンクの数に１を加算することによって、チャンク情報２０２を更新する。その後、プロセスは図９のステップ１３０１に進む。
【００４３】
[0069]  図８は、例示的な書込みプロセスの第３の部を示している。この部において、書込みデータは物理的に記憶される。
【００４４】
[0070]  ステップ１２０１で、アレイコントローラ１１０は、セグメント情報２０３をターゲットセグメントに関して照合する。
【００４５】
[0071]  ステップ１２０２で、ターゲットセグメントが既に、割り当てられた対応するチャンクを有している場合、プロセスはステップ１２０３に進む。そうでない場合、プロセスはステップ１２０５に進む。
【００４６】
[0072]  ステップ１２０３で、アレイコントローラ１１０は、チャンク情報２０２を割り当てられたチャンクに関して照合する。
【００４７】
[0073]  ステップ１２０４で、割り当てられたチャンクを指すリンクの数が１よりも多い場合、プロセスはステップ１２０８に進む。そうでない場合、プロセスはステップ１２１２に進む。
【００４８】
[0074]  ステップ１２０５で、アレイコントローラ１１０は、未使用のチャンクについてチャンク情報２０２を検索し、未使用のチャンクを取得する。
【００４９】
[0075]  ステップ１２０６で、アレイコントローラ１１０は、セグメント情報２０３およびチャンク情報２０２を更新して、チャンクをターゲットセグメントに割り当てる。
【００５０】
[0076]  ステップ１２０７で、アレイコントローラ１１０は、新しいデータをチャンク内に記憶する。その後、プロセスは図９のステップ１３０１に進む。
【００５１】
[0077]  ステップ１２０８で、アレイコントローラ１１０は、未使用のチャンクについてチャンク情報２０２を検索し、未使用のチャンクを取得する。
【００５２】
[0078]  ステップ１２０９で、アレイコントローラ１１０は、ターゲットセグメントに対するチャンクの割当てを、新たに取得したチャンクに変更することによって、セグメント情報２０３を更新する。
【００５３】
[0079]  ステップ１２１０で、アレイコントローラ１１０は、ターゲットセグメントに対する古いチャンクを指すリンクの数から１を減算することによって、チャンク情報２０２を更新する。
【００５４】
[0080]  ステップ１２１１で、アレイコントローラ１１０は、新しいデータを新しいチャンク内に記憶する。その後、プロセスは図９のステップ１３０１に進む。
【００５５】
[0081]  ステップ１２１２で、アレイコントローラ１１０は、新しいデータを、割り当てられたチャンク内に記憶する。その後、プロセスは図９のステップ１３０１に進む。
【００５６】
[0082]  図９は、例示的な書込みプロセスの第４の部を示している。この図は、プロセスの終了条件を示している。
【００５７】
[0083]  書込み要求のターゲット領域全体がステップ１３０１で処理された場合、アレイコントローラ１１０は、書込み要求のプロセスが完了したことをホストに通知し（ステップ１３０２）、プロセスが終了する。そうでない場合、アレイコントローラ１１０は、次のセグメントをターゲットセグメントとして指定し（ステップ１３０３）、次いでプロセスが図６のステップ１００２に進む。
【００５８】
[0084]  上記のプロセスにおいて、チャンクのリンクの数が非重複化の閾値に達した場合、同じデータのさらなる統合（すなわち非重複化）は実施されない。ユーザーまたは管理ソフトウェア５２１は、管理端末５２０を通じて閾値（統合閾値２０４）を指定することができる。上述のプロセスでは、記憶データに対するリスク、ならびに、多数のデータ対象にわたる信頼性および性能の低下などの問題を、効果的に緩和することができる。
【００５９】
Ａ．３．読出しプロセス
[0085]  図１０は、読出し要求に対するプロセスの例示的な実施形態を示している。
【００６０】
[0086]  ステップ１４０１において、アレイコントローラ１１０は、読出し要求をホスト５００からＳＡＮ  ９０１を介して受信する。アレイコントローラ１００は次いで、読出し要求に対応するターゲット領域の第１のセグメントを、処理すべき現在のターゲットセグメントとして指定する。
【００６１】
[0087]  ステップ１４０２で、アレイコントローラ１１０は、セグメント情報２０３を参照し、ターゲットセグメントに対するチャンクを取得する。
【００６２】
[0088]  ステップ１４０３で、アレイコントローラ１１０は、チャンク内のデータをホストに転送する。読出し要求に対応するターゲット領域全体がステップ１４０４で処理された場合、アレイコントローラ１１０は、読出し要求のプロセスが完了したことをホストに通知し（ステップ１４０５）、プロセスが終了する。そうでない場合、アレイコントローラ１１０は、次のセグメントをターゲットセグメントとして指定し（ステップ１４０６）、次いでプロセスがステップ１４０２に進む。
【００６３】
Ａ．４．ポストプロセスとしての非重複化プロセスの第１の例：非重複化の制限
[0089]  記憶システム１００に記憶されたデータの非重複化は、書込みプロセスとは独立して実施することができる。すなわち、非重複化は、データを記憶した後のポストプロセスとして実施することができる。このプロセスはまた、ミラーのデカップリング後に、ミラー／スナップショットデータに対して実施することもできる。
【００６４】
[0090]  図１１は、ポストプロセスとしての非重複化プロセスを示している。
【００６５】
[0091]  ステップ１５０１で、アレイコントローラ１１０は、現在のセグメントに対応するチャンク内に記憶されたデータのハッシュ値を、ハッシュ関数を使用して計算する。
【００６６】
[0092]  ステップ１５０２で、アレイコントローラ１１０は、同じハッシュ値について、チャンク情報２０２を検索する。
【００６７】
[0093]  ステップ１５０３で、アレイコントローラ１１０が、同じハッシュ値を有するチャンクを発見した場合、プロセスはステップ１５０４に進む。そうでない場合、プロセスはステップ１５１０に進む。
【００６８】
[0094]  ステップ１５０４で、アレイコントローラ１１０は、統合閾値記録２０４およびチャンク情報２０２を参照することによって、統合閾値記録２０４内に記録された閾値を、ステップ１５０３で発見されたチャンクを指すリンクの数と比較する。リンクの数が閾値よりも少ない場合、プロセスはステップ１５０５に進む。そうでない場合、プロセスはステップ１５１０に進む。
【００６９】
[0095]  ステップ１５０５で、アレイコントローラ１１０は、現在のセグメント内のデータを、発見したチャンク内のデータと、バイナリレベルの比較を使用して比較する。
【００７０】
[0096]  ステップ１５０６で、その比較に基づいて、両方のデータが同じであると判定された場合、プロセスはステップ１５０７に進む。そうでない場合、プロセスはステップ１５１０に進む。
【００７１】
[0097]  ステップ１５０７で、アレイコントローラ１１０は、現在のセグメントに対するチャンクを、同じデータを有する発見したチャンクに変更することによって、セグメント情報２０３を更新する。
【００７２】
[0098]  ステップ１５０８で、アレイコントローラ１１０は、現在のセグメントに対する古いチャンクのリンクの数を、同じデータを有する発見したチャンクのリンクの数に加算することによって、チャンク情報２０２を更新する。
【００７３】
[0099]  ステップ１５０９で、アレイコントローラ１１０は、古いチャンクを未使用としてラベル付けすることによって、チャンク情報２０２を更新する。
【００７４】
[00100]  非重複化プロセスのターゲット領域全体がステップ１５１０で処理された場合、プロセスは終了する。そうでない場合、アレイコントローラ１１０は、次のセグメントを現在のセグメントとして指定し（ステップ１５１１）、その後にプロセスがステップ１５０１に進む。
【００７５】
[00101]  また、上記の非重複化プロセスにおいて、チャンクを指すリンクの数が非重複化の閾値に達した場合、同じデータの統合（すなわち非重複化）は実施されない。上記の本発明のプロセスを使用すると、記憶データに対するリスク、ならびに、多数の非重複化されたデータ対象にわたる信頼性および性能の低下などの問題を緩和することができる。
【００７６】
Ａ．５．書込みプロセスの第２の例：リンクの数に基づいたデータ移送
[00102]  図１２、図１３および図１４は、非重複化を伴う書込みプロセスの別の例を示している。図示のプロセスを用いると、信頼性の異なる領域間のデータ移送が、閾値と、非重複化後のチャンクを指すリンクの数との比較に基づいて実施される。
【００７７】
[00103]  図１２は、例示的な書込みプロセスの第１の部を示している。この部において、重複の検出が実施される。このプロセスは、ステップ１００９が省かれていることを除いて、図６で説明したプロセスと同じである。
【００７８】
[00104]  図１３は、書込みプロセスの第２の部を示している。この部においては、データを物理的に記憶する代わりに、リンク（関連）が作成されるかまたは更新される。このプロセスは、リンクの数についての加算／減算のステップの後に、（ｉ）リンクの数と閾値との比較、（ｉｉ）比較の結果に基づいた、信頼性の異なる領域間でのデータ移送という手続きが追加されていることを除いて、図７で説明したプロセスと同じである。関連するステップは以下の通りである。
【００７９】
[00105]  古いチャンクのリンクの数がステップ１７０７で閾値と等しい場合、アレイコントローラ１１０は、古いチャンク内のデータを、ＲＡＩＤ６などの高度な信頼性の領域からＲＡＩＤ１またはＲＡＩＤ５などの通常の信頼性の領域へと移動する（ステップ１７０８）。その閾値は、統合閾値記録２０４内に記録されており、１つの物理的データ対象に対する仮想データ対象の数に関連する閾値を示している。換言すれば、この閾値は、非重複化の程度に関連する閾値を示す。
【００８０】
[00106]  チャンクを指すリンクの数がステップ１７１１で閾値に１を足したものと等しい場合、アレイコントローラ１１０は、チャンク内のデータを、ＲＡＩＤ１およびＲＡＩＤ５などの通常の信頼性の領域からＲＡＩＤ６などの高度な信頼性の領域へと移動する（ステップ１７１２）。
【００８１】
[00107]  図１４は、書込みプロセスの第３の部を示している。この部において、データは記憶装置に物理的に書き込まれる。このプロセスは、リンクの数についての減算操作の後に、（ｉ）リンクの数と閾値との比較、および（ｉｉ）比較の結果に基づいた、信頼性の異なる領域間でのデータ移送という手続きが追加されていることを除いて、図８で説明した対応するプロセスと同じである。関連するステップは以下の通りである。
【００８２】
[00108]  古いチャンクを指すリンクの数がステップ１８１２で閾値と等しい場合、アレイコントローラ１１０は、古いチャンク内のデータを、ＲＡＩＤ６などの高度な信頼性の領域からＲＡＩＤ１またはＲＡＩＤ５などの通常の信頼性の領域へと移動する（ステップ１８１３）。
【００８３】
[00109]  上記のプロセスにおいて、チャンクを指すリンクの数が非重複化の閾値を超える場合、チャンク内のデータは、ＲＡＩＤ６などの高度な信頼性の領域に移送される。上記の本発明のプロセスを使用すると、記憶データに対する損失のリスク、ならびに、多数のデータ対象にわたる信頼性および性能の低下などの問題を緩和することができる。
【００８４】
[00110]  図１５は、上述した移送プロセスを示している。
【００８５】
[00111]  ステップ１９０１で、アレイコントローラ１１０は、パリティグループ情報２０１およびチャンク情報２０２を参照することによって、未使用のチャンクを探索する。未使用のチャンクは、上述のプロセスで述べた条件に従って、高度な信頼性の領域（例えばＲＡＩＤ６）または通常の信頼性の領域（例えばＲＡＩＤ１またはＲＡＩＤ５）から取得される。
【００８６】
[00112]  ステップ１９０２で、アレイコントローラ１１０は、移動させるべきチャンクについてのエントリを移送情報２０５内に作成する。図１６は、移送情報２０５の例示的な実施形態を示している。移送情報２０５は、移送元と宛先の双方に対する複数組みのパリティグループＩＤ情報とチャンクＩＤ情報を有している。移送情報２０５はまた、コピー操作の進捗を表すコピーポインタを有している。
【００８７】
[00113]  ステップ１９０３で、アレイコントローラ１１０は、移送元チャンク内のデータを、移送先として選択されたチャンクにコピーする。コピー操作の進捗に従って、移送情報２０６内のコピーポインタは、そのコピーポインタを前方へ移動させることによって更新される。
【００８８】
[00114]  ステップ１９０４で、コピー操作の完了後、アレイコントローラ１１０はセグメント情報２０３を更新して、関連するセグメント（１つまたは複数）に対するチャンクを移送元チャンクから移送先チャンクへと変更する。換言すれば、アレイコントローラ１１０は、セグメント（１つまたは複数）とチャンクとのマッピングを変更する。これによって、ホスト５００に対するデータの透過的な移送が達成される。
【００８９】
[00115]  ステップ１９０５で、アレイコントローラ１１０は、チャンク情報２０２を更新して、移送元チャンクを未使用としてラベル付けする。
【００９０】
[00116]  ステップ１９０６で、アレイコントローラ１１０は、チャンクに対するエントリを削除する。
【００９１】
Ａ．６．ポストプロセスとしての非重複化プロセスの第２の例：リンクの数に基づいたデータ移送
[00117]  図１７は、ポストプロセスとしての非重複化プロセスの別の例を示している。このプロセスを用いると、信頼性の異なる領域間のデータ移送が、閾値と、非重複化後のチャンクを指すリンクの数との比較に基づいて実施される。
【００９２】
[00118]  図１７に示すプロセスは、ステップ１５０４が削除されていること、ならびに、リンクの数について実施される加算操作後に実施される、（ｉ）リンクの数と閾値との比較、および（ｉｉ）比較の結果に基づいた、信頼性の異なる領域間でのデータ移送という手続きが追加されていることを除いて、図１１で説明した対応するプロセスと同じである。関連するステップは以下の通りである。
【００９３】
[00119]  チャンクを指すリンクの数がステップ２００９で閾値に１を加算したものと等しい場合、アレイコントローラ１１０は、チャンク内のデータを、ＲＡＩＤ１およびＲＡＩＤ５などの通常の信頼性の領域からＲＡＩＤ６などの高度な信頼性の領域へと移動させる（ステップ２０１０）。
【００９４】
[00120]  また、上記の非重複化プロセスにおいて、チャンクを指すリンクの数が非重複化の閾値を超える場合、チャンク内のデータは、ＲＡＩＤ６などの高度な信頼性の領域へと移送される。上記の本発明のプロセスを使用すると、記憶データに対する損失のリスク、ならびに、多数のデータ対象にわたる信頼性および性能の低下などの問題を緩和することができる。
【００９５】
Ｂ．第２の実施形態
Ｂ．１．システム構成
[00121]  図１８は、第２の実施形態の例示的なシステム構成を示している。第２の実施形態のシステムにおいて、アレイコントローラ１１０は、ネットワークＩ／Ｆコントローラ１１４を、第１の実施形態のブロックインタフェースコントローラ１１３の代わりに組み込んでいる。メモリ２００は、実ファイル情報２２２および仮想ファイル情報２２３を、第１の実施形態のチャンク情報２０２およびセグメント情報２０３の代わりに維持する。
【００９６】
[00122]  第１の実施形態において述べたプログラムに加えて、メモリ２００は、ファイルサービスプログラム２１５を具備している。ファイルサービスプログラム２１５は、ＮＦＳ（ネットワークファイルシステム）およびＣＩＦＳ（コモンインターネットファイルシステム）などのネットワークファイル共有プロトコルを介して、ファイルをエクスポートする（すなわちファイルをアクセス可能にする）。さらに、ファイルサービスプログラム２１５は、ホスト５００からの要求を解釈し、また、書込みプロセスプログラム２１１および読出しプロセスプログラム２１２を呼び出すことによって、これらの要求を処理する。ネットワークＩ／Ｆコントローラ１１４およびファイルサービスプログラム２１５を追加することによって、記憶システム１００は、ＮＡＳ（ネットワーク結合記憶装置）システムとして機能することが可能となっている。
【００９７】
[00123]  ホスト５００および管理端末５２０は、ＩＰ−ＳＡＮ  ９０４（すなわちＩＰネットワーク）を介してネットワークインタフェース１１４に接続されている。第１の実施形態において述べた構成に加えて、ホスト５００は、ネットワークファイルシステムクライアントソフトウェア５０４を組み込んでいる。ネットワークファイルシステムクライアント５０４は、アプリケーションソフトウェア５０１などからの命令に応答して、ＮＦＳおよびＣＩＦＳなどのネットワークファイル共有プロトコルを使用して、記憶システム１００にファイルＩ／Ｏ要求をＩＰ−ＳＡＮ  ９０４を介して送信する。第２の実施形態のシステムの他の構成要素は、第１の実施形態に関連して説明したそれぞれの構成要素と概ね同じである。
【００９８】
[00124]  図１９は、ファイルシステムデータ構造の例示的な実施形態を示している。各ｉノードは、ファイルまたはディレクトリを示すために使用することができる。ｉノードがファイルを示す場合（そのファイルタイプフィールドが、８０４および８０７などの「ファイル」である場合）、ｉノード内のブロックポインタが指すデータブロックは、ファイルの実際のデータを含んでいる。ファイルが複数のデータブロック（例えば１０個のブロック）内に記憶されている場合、１０個のデータブロックのアドレスがブロックポインタに記録されている。ｉノードがディレクトリを示す場合（ファイルタイプフィールドが、８０１および８０３などの「ディレクトリ」である場合）、ｉノード内のブロックポインタが指すデータブロックは、ｉノード番号と、そのディレクトリ内に存在するすべてのファイルおよびディレクトリの名前とのリスト（このリストはディレクトリエントリと呼ばれる）を記憶している。ファイルを管理するために使用される上述の複数のタイプの情報は、所定の配置規則に従って記憶システム１００内のボリューム内に記憶されている。
【００９９】
[00125]  図２０は、記憶システム１００内の物理的な記憶領域の使用法を示している。記憶システム１００は、ホスト５００によって使用されるファイルを記憶しており、引き続きこれらのファイルをホスト５００に提示（エクスポート）する。加えて、記憶システム１００は、同じ内容を有するファイルを検出した場合、そのファイルに対して非重複化を実施する。図２０に示すように、記憶システム１００は、仮想ファイルをホスト５００に提供しており、仮想ファイルは、記憶システム１００の記憶領域内に物理的に記憶された物理ファイルにリンクされている。仮想ファイルと物理ファイルとのこの関係は、第１の実施形態に関連して述べた、セグメントとチャンクとの関連と類似している。
【０１００】
[00126]  上記の関係（リンク）および関連する情報は、図２１および図２２に示す実ファイル情報２２２および仮想ファイル情報２２３によって表現される。実ファイル情報２２２は、記憶システム１００内に物理的に記憶された実質的な（物理的な）ファイルを管理するのに必要な情報である。図２１において、実ファイル情報２２２は、各実ファイルを識別する実ファイルＩＤと、実ファイルの内容から生成されたハッシュ値と、実ファイルを指すリンクの数とを含んでいる。リンクの数は、図２０に示す実ファイルと仮想ファイルとの関係の数を表している。
【０１０１】
[00127]  仮想ファイル情報２２３は、ホスト５００に提供される仮想ファイルを管理するのに必要な情報である。図２２において、仮想ファイル情報２２３は、各仮想ファイルを識別する仮想ファイルＩＤと、リンクされた実ファイルの実ファイルＩＤとを含んでいる。この実施形態において、仮想ファイルＩＤおよび実ファイルＩＤは独立している。
【０１０２】
Ｂ．２．非重複化プロセス
[00128]  書込み非重複化プロセスなどの非重複化プロセス、およびポストプロセスとして実施される非重複化プロセスは、第１の実施形態に関連して説明したものと同じ方式で実施することができる。図２３は、この実施形態においてポストプロセスとして実施される非重複化プロセスの一例を示している。
【０１０３】
[00129]  ステップ２１０１で、アレイコントローラ１１０は、現在のファイル（仮想ファイル）内のデータのハッシュ値を、ハッシュ関数を使用して計算する。
【０１０４】
[00130]  ステップ２１０２で、アレイコントローラ１１０は、同じハッシュ値について、実ファイル情報２２２を検索する。
【０１０５】
[00131]  ステップ２１０３で、アレイコントローラ１１０が、同じハッシュ値を有する実ファイルを発見することができた場合、プロセスはステップ２１０４に進む。そうでない場合、プロセスはステップ２１１０に進む。
【０１０６】
[00132]  ステップ２１０４で、アレイコントローラ１１０は、統合閾値記録２０４および実ファイル情報２２２を参照することによって、統合閾値記録２０４内に記録された閾値を、ステップ２１０３で発見した実ファイルのリンクの数と比較する。統合閾値は、１つの実（物理）データファイルに対する仮想データファイルの数に関連する閾値を示している。換言すれば、この閾値は、非重複化の程度に関連する閾値を表す。リンクの数が閾値よりも少ない場合、プロセスはステップ２１０５に進む。そうでない場合、プロセスはステップ２１１０に進む。
【０１０７】
[00133]  ステップ２１０５で、アレイコントローラ１１０は、現在の仮想ファイル内のデータを、発見した実ファイル内のデータと、バイナリレベルの比較で比較する。
【０１０８】
[00134]  ステップ２１０６で、比較の結果、両方のデータが同じである場合、プロセスはステップ２１０７に進む。そうでない場合、プロセスはステップ２１１０に進む。
【０１０９】
[00135]  ステップ２１０７で、アレイコントローラ１１０は、現在の仮想ファイルに対する実ファイルを、同じデータを有する発見した実ファイルに変更することによって、仮想ファイル情報２２３を更新する。
【０１１０】
[00136]  ステップ２１０８で、アレイコントローラ１１０は、現在のファイルに関連付けられた古い実ファイルを指すリンクの数を、同じデータを有する発見済みの実ファイルのリンクの数に加算することによって、実ファイル情報２２２を更新する。
【０１１１】
[00137]  ステップ２１０９で、アレイコントローラ１１０は、実ファイル情報２２２を更新することによって、現在のファイルに関連付けられた実ファイルを削除する。非重複化プロセスのすべてのターゲットファイルがステップ２１１０で処理された場合、プロセスは終了する。そうでない場合、アレイコントローラ１１０は、次のファイルを現在のファイルとして指定し（ステップ２１１１）、プロセスはステップ２１０１に進む。
【０１１２】
[00138]  上記の非重複化プロセスにおいて、実ファイルを指すリンクの数が非重複化の閾値に達した場合、同じデータの統合（すなわち非重複化）は実施されない。上記の本発明のプロセスを使用すると、記憶データに対する損失のリスク、ならびに、多数のデータ対象にわたる信頼性および性能の低下などの問題を緩和することができる。
【０１１３】
[00139]  上述のプロセスと同様に、第１の実施形態におけるチャンクおよびセグメントをこの実施形態における実ファイルおよび仮想ファイルとみなすことによって、第１の実施形態に関連して述べた各プロセスを、第２の実施形態におけるファイル記憶システム（記憶システム１００）に適用することができる。第１の実施形態におけるチャンク情報２０１およびセグメント情報２０３は、この実施形態における実ファイル情報２２２および仮想ファイル情報２２３の各々に対応している。また、チャンクを取得し解放する（未使用にする）ことは、実ファイルの作成および楽しみに対応している。高度な信頼性の領域の別の例として、他の記憶システムへの遠隔複製によってデータが保護される記憶領域を利用することができる。
【０１１４】
[00140]  先に述べたように、書込みプロセス非重複化、またはポストプロセスとして実施される非重複化プロセスなどのプロセスを適用することによって、記録データの損失に対するリスク、ならびに、多数のデータ対象にわたる信頼性および性能の低下などの問題は、非重複化能力を有するネットワークファイル記録システム（ＮＡＳ）においては、有効に緩和することができる。
【０１１５】
Ｃ．第３の実施形態
Ｃ．１．システム構成
[00141]  図２４は、第３の実施形態の例示的なシステム構成を示している。第１の実施形態に関連して述べた構成要素に加えて、この実施形態におけるシステムは、バックアップサーバ５１０と記憶システム７００とを組み込んでいる。バックアップサーバ５１０は、バックアップソフトウェア５１１を組み込んでいる。ホスト５００と記憶システム７００は、ＳＡＮ  ９０１によって接続されており、それによってホスト５００はデータを記憶システム７００に記憶することが可能となっている。アレイコントローラ１１０は、第１の実施形態のブロックインタフェースコントローラ１１３の代わりに、テープ（ストリーム）インタフェースコントローラ１１４を組み込んでいる。第１の実施形態で述べたプログラムに加えて、メモリ２００は仮想テーププログラム２１６を具備している。
【０１１６】
[00142]  仮想テーププログラム２１６は、テープデバイスおよびテープライブラリをエミュレートする。すなわち、テープデバイスに対するホスト５００からの要求を解釈し、書込みプロセスプログラム２１１および読出しプロセスプログラム２１２を呼び出すことによって、これらの要求を処理する。バックアップサーバ５１０およびホスト５００は、記憶システム１００をテープ媒体と共にテープライブラリとして使用することができる。これによって、記憶システム１００は、ＶＴＬ（仮想テープライブラリ）として機能することが可能となっている。第３の実施形態のシステムの他の構成要素は、第１の実施形態に関連して説明した対応する構成要素と概ね同じである。
【０１１７】
Ｃ．２．バックアップ操作における非重複化プロセス
[00143]  バックアップ操作において、バックアップソフトウェア５１１は、ホスト５００によって使用されるデータを記憶システム７００から読み出し、そのデータを記憶システム１００に書き込む。復元操作において、バックアップソフトウェア５１１は、復元すべきデータを記憶システム１００から読み出し、そのデータを記憶システム７００に書き込む。
【０１１８】
[00144]  記憶システム１００におけるプロセスは、要求を解釈することおよび変換することを含めた仮想テープ機能を除いて、第１の実施形態に関連して述べた対応するプロセスと同じであるため、第１の実施形態に関連して述べた非重複化関連の各プロセスは、第３の実施形態における記憶システム１００に適用することができる。
【０１１９】
[00145]  先に述べた、書込み非重複化プロセス、またはポストプロセスとして実施される非重複化プロセスなどのプロセスを適用することによって、記録データに対する損失のリスク、ならびに、多数のデータ対象にわたる信頼性および性能の低下などの問題は、非重複化能力を有するＶＴＬにおいては、有効に緩和することができる。別の例示的な記憶システム構成において、非重複化能力を有するコントローラは、例えばアプライアンスとして、ＨＤＤを有する記憶システムの残りから分離することができる。
【０１２０】
Ｄ．第４の実施形態
[00146]  図２５は、第４の実施形態の例示的なシステム構成を示している。この実施形態において、バックアップソフトウェア５１１は、上記の実施形態において述べた非重複化に関連した機能および能力を提供する目的で、非重複化プログラム５１２を組み込んでいる。バックアップ操作の間、バックアップソフトウェア５１１は、ホスト５００によって使用されるデータを記憶システム７００から読み出し、そのデータをテープ装置などのバックアップ記憶システム７１０に書き込む。復元操作の間、バックアップソフトウェア５１１は、復元すべきデータをバックアップ記憶システム７１０から読み出し、そのデータを記憶システム７００に書き込む。
【０１２１】
[00147]  先に述べた、書込み非重複化プロセス、またはポストプロセスとして実施される非重複化プロセスなどのプロセスを、バックアップソフトウェア５１１によって実施されるプロセスに適用することによって、バックアップデータに対する損失のリスク、ならびに、多数のバックアップデータ対象にわたる信頼性および性能の低下などの問題は、有効に緩和することができる。
【０１２２】
Ｅ．例示的なコンピュータプラットフォーム
[00148]  図２６は、本発明の方法論の実施形態を実現しうるコンピュータ／サーバシステム２６００の実施形態を示すブロック図である。システム２６００は、コンピュータ／サーバプラットフォーム２６０１と、周辺装置２６０２と、ネットワークリソース２６０３とを含んでいる。
【０１２３】
[00149]  コンピュータプラットフォーム２６０１は、コンピュータプラットフォーム２６０１の向こう側に、またコンピュータプラットフォーム２６０１の様々な部分の間で情報を通信するためのデータバス２６０４または他の通信機構と、情報を処理し、他の計算タスクおよび制御タスクを実施するための、バス２６０１に結合されたプロセッサ２６０５とを含んでいてもよい。コンピュータプラットフォーム２６０１はまた、ランダムアクセスメモリ（ＲＡＭ）または他の動的記憶装置など、様々な情報ならびにプロセッサ２６０５によって実行すべき命令を記憶するための、バス２６０４に結合された揮発性記憶装置２６０６を含んでいる。揮発性記憶装置２６０６はまた、プロセッサ２６０５によって命令を実行する間、一時変数または他の中間情報を記憶するために使用してもよい。コンピュータプラットフォーム２６０１は、基本入出力システム（ＢＩＯＳ）ならびに様々なシステム設定パラメータなどの静的な情報およびプロセッサ２６０５用の命令を記憶するための、バス２６０４に結合された読み出し専用メモリ（ＲＯＭもしくはＥＰＲＯＭ）２６０７または他の静的記憶装置をさらに含んでいていもよい。情報および命令を記憶するための、磁気ディスク、光学ディスク、または固体フラッシュメモリデバイスなどの永久記憶装置２６０８が設けられており、バス２６０１に結合されている。
【０１２４】
[00150]  コンピュータプラットフォーム２６０１は、バス２６０４を介して、陰極線管（ＣＲＴ）、プラズマディスプレイ、または液晶ディスプレイ（ＬＣＤ）など、情報をシステム管理責任者またはコンピュータプラットフォーム２６０１のユーザーに表示するためのディスプレイ２６０９に結合してもよい。英数字および他のキーを含んだ入力装置２６１０が、情報およびコマンドの選択をプロセッサ２６０５に通信するために、バス２６０１に結合されている。別のタイプのユーザー入力装置は、方向の情報およびコマンドの選択をプロセッサ２６０４に通信するための、またディスプレイ２６０９上でのカーソルの動きを制御するための、マウス、トラックボール、カーソル方向キーなどのカーソル制御装置２６１１である。この入力装置は典型的には、第１の軸（例えばｘ）および第２の軸（例えばｙ）の２つの軸における２自由度を有しており、この自由度によって、装置は平面内の位置を指定することが可能となっている。
【０１２５】
[00151]  外部記憶装置２６１２を、コンピュータプラットフォーム２６０１にバス２６０４を介して接続して、コンピュータプラットフォーム２６０１に追加のまたは取外し可能な記憶容量をもたらしてもよい。コンピュータシステム２６００の実施形態において、外部の取外し可能な記憶装置２６１２は、他のコンピュータシステムとのデータの交換を促進するために使用してもよい。
【０１２６】
[00152]  本発明は、本明細書で説明した技術を実現するためのコンピュータシステム２６００の使用法に関する。ある実施形態において、本発明のシステムは、コンピュータプラットフォーム２６０１などのマシン上に存在してもよい。本発明の一実施形態によれば、本明細書で説明する技術は、揮発性メモリ２６０６内に含まれた１つまたは複数の命令の１つまたは複数のシーケンスをプロセッサ２６０５が実行するのに応答して、コンピュータシステム２６００によって実施される。そのような命令は、永久記憶装置２６０８などの別のコンピュータ可読媒体から揮発性メモリ２６０６内に読み込んでもよい。揮発性メモリ２６０６内に含まれた命令のシーケンスを実行すると、プロセッサ２６０５が、本明細書で説明したプロセスステップを実施する。別の実施形態において、ハードワイヤード回路を、ソフトウェア命令の代わりにまたはソフトウェア命令と共に使用して、本発明を実現してもよい。したがって、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されない。
【０１２７】
[00153]  本明細書で使用する「コンピュータ可読媒体」という用語は、実行のために命令をプロセッサ２６０５に提供するのに寄与する任意の媒体を指す。コンピュータ可読媒体は、本明細書で説明した方法および／または技術のいずれかを実現するための命令を運びうるマシン可読媒体の一例にすぎない。そのような媒体は、限定はしないが、不揮発性媒体、揮発性媒体、および伝送媒体などを含めた多数の形態を取ることができる。不揮発性媒体には、例えば、記憶装置２６０８などの光学ディスクまたは磁気ディスクが挙げられる。揮発性媒体には、揮発性記憶装置２６０６などの動的メモリが挙げられる。伝送媒体には、データバス２６０４を備えるワイヤを含めた同軸ケーブル、銅線および光ファイバが挙げられる。伝送媒体はまた、電波および赤外線データ通信の間に生成されるものなど、音波または光波の形を取ることもできる。
【０１２８】
[00154]  コンピュータ可読媒体の一般的な形態には、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光学媒体、せん孔カード、紙テープ、ホールのパターンを有する他の任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、フラッシュドライブ、メモリカード、他の任意のメモリチップもしくはカートリッジ、後に説明する搬送波、またはコンピュータが読み出しうる他の任意の媒体が挙げられる。
【０１２９】
[00155]  コンピュータ可読媒体の各種の形態は、１つまたは複数の命令の１つまたは複数のシーケンスを実行のためにプロセッサ２６０５に運ぶことに寄与することができる。例えば、命令はまず、遠隔コンピュータから磁気ディスク上に運ばれてもよい。別法として、遠隔コンピュータが命令を動的メモリ内にロードし、モデムを使用してその命令を電話回線を介して送信してもよい。コンピュータシステム２６００に対して局所的なモデムは、電話回線上のデータを受信し、赤外線送信機を使用してそのデータを赤外線信号に変換することができる。赤外線検出器は、赤外線信号で運ばれたデータを受信することができ、また適正な回路はデータをデータバス２６０４上に配置することができる。バス２６０４は、データを揮発性記憶装置２６０６に運び、その揮発性記憶装置２６０６から、プロセッサ２６０５は命令を取り出して実行する。揮発性メモリ２６０６によって受け取った命令は、プロセッサ２６０５によって実行する前または後に、任意選択により、永久記憶装置２６０８に記憶してもよい。命令はまた、当技術分野において周知の多様なネットワークデータ通信プロトコルを使用して、インターネットを介してコンピュータプラットフォーム２６０１内にダウンロードしてもよい。
【０１３０】
[00156]  コンピュータプラットフォーム２６０１はまた、データバス２６０４に結合されたネットワークインタフェースカード２６１３などの通信インタフェースを含んでいる。通信インタフェース２６１３は、ローカルネットワーク２６１５に接続されているネットワークリンク２６１４と結合する双方向データ通信を提供している。例えば、通信インタフェース２６１３は、対応するタイプの電話回線へのデータ通信接続を提供するための統合ディジタル通信サービス網（ＩＳＤＮ）カードまたはモデムであってもよい。別の例として、通信インタフェース２６１３は、互換性のあるＬＡＮへのデータ通信接続を提供するためのローカルエリアネットワークインタフェースカード（ＬＡＮ  ＮＩＣ）であってもよい。また、周知の８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇおよびブルートゥースなどの無線リンクをネットワークの実現のために使用してもよい。そのようないかなる実現形態においても、通信インタフェース２６１３は、様々なタイプの情報を表現するディジタルデータストリームを運ぶ電気的、電磁気的または光学的信号を送信し受信する。
【０１３１】
[00157]  ネットワークリンク２６１３は典型的には、１つまたは複数のネットワークを通じた他のネットワークリソースへのデータ通信を提供するものである。例えば、ネットワークリンク２６１４は、ローカルネットワーク２６１５を通じた、ホストコンピュータ２６１６またはネットワーク記憶装置／サーバ２６１７への接続を提供してもよい。それに加えてまたはそれに代わって、ネットワークリンク２６１３は、ゲートウェイ／ファイアウォール２６１７を通じて、インターネットなどのワイドエリアまたはグローバルネットワーク２６１８へ接続してもよい。したがって、コンピュータプラットフォーム２６０１は、遠隔ネットワーク記憶装置／サーバ２６１９など、インターネット２６１８上のいかなる個所に配置されたネットワークリソースにもアクセスすることができる。その一方で、コンピュータプラットフォーム２６０１はまた、ローカルエリアネットワーク２６１５および／またはインターネット２６１８上のいかなる個所に配置されたクライアントによってアクセスしてもよい。ネットワーククライアント２６２０および２６２１はそれら自体、プラットフォーム２６０１と類似したコンピュータプラットフォームに基づいて実現してもよい。
【０１３２】
[00158]  ローカルネットワーク２６１５およびインターネット２６１８の双方は、ディジタルデータストリームを運ぶ電気的、電磁気的または光学的信号を使用している。各種のネットワークを通じた信号、および、ネットワークリンク２６１４上の、また通信インタフェース２６１３を通じた信号は、コンピュータプラットフォーム２６０１へ、またコンピュータプラットフォーム２６０１からディジタルデータを運ぶものであり、情報を移動させる搬送波の例示的な形態である。
【０１３３】
[00159]  コンピュータプラットフォーム２６０１は、インターネット２６１８およびＬＡＮ２６１５を含めた多様なネットワーク（１つまたは複数）、ネットワークリンク２６１４、ならびに通信インタフェース２６１３を通じて、メッセージを送信し、また、プログラムコードを含めたデータを受信することができる。インターネットの例において、システム２６０１がネットワークサーバとして働く場合、システム２６０１は、インターネット２６１８、ゲートウェイ／ファイアウォール２６１７、ローカルエリアネットワーク２６１５、および通信インタフェース２６１３を通じて、クライアント（１つもしくは複数）２６２０および／または２６２１上で動作するアプリケーションプログラムのために、要求されたコードまたはデータを送信してもよい。同様に、システム２６０１は、他のネットワークリソースからコードを受信してもよい。
【０１３４】
[00160]  受信したコードは、受信したときにプロセッサ２６０５によって実行してもよく、かつ／あるいは、後の実行のために、それぞれ永久もしくは揮発性記憶装置２６０８および２６０６または他の不揮発性記憶装置に記憶してもよい。このようにして、コンピュータシステム２６０１は、アプリケーションコードを搬送波の形態で取得してもよい。
【０１３５】
[00161]  本発明はいかなる特定のファイアウォールシステムにも限定されないことに留意されたい。本発明のポリシーベース内容処理システムは、３つのファイアウォールオペレーティングモード、具体的にはＮＡＴ、ルート、およびトランスペアレントのうちのいずれにおいて使用してもよい。
【０１３６】
[00162]  最後に、本明細書で説明したプロセスおよび技術は、いかなる特定の機器にも固有に関連するものでもなく、また、構成要素のいかなる好適な組み合わせによって実現してもよいことを理解されたい。さらに、様々なタイプの汎用装置を、本明細書に記載した教示に従って使用してもよい。また、本明細書で説明した方法ステップを実施するために専用の機器を構成すると有利となることが判明するであろう。本発明について、特定の例と関連させて説明してきたが、それらの例は、すべての点で、限定ではなく例示を意図したものである。当業者であれば、ハードウェア、ソフトウェア、およびファームウェアの多数の様々な組み合わせが、本発明を実施するのに好適となることが理解されよう。例えば、説明したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、Ｐｅｒｌ、シェル、ＰＨＰ、Ｊａｖａ（登録商標）など、種々様々なプログラミング言語またはスクリプト言語で実現することができる。
【０１３７】
[00163]  さらに、仕様を検討し、本明細書に開示した本発明を実施することで、本発明の他の実現形態が、当業者には明らかとなろう。説明した実施形態の様々な態様および／または構成要素は、データ複製機能を有するコンピュータ化記憶システムにおいて、単独でまたは任意の組み合わせで使用することができる。仕様および例は単に例示的なものであり、本発明の真の範囲および趣旨は特許請求の範囲によって示されることが意図されている。
【図面の簡単な説明】
【０１３８】
【図１】[0016]第１の実施形態の例示的なシステム構成を示す図である。
【図２】[0017]パリティグループ情報の例示的な実施形態を示す図である。
【図３】[0018]記憶システムの例示的な実施形態におけるボリュームの使用法を示す図である。
【図４】[0019]チャンク情報の例示的な実施形態を示す図である。
【図５】[0020]セグメント情報の例示的な実施形態を示す図である。
【図６】[0021]書込みプロセスの例示的な実施形態の第１の部を示す図である。
【図７】[0022]書込みプロセスの例示的な実施形態の第２の部を示す図である。
【図８】[0023]書込みプロセスの例示的な実施形態の第３の部を示す図である。
【図９】[0024]書込みプロセスの例示的な実施形態の第４の部を示す図である。
【図１０】[0025]読出し要求を実施するためのプロセスの例示的な実施形態を示す図である。
【図１１】[0026]ポストプロセスとしての例示的な非重複化プロセスを示す図である。
【図１２】[0027]書込みプロセスの例示的な実施形態の第１の部を示す図である。
【図１３】[0028]書込みプロセスの例示的な実施形態の第２の部を示す図である。
【図１４】[0029]書込みプロセスの例示的な実施形態の第３の部を示す図である。
【図１５】[0030]例示的な移送プロセスを示す図である。
【図１６】[0031]移送情報の例示的な実施形態を示す図である。
【図１７】[0032]ポストプロセスとしての非重複化プロセスの別の例を示す図である。
【図１８】[0033]第２の実施形態の例示的なシステム構成を示す図である。
【図１９】[0034]ファイルシステムデータ構造の例示的な実施形態を示す図である。
【図２０】[0035]記憶システム内の実際の記憶領域の使用法を示す図である。
【図２１】[0036]実ファイル情報の例示的な実施形態を示す図である。
【図２２】[0037]仮想ファイル情報の例示的な実施形態を示す図である。
【図２３】[0038]ポストプロセスとしての非重複化プロセスの一例を示す図である。
【図２４】[0039]第３の実施形態の例示的なシステム構成を示す図である。
【図２５】[0040]第４の実施形態の例示的なシステム構成を示す図である。
【図２６】[0041]本発明のシステムを実現しうるコンピュータプラットフォームの例示的な実施形態を示す図である。
【符号の説明】
【０１３９】
１００……記憶システム、１１０……アレイコントローラ、１１１……メインプロセッサ、１１２……スイッチ、１１３……ブロックＩ／Ｆコントローラ、２００……メモリ、２０１……パリティグループ情報、２０２……チャンク情報、２０３……セグメント情報、２０４……統合閾値、２０５……移送情報、２１１……書込みプロセスプログラム、２１２……読出しプロセスプログラム、２１３……非重複化（ポストプロセス）プログラム、２１４……移送プログラム、３００……キャッシュ、４００……ディスクコントローラ、５００……ホスト、５０１……ＡＰＰ、５０２……ＯＳ、５０３……ファイルシステム、５２０……管理端末、５２１……管理ソフトウェア、６００……ディスク、６１０……ディスク
【図１】
2009129441.tif 000003
【図２】
2009129441.tif 000004
【図３】
2009129441.tif 000005
【図４】
2009129441.tif 000006
【図５】
2009129441.tif 000007
【図６】
2009129441.tif 000008
【図７】
2009129441.tif 000009
【図８】
2009129441.tif 000010
【図９】
2009129441.tif 000011
【図１０】
2009129441.tif 000012
【図１１】
2009129441.tif 000013
【図１２】
2009129441.tif 000014
【図１３】
2009129441.tif 000015
【図１４】
2009129441.tif 000016
【図１５】
2009129441.tif 000017
【図１６】
2009129441.tif 000018
【図１７】
2009129441.tif 000019
【図１８】
2009129441.tif 000020
【図１９】
2009129441.tif 000021
【図２０】
2009129441.tif 000022
【図２１】
2009129441.tif 000023
【図２２】
2009129441.tif 000024
【図２３】
2009129441.tif 000025
【図２４】
2009129441.tif 000026
【図２５】
2009129441.tif 000027
【図２６】
2009129441.tif 000028
【外国語明細書】
2009129441000001.pdf