【手続補正書】
【提出日】平成19年10月25日(2007.10.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを記憶する記憶領域をホストコンピュータに提供するストレージシステムであって、
データを記憶する記憶領域を有するデータ記憶部と、
前記ホストコンピュータと前記記憶領域との間のデータ転送を制御する制御部と、
を備え、
前記制御部は、
前記ホストコンピュータとの間では、所定サイズの第１ブロックを最小単位として前記ホストコンピュータから指定された第１ブロックの論理的な格納位置に従ってデータの受信及び送信を実行し、
前記記憶領域との間では、所定サイズの第２ブロックを最小単位としてデータの格納と読み出しとを実行するとともに、
前記記憶領域にデータを格納する際には、Ｎ個（Ｎは１以上の整数）の第１ブロックで構成される第１ブロックセットを単位として、データ自体の大きさが変わるデータ変換処理を実行して１以上の第２ブロックで構成される第２ブロックセットを生成するとともに、前記第２ブロックセットを前記記憶領域へ格納する変換格納モードを有し、
前記ストレージシステムは、さらに、
複数の前記第１ブロックセットと複数の前記第２ブロックセットとの対応関係を示すブロック対応関係を記憶する対応関係記憶部を備え、
前記制御部は、前記ホストコンピュータから特定の第１ブロックのデータ読み出し要求を受信したときに、前記ブロック対応関係を参照して、前記要求された第１ブロックを含む第１ブロックセットに対応付けられた読出第２ブロックセットを認識し、前記読出第２ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、前記要求された第１ブロックのデータを前記ホストコンピュータに送信する、
ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記制御部は、さらに、前記ホストコンピュータから特定の第１ブロックに関するデータ更新格納要求を受けたときに、前記要求された第１ブロックを含む更新対象第１ブロックセットの更新処理を実行し、
前記更新処理において、前記制御部は、前記ブロック対応関係を参照して、前記更新対象第１ブロックセットに含まれる全ての第１ブロックの更新が要求されているか否かを判定し、全ての第１ブロックの更新が要求されていない場合には、
前記更新対象第１ブロックセットに対応付けられた第２ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、得られたデータに前記要求された第１ブロックのデータを上書きしてから前記変換処理を実行して更新対象第２ブロックセットを生成するとともに、前記更新対象第２ブロックセットを前記記憶領域に格納し、さらに、
前記ブロック対応関係に、前記更新対象第１ブロックセットと前記更新対象第２ブロックセットとの対応関係を書き込む、
ストレージシステム。
【請求項３】
請求項１に記載のストレージシステムであって、
前記記憶領域は、論理的な格納位置が同一の第１ブロックセットに対応付けられているとともにバージョンが異なる複数の異バージョン第２ブロックセットを格納することが可能であり、
前記ブロック対応関係は、前記第１ブロックセットの論理的な格納位置と、前記複数の異バージョン第２ブロックセットの物理的な格納位置及びバージョンとの対応関係を含んでおり、
前記制御部は、前記ホストコンピュータから特定の第１ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行し、
前記バージョン読み出し処理において、前記制御部は、前記ブロック対応関係を参照して、前記要求された第１ブロックを含む第１ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第２ブロックセットを認識し、前記認識した第２ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、前記要求された第１ブロックのデータを前記ホストコンピュータに送信する、
ストレージシステム。
【請求項４】
請求項３に記載のストレージシステムであって、
前記制御部は、前記第１ブロックセットから前記データ変換処理を実行せずに１以上の第２ブロックで構成される未変換ブロックセットを生成するとともに、前記未変換ブロックセットを前記記憶領域に格納する未変換格納モードを有し、
前記制御部は、前記未変換ブロックセットの格納の後に前記ホストコンピュータから特定の第１ブロックに関するデータ更新要求を受けたときには、変換更新処理を実行し、
前記変換更新処理において、前記制御部は、
（ｉ）前記要求された第１ブロックを含む対象第１ブロックセットの更新後のデータについては、前記変換格納モードと前記未変換格納モードとの一方に従って前記記憶領域に格納し、
（ｉｉ）前記対象第１ブロックセットの更新前のデータについては、前記対象第１ブロックセットに対応付けられた未変換ブロックセットを読み出し、前記データ変換処理を実行して更新前第２ブロックセットを生成するとともに、前記更新前第２ブロックセットを前記記憶領域へ格納し、さらに、前記ブロック対応関係に、前記対象第１ブロックセットと、前記更新前第２ブロックセットと、所定の規則に従って定められるバージョンと、の３者の対応関係を追加する、
ストレージシステム。
【請求項５】
請求項４に記載のストレージシステムであって、
前記制御部は、前記変換更新処理において、前記対象第１ブロックセットの更新後のデータから前記データ変換処理を実行せずに１以上の第２ブロックで構成される更新後未変換ブロックセットを生成するとともに、前記更新後未変換ブロックセットを前記記憶領域に格納し、
さらに、前記ホストコンピュータからバージョン指定無しのデータ読み出し要求を受けたときには、前記更新後未変換ブロックセットを読み出して、前記要求された第１ブロックのデータを前記ホストコンピュータに送信する、
ストレージシステム。
【請求項６】
請求項１に記載のストレージシステムであって、
前記記憶領域は、論理的な格納位置が同一の第１ブロックに対応付けられているとともにバージョンが異なる複数の異バージョン第２ブロックセットを格納することが可能であり、
前記ブロック対応関係は、前記第１ブロックセットの論理的な格納位置と前記第２ブロックセットの物理的な格納位置及びバージョンとの対応関係を含んでおり、
前記制御部は、前記ホストコンピュータから特定の第１ブロックに関するデータ更新要求を受けたときには、ログ更新処理を実行し、
前記ログ更新処理において、前記制御部は、前記要求された第１ブロックで構成される更新対象第１ブロックセットの更新後のデータに前記データ変換処理を実行して更新後第２ブロックセットを生成するとともに、前記更新後第２ブロックセットを前記記憶領域へ格納し、さらに、前記ブロック対応関係に、前記更新対象第１ブロックセットと、前記更新後第２ブロックセットと、所定の規則に従って定められるバージョンと、の３者の対応関係を追加し、
前記制御部は、前記ホストコンピュータから特定の第１ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行し、
前記バージョン読み出し処理において、前記制御部は、前記ブロック対応関係を参照して、前記要求された第１ブロックを含む第１ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第２ブロックセットを認識し、前記認識した第２ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、前記要求された第１ブロックのデータを前記ホストコンピュータに送信する、
ストレージシステム。
【請求項７】
請求項１ないし請求項５のいずれかに記載のストレージシステムであって、
前記第１ブロックセットのブロック数Ｎは可変値である、
ストレージシステム。
【請求項８】
請求項１ないし請求項７のいずれかに記載のストレージシステムであって、
前記第２ブロックのデータサイズは、前記第１ブロックのデータサイズよりも小さい、
ストレージシステム。
【請求項９】
ストレージシステムが有するデータを記憶する記憶領域をホストコンピュータに提供する方法であって、
（Ａ）前記ホストコンピュータと前記ストレージシステムとの間で、所定サイズの第１ブロックを最小単位として前記ホストコンピュータから指定された第１ブロックの論理的な格納位置に従ってデータの受信及び送信を実行する工程と、
（Ｂ）前記記憶領域に対して、所定サイズの第２ブロックを最小単位としてデータの格納と読み出しとを実行する工程と、
を備え、
前記工程（Ｂ）は、前記記憶領域にデータを格納する際には、Ｎ個（Ｎは１以上の整数）の第１ブロックで構成される第１ブロックセットを単位として、データ自体の大きさが変わるデータ変換処理を実行して１以上の第２ブロックで構成される第２ブロックセットを生成するとともに、前記第２ブロックセットを前記記憶領域へ格納する変換格納モードでデータの格納を実行する工程を含み、
前記提供方法は、さらに、
（Ｃ）複数の前記第１ブロックセットと複数の前記第２ブロックセットとの対応関係を示すブロック対応関係を生成する工程を備え、
前記工程（Ｂ）は、前記ホストコンピュータから特定の第１ブロックのデータ読み出し要求を受信したときに、前記ブロック対応関係を参照して、前記要求された第１ブロックを含む第１ブロックセットに対応付けられた読出第２ブロックセットを認識し、前記読出第２ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、前記要求された第１ブロックのデータを前記ホストコンピュータに送信する工程を含む、
提供方法。
【請求項１０】
請求項９に記載の提供方法であって、
前記工程（Ｂ）は、さらに、前記ホストコンピュータから特定の第１ブロックに関するデータ更新格納要求を受けたときに、前記要求された第１ブロックを含む更新対象第１ブロックセットの更新処理を実行する更新工程を含み、
前記更新工程は、前記ブロック対応関係を参照して、前記更新対象第１ブロックセットに含まれる全ての第１ブロックの更新が要求されているか否かを判定し、全ての第１ブロックの更新が要求されていない場合には、
前記更新対象第１ブロックセットに対応付けられた第２ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、得られたデータに前記要求された第１ブロックのデータを上書きしてから前記変換処理を実行して更新対象第２ブロックセットを生成するとともに、前記更新対象第２ブロックセットを前記記憶領域に格納し、さらに、
前記ブロック対応関係に、前記更新対象第１ブロックセットと前記更新対象第２ブロックセットとの対応関係を書き込む工程を含む、
提供方法。
【請求項１１】
請求項９に記載の提供方法であって、
前記記憶領域は、論理的な格納位置が同一の第１ブロックセットに対応付けられているとともに、バージョンが異なる複数の異バージョン第２ブロックセットを格納することが可能であり、
前記ブロック対応関係は、前記第１ブロックセットの論理的な格納位置と、前記複数の異バージョン第２ブロックセットの物理的な格納位置及びバージョンとの対応関係を含んでおり、
前記工程（Ｂ）は、前記ホストコンピュータから特定の第１ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行するバージョン読み出し工程を含み、
前記バージョン読み出し工程は、前記ブロック対応関係を参照して、前記要求された第１ブロックを含む第１ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第２ブロックセットを認識し、前記認識した第２ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、前記要求された第１ブロックのデータを前記ホストコンピュータに送信する工程を含む、
提供方法。
【請求項１２】
請求項１１に記載の提供方法であって、
前記工程（Ｂ）は、前記第１ブロックセットから前記データ変換処理を実行せずに１以上の第２ブロックで構成される未変換ブロックセットを生成するとともに、前記未変換ブロックセットを前記記憶領域に格納する未変換格納モードでデータの格納を実行する工程を含み、
前記工程（Ｂ）は、前記未変換ブロックセットの格納の後に前記ホストコンピュータから特定の第１ブロックに関するデータ更新要求を受けたときには、変換更新処理を実行する変換更新工程を含み、
前記変換更新工程は、
（ｉ）前記要求された第１ブロックを含む対象第１ブロックセットの更新後のデータについては、前記変換格納モードと前記未変換格納モードとの一方に従って前記記憶領域に格納し、
（ｉｉ）前記対象第１ブロックセットの更新前のデータについては、前記対象第１ブロックセットに対応付けられた未変換ブロックセットを読み出し、前記データ変換処理を実行して更新前第２ブロックセットを生成するとともに、前記更新前第２ブロックセットを前記記憶領域へ格納し、さらに、前記ブロック対応関係に、前記対象第１ブロックセットと、前記更新前第２ブロックセットと、所定の規則に従って定められるバージョンと、の３者の対応関係を追加する工程を含む、
提供方法。
【請求項１３】
請求項１２に記載の提供方法であって、
前記変換更新工程は、前記対象第１ブロックセットの更新後のデータから前記データ変換処理を実行せずに１以上の第２ブロックで構成される更新後未変換ブロックセットを生成するとともに、前記更新後未変換ブロックセットを前記記憶領域に格納する工程を含み、
前記工程（Ｂ）は、前記ホストコンピュータからバージョン指定無しのデータ読み出し要求を受けたときには、前記更新後未変換ブロックセットを読み出して、前記要求された第１ブロックのデータを前記ホストコンピュータに送信する工程を含む、
提供方法。
【請求項１４】
請求項９に記載の提供方法であって、
前記記憶領域は、論理的な格納位置が同一の第１ブロックに対応付けられているとともにバージョンが異なる複数の異バージョン第２ブロックセットを格納することが可能であり、
前記ブロック対応関係は、前記第１ブロックセットの論理的な格納位置と前記第２ブロックセットの物理的な格納位置及びバージョンとの対応関係を含んでおり、
前記工程（Ｂ）は、前記ホストコンピュータから特定の第１ブロックに関するデータ更新要求を受けたときには、ログ更新処理を実行するログ更新工程を含み、
前記ログ更新工程は、前記要求された第１ブロックで構成される更新対象第１ブロックセットの更新後のデータに前記データ変換処理を実行して更新後第２ブロックセットを生成するとともに、前記更新後第２ブロックセットを前記記憶領域へ格納し、さらに、前記ブロック対応関係に、前記更新対象第１ブロックセットと、前記更新後第２ブロックセットと、所定の規則に従って定められるバージョンと、の３者の対応関係を追加する工程を含み、
前記工程（Ｂ）は、前記ホストコンピュータから特定の第１ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行するバージョン読み出し工程を含み、
前記バージョン読み出し工程は、前記ブロック対応関係を参照して、前記要求された第１ブロックを含む第１ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第２ブロックセットを認識し、前記認識した第２ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、前記要求された第１ブロックのデータを前記ホストコンピュータに送信する工程を含む、
提供方法。
【請求項１５】
請求項９ないし請求項１３のいずれかに記載の提供方法であって、
前記第１ブロックセットのブロック数Ｎは可変値である、
提供方法。
【請求項１６】
請求項９ないし請求項１５のいずれかに記載の提供方法であって、
前記第２ブロックのデータサイズは、前記第１ブロックのデータサイズよりも小さい、
提供方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１３８
【補正方法】変更
【補正の内容】
【０１３８】
ステップＳ５２０（図２０）では、データ中継モジュール６００ｂは、ホスト計算機１１０から受け取った新データを用いて指定世代のデータを生成し、指定世代データを第１論理ボリュームＬＤＥＶ１に格納（退避）する。この処理は、上述のステップＳ５１０の処理と同様の処理である。ただし、指定ブロックセットの中の指定されていないブロックのデータは、第０論理ボリュームＬＤＥＶ０の代わりに、第１論理ボリュームＬＤＥＶ１の退避先ブロックセットから読み出される。この退避先ブロックセットは、指定世代に対応付けられたブロックセットである。データ中継モジュール６００ｂは、このような退避先ブロックセットを、更新前の世代・圧縮管理テーブル５４０を参照することによって取得する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１４３
【補正方法】変更
【補正の内容】
【０１４３】
ステップＳ５３０（図２０）では、データ中継モジュール６００ｂは、ホスト計算機１１０から受け取った新データを用いて指定世代のデータを生成し、指定世代データを第１論理ボリュームＬＤＥＶ１に格納（退避）する。この処理は、上述のステップＳ５２０の処理と同様の処理である。ただし、退避済みのブロックセットのデータを保存したまま、空いた論理ブロックに新たなデータを格納する。図２３の例では、退避済みのブロックセットＢＳ２２０ｃのデータを保存したまま、空いたブロックセットＢＳ２５０ｃに新たな圧縮後のデータを格納する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１５３
【補正方法】変更
【補正の内容】
【０１５３】
Ｃ．第３実施例：
図２４は、第３実施例におけるストレージシステム２００ｃの構成を示す説明図である。図１に示すストレージシステム２００との差異は、データ中継モジュール６００ｃが、圧縮マイグレーション処理の後のデータの更新を、ログ方式で管理している点である。他の構成は、図１、図２に示すストレージシステム２００と同じである。なお、図２４では、ストレージシステム２００ｃの構成要素として、ディスクアレイ制御部３００ｃのローカルメモリ３４４ｃのみが示されており、他の構成要素は図示が省略されている。
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図２０
【補正方法】変更
【補正の内容】
【図２０】
2006259962.tif 000001