(57)【特許請求の範囲】
【請求項１】
ストレージシステムと、前記ストレージシステムに通信線を介して接続されるサーバ装置と、を備え、クライアント計算機にネットワークを介して接続されるシステムであって、
前記ストレージシステムは、データを格納するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、
前記サーバ装置は、前記ストレージシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記ディスク制御部は、
前記ディスクドライブの記憶領域を、前記クライアント計算機から書き込み要求されるデータを記憶する運用ボリューム、前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリューム、及び複製スナップショット取得時点の前記運用ボリュームの全てのデータを記憶する複製スナップショットボリュームを含む複数の論理ボリュームとして提供し、
前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを示す差分ブロックビットマップを記憶し、
前記プロセッサは、
前記差分ブロックビットマップを前記ディスク制御部から取得し、
前記取得された差分ブロックビットマップに基づいて、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを特定し、
前記特定されたブロックに格納された差分データを、前記複製スナップショットボリュームから取得し、
前記取得された差分データを前記差分ボリュームに格納し、
前記差分ボリュームに格納された前記差分データの配置を、差分ブロック配置情報に格納し、
前記運用ボリューム、前記差分ボリューム及び前記差分ブロック配置情報に基づいて、前記複製スナップショットに対応する差分スナップショットを提供することを特徴とするシステム。
【請求項２】
前記プロセッサは、
前記差分ブロック配置情報に基づいて、前記取得された差分データが前記差分ボリュームに格納されているか否かを判定し、
前記取得された差分データが前記差分ボリュームに格納されていない場合に、当該差分データを前記差分ボリュームに格納することを特徴とする請求項１に記載のシステム。
【請求項３】
前記差分ブロックビットマップは、前記運用ボリュームのブロック数及び前記複製スナップショットボリュームのブロック数の少ない方と同数以上のビットを有し、
前記差分ブロックビットマップに含まれるビットは、前記運用ボリューム及び前記複製スナップショットボリュームのブロックに対応し、
前記ディスク制御部は、
前記運用ボリュームのブロックに格納されたデータと前記複製スナップショットボリュームのブロックに格納されたデータとが同一である場合、前記差分ブロックビットマップに含まれるビットに初期値を設定し、
前記運用ボリュームのブロックに格納されたデータと複製スナップショットボリュームのブロックに格納されたデータとが異なる場合、前記差分ブロックビットマップに含まれるビットに前記初期値と異なる値を設定することを特徴とする請求項１に記載のシステム。
【請求項４】
前記プロセッサは、
前記差分ブロック配置情報に基づいて、前記運用ボリュームと前記差分スナップショットとの差分データの配置を特定し、
前記特定された配置に対応するブロックに格納されている差分データを、前記差分ボリュームから抽出し、
前記抽出された差分データを、前記運用ボリュームの複製に反映することによって、前記差分スナップショットに対応する複製スナップショットを提供することを特徴とする請求項１に記載のシステム。
【請求項５】
前記メモリは、形式変換元である前記複製スナップショットと形式変換先である前記差分スナップショットとの対応を示すスナップショット形式変換管理情報を記憶し、
前記プロセッサは、
スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定し、
データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定し、
前記特定された形式変換元のスナップショットからデータを読み出すことを特徴とする請求項１に記載のシステム。
【請求項６】
前記メモリは、形式変換元である前記差分スナップショットと形式変換先である前記複製スナップショットとの対応を示すスナップショット形式変換管理情報を記憶し、
前記プロセッサは、
スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定し、
データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定し、
前記特定された形式変換元のスナップショットからデータを読み出すことを特徴とする請求項４に記載のシステム。
【請求項７】
ストレージシステム及びクライアント計算機に接続されるサーバ装置であって、
前記サーバ装置は、前記ストレージシステムに通信線を介して接続される第１インタフェースと、前記クライアント計算機にネットワークを介して接続される第２インタフェースと、前記第１インタフェース及び第２インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記ストレージシステムは、
データを格納するディスクドライブを備え、
前記ディスクドライブの記憶領域を、前記クライアント計算機から書き込み要求されるデータを記憶する運用ボリューム、前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリューム、及び複製スナップショット取得時点の前記運用ボリュームの全てのデータを記憶する複製スナップショットボリュームを含む複数の論理ボリュームとして提供し、
前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを示す差分ブロックビットマップを記憶し、
前記プロセッサは、
前記差分ブロックビットマップを前記ストレージシステムから取得し、
前記取得された差分ブロックビットマップに基づいて、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを特定し、
前記特定されたブロックに格納された差分データを、前記複製スナップショットボリュームから取得し、
前記取得された差分データを前記差分ボリュームに格納し、
前記差分ボリュームに格納された前記差分データの配置を、差分ブロック配置情報に格納し、
前記運用ボリューム、前記差分ボリューム及び前記差分ブロック配置情報に基づいて、前記複製スナップショットに対応する差分スナップショットを提供することを特徴とするサーバ装置。
【請求項８】
前記プロセッサは、
前記差分ブロック配置情報に基づいて、前記取得された差分データが前記差分ボリュームに格納されているか否かを判定し、
前記取得された差分データが前記差分ボリュームに格納されていない場合に、当該差分データを前記差分ボリュームに格納することを特徴とする請求項７に記載のサーバ装置。
【請求項９】
前記プロセッサは、
前記差分ブロック配置情報に基づいて、前記運用ボリュームと前記差分スナップショットとの差分データの配置を特定し、
前記特定された配置に対応するブロックに格納されている差分データを、前記差分ボリュームから抽出し、
前記抽出された差分データを、前記運用ボリュームの複製に反映することによって、前記差分スナップショットに対応する複製スナップショットを提供することを特徴とする請求項７に記載のサーバ装置。
【請求項１０】
前記メモリは、形式変換元である前記複製スナップショットと形式変換先である前記差分スナップショットとの対応を示すスナップショット形式変換管理情報を記憶し、
前記プロセッサは、
スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定し、
データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定し、
前記特定された形式変換元のスナップショットからデータを読み出すことを特徴とする請求項７に記載のサーバ装置。
【請求項１１】
前記メモリは、形式変換元である前記差分スナップショットと形式変換先である前記複製スナップショットとの対応を示すスナップショット形式変換管理情報を記憶し、
前記プロセッサは、
スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定し、
データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定し、
前記特定された形式変換元のスナップショットからデータを読み出すことを特徴とする請求項９に記載のサーバ装置。
【請求項１２】
ストレージシステムと、前記ストレージシステムに通信線を介して接続されるサーバ装置と、を備え、クライアント計算機にネットワークを介して接続されるシステムにおけるスナップショットの形式変換方法であって、
前記ストレージシステムは、
データを格納するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、
前記ディスクドライブの記憶領域を、前記クライアント計算機から書き込み要求されるデータを記憶する運用ボリューム、前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリューム、及び複製スナップショット取得時点の前記運用ボリュームの全てのデータを記憶する複製スナップショットボリュームを含む複数の論理ボリュームとして提供し、
前記サーバ装置は、前記ストレージシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記スナップショットの形式変換方法は、
前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを示す差分ブロックビットマップを取得するステップと、
前記取得された差分ブロックビットマップに基づいて、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを特定するステップと、
前記特定されたブロックに格納された差分データを、前記複製スナップショットボリュームから取得するステップと、
前記取得された差分データを前記差分ボリュームに格納するステップと、
前記差分ボリュームに格納された前記差分データの配置を、差分ブロック配置情報に格納するステップと、
前記運用ボリューム、前記差分ボリューム及び前記差分ブロック配置情報に基づいて、前記複製スナップショットに対応する差分スナップショットを提供するステップと、を含むことを特徴とするスナップショットの形式変換方法。
【請求項１３】
更に、前記差分ブロック配置情報に基づいて、前記取得された差分データが前記差分ボリュームに格納されているか否かを判定するステップを含み、
前記取得された差分データを前記差分ボリュームに格納するステップでは、前記取得された差分データが前記差分ボリュームに格納されていない場合のみ、当該差分データを前記差分ボリュームに格納することを特徴とする請求項１２に記載のスナップショットの形式変換方法。
【請求項１４】
前記差分ブロックビットマップは、前記運用ボリュームのブロック数及び前記複製スナップショットボリュームのブロック数の少ない方と同数以上のビットを有し、
前記差分ブロックビットマップに含まれるビットは、前記運用ボリューム及び前記複製スナップショットボリュームのブロックに対応し、
前記スナップショットの形式変換方法は、
前記運用ボリュームのブロックに格納されたデータと前記複製スナップショットボリュームのブロックに格納されたデータとが同一である場合、前記差分ブロックビットマップに含まれるビットに初期値を設定するステップと、
前記運用ボリュームのブロックに格納されたデータと複製スナップショットボリュームのブロックに格納されたデータとが異なる場合、前記差分ブロックビットマップに含まれるビットに前記初期値と異なる値を設定するステップと、を含むことを特徴とする請求項１２に記載のスナップショットの形式変換方法。
【請求項１５】
前記差分ブロック配置情報に基づいて、前記運用ボリュームと前記差分スナップショットとの差分データの配置を特定するステップと、
前記特定された配置に対応するブロックに格納されている差分データを、前記差分ボリュームから抽出するステップと、
前記抽出された差分データを、前記運用ボリュームの複製に反映することによって、前記差分スナップショットに対応する複製スナップショットを提供するステップと、を含むことを特徴とする請求項１２に記載のスナップショットの形式変換方法。
【請求項１６】
形式変換元である前記複製スナップショットと形式変換先である前記差分スナップショットとの対応を示すスナップショット形式変換管理情報を記憶するステップと、
スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定するステップと、
データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定するステップと、
前記特定された形式変換元のスナップショットからデータを読み出すステップと、を含むことを特徴とする請求項１２に記載のスナップショットの形式変換方法。
【請求項１７】
形式変換元である前記差分スナップショットと形式変換先である前記複製スナップショットとの対応を示すスナップショット形式変換管理情報を記憶するステップと、
スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定するステップと、
データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定するステップと、
前記特定された形式変換元のスナップショットからデータを読み出すステップと、を含むことを特徴とする請求項１５に記載のスナップショットの形式変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びサーバ装置を備えるシステムに関し、スナップショットを管理する技術に関する。
【背景技術】
【０００２】
近年、高信頼・高性能なＳＡＮと管理容易なＮＡＳとが統合されたＳＡＮ−ＮＡＳ統合ストレージシステムが普及し始めている。
【０００３】
ＳＡＮ−ＮＡＳ統合ストレージシステムは、運用ボリュームに格納されているデータを保護するために、スナップショット機能を備える。ＳＡＮ−ＮＡＳ統合ストレージシステムは、スナップショット機能を用いて、運用ボリュームの特定の時点の静止化イメージであるスナップショットを作成する。なお、スナップショットの技術として、複製スナップショット及び差分スナップショットが知られている。
【０００４】
複製スナップショットに関する技術は、例えば、特許文献１に開示されている。ＳＡＮ−ＮＡＳ統合ストレージシステムは、運用ボリュームと同期するミラーボリュームを作成する。そして、ＳＡＮ−ＮＡＳ統合ストレージシステムは、作成したミラーボリュームを物理的に切断するスプリット処理を行うことによって、複製スナップショットを作成する。
【０００５】
複製スナップショットは、ディスク資源を大量に消費するので、少ない世代しか提供できないという問題がある。しかし、複製スナップショットは、運用ボリュームと物理的に分離されているため、非常に高いアクセス性能を実現できる。そのため、複製スナップショットは、高いアクセス性能が要求されるスナップショットとして使用される。例えば、複製スナップショットは、オンラインバックアップ用のスナップショットとして使用される。
【０００６】
また、差分スナップショットに関する技術は、特許文献２に開示されている。ＳＡＮ−ＮＡＳ統合ストレージシステムは、運用ボリュームと差分スナップショットとの差分データのみを記憶する。そして、ＳＡＮ−ＮＡＳ統合ストレージシステムは、記憶している差分データと運用ボリュームとを合成することによって、仮想的な差分スナップショットを提供する。
【０００７】
差分スナップショットは、差分データと運用ボリュームとを合成することによって作成されるので、複製スナップショットほどのアクセス性能を実現できない。しかし、差分スナップショットは、ディスク資源の使用量が少ないので、複製スナップショットより多くの世代を提供できる。そのため、差分スナップショットは、多世代を提供するスナップショットとして使用される。例えば、差分スナップショットは、共有ファイルサーバの定期バックアップ用のスナップショットとして使用される。
【０００８】
ＳＡＮ−ＮＡＳ統合ストレージシステムは、複製スナップショット及び差分スナップショットスナップの機能を備えることによって、アクセス性能の要件及びディスク資源の使用量の要件に応じたスナップショットを提供できる。
【０００９】
また、特許文献３には、スナップショット機能を利用したリモートコピーを行うストレージシステムが開示されている。当該ストレージシステムは、差分ビットマップを参照しながら、差分データを運用ボリュームから複製ボリュームへコピーする。
【特許文献１】米国特許第６，１０１，４９７
【特許文献２】米国特許ＵＳ２００４／０１８６９００Ａ１
【特許文献３】特開２００５−２６７５６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
一般的に、スナップショットに対するアクセス性能の要件は、時間の経過と共に緩和される。逆に、スナップショットに対するディスク資源の使用量の要件は、時間の経過と共に厳しくなる。
【００１１】
ＳＡＮ−ＮＡＳ統合ストレージシステムは、ある程度の時間が経過した後に、複製スナップショットを差分スナップショットに変換することによって、スナップショットに対するアクセス性能の要件及びディスク資源の使用量の要件を満たすことができる。しかし、従来のストレージシステムは、複製スナップショットを差分スナップショットに変換できない。
【００１２】
本発明は、前述した問題点に鑑みてなされたものであって、複製スナップショットを差分スナップショットに変換する統合ストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の代表的な実施の形態は、ストレージシステムと、前記ストレージシステムに通信線を介して接続されるサーバ装置と、を備え、クライアント計算機にネットワークを介して接続されるシステムであって、前記ストレージシステムは、データを格納するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、前記サーバ装置は、前記ストレージシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記ディスク制御部は、前記ディスクドライブの記憶領域を、前記クライアント計算機から書き込み要求されるデータを記憶する運用ボリューム、前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリューム、及び複製スナップショット取得時点の前記運用ボリュームの全てのデータを記憶する複製スナップショットボリュームを含む複数の論理ボリュームとして提供し、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを示す差分ブロックビットマップを記憶し、前記プロセッサは、前記差分ブロックビットマップを前記ディスク制御部から取得し、前記取得された差分ブロックビットマップに基づいて、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを特定し、前記特定されたブロックに格納された差分データを、前記複製スナップショットボリュームから取得し、前記取得された差分データを前記差分ボリュームに格納し、前記差分ボリュームに格納された前記差分データの配置を、差分ブロック配置情報に格納し、前記運用ボリューム、前記差分ボリューム及び前記差分ブロック配置情報に基づいて、前記複製スナップショットに対応する差分スナップショットを提供する。
【発明の効果】
【００１４】
本発明の代表的な実施の形態によれば、統合ストレージシステムは、複製スナップショットを差分スナップショットに変換できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して説明する。
【００１６】
図１は、本発明の実施の形態の情報システムの構成のブロック図である。
【００１７】
情報システムは、ＮＡＳクライアント１０１、ＮＡＳ管理端末１０２、ＮＡＳ統合装置１０４及びストレージ管理端末１０５を備える。
【００１８】
ＮＡＳ統合装置１０４は、ネットワーク１０３を介して、ＮＡＳクライアント１０１及びＮＡＳ管理端末１０２に接続されている。ネットワーク１０３は、例えば、ＬＡＮ、インターネット又はＷＡＮ等である。
【００１９】
ＮＡＳ統合装置１０４は、ＮＡＳサーバ装置１１０及びストレージシステム１２０を備える。そして、ＮＡＳ統合装置１０４は、ＮＡＳクライアント１０１に対して、ＮＡＳサービスを提供する。
【００２０】
ＮＡＳサービスには、ファイル共有サービス、スナップショットサービス及びスナップショット形式変換サービスが含まれる。ファイル共有サービス及びスナップショットサービスは、公知の技術であるので、詳細な説明は省略する。また、スナップショット形式変換サービスは、本実施の形態によって実現されるサービスである。
【００２１】
なお、ＮＡＳサーバ装置１１０とストレージシステム１２０とは、内部ネットワーク１３０によって接続されている。内部ネットワーク１３０は、ＮＡＳ統合装置１０４に内蔵された専用バスであってもよいし、ＳＡＮ又はＬＡＮ等の汎用ネットワークであってもよい。
【００２２】
ＮＡＳサーバ装置１１０は、内部ネットワーク１３０を介して複数のストレージシステム１２０に接続されていてもよい。また、ストレージシステム１２０は、内部ネットワーク１３０を介して複数のＮＡＳサーバ装置１１０に接続されていてもよい。
【００２３】
ＮＡＳサーバ装置１１０は、ＣＰＵ１１、メモリ１２、データ転送コントローラ１３、ネットワークインターフェース１４及びストレージ用インターフェース１５を備える。
【００２４】
ＣＰＵ１１は、メモリ１２に記憶されているプログラムを実行することによって、各種処理を行う。メモリ１２は、ＣＰＵ１１によって実行されるプログラム等を記憶する。なお、メモリ１２に記憶されるプログラム及び情報は、図２で詳細を説明する。また、メモリ１２には、データキャッシュ（図示省略）が含まれていてもよい。
【００２５】
データ転送コントローラ１３は、ＣＰＵ１１、ネットワークインターフェース１４及びストレージ用インターフェース１５の間でデータを転送する。なお、データ転送コントローラ１３は、メモリ１２の代わりに、データキャッシュを備えていてもよい。
【００２６】
ネットワークインタフェース１４は、ネットワーク１０３に接続されるインタフェースである。ストレージ用インタフェース１５は、内部ネットワーク１３０を介してストレージシステム１２０に接続されるインタフェースである。
【００２７】
ストレージシステム１２０は、ディスクコントローラ（ＤＫＣ）１２５及び複数のディスクドライブを備える。
【００２８】
ディスクコントローラ１２５は、ＣＰＵ、メモリ及びインタフェースを備え、ディスクドライブに対してデータを読み書きする。また、ディスクコントローラ１２５は、ディスクドライブの記憶領域を論理ボリューム単位でＮＡＳクライアント１０１に提供する。
【００２９】
それぞれの論理ボリュームは、運用ボリューム（Primary Volume）１４１、差分ボリューム(Differntial Volume)１４２又は複製スナップショットボリューム１５１として設定される。なお、運用ボリューム１４１、差分ボリューム１４２及び複製スナップショットボリューム１５１は、それぞれ一つずつを図示しているが、複数備えられていてもよい。
【００３０】
運用ボリューム１４１は、ＮＡＳクライアント１０１から書き込み要求されたデータを記憶する。
【００３１】
差分ボリューム１４２は、ＮＡＳサーバ装置１１０が管理する差分スナップショットと運用ボリューム１４１との差分データを記憶する。なお、差分ボリューム１４２には、差分ブロック管理テーブル２０３が含まれる。
【００３２】
複製スナップショットボリューム１５１は、ある時点における運用ボリューム１４１の複製である。ディスクコントローラ１２５は、図７で後述するミラー管理プログラムを実行することによって、複製スナップショットボリューム１５１を作成する。
【００３３】
ＮＡＳ管理端末１０２は、ＣＰＵ、メモリ及びインタフェースを備える計算機である。そして、ＮＡＳ管理端末１０２は、ＮＡＳ統合装置１０４に指示を与えることによって、ＮＡＳ統合装置１０４を制御する。
【００３４】
ストレージ管理端末１０５は、ＣＰＵ、メモリ及びインタフェースを備える計算機である。そして、ストレージ管理端末１０５は、ストレージシステム１２０を制御する。
【００３５】
図２は、本発明の実施の形態のＮＡＳ統合装置１０４の機能に関するブロック図である。
【００３６】
ＮＡＳ統合装置１０４は、ＮＡＳサーバ装置１１０及びストレージシステム１２０を備える。
【００３７】
ＮＡＳサーバ装置１１０のメモリ１２には、ＮＡＳサーバプログラム１１１、ファイルシステム処理プログラム１１２、差分スナップショット管理プログラム１１３、ストレージシステム制御プログラム１１４、スナップショット形式変換プログラム１１５及びスナップショット形式変換管理情報１１６が記憶されている。なお、ＮＡＳサーバプログラム１１１、ファイルシステム処理プログラム１１２、差分スナップショット管理プログラム１１３、ストレージシステム制御プログラム１１４、スナップショット形式変換プログラム１１５及びスナップショット形式変換管理情報１１６は、ストレージシステム１２０のディスクコントローラ１２５のメモリに記憶され、当該ディスクコントローラ１２５のＣＰＵによって実行されてもよい。
【００３８】
ＮＡＳサーバプログラム１１１は、ファイルへのアクセス要求をＮＡＳクライアント１０１から受信する。次に、ＮＡＳサーバプログラム１１１は、受信したアクセス要求を、ファイルシステム処理プログラム１１２に送る。次に、ＮＡＳサーバプログラム１１１は、アクセス要求の処理結果を、ファイルシステム処理プログラム１１２から受け取る。そして、ＮＡＳサーバプログラム１１１は、受け取った処理結果を、アクセス要求の送信元であるＮＡＳクライアント１０１に送信する。
【００３９】
ファイルシステム処理プログラム１１２は、ＮＡＳサーバプログラム１１１から受け取ったアクセス要求に基づいて、読出要求及び書込要求を作成する。なお、ファイルシステム処理プログラム１１２は、データを読み出すファイル又はディレクトリが格納されているボリュームの識別子、データを読み出すブロック（データブロック）のアドレス及び読み出すデータのサイズ等を含む読出要求を作成する。同様に、ファイルシステム処理プログラム１１２は、データを書き込むファイル又はディレクトリが格納されているボリュームの識別子、データを書き込むブロック（データブロック）のアドレス及び書き込むデータのサイズ等を含む書込要求を作成する。
【００４０】
そして、ファイルシステム処理プログラム１１２は、作成した読出要求又は書込要求を、差分スナップショット管理プログラム１１３に送る。
【００４１】
差分スナップショット管理プログラム１１３は、差分スナップショット仮想ボリュームを管理する。なお、差分スナップショット仮想ボリュームについては、図３で詳細を説明する。
【００４２】
また、差分スナップショット管理プログラム１１３は、読出要求又は書込要求をファイルシステム処理プログラム１１２から受け取る。そして、差分スナップショット管理プログラム１１３は、受け取った読出要求又は書込要求に対応する処理を行う。なお、差分スナップショット管理プログラム１１３ついては、図４で詳細を説明する。
【００４３】
ストレージシステム制御プログラム１１４は、ストレージシステム１２０のミラー管理プログラム１２１を制御する。具体的には、ストレージシステム制御プログラム１１４は、ミラーリング要求又はスプリット要求を、ストレージシステム１２０のミラー管理プログラム１２１に発行する。これによって、ＮＡＳサーバ装置１１０及びストレージシステム１２０は、連携して動作するので、一つの統合ＮＡＳ装置１０４として動作する。
【００４４】
スナップショット形式変換プログラム１１５は、複製スナップショット形式変換処理及び差分スナップショット形式変換処理を行う。なお、スナップショット形式変換プログラム１１５については、図９で詳細を説明する。
【００４５】
なお、複製スナップショット形式変換処理は、複製スナップショットを差分スナップショットへ変換する処理である。また、差分スナップショット形式変換処理は、複製スナップショットを差分スナップショットへ変換する処理である。
【００４６】
本実施の形態では、複製スナップショットは、ストレージシステム１２０によって管理されているが、ＮＡＳサーバ装置１１０によって管理されてもよい。また、差分スナップショットは、ＮＡＳサーバ装置１１０によって管理されているが、ストレージシステム１２０によって管理されてもよい。
【００４７】
スナップショット形式変換管理情報１１６は、スナップショット形式変換プログラム１１５によって用いられる。また、スナップショット形式変換管理情報１１６は、形式変換プロセス数カウンタ２１６、スナップショット形式変換管理テーブル２１７及び差分ブロック複製ビットマップ２１８を含む。
【００４８】
形式変換プロセス数カウンタ２１６は、図１０で後述するが、スナップショット形式変換プログラム１１５によって実行されている形式変換処理の数を示す。なお、形式変換処理は、複製スナップショット形式変換処理又は差分スナップショット形式変換処理のいずれかである。
【００４９】
スナップショット形式変換管理テーブル２１７は、図１１で後述するが、スナップショット形式変換プログラム１１５によって実行されている形式変換処理を管理する。差分ブロック複製ビットマップ２１８は、図１２で後述するが、ストレージシステム１２０の差分ブロックビットマップ１２２の複製である。
【００５０】
ストレージシステム１２０のディスクコントローラ１２５のメモリには、ミラー管理プログラム１２１及び差分ブロックビットマップ１２２が記憶されている。なお、ミラー管理プログラム１２１及び差分ブロックビットマップ１２２は、ＮＡＳサーバ装置１１０のメモリ１２に記憶され、当該ＮＡＳサーバ装置１１０のＣＰＵ１１によって実行されてもよい。
【００５１】
ミラー管理プログラム１２１は、複製スナップショットボリューム１５１を作成する。具体的には、ミラー管理プログラム１２１は、運用ボリューム１４１と同期したミラーボリュームを作成する。次に、ミラー管理プログラム１２１は、作成したミラーボリュームを物理的に切断するスプリット処理を行うことによって、複製スナップショットボリューム１５１を作成する。
【００５２】
差分ブロックビットマップ１２２は、図８で後述するが、運用ボリューム１４１と複製スナップショットボリューム１５１とで異なるデータを記憶するブロックのアドレスを示す。
【００５３】
図３は、本発明の実施の形態のＮＡＳサーバ装置１１０が管理する差分スナップショット仮想ボリューム１５２の説明図である。
【００５４】
ＮＡＳサーバ装置１１０の差分スナップショット管理プログラム１１３は、運用ボリューム１４１と共に、差分ボリューム１４２を管理する。運用ボリューム１４１には、運用されているファイルシステムが格納されている。差分ボリューム１４２には、差分スナップショットに必要な差分データが格納されている。
【００５５】
差分スナップショット管理プログラム１１３は、差分ボリューム１４２に格納されている差分ブロック管理テーブル２０３を更新することによって、差分スナップショット仮想ボリューム１５２を定期的に作成する。例えば、差分スナップショット管理プログラム１１３は、一週間ごとに、差分スナップショット仮想ボリューム１５２を作成する。なお、差分スナップショット仮想ボリューム１５２は、仮想的なボリュームであり、過去のある時点の運用ボリューム１４１の複製である。
【００５６】
差分ブロック管理テーブル２０３は、図５で後述するが、差分スナップショット仮想ボリューム１５２のデータの配置を管理する。
【００５７】
また、差分スナップショット管理プログラム１１３は、差分ブロック管理テーブル２０３を参照しながら、運用ボリューム１４１のデータと差分ボリューム１４２のデータとを合成する。具体的には、差分スナップショット管理プログラム１１３は、運用ボリューム１４１及び差分ボリューム１４２の中から、差分ブロック管理テーブル２０３によって指定されるブロックのデータを読み込む。これによって、差分スナップショット管理プログラム１１３は、差分スナップショット仮想ボリューム１５２のデータを読み込む。
【００５８】
図４は、本発明の実施の形態のＮＡＳサーバ装置１１０の差分スナップショット管理プログラム１１３のブロック図である。
【００５９】
差分スナップショット管理プログラム１１３は、書込処理サブプログラム１１３１、読出処理サブプログラム１１３２、差分スナップショット生成サブプログラム１１３３及び差分スナップショット削除サブプログラム１１３４を含む。
【００６０】
書込処理サブプログラム１１３１は、書込要求をファイルシステム処理プログラム１１２から受け取る。すると、書込処理サブプログラム１１３１は、ストレージシステム１２０の運用ボリューム１４１のデータを、ストレージシステム１２０の差分ボリューム１４２に退避させる。そして、書込処理サブプログラム１１３１は、書き込みを要求されたデータを、ストレージシステム１２０の運用ボリューム１４１に書き込む。なお、書込処理サブプログラム１１３１の処理については、図６で詳細を説明する。
【００６１】
読出処理サブプログラム１１３２は、読出要求をファイルシステム処理プログラム１１２から受け取る。すると、読出処理サブプログラム１１３２は、ストレージシステム１２０の論理ボリュームからデータを読み出す。なお、読出処理サブプログラム１１３２の処理については、図１７で詳細を説明する。
【００６２】
差分スナップショット生成サブプログラム１１３３は、ＮＡＳ管理端末１０２から差分スナップショット生成要求を受ける。すると、差分スナップショット生成サブプログラム１１３３は、差分ボリューム１４２に格納されている差分ブロック管理テーブル２０３を更新する。これによって、差分スナップショット生成サブプログラム１１３３は、差分スナップショット仮想ボリューム１５２を作成する。
【００６３】
差分スナップショット削除プログラム１１３４は、ＮＡＳ管理端末１０２から差分スナップショット削除要求を受ける。すると、差分スナップショット削除サブプログラム１１３４は、差分ボリューム１４２に格納されている差分ブロック管理テーブル２０３を更新する。これによって、差分スナップショット削除サブプログラム１１３４は、差分スナップショット仮想ボリューム１５２を削除する。
【００６４】
図５は、本発明の実施の形態の差分ブロック管理テーブル２０３の構成図である。
【００６５】
差分ブロック管理テーブル２０３には、差分スナップショット仮想ボリューム１５２のブロックのデータ状態２０３３が格納される。具体的には、差分ブロック管理テーブル２０３には、ＶＶＯＬ番号２０３１及びブロックアドレス２０３２に対応するブロックのデータ状態２０３３が格納される。
【００６６】
ＶＶＯＬ番号２０３１は、差分スナップショット仮想ボリューム１５２のスナップショット世代の識別子である。ブロックアドレス２０３２は、差分スナップショット仮想ボリューム１５２のブロックの一意な識別子である。
【００６７】
データ状態２０３３は、差分スナップショット仮想ボリューム１５２の当該ブロックのデータが実際に格納されている位置を示す。具体的には、差分スナップショット仮想ボリューム１５２のブロックのデータが、運用ボリューム１４１のブロックに格納されている場合、データ状態２０３３には、「０」が格納される。一方、差分スナップショット仮想ボリューム１５２のブロックのデータが、差分ボリューム１４２のブロックに格納されている場合、データ状態２０３３には、差分ボリューム１４２の当該ブロックのアドレスが格納される。
【００６８】
また、差分ブロック管理テーブル２０３は、運用ボリュームＩＤ２０３５、差分ボリュームＩＤ２０３６及び使用フラグ２０３７を含む。
【００６９】
運用ボリュームＩＤ２０３５は、当該差分スナップショット仮想ボリューム１５２のデータが実際に格納されている運用ボリューム１４１の識別子である。また、差分ボリュームＩＤ２０３６は、当該差分スナップショット仮想ボリューム１５２のデータが実際に格納されている差分ボリューム１４２の識別子である。
【００７０】
使用フラグ２０３７は、当該レコードに格納されている情報が有効であるか否かを示す。つまり、使用フラグ２０３７は、当該レコードに対応する差分スナップショット仮想ボリューム１５２が有効であるか否かを示す。
【００７１】
図６は、本発明の実施の形態の差分スナップショット管理プログラム１１３の処理の説明図である。
【００７２】
差分スナップショット管理プログラム１１３の書込処理サブプログラム１１３１は、ファイルシステム処理プログラム１１２から書込要求を受ける。すると、書込処理サブプログラムは、コピーオンライト処理によって、データを書き込むブロックのデータを、運用ボリューム１４１から差分ボリューム１４２に退避させる。次に、書込処理サブプログラム１１３１は、書き込み要求されたデータを運用ボリューム１４１に書き込む。
【００７３】
そして、差分スナップショット管理プログラム１１３は、差分ボリューム１４２に退避させたデータが格納されているブロックのアドレスを、差分ブロック管理テーブル２０３に格納する。このようにして、差分スナップショット管理プログラム１１３は、差分スナップショットを、差分スナップショット仮想ボリューム１５２として管理する。
【００７４】
次に、書込処理サブプログラム１１３１が、運用ボリューム１４１のブロック「＃１２３」にデータＢの書き込みを要求された場合を説明する。
【００７５】
すると、書込処理サブプログラム１１３１は、運用ボリューム１４１のブロック「＃１２３」に格納されているデータＡを退避させるため、差分ボリューム１４２に退避用のブロック「＃４５６」を確保する。次に、書込処理サブプログラム１１３１は、運用ボリューム１４１のブロック「＃１２３」に格納されているデータＡを、差分ボリューム１４２のブロック「＃４５６」に書き込む。これによって、書込処理サブプログラム１１３１は、運用ボリューム１４１の「ブロック＃１２３」に格納されているデータＡを退避させる。
【００７６】
次に、書込処理サブプログラム１１３１は、書き込みを要求されたデータＢを、運用ボリューム１４１のブロック「＃１２３」に書き込む。更に、書込処理サブプログラム１１３１は、差分ブロック管理テーブル２０３のデータ状態２０３３に、差分ボリューム１４２のブロック「＃４５６」のアドレスを格納する。
【００７７】
例えば、現在の差分スナップショット仮想ボリューム１５２のスナップショット世代が「Ｎｏ．３」の場合を説明する。
【００７８】
この場合、書込処理サブプログラム１１３１は、現在の差分スナップショット仮想ボリューム１５２のスナップショット世代の「Ｎｏ．３」と差分ブロック管理テーブル２０３のＶＶＯＬ番号２０３１とが一致するレコードを選択する。次に、書込処理サブプログラム１１３１は、運用ボリューム１４１にデータＢを書き込んだブロック「＃１２３」のアドレスと差分ブロック管理テーブル２０３のブロックアドレス２０３３とが一致するデータ状態２０３３を、選択したエントリから選択する。そして、書込処理サブプログラム１１３１は、選択したデータ状態２０３３に、差分ボリューム１４２にデータＡを退避させたブロック「＃４５６」のアドレスを格納する。
【００７９】
次に、差分スナップショット管理プログラム１１３の読出処理サブプログラム１１３２が、スナップショット世代が「Ｎｏ．３」の差分スナップショット仮想ボリューム１５２を読み出す処理を説明する。
【００８０】
読出処理サブプログラム１１３２は、差分ブロック管理テーブル２０３を参照して、運用ボリューム１４１及び差分ボリューム１４２からデータを読み出すことによって、差分スナップショット仮想ボリューム１５２を読み出す。
【００８１】
具体的には、読出処理サブプログラム１３２は、差分スナップショット仮想ボリューム１５２のブロック「＃１〜＃１２２」及び「＃１２４〜＃ｎ」のデータを、運用ボリューム１４１から読み出す。また、読出処理サブプログラム１３２は、差分スナップショット仮想ボリューム１５２のブロック「＃１２３」のデータを、差分ボリューム１４２のブロック「＃４５６」から読み出す。
【００８２】
図７は、本発明の実施の形態のストレージシステム１２０のミラー管理プログラム１２１のブロック図である。
【００８３】
ミラー管理プログラム１２１は、ミラー作成／削除サブプログラム２２１、スプリットサブプログラム２２２、リシンクサブプログラム２２３及び読出／書込サブプログラム２２４から構成される。
【００８４】
ミラー作成／削除サブプログラム２２１は、運用ボリューム１４１のミラーであるミラーボリュームの作成及び削除を行う。スプリットプログラム２２２は、ミラー作成／削除サブプログラム２２１が作成したミラーボリュームを物理的に切断することによって、複製スナップショットボリューム１５１を作成する。
【００８５】
リシンクサブプログラム２２３は、複製スナップショット１５１のデータを運用ボリューム１４１に反映する。これによって、リシンクサブプログラム２２３は、当該複製スナップショットボリューム１５１の作成時点に、運用ボリューム１４１のデータを戻す。
【００８６】
読出／書込サブプログラム２２４は、運用ボリューム１４１、複製スナップショットボリューム１５１及びミラーボリュームに対して、データを読み書きする。
【００８７】
図８は、本発明の実施の形態のストレージシステム１２０の差分ブロックビットマップ１２２の説明図である。
【００８８】
差分ブロックビットマップ１２２は、運用ボリューム１４１と複製スナップショットボリューム１５１とで異なるデータを記憶するブロックのアドレスを示す。そのため、差分ブロックビットマップ１２２は、運用ボリューム１４１を構成するブロックの数と同数以上のビット幅を有する。
【００８９】
本実施の形態の差分ブロックビットマップ１２２では、運用ボリューム１４１と複製スナップショットボリューム１５１とで異なるデータを記憶するブロックのビット値を「１」とする。一方、運用ボリューム１４１と差分ボリューム１４２とで同一のデータを記憶するブロックのビット値を「０」とする。
【００９０】
差分ブロックビットマップ１２２は、ミラー作成／削除サブプログラム２２１によって作成、更新又は削除される。
【００９１】
また、差分ブロックビットマップ１２２は、リシンクサブプログラム２２３によって参照される。リシンクサブプログラム２２３は、差分ブロックビットマップ１２２を参照することによって、複製スナップショットボリューム１５１の中から運用ボリューム１４１と異なるブロックのみを選択する。そして、リシンクサブプログラム２２３は、選択したブロックのデータを運用ボリューム１４１に書き込むことによって、リシンク処理を行う。
【００９２】
図９は、本発明の実施の形態のＮＡＳサーバ装置１１０のスナップショット形式変換プログラム１１５のブロック図である。
【００９３】
スナップショット形式変換プログラム１１５は、複製スナップショット形式変換制御サブプログラム１１５１、複製スナップショット形式変換実行サブプログラム１１５２、差分スナップショット形式変換制御サブプログラム１１５３、差分スナップショット形式変換実行サブプログラム１１５４及び変換中読出先ボリューム選択サブプログラム１１５５を含む。
【００９４】
複製スナップショット形式変換制御サブプログラム１１５１は、ＮＡＳ管理端末１０２から複製スナップショット形式変換処理の実行要求を受けると、複製スナップショット形式変換実行サブプログラム１１５２を起動する。複製スナップショット形式変換処理は、複製スナップショットを差分スナップショットに変換する処理である。なお、複製スナップショット形式変換制御サブプログラム１１５１の処理は、図１３で詳細を説明する。
【００９５】
複製スナップショット形式変換実行サブプログラム１１５２は、複製スナップショット形式変換処理を実行する。なお、複製スナップショット形式変換実行サブプログラム１１５２の処理は、図１４で詳細を説明する。
【００９６】
差分スナップショット形式変換制御サブプログラム１１５３は、ＮＡＳ管理端末１０２から差分スナップショット形式変換処理の実行要求を受けると、差分スナップショット形式変換実行サブプログラム１１５４を起動する。差分スナップショット形式変換処理は、差分スナップショットを複製スナップショットに変換する処理である。なお、差分スナップショット形式変換制御サブプログラム１１５３の処理は、図１５で詳細を説明する。
【００９７】
差分スナップショット形式変換実行サブプログラム１１５４は、差分スナップショット形式変換処理を実行する。なお、差分スナップショット形式変換実行サブプログラム１１５４の処理は、図１６で詳細を説明する。
【００９８】
読出処理サブプログラム１１３２は、複製スナップショット形式変換サブプログラム１１５２及び差分スナップショット形式変換実行サブプログラム１１５４の少なくとも一方が実行されている時に読出要求を受けると、変換中読出先ボリューム選択サブプログラム１１５５を起動する。すると、変換中読出先ボリューム選択サブプログラム１１５５は、読出処理サブプログラム１１３２が実際にデータを読み出す論理ボリュームを選択する。
【００９９】
図１０は、本発明の実施の形態のＮＡＳサーバ装置１１０の形式変換プロセス数カウンタ２１６の説明図である。
【０１００】
形式変換プロセス数カウンタ２１６は、実行されているスナップショット形式変換実行サブプログラムの数を数える。スナップショット形式変換実行サブプログラムは、複製スナップショット形式変換実行サブプログラム１１５２及び差分スナップショット形式変換実行サブプログラム１１５４の総称である。本説明図の形式変換プロセス数カウンタ２１６は、三つのスナップショット形式変換実行サブプログラムが同時に動作していることを示す。
【０１０１】
形式変換プロセス数カウンタ２１６は、スナップショット形式変換実行サブプログラムの実行開始時にインクリメントされる。そして、形式変換プロセス数カウンタ２１６は、スナップショット形式変換実行サブプログラムの実行終了時にデクリメントされる。
【０１０２】
なお、読出処理サブプログラム１１３２は、形式変換プロセス数カウンタ２１６を参照して、変換中読出先ボリューム選択サブプログラム１１５５を起動するか否かを判定する。
【０１０３】
図１１は、本発明の実施の形態のＮＡＳサーバ装置１１０のスナップショット形式変換管理テーブル２１７の構成図である。
【０１０４】
スナップショット形式変換管理テーブル２１７は、複製スナップショット形式変換実行サブプログラム１１５２が実行する複製スナップショット形式変換処理及び差分スナップショット形式変換実行サブプログラム１１５４が実行する差分スナップショット形式変換処理を管理する。そのため、スナップショット形式変換管理テーブル２１７は、スナップショット変換プロセス番号３０１、変換先ボリューム識別子３０２、変換元ボリューム識別子３０３及び変換中ブロックアドレス３０４を含む。
【０１０５】
スナップショット変換プロセス番号３０１は、スナップショット形式変換実行サブプログラムの一意な識別子である。本説明図では、スナップショット変換プロセス番号３０１の「０」、「１」及び「２」は、複製スナップショット形式変換実行サブプログラム１１５２の識別子である。また、スナップショット変換プロセス番号３０１の「３」、「４」及び「５」は、差分スナップショット形式変換実行サブプログラム１１５４の識別子である。
【０１０６】
変換先ボリューム識別子３０２は、形式変換先のスナップショットボリュームの一意な識別子である。具体的には、複製スナップショット形式変換実行サブプログラム１１５２に関するレコードの変換先ボリューム識別子３０２には、形式変換先の複製スナップショットボリューム１５１の識別子が格納される。一方、差分スナップショット形式変換実行サブプログラム１１５４に関するレコードの変換先ボリューム識別子３０２には、形式変換先の差分スナップショット仮想ボリューム１５２の識別子が格納される。
【０１０７】
変換元ボリューム識別子３０３は、形式変換元のスナップショットボリュームの一意な識別子である。具体的には、複製スナップショット形式変換実行サブプログラム１１５２に関するレコードの変換元ボリューム識別子３０３には、形式変換元の差分スナップショット仮想ボリューム１５２の識別子が格納される。一方、差分スナップショット形式変換実行サブプログラム１１５４に関するレコードの変換元ボリューム識別子３０３には、形式変換元の複製スナップショットボリューム１５１の識別子が格納される。
【０１０８】
変換中ブロックアドレス３０４は、スナップショット形式変換実行サブプログラムによって形式変換中のブロックの一意な識別子である。
【０１０９】
図１２は、本発明の実施の形態のＮＡＳサーバ装置１１０の差分ブロック複製ビットマップ２１８の説明図である。
【０１１０】
差分ブロック複製ビットマップ２１８は、ストレージシステム１２０の差分ブロックビットマップ１２２（図８）の複製である。よって、差分ブロック複製ビットマップ２１８は、運用ボリューム１４１と複製スナップショットボリューム１５１とで異なるデータを記憶するブロックのアドレスを示す。そのため、差分ブロック複製ビットマップ２１８は、運用ボリューム１４１を構成するブロックの数と同数以上のビット幅を有する。
【０１１１】
本実施の形態の差分ブロック複製ビットマップ２１８では、運用ボリューム１４１と差分ボリューム１４２とで異なるデータを記憶するブロックのビット値を「１」とする。一方、運用ボリューム１４１と複製スナップショットボリューム１５１とで同一のデータを記憶するブロックのビット値を「０」とする。
【０１１２】
図１３は、本発明の実施の形態の複製スナップショット形式変換制御サブプログラム１１５１の処理のフローチャートである。
【０１１３】
複製スナップショット形式変換制御サブプログラム１１５１は、ＮＡＳ管理端末１０２から複製スナップショット形式変換処理の実行要求を受けると、本処理を開始する。まず、複製スナップショット形式変換制御サブプログラム１１５１は、形式変換の対象（変換元）となる複製スナップショットボリューム１５１が正常か否かを判定する（５０１）。例えば、複製スナップショット形式変換制御サブプログラム１１５１は、論理ボリュームが正常か否かを示す論理ボリューム状態フラグに基づいて、複製スナップショットボリューム１５１が正常か否かを判定する。なお、論理ボリューム状態フラグは、ＮＡＳサーバ装置１１０のメモリ１２に記憶されている。
【０１１４】
変換元の複製スナップショットボリューム１５１が正常でないと、複製スナップショット形式変換制御サブプログラム１１５１は、複製スナップショット形式変換処理を実行できないと判定し、本処理を終了する。
【０１１５】
一方、変換元の複製スナップショットボリューム１５１が正常の場合、複製スナップショット形式変換制御サブプログラム１１５１は、変換元の複製スナップショットボリューム１５１の識別子が、スナップショット形式変換管理テーブル２１７の変換先ボリューム識別子３０２及び変換元ボリューム識別子３０３の少なくとも一方に格納されているか否かを判定する（５０２）。
【０１１６】
変換元の複製スナップショットボリューム１５１の識別子が格納されていると、複製スナップショット形式変換制御サブプログラム１１５１は、当該複製スナップショットボリューム１５１がスナップショット形式変換処理を実行されている最中であると判定する。よって、複製スナップショット形式変換制御サブプログラム１１５１は、そのまま本処理を終了する。
【０１１７】
一方、変換元の複製スナップショットボリューム１５１の識別子が格納されていないと、複製スナップショット形式変換制御サブプログラム１１５１は、当該複製スナップショットボリューム１５１に対して複製スナップショット形式変換処理を実行可能と判定する。
【０１１８】
そこで、複製スナップショット形式変換制御サブプログラム１１５１は、ストレージシステム１２０の差分ブロックビットマップ１２２のサイズの記憶領域を、ＮＡＳサーバ装置１１０のメモリ１２に確保する（５０３）。
【０１１９】
次に、複製スナップショット形式変換制御サブプログラム１１５１は、変換元の複製スナップショットボリューム１５１に関する差分ブロックビットマップ１２２を、ストレージシステム１２０から取得する。次に、複製スナップショット形式変換制御サブプログラム１１５１は、取得した差分ブロックビットマップ１２２を、ステップ５０３でメモリ１２に確保した記憶領域に格納する（５０４）。このようにして、複製スナップショット形式変換制御サブプログラム１１５１は、差分ブロックビットマップ１２２の複製である差分ブロック複製ビットマップ２１８を、ＮＡＳサーバ装置１１０のメモリ１２に格納する。
【０１２０】
次に、複製スナップショット形式変換制御サブプログラム１１５１は、変換元の複製スナップショットボリューム１５１の複製元である運用ボリューム１４１を特定する。次に、複製スナップショット形式変換制御サブプログラム１１５１は、特定した運用ボリューム１４１に対応付けられている差分ボリューム１４２が存在するか否かを判定する（５０５）。なお、運用ボリューム１４１と当該運用ボリューム１４１の差分データを格納する差分ボリューム１４２とは、関連付けられている。
【０１２１】
特定した運用ボリューム１４１に対応付けられている差分ボリューム１４２が存在する場合、複製スナップショット形式変換制御サブプログラム１１５１は、そのままステップ５０７に進む。
【０１２２】
一方、特定した運用ボリューム１４１に対応付けられている差分ボリューム１４２が存在しない場合、複製スナップショット形式変換制御サブプログラム１１５１は、差分ボリューム１４２を新たに作成する。次に、複製スナップショット形式変換制御サブプログラム１１５１は、作成した差分ボリューム１４２を、ステップ５０５で特定した運用ボリューム１４１に対応付ける（５０６）。
【０１２３】
次に、複製スナップショット形式変換制御サブプログラム１１５１は、変換先となる差分スナップショット仮想ボリューム１５２の識別子を決定する。
【０１２４】
次に、複製スナップショット形式変換制御サブプログラム１１５１は、スナップショット形式変換管理テーブル２１７を更新する。
【０１２５】
具体的には、複製スナップショット形式変換制御サブプログラム１１５１は、複製スナップショット形式変換処理を実行させる複製スナップショット形式変換実行サブプログラム１１５２を選択する。例えば、複製スナップショット形式変換制御サブプログラム１１５１は、複製スナップショット形式変換処理を実行していない複製スナップショット形式変換実行サブプログラム１１５２を選択する。
【０１２６】
次に、複製スナップショット形式変換制御サブプログラム１１５１は、選択した複製スナップショット形式変換実行サブプログラム１１５２の識別子とスナップショット形式変換管理テーブル２１７のスナップショット変換プロセス番号３０１とが一致するレコードを、スナップショット形式変換管理テーブル２１７から選択する。
【０１２７】
次に、複製スナップショット形式変換制御サブプログラム１１５１は、選択したレコードの変換先ボリューム識別子３０２に、変換先の差分スナップショット仮想ボリューム１５２の識別子を格納する。次に、複製スナップショット形式変換制御サブプログラム１１５１は、選択したレコードの変換元ボリューム識別子３０３に、変換元の複製スナップショットボリューム１５１の識別子を格納する（５０７）。
【０１２８】
次に、複製スナップショット形式変換制御サブプログラム１１５１は、複製スナップショット形式変換処理の実行を複製スナップショット形式変換実行サブプログラム１１５２に要求する（５０８）。
【０１２９】
そして、複製スナップショット形式変換制御サブプログラム１１５１は、変換先の差分スナップショット仮想ボリューム１５２を、ＮＡＳクライアント１０１及びＮＡＳ管理端末１０２からアクセス可能な状態にする（５０９）。そして、複製スナップショット形式変換制御サブプログラム１１５１は、本処理を終了する。
【０１３０】
図１４は、本発明の実施の形態の複製スナップショット形式変換実行サブプログラム１１５２の処理のフローチャートである。
【０１３１】
複製スナップショット形式変換実行サブプログラム１１５２は、複製スナップショット形式変換制御サブプログラム１１５１から複製スナップショット形式変換処理の実行を要求されると、本処理を開始する。
【０１３２】
まず、複製スナップショット形式変換実行サブプログラム１１５２は、形式変換プロセス数カウンタ２１６をインクリメントする（５２１）。なお、形式変換プロセス数カウンタ２１６は、１以上であると、複製スナップショット形式変換実行サブプログラム１１５２及び差分スナップショット形式変換実行サブプログラム１１５４の少なくとも一方が実行中であることを示す。
【０１３３】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、以降の処理をバックラウンドで処理する（５２２）。つまり、ＮＡＳ管理端末１０２は、複製スナップショット形式変換処理の実行要求をＮＡＳ統合装置１０４に送信した後、すぐに当該複製スナップショット形式変換処理の完了の通知を受ける。
【０１３４】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、スナップショット変換管理テーブル２１７の変換中ブロックアドレス（Ｉ）３０４に、初期値の「０」を格納する（５２３）。
【０１３５】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、差分ブロック管理テーブル２０３の使用フラグ２０３７に「０」が格納されているレコードの一つを、差分ブロック管理テーブル２０３から選択する。そして、複製スナップショット形式変換実行サブプログラム１１５２は、選択したＶＶＯＬ番号２０３１のスナップショット世代を作成する。
【０１３６】
具体的には、複製スナップショット形式変換実行サブプログラム１１５２は、差分ブロック複製ビットマップ２１８のＩ番目のビットを抽出する。次に、複製スナップショット形式変換実行サブプログラム１１５２は、抽出したＩ番目のビットが「１」であるか否かを判定する（５２４）。
【０１３７】
Ｉ番目のビットが「０」の場合、複製スナップショットボリューム１５１のブロックＩのデータと運用ボリューム１４１のブロックＩのデータとが一致している。なお、ブロックＩは、ブロックアドレスが「Ｉ」であるブロックである。そのため、複製スナップショット形式変換実行サブプログラム１１５２は、ブロックＩに対する処理を終了するので、そのままステップ５３２に進む。
【０１３８】
一方、Ｉ番目のビットが「１」の場合、複製スナップショットボリューム１５１のブロックＩのデータと運用ボリューム１４１のブロックＩのデータとがと異なる。そのため、複製スナップショット形式変換実行サブプログラム１１５２は、複製スナップショットボリューム１５１のブロックＩのデータを差分ボリューム１４２に格納する必要がある。
【０１３９】
そこで、複製スナップショット形式変換実行サブプログラム１１５２は、複製スナップショットボリューム１５１のブロックＩのデータを読み出す。
【０１４０】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、処理中のブロックのブロックアドレスである「Ｉ」と差分ブロック管理テーブル２０３のブロックアドレス２０３２とが一致するレコードを、差分ブロック管理テーブル２０３から選択する（５２５）。
【０１４１】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、選択したレコードから、有効なスナップショット世代に関するデータ状態２０３３をすべて選択する。具体的には、複製スナップショット形式変換実行サブプログラム１１５２は、差分ブロック管理テーブル２０３の使用フラグ２０３７に基づいて、有効なスナップショット世代に関するデータ状態２０３３であるか否かを判定する。
【０１４２】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、選択したデータ状態２０３３から、「０」以外の値（ブロックアドレス）をすべて抽出する。次に、複製スナップショット形式変換実行サブプログラム１１５２は、抽出したブロックアドレスのブロックのデータを、差分ボリューム１４２から読み出す（５２６）。
【０１４３】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、ステップ５２６で読み出したデータの中に、ステップ５２５で読み出したデータと同一のデータが存在するか否かを判定する（５２７）。これによって、複製スナップショット形式変換実行サブプログラム１１５２は、複製スナップショットボリューム１５１のブロックＩのデータが差分ボリューム１４２に格納されているか否かを判定する。
【０１４４】
同一のデータが存在すると、複製スナップショットボリューム１５１のブロックＩのデータが差分ボリューム１４２に格納されている。よって、複製スナップショット形式変換実行サブプログラム１１５２は、複製スナップショットボリューム１５１のブロックＩのデータを、差分ボリューム１４２に格納する必要がない。
【０１４５】
そのため、複製スナップショット形式変換実行サブプログラム１１５２は、ステップ５２６で同一のデータを読み出したブロックのブロックアドレスを、変換先のブロックアドレスとする（５２８）。そして、複製スナップショット形式変換実行サブプログラム１１５２は、ステップ５３１に進む。
【０１４６】
一方、ステップ５２７で同一のデータが存在しない場合、複製スナップショットボリューム１５１のブロックＩのデータは差分ボリューム１４２に格納されていない。よって、複製スナップショット形式変換実行サブプログラム１１５２は、複製スナップショットボリューム１５１のブロックＩのデータを、差分ボリューム１４２に格納する必要がある。そこで、複製スナップショット形式変換実行サブプログラム１１５２は、差分ボリューム１４２のブロックを確保する（５２９）。
【０１４７】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、確保したブロックに、ステップ５２５で読み出したデータを格納する（５３０）。そして、複製スナップショット形式変換実行サブプログラム１１５２は、データを格納したブロックのブロックアドレスを、変換先のブロックアドレスとする。
【０１４８】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、作成するスナップショット世代と差分ブロック管理テーブル２０３のＶＶＯＬ番号２０３１とが一致するデータ状態２０３３を、ステップ５２５で選択したレコードから選択する。
【０１４９】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、選択したデータ状態２０３３に、変換先のブロックアドレスを格納する（５３１）。
【０１５０】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、ブロックＩが変換元の複製スナップショットボリューム１５１の最終ブロックであるか否かを判定する（５３２）。
【０１５１】
ブロックＩが最終ブロックでないと、複製スナップショットボリューム１５１のブロックの中に、処理を終了していないブロックが存在する。そこで、複製スナップショット形式変換実行サブプログラム１１５２は、Ｉをインクリメントする（５３３）。そして、複製スナップショット形式変換実行サブプログラム１１５２は、ステップ５２４に戻り、ブロックＩに対する処理を繰り返す。
【０１５２】
一方、ブロックＩが最終ブロックであると、複製スナップショット形式変換実行サブプログラム１１５２は、複製スナップショットボリューム１５１のすべてのブロックに対して処理を終了した。そこで、複製スナップショット形式変換実行サブプログラム１１５２は、当該複製スナップショット形式変換実行サブプログラム１１５２の識別子とスナップショット形式変換管理テーブル２１７のスナップショット変換プロセス番号３０１とが一致するレコードを、スナップショット形式変換管理テーブル２１７から選択する。次に、複製スナップショット形式変換実行サブプログラム１１５２は、選択したレコードの変換先ボリューム識別子３０２、変換元ボリューム識別子３０３及び変換中ブロックアドレス３０４に格納されている情報を削除する。
【０１５３】
これによって、複製スナップショット形式変換実行サブプログラム１１５２は、当該複製スナップショット形式変換実行サブプログラム１１５２に関する情報を、スナップショット形式変換管理テーブル２１７から削除する（５３４）。
【０１５４】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、変換元の複製スナップショットボリューム１５１を削除する（５３５）。なお、複製スナップショット形式変換実行サブプログラム１１５２は、変換元の複製スナップショットボリューム１５１をすぐに削除せずに、ストレージシステム１２０の記憶領域が不足した時に削除してもよい。
【０１５５】
次に、複製スナップショット形式変換実行サブプログラム１１５２は、差分ブロック複製ビットマップ２１８をメモリ１２から削除する（５３６）。次に、複製スナップショット形式変換実行サブプログラム１１５２は、形式変換プロセス数カウンタ２１６をデクリメントする（５３７）。そして、本処理を終了する。
【０１５６】
図１５は、本発明の実施の形態の差分スナップショット形式変換制御サブプログラム１１５３の処理のフローチャートである。
【０１５７】
差分スナップショット形式変換制御サブプログラム１１５３は、ＮＡＳ管理端末１０２から差分スナップショット形式変換処理の実行要求を受けると、本処理を開始する。まず、差分スナップショット形式変換制御サブプログラム１１５３は、形式変換の対象（変換元）となる差分スナップショット仮想ボリューム１５２が正常か否かを判定する（５４１）。
【０１５８】
変換元の差分スナップショット仮想ボリューム１５２が正常ではないと、差分スナップショット形式変換制御サブプログラム１１５３は、差分スナップショット形式変換処理を実行できないと判定し、本処理を終了する。
【０１５９】
一方、変換元の差分スナップショット仮想ボリューム１５２が正常の場合、差分スナップショット形式変換制御サブプログラム１１５３は、変換元の差分スナップショット仮想ボリューム１５２の識別子がスナップショット形式変換管理テーブル２１７の変換先識別子３０２及び変換元ボリューム識別子３０３の少なくとも一方に格納されているか否かを判定する（５４２）。
【０１６０】
変換元の差分スナップショット仮想ボリューム１５２の識別子が格納されていると、当該差分スナップショット仮想ボリューム１５２がスナップショット形式変換処理を実行されている最中である。よって、差分スナップショット形式変換制御サブプログラム１１５３は、そのまま本処理を終了する。
【０１６１】
一方、変換元の差分スナップショット仮想ボリューム１５２の識別子が格納されていない場合、差分スナップショット形式変換制御サブプログラム１１５３は、運用ボリューム１４１の複製スナップショット及び差分ボリューム１４２の複製スナップショットの作成を、ストレージシステム１２０に要求する（５４３）。
【０１６２】
すると、ストレージシステム１２０は、運用ボリューム１４１に関する複製スナップショットボリューム１５１及び差分ボリューム１４２に関する複製スナップショットボリューム１５１を作成する。なお、これらの複製スナップショットボリューム１５１は、ＮＡＳクライアント１０１及びＮＡＳ管理端末１０２からアクセスできないように設定しておく。
【０１６３】
次に、差分スナップショット形式変換制御サブプログラム１１５３は、運用ボリューム１４１に関する複製スナップショットボリューム１５１と差分ボリューム１４２に関する複製スナップショットボリューム１５１とを対応付ける（５４４）。なお、運用ボリューム１４１に関する複製スナップショットボリューム１５１が、変換先のスナップショットとなる。
【０１６４】
次に、差分スナップショット形式変換制御サブプログラム１１５３は、スナップショット形式変換管理テーブル２１７を更新する。
【０１６５】
具体的には、差分スナップショット形式変換制御サブプログラム１１５３は、差分スナップショット形式変換処理を実行させる差分スナップショット形式変換実行サブプログラム１１５４を選択する。例えば、差分スナップショット形式変換制御サブプログラム１１５３は、差分スナップショット形式変換処理を実行していない差分スナップショット形式変換実行サブプログラム１１５４を選択する。
【０１６６】
次に、差分スナップショット形式変換制御サブプログラム１１５３は、選択した差分スナップショット形式変換実行サブプログラム１１５４の識別子とスナップショット形式変換テーブル２１７のスナップショット変換プロセス番号３０１とが一致するレコードを、スナップショット形式変換管理テーブル２１７から選択する。
【０１６７】
次に、差分スナップショット形式変換制御サブプログラム１１５３は、選択したレコードの変換先ボリューム識別子３０２に、運用ボリューム１４１に関する複製スナップショットボリューム１５１の識別子を格納する。次に、差分スナップショット形式変換制御サブプログラム１１５３は、選択したレコードの変換元ボリューム識別子３０３に、変換元の差分スナップショット仮想ボリューム１５２の識別子を格納する（５４５）。
【０１６８】
次に、差分スナップショット形式変換制御サブプログラム１１５３は、差分スナップショット形式変換処理の実行を差分スナップショット形式変換実行サブプログラム１１５４に要求する（５４６）。
【０１６９】
そして、差分スナップショット形式変換制御サブプログラム１１５３は、変換先の複製スナップショットボリューム１５１を、ＮＡＳクライアント１０１及びＮＡＳ管理端末１０２からアクセス可能な状態にする（５４７）。そして、差分スナップショット形式変換制御サブプログラム１１５３は、本処理を終了する。
【０１７０】
図１６は、本発明の実施の形態の差分スナップショット形式変換実行サブプログラム１１５４の処理の示すフローチャートである。
【０１７１】
差分スナップショット形式変換実行サブプログラム１１５４は、差分スナップショット形式変換制御サブプログラム１１５３から差分スナップショット形式変換処理の実行を要求されると、本処理を開始する。
【０１７２】
まず、差分スナップショット形式変換実行サブプログラム１１５４は、形式変換プロセス数カウンタ２１６をインクリメントする（５６１）。なお、形式変換プロセス数カウンタ２１６は、１以上であると、複製スナップショット形式変換実行サブプログラム１１５２及び差分スナップショット形式変換実行サブプログラム１１５４の少なくとも一方が実行中であることを示す。
【０１７３】
次に、差分スナップショット形式変換実行サブプログラム１１５４は、以降の処理をバックグラウンドで処理する（５６２）。つまり、ＮＡＳ管理端末１０２は、差分スナップショット形式変換処理の実行要求をＮＡＳ統合装置１０４に送信した後、すぐに当該差分スナップショット形式変換処理の完了の通知を受ける。
【０１７４】
次に、差分スナップショット形式変換実行サブプログラム１１５４は、スナップショット形式変換管理テーブル２１７の変換中ブロックアドレス（Ｉ）３０４に、初期値の「０」を格納する（５６３）。
【０１７５】
次に、差分スナップショット形式変換実行サブプログラム１１５４は、変換元の差分スナップショット仮想ボリューム１５２のスナップショット世代と差分ブロック管理テーブル２０３のＶＶＯＬ番号２０３１とが一致するレコードを、差分ブロック管理テーブル２０３から選択する。次に、差分スナップショット形式変換実行サブプログラム１１５４は、処理中のブロックのブロックアドレスである「Ｉ」と差分ブロック管理テーブル２０３のブロックアドレス２０３２とが一致するデータ状態２０３３を、選択したレコードから選択する。
【０１７６】
次に、差分スナップショット形式変換実行サブプログラム１１５４は、選択したデータ状態２０３３に「０」が格納されているか否かを判定する。これによって、差分スナップショット形式変換実行サブプログラム１１５４は、変換元の差分スナップショット仮想ボリューム１５２のブロックＩのデータが、差分ボリューム１４２に関する複製スナップショット１５１に格納されているか否かを判定する（５６４）。
【０１７７】
差分スナップショット仮想ボリューム１５２のブロックＩのデータが格納されていない場合、変換先の複製スナップショットボリューム１５１のブロックＩのデータと変換元の差分スナップショット仮想ボリューム１５２のブロックＩのデータとが同一である。よって、差分スナップショット形式変換実行サブプログラム１１５４は、そのままステップ５６６に進む。
【０１７８】
一方、差分スナップショット仮想ボリューム１５２のブロックＩのデータが差分ボリューム１４２に格納されている場合、変換先の複製スナップショットボリューム１５１のブロックＩのデータと変換元の差分スナップショット仮想ボリューム１５２のブロックＩのデータとが異なる。
【０１７９】
そこで、差分スナップショット形式変換実行サブプログラム１１５４は、ステップ５６４で選択したボックスに格納されているブロックアドレスを抽出する。次に、差分スナップショット形式変換実行サブプログラム１１５４は、抽出したブロックアドレスのブロックのデータを、差分ボリューム１４２に関する複製スナップショットボリューム１５１から抽出する。差分スナップショット形式変換実行サブプログラム１１５４は、抽出したデータを、変換先の複製スナップショットボリューム１５１のブロックＩに格納する（５６５）。
【０１８０】
次に、差分スナップショット形式変換実行サブプログラム１１５４は、ブロックＩが変換元の差分スナップショット仮想ボリューム１５２の最終ブロックであるか否かを判定する（５６６）。
【０１８１】
ブロックＩが最終ブロックでないと、差分スナップショット仮想ボリューム１５２のブロックの中に、処理を終了していないブロックが存在する。そこで、差分スナップショット形式変換実行サブプログラム１１５４は、Ｉをインクリメントする（５７１）。そして、差分スナップショット形式変換実行サブプログラム１１５４は、ステップ５６３に戻り、ブロックＩに対する処理を繰り返す。
【０１８２】
一方、ブロックＩが最終ブロックであると、差分スナップショット形式変換実行サブプログラム１１５４は、差分スナップショット仮想ボリューム１５２のすべてのブロックに対して処理を終了した。
【０１８３】
そこで、差分スナップショット形式変換実行サブプログラム１１５４は、当該差分スナップショット形式変換実行サブプログラム１１５４の識別子とスナップショット形式変換管理テーブル２１７のスナップショット変換プロセス番号３０１とが一致するレコードを、スナップショット形式変換管理テーブル２１７から選択する。次に、差分スナップショット形式変換実行サブプログラム１１５４は、選択したレコードの変換先ボリューム識別子３０２、変換元ボリューム識別子３０３及び変換中ブロックアドレス３０４に格納されている情報を削除する。
【０１８４】
これによって、差分スナップショット形式変換実行サブプログラム１１５４は、当該差分スナップショット形式変換実行サブプログラム１１５４に関する情報を、スナップショット形式変換管理テーブル２１７から削除する（５６７）。
【０１８５】
次に、差分スナップショット形式変換実行サブプログラム１１５４は、差分ボリューム１４２に関する複製スナップショットボリューム１５１を削除する（５６８）。
【０１８６】
次に、差分スナップショット形式変換実行サブプログラム１１５４は、変換元の差分スナップショット仮想ボリューム１５２を削除する（５６９）。具体的には、差分スナップショット形式変換実行サブプログラム１１５４は、削除する差分スナップショット仮想ボリューム１５２のスナップショット世代と差分ブロック管理テーブル２０３のＶＶＯＬ番号２０３１とが一致するレコードを、差分ブロック管理テーブル２０３から選択する。次に、差分スナップショット形式変換実行サブプログラム１１５４は、選択したレコードの使用フラグ２０３７に、無効を示す「０」を格納する。
【０１８７】
なお、差分スナップショット形式変換実行サブプログラム１１５４は、変換元の差分スナップショット仮想ボリューム１５２をすぐに削除せずに、ストレージシステム１２０の記憶領域が不足した時に削除してもよい。
【０１８８】
次に、差分スナップショット形式変換実行サブプログラム１１５４は、形式変換プロセス数カウンタ２１６をデクリメントする（５７０）。そして、本処理を終了する。
【０１８９】
図１７は、本発明の実施の形態の読出処理サブプログラム１１３２の処理のフローチャートである。
【０１９０】
読出処理サブプログラム１１３２は、読出要求をファイルシステム処理プログラム１１２から受け取る。すると、読出処理サブプログラム１１３２は、形式変換プロセス数カウンタ２１６（図１０）が「１」以上であるか否かを判定する（５８１）。
【０１９１】
形式変換プロセス数カウンタ２１６が「１」より小さい場合、スナップショット形式変換処理が実行されていない。よって、読出処理サブプログラム１１３２は、通常の読出処理を行う。
【０１９２】
具体的には、読出処理サブプログラム１１３２は、受け取った読出要求に基づいて、データを読み出す論理ボリューム（読出対象ボリューム）及びデータを読み出すブロック（読出対象ブロック）を特定する。次に、読出処理サブプログラム１１３２は、読出対象ボリューム内の読出対象ブロックからデータを読み出す（５８３）。そして、読出処理サブプログラム１１３２は、読み出したデータをファイルシステム処理プログラム１１２に送る。
【０１９３】
一方、形式変換プロセス数カウンタ２１６が「１」以上の場合、スナップショット形式変換処理が実行されている。そこで、読出処理サブプログラム１１３２は、変換中読出先ボリューム選択サブプログラム１１５５の実行を要求する（５８２）。
【０１９４】
そして、読出処理サブプログラム１１３２は、読出処理を行う。具体的には、読出処理サブプログラム１１３２は、読出対象ボリューム内の読出対象ブロックからデータを読み出す（５８３）。そして、読出処理サブプログラム１１３２は、読み出したデータをファイルシステム処理プログラム１１２に送る。そして、本処理を終了する。
【０１９５】
図１８は、本発明の実施の形態の変換中読出先ボリューム選択サブプログラム１１５５の処理のフローチャートである。
【０１９６】
変換中読出先ボリューム選択サブプログラム１１５５は、読出処理サブプログラム１１３２が受け取った読出要求に基づいて、読み出しを要求された論理ボリューム（読出対象ボリューム）を特定する。次に、変換中読出先ボリューム選択サブプログラム１１５５は、特定した読出対象ボリュームの識別子がスナップショット形式変換管理テーブル２１７の変換先ボリューム識別子３０２に格納されているか否かを判定する（５９１）。
【０１９７】
読出対象ボリュームの識別子がスナップショット形式変換管理テーブル２１７の変換先ボリューム識別子３０２に格納されていない場合、読出対象ボリュームは、スナップショット形式変換処理の最中でない。よって、変換中読出先ボリューム選択サブプログラム１１５５は、読出対象ボリュームを変更する必要がないので、そのまま本処理を終了する。
【０１９８】
一方、読出対象ボリュームの識別子がスナップショット形式変換管理テーブル２１７の変換先ボリューム識別子３０２に格納されている場合、変換中読出先ボリューム選択サブプログラム１１５５は、特定した読出対象ボリュームの識別子とスナップショット形式変換管理テーブル２１７の変換先ボリューム識別子３０２とが一致するレコードを、スナップショット形式変換管理テーブル２１７から選択する。
【０１９９】
次に、変換中読出先ボリューム選択サブプログラム１１５５は、選択したレコードから、変換元ボリューム識別子３０３を抽出する。そして、変換中読出先ボリューム選択サブプログラム１１５５は、読出対象ボリュームを、抽出した変換元ボリューム識別子３０３に対応する論理ボリュームに変更する（５９２）。そして本処理を終了する。
【０２００】
以上のように、変換中読出先ボリューム選択サブプログラム１１５５は、スナップショット形式変換処理中に、変換先の複製スナップショットボリューム１５１又は差分スナップショット仮想ボリューム１５２から不定なデータを読み出すことを防止する。
【０２０１】
本実施の形態では、複製スナップショットボリューム１５１及び差分スナップショット仮想ボリューム１５２は、スナップショット形式変換の処理中に、読み出しのアクセスのみを受け付ける。そのため、スナップショット形式変換処理の最中の書込処理のためのサブプログラムは必要ない。
【０２０２】
本実施の形態のＮＡＳ統合装置１０４は、複製スナップショットと差分スナップショットとの間で形式を変換できる。また、当該ＮＡＳ統合装置１０４は、通常の運用を行いながら、スナップショットの形式を変換できる。
【０２０３】
よって、当該当該ＮＡＳ統合装置１０４は、時間の経過と共にスナップショットに対する要件が変化した場合、要件にあったスナップショット形式に変換できる。そのため、当該ＮＡＳ統合装置１０４は、運用コストを低減できる。
【図面の簡単な説明】
【０２０４】
【図１】本発明の実施の形態の情報システムの構成のブロック図である。
【図２】本発明の実施の形態のＮＡＳ統合装置の機能に関するブロック図である。
【図３】本発明の実施の形態のＮＡＳサーバ装置が管理する差分スナップショット仮想ボリュームの説明図である。
【図４】本発明の実施の形態のＮＡＳサーバ装置の差分スナップショット管理プログラムのブロック図である。
【図５】本発明の実施の形態の差分ブロック管理テーブルの構成図である。
【図６】本発明の実施の形態の差分スナップショット管理プログラムの処理の説明図である。
【図７】本発明の実施の形態のストレージシステムのミラー管理プログラムのブロック図である。
【図８】本発明の実施の形態のストレージシステムの差分ブロックビットマップの説明図である。
【図９】本発明の実施の形態のＮＡＳサーバ装置のスナップショット形式変換プログラムのブロック図である。
【図１０】本発明の実施の形態のＮＡＳサーバ装置の形式変換プロセス数カウンタの説明図である。
【図１１】本発明の実施の形態のＮＡＳサーバ装置のスナップショット形式変換管理テーブル２１７の構成図である。
【図１２】本発明の実施の形態のＮＡＳサーバ装置の差分ブロック複製ビットマップの説明図である。
【図１３】本発明の実施の形態の複製スナップショット形式変換制御サブプログラムの処理のフローチャートである。
【図１４】本発明の実施の形態の複製スナップショット形式変換実行サブプログラムの処理のフローチャートである。
【図１５】本発明の実施の形態の差分スナップショット形式変換制御サブプログラムの処理のフローチャートである。
【図１６】本発明の実施の形態の差分スナップショット形式変換実行サブプログラムの処理の示すフローチャートである。
【図１７】本発明の実施の形態の読出処理サブプログラムの処理のフローチャートである。
【図１８】本発明の実施の形態の変換中読出先ボリューム選択サブプログラムの処理のフローチャートである。
【符号の説明】
【０２０５】
１０１  ＮＡＳクライアント
１０２  ＮＡＳ管理端末
１０３  ネットワーク
１０４  ＮＡＳ統合装置
１１０  ＮＡＳサーバ装置
１１１  ＮＡＳサーバプログラム
１１２  ファイルシステム処理プログラム
１１３  差分スナップショット管理プログラム
１１４  ストレージシステム制御プログラム
１１５  スナップショット形式変換プログラム
１１６  スナップショット形式変換管理情報
１２０  ストレージシステム
１２１  ミラー管理プログラム
１２２  差分ブロックビットマップ
１４１  運用ボリューム
１４２  差分ボリューム
１５１  複製スナップショットボリューム
１５２  差分スナップショット仮想ボリューム
２０３  差分ブロック管理テーブル
２１６  形式変換プロセス数カウンタ
２１７  スナップショット形式変換管理テーブル
２１８  差分ブロック複製ビットマップ
２２１  ミラー作成／削除サブプログラム
２２２  スプリットサブプログラム
２２３  リシンクサブプログラム
２２４  読出／書込サブプログラム
１１３１  書込処理サブプログラム
１１３２  読出処理サブプログラム
１１３３  差分スナップショット生成サブプログラム
１１３４  差分スナップショット削除サブプログラム
１１５１  複製スナップショット形式変換制御サブプログラム
１１５２  複製スナップショット形式変換実行サブプログラム
１１５３  差分スナップショット形式変換制御サブプログラム
１１５４  差分スナップショット形式変換実行サブプログラム
１１５５  変換中読出先ボリューム選択サブプログラム
【図１】
0004741371.tif 000002
【図２】
0004741371.tif 000003
【図３】
0004741371.tif 000004
【図４】
0004741371.tif 000005
【図５】
0004741371.tif 000006
【図６】
0004741371.tif 000007
【図７】
0004741371.tif 000008
【図８】
0004741371.tif 000009
【図９】
0004741371.tif 000010
【図１０】
0004741371.tif 000011
【図１１】
0004741371.tif 000012
【図１２】
0004741371.tif 000013
【図１３】
0004741371.tif 000014
【図１４】
0004741371.tif 000015
【図１５】
0004741371.tif 000016
【図１６】
0004741371.tif 000017
【図１７】
0004741371.tif 000018
【図１８】
0004741371.tif 000019