(57)【要約】【課題】  ホストからの論理ボリュームのアクセス管理が容易な記憶制御サブシステムを提供する。【解決手段】  記憶制御システムは、上位装置との間でやり取りするデータ（以下、データ）のデータパターンが、予め用意されたライト対象外データパターン情報に含まれる１又は複数のライト対象外データパターンのいずれかに適合するか否かを判別する。否定的な判別結果が得られた場合、記憶制御サブシステムは、データを、ディスク型記憶装置上に形成された論理デバイスに格納する。一方、肯定的な判別結果が得られた場合、記憶制御サブシステムは、当該データを論理デバイスに格納しないで消去する。【選択図】図８
2010257477.tif 000002
【特許請求の範囲】
【請求項１】
上位装置に接続された記憶制御システムにおいて、
上位装置に接続され、前記上位装置からデータを受ける複数のチャネルアダプタと、
前記複数のチャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、及び前記データに関する制御情報を保存する１又は複数のメモリと、
前記メモリに接続され、前記データを、前記メモリに書込むように制御する又は前記メモリから読み出すように制御する複数のディスクアダプタと、
前記複数のディスアダプタに接続され、前記データが前記複数のディスクアダプタの制御の下に格納される複数のディスクドライブと
を有し、
前記複数のチャネルアダプタに含まれる第一チャネルアダプタは、前記複数のディスクドライブに含まれる複数の第一ディスクドライブの記憶領域を基に生成される複数の第一論理ボリュームを、前記上位装置に対して提供するものであり、前記複数の第一論理ボリュームから選択された第一論理ボリュームに対して前記上位装置から前記データのライトアクセスがあった場合、前記メモリ上に予め確保された領域に対して前記データを書き込むものであり、
前記複数のチャネルアダプタに含まれる第二チャネルアダプタは、前記複数のディスクドライブに含まれる複数の第二ディスクドライブの記憶領域を基に生成される複数の第二論理ボリュームを纏めて管理し、前記上位装置に提供される第三論理ボリュームについての情報を前記上位装置から受けた場合に、前記第三論理ボリュームに対して前記上位装置から前記データのライトアクセスがあったならば、前記第三論理ボリュームに対応する第二論理ボリュームとして必要とされる前記メモリ上の領域を前記データに応じた領域分確保し、その確保された領域に対して、前記データを書込み、前記第三論理ボリュームに対応する第二論理ボリュームを解放するものであることを特徴とする、
記憶制御システム。
【請求項２】
前記１又は複数のメモリのうちの少なくとも１つのメモリが、前記第二論理ボリュームに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶し、
前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つは、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果が肯定的であれば、前記データを破棄する、
請求項１記載の記憶制御システム。
【請求項３】
前記ライト対象外データパターンは、前記第二論理ボリュームのデータ記憶単位であるブロック単位で前記上位装置から前記データを受信する場合のフォーマットデータパターンである、
請求項２記載の記憶制御システム。
【請求項４】
前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つが、プロセッサと、レジスタを有するデータチェック部とを備え、
前記データチェック回路部が、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果を前記レジスタに書込み、
前記プロセッサが、前記レジスタから前記データパターン比較の結果を取得し、そのデータパターン比較の結果が肯定的であれば、前記データを破棄する、
請求項２記載の制御システム。
【請求項５】
前記第一論理ボリューム及び前記第三論理ボリュームと前記上位装置と間を結ぶ複数の論理パスを形成するための保守用端末を更に備える、
請求項１記載の記憶制御システム。
【請求項６】
前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つは、前記ライトアクセスがあった場合に、前記第三論理ボリュームにおける第三論理記憶領域と、前記第二論理ボリュームにおける第二論理記憶領域との対応付けを行い、前記データパターン比較の結果が肯定的であった場合に、前記対応付けを解除して前記解放することを行う、
請求項１記載の記憶制御システム。
【請求項７】
前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つは、前記第二論理ボリュームを介して前記第三論理ボリュームから読み出された前記データを取得した場合、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果が肯定的であれば、前記第二論理ボリュームに存在する前記データを消去する、
請求項１記載の記憶制御システム。
【請求項８】
前記第二論理ボリュームは、複数の論理チャンクで構成されており、
前記複数のディスクアダプタのうちの少なくとも１つは、前記ライトアクセスがあった場合の前記データについての前記データパターン比較の結果が肯定的であっても、そのデータのデータサイズが前記論理チャンクの記憶容量よりも小さければそのデータを前記第二論理ボリュームに格納し、データの読出しを行う場合、前記論理チャンク単位でデータを読み出し、その読み出されたデータについて、肯定的なデータ比較結果が得られた場合は、その読み出されたデータを前記論理チャンクから削除する、
請求項７記載の記憶制御システム。
【請求項９】
前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つが、前記第一論理ボリュームの第一論理記憶領域に前記データが書き込まれる場合に、その第一論理記憶領域内のデータを読出し、前記第二論理ボリュームの第二論理記憶領域にコピーするようになっており、前記読み出されたデータのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果が肯定的であれば、前記読み出されたデータが前記第二論理記憶領域に存在し無いように破棄する、
請求項１記載の記憶制御システム。
【請求項１０】
前記１又は複数のメモリのうちの少なくとも１つのメモリが、前記第二論理ボリュームに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶し、
前記第二チャネルアダプタは、前記第三論理ボリュームにおける第三論理記憶領域と、前記第二論理ボリュームにおける第二論理記憶領域との対応付けを行うようになっており、前記上位装置からのリードアクセスが、前記第二論理記憶領域が対応付けられていない第三論理記憶領域に対するアクセスである場合、前記１又は複数のライト対象外データパターンのうちの少なくとも１つを前記上位装置に送信する、
請求項１記載の記憶制御システム。
【請求項１１】
前記１又は複数のメモリのうちの少なくとも１つのメモリが、前記第一及び前記第三論理ボリュームの属性を記憶し、
前記第二チャネルアダプタは、前記第一及び前記第三論理ボリュームの属性を前記メモリから読み出して前記上位装置に通知する、
請求項１記載の記憶制御システム。
【請求項１２】
上位装置に接続された記憶制御システムの制御方法において、
前記記憶制御システムが、
前記上位装置に接続され、前記上位装置からデータを受ける複数のチャネルアダプタと、
前記複数のチャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、及び前記データに関する制御情報を保存する１又は複数のメモリと、
前記メモリに接続され、前記データを、前記メモリに書込むように制御する又は前記メモリから読み出すように制御する複数のディスクアダプタと、
前記複数のディスアダプタに接続され、前記データが前記複数のディスクアダプタの制御の下に格納される複数のディスクドライブと
を有する場合、
前記複数のディスクドライブに含まれる複数の第一ディスクドライブの記憶領域を基に生成される複数の第一論理ボリュームを、前記上位装置に対して提供するステップと、
前記複数の第一論理ボリュームから選択された第一論理ボリュームに対して前記上位装置から前記データのライトアクセスがあった場合、前記メモリ上に予め確保された領域に対して前記データを書き込むステップと、
前記複数のディスクドライブに含まれる複数の第二ディスクドライブの記憶領域を基に生成される複数の第二論理ボリュームを纏めて管理するステップと、
前記上位装置に提供される第三論理ボリュームについての情報を前記上位装置から受けた場合に、前記第三論理ボリュームに対して前記上位装置から前記データのライトアクセスがあったならば、前記第三論理ボリュームに対応する第二論理ボリュームとして必要とされる前記メモリ上の領域を前記データに応じた領域分確保し、その確保された領域に対して、前記データを書込み、前記第三論理ボリュームに対応する第二論理ボリュームを解放するステップと
を有することを特徴とする方法。
【請求項１３】
前記１又は複数のメモリのうちの少なくとも１つのメモリに、前記第二論理ボリュームに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶するステップと、
前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果が肯定的であれば、前記データを破棄するステップと
を更に有する請求項１２記載の方法。
【請求項１４】
前記ライト対象外データパターンは、前記第二論理ボリュームのデータ記憶単位であるブロック単位で前記上位装置から前記データを受信する場合のフォーマットデータパターンである、
請求項１３記載の方法。
【請求項１５】
前記第一論理ボリューム及び前記第三論理ボリュームと前記上位装置と間を結ぶ複数の論理パスを形成するステップを更に有する請求項１２記載の方法。
【請求項１６】
前記ライトアクセスがあった場合に、前記第三論理ボリュームにおける第三論理記憶領域と、前記第二論理ボリュームにおける第二論理記憶領域との対応付けを行うステップと、
前記データパターン比較の結果が肯定的であった場合に、前記対応付けを解除して前記解放することを行うステップと
を更に有する請求項１２記載の方法。
【請求項１７】
前記第二論理ボリュームを介して前記第三論理ボリュームから読み出された前記データを取得した場合、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行うステップと、
その比較の結果が肯定的であれば、前記第二論理ボリュームに存在する前記データを消去するステップと
を更に有する請求項１２記載の方法。
【請求項１８】
前記第一論理ボリュームの第一論理記憶領域に前記データが書き込まれる場合に、その第一論理記憶領域内のデータを読出し、前記第二論理ボリュームの第二論理記憶領域にコピーするステップと、
前記読み出されたデータのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行うステップと、
その比較の結果が肯定的であれば、前記読み出されたデータが前記第二論理記憶領域に存在し無いように破棄するステップと
を更に有する請求項１２記載の方法。
【請求項１９】
前記１又は複数のメモリのうちの少なくとも１つのメモリに、前記第二論理ボリュームに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶するステップと、
前記第三論理ボリュームにおける第三論理記憶領域と、前記第二論理ボリュームにおける第二論理記憶領域との対応付けを行うステップと、
前記上位装置からのリードアクセスが、前記第二論理記憶領域が対応付けられていない第三論理記憶領域に対するアクセスである場合、前記１又は複数のライト対象外データパターンのうちの少なくとも１つを前記上位装置に送信するステップと
を更に有する請求項１２記載の方法。
【請求項２０】
前記１又は複数のメモリのうちの少なくとも１つのメモリに、前記第一及び前記第三論理ボリュームの属性を記憶するステップと、
前記第一及び前記第三論理ボリュームの属性を前記メモリから読み出して前記上位装置に通知するステップと
を更に有する請求項１２記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置に接続された記憶制御システム及び同システムの制御方法に関する。
【背景技術】
【０００２】
例えば、大容量のデータを取り扱う基幹業務用の記憶システムでは、ホストコンピュータ（以下、単に「ホスト」と言う）とは、別体に構成された記憶制御サブシステムを用いてデータが管理されている。この記憶制御サブシステムは、例えば、記憶制御システムとも呼ばれ、多数のディスク型記憶装置をアレイ状に配置して構成されているＲＡＩＤ（Redundant Array of Independent Inexpensive Disks）である。
【０００３】
例えば、特開平１１−２２４１６４号公報には、縮小論理ボリュームと通常論理ボリュームとを有するディスクサブシステムが、ＬＲＵ方式のもとにキャッシュメモリを管理し（ＬＲＵ方式については段落５参照）、縮小論理ボリューム上のデータと通常論理ボリューム上のデータとでＬＲＵのデータ列に加える位置を変えることにより、縮小論理ボリュームのデータがキャッシュメモリに長く滞在するようにすることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２２４１６４号公報。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、例えば、記憶制御システムは、１又は複数のディスク型記憶装置上に用意される複数の論理的な記憶デバイス（以下、Logical Deviceを略して「ＬＤＥＶ」と言う）のうち、１以上のＬＤＥＶから構成される１つの記憶ユニットをＬＵ（Logical Unit）として上位装置に提供するものがある。このような記憶制御システムでは、例えば、１つのＬＵをプライマリＬＵ、別の１つのＬＵをセカンダリＬＵとしたＬＵペアが形成されて、プライマリＬＵ内の更新前データをセカンダリＬＵにコピーすること（すなわち、いわゆるスナップショットを作成すること）が行われる場合がある。
【０００６】
例えば、ＬＵペアを構成する双方のＬＵの記憶容量は同じである。このため、プライマリＬＵの記憶容量が大きいと、セカンダリＬＵとしても記憶容量の大きいＬＵが必要となる。一般に、記憶制御システムでは、上位装置に提供しているＬＵのサイズと同じ記憶容量をディスク型記憶装置上に割当てている。ところが、例えば一般的には、上位装置が実際に使用する記憶容量は、実際に割当てられている記憶容量のごく一部であり、大半は無駄に記憶容量が確保されている場合がある。なお、ＬＵのフォーマットを行なう場合は、ＬＵの記憶容量と同サイズのデータがホスト端末から出力されて、そのＬＵ全体にデータが書き込まれることになる。
【０００７】
従って、本発明は少なくとも次のいずれかの目的を達成するものである。
(１)無駄な空き記憶領域を少なくすると共に、複数種類のＬＵを用意し、それら複数種類のＬＵから選択された種類のＬＵにデータを格納する記憶制御システム及びそのシステムの制御方法を提供する。
(２)ＬＤＥＶの記憶容量の消費を記憶制御システム及びそのシステムの制御方法を提供する。
【０００８】
本発明の他の目的は、後述の説明から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本発明の観点に従う記憶制御システムは、上位装置に接続され、前記上位装置からデータを受ける複数のチャネルアダプタと、前記複数のチャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、及び前記データに関する制御情報を保存する１又は複数のメモリと、前記メモリに接続され、前記データを、前記メモリに書込むように制御する又は前記メモリから読み出すように制御する複数のディスクアダプタと、前記複数のディスアダプタに接続され、前記データが前記複数のディスクアダプタの制御の下に格納される複数のディスクドライブとを有する。前記複数のチャネルアダプタに含まれる第一チャネルアダプタは、前記複数のディスクドライブに含まれる複数の第一ディスクドライブの記憶領域を基に生成される複数の第一論理ボリュームを、前記上位装置に対して提供するものであり、前記複数の第一論理ボリュームから選択された第一論理ボリュームに対して前記上位装置から前記データのライトアクセスがあった場合、前記メモリ上に予め確保された領域に対して前記データを書き込むものである。前記複数のチャネルアダプタに含まれる第二チャネルアダプタは、前記複数のディスクドライブに含まれる複数の第二ディスクドライブの記憶領域を基に生成される複数の第二論理ボリュームを纏めて管理し、前記上位装置に提供される第三論理ボリュームについての情報を前記上位装置から受けた場合に、前記第三論理ボリュームに対して前記上位装置から前記データのライトアクセスがあったならば、前記第三論理ボリュームに対応する第二論理ボリュームとして必要とされる前記メモリ上の領域を前記データに応じた領域分確保し、その確保された領域に対して、前記データを書込み、前記第三論理ボリュームに対応する第二論理ボリュームを解放するものである。
【００１０】
この記憶制御システムの第一の実施態様では、前記１又は複数のメモリのうちの少なくとも１つのメモリが、前記第二論理ボリュームに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶する。前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つは、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果が肯定的であれば、前記データを破棄する。
【００１１】
この記憶制御システムの第二の実施態様では、前記第一の実態態様において、前記ライト対象外データパターンは、前記第二論理ボリュームのデータ記憶単位であるブロック単位で前記上位装置から前記データを受信する場合のフォーマットデータパターンである。
【００１２】
この記憶制御システムの第三の実施態様では、前記第一の実態態様において、前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つが、プロセッサと、レジスタを有するデータチェック部とを備える。前記データチェック回路部が、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果を前記レジスタに書込む。前記プロセッサが、前記レジスタから前記データパターン比較の結果を取得し、そのデータパターン比較の結果が肯定的であれば、前記データを破棄する。
【００１３】
この記憶制御システムの第四の実施態様では、記憶制御システムが、前記第一論理ボリューム及び前記第三論理ボリュームと前記上位装置と間を結ぶ複数の論理パスを形成するための保守用端末を更に備える。
【００１４】
この記憶制御システムの第五の実施態様では、前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つは、前記ライトアクセスがあった場合に、前記第三論理ボリュームにおける第三論理記憶領域と、前記第二論理ボリュームにおける第二論理記憶領域との対応付けを行い、前記データパターン比較の結果が肯定的であった場合に、前記対応付けを解除して前記解放することを行う。
【００１５】
この記憶制御システムの第六の実施態様では、前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つは、前記第二論理ボリュームを介して前記第三論理ボリュームから読み出された前記データを取得した場合、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果が肯定的であれば、前記第二論理ボリュームに存在する前記データを消去する。
【００１６】
この記憶制御システムの第七の実施態様では、前記第六の実態態様において、前記第二論理ボリュームは、複数の論理チャンクで構成されている。前記複数のディスクアダプタのうちの少なくとも１つは、前記ライトアクセスがあった場合の前記データについての前記データパターン比較の結果が肯定的であっても、そのデータのデータサイズが前記論理チャンクの記憶容量よりも小さければそのデータを前記第二論理ボリュームに格納し、データの読出しを行う場合、前記論理チャンク単位でデータを読み出し、その読み出されたデータについて、肯定的なデータ比較結果が得られた場合は、その読み出されたデータを前記論理チャンクから削除する。
【００１７】
この記憶制御システムの第八の実施態様では、前記第二チャネルアダプタ及び前記複数のディスクアダプタのうちの少なくとも１つが、前記第一論理ボリュームの第一論理記憶領域に前記データが書き込まれる場合に、その第一論理記憶領域内のデータを読出し、前記第二論理ボリュームの第二論理記憶領域にコピーするようになっており（例えば、第一記憶領域内のデータのスナップショットを形成するようになっており）、前記読み出されたデータのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果が肯定的であれば、前記読み出されたデータが前記第二論理記憶領域に存在し無いように破棄する。
【００１８】
この記憶制御システムの第九の実施態様では、前記１又は複数のメモリのうちの少なくとも１つのメモリが、前記第二論理ボリュームに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶する。前記第二チャネルアダプタは、前記第三論理ボリュームにおける第三論理記憶領域と、前記第二論理ボリュームにおける第二論理記憶領域との対応付けを行うようになっており、前記上位装置からのリードアクセスが、前記第二論理記憶領域が対応付けられていない第三論理記憶領域に対するアクセスである場合、前記１又は複数のライト対象外データパターンのうちの少なくとも１つを前記上位装置に送信する。
【００１９】
この記憶制御システムの第十の実施態様では、前記１又は複数のメモリのうちの少なくとも１つのメモリが、前記第一及び前記第三論理ボリュームの属性を記憶する。前記第二チャネルアダプタは、前記第一及び前記第三論理ボリュームの属性を前記メモリから読み出して前記上位装置に通知する。
【００２０】
本発明の別の観点に従う記憶制御システムは、上位装置に接続される記憶制御システムであって、物理記憶デバイスと、複数の論理記憶デバイスと、仮想記憶デバイスと、１又は複数のメモリと、記憶制御部とを備える。物理記憶デバイスは、前記上位装置と前記記憶制御システムとの間でやり取りされるデータを物理的に記憶する。前記複数の論理記憶の各々は、前記上位装置に提供されないデバイスであり、前記物理記憶デバイス上に設けられ、前記物理的に記憶されるデータを論理的に記憶する。前記仮想記憶デバイスは、前記上位装置に提供されるデバイスであり、前記論理記憶デバイスの論理記憶領域と動的に対応付けられる仮想記憶領域を有する。１又は複数のメモリは、前記論理記憶デバイスに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶する。前記記憶制御部は、前記仮想記憶ユニットを認識している前記上位装置からリード要求又はライト要求を受信した場合に、前記仮想記憶ユニットにおける仮想記憶領域と、前記論理記憶デバイスにおける論理記憶領域との対応付けを行って、前記仮想記憶領域を介して前記論理記憶領域と前記上位装置との間でデータをやり取りする。また、前記記憶制御部は、前記データのデータパターンが、前記メモリに記憶された１又は複数のライト対象外データパターンの少なくとも１つに適合するか否かのデータパターン比較を行い、肯定的なデータパターン比較結果が得られた場合に、前記論理記憶デバイスに存在しないよう前記データを消去する。
【００２１】
上位装置に接続された記憶制御システムが、前記上位装置に接続され、前記上位装置からデータを受ける複数のチャネルアダプタと、前記複数のチャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、及び前記データに関する制御情報を保存する１又は複数のメモリと、前記メモリに接続され、前記データを、前記メモリに書込むように制御する又は前記メモリから読み出すように制御する複数のディスクアダプタと、前記複数のディスアダプタに接続され、前記データが前記複数のディスクアダプタの制御の下に格納される複数のディスクドライブとを有する場合、本発明に従う方法は、前記記憶制御システムの制御方法であって、前記複数のディスクドライブに含まれる複数の第一ディスクドライブの記憶領域を基に生成される複数の第一論理ボリュームを、前記上位装置に対して提供するステップと、前記複数の第一論理ボリュームから選択された第一論理ボリュームに対して前記上位装置から前記データのライトアクセスがあった場合、前記メモリ上に予め確保された領域に対して前記データを書き込むステップと、前記複数のディスクドライブに含まれる複数の第二ディスクドライブの記憶領域を基に生成される複数の第二論理ボリュームを纏めて管理するステップと、前記上位装置に提供される第三論理ボリュームについての情報を前記上位装置から受けた場合に、前記第三論理ボリュームに対して前記上位装置から前記データのライトアクセスがあったならば、前記第三論理ボリュームに対応する第二論理ボリュームとして必要とされる前記メモリ上の領域を前記データに応じた領域分確保し、その確保された領域に対して、前記データを書込み、前記第三論理ボリュームに対応する第二論理ボリュームを解放するステップとを有する。
【００２２】
この制御方法の第１の実施態様では、その制御方法は、前記１又は複数のメモリのうちの少なくとも１つのメモリに、前記第二論理ボリュームに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶するステップと、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行い、その比較の結果が肯定的であれば、前記データを破棄するステップとを更に有する。前記ライト対象外データパターンは、例えば、前記第二論理ボリュームのデータ記憶単位であるブロック単位で前記上位装置から前記データを受信する場合のフォーマットデータパターンである。
【００２３】
この制御方法の第２の実施態様では、その制御方法は、前記第一論理ボリューム及び前記第三論理ボリュームと前記上位装置と間を結ぶ複数の論理パスを形成するステップを更に有する。
【００２４】
この制御方法の第３の実施態様では、その制御方法は、前記ライトアクセスがあった場合に、前記第三論理ボリュームにおける第三論理記憶領域と、前記第二論理ボリュームにおける第二論理記憶領域との対応付けを行うステップと、前記データパターン比較の結果が肯定的であった場合に、前記対応付けを解除して前記解放することを行うステップとを更に有する。
【００２５】
この制御方法の第４の実施態様では、その制御方法は、前記第二論理ボリュームを介して前記第三論理ボリュームから読み出された前記データを取得した場合、前記データのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行うステップと、その比較の結果が肯定的であれば、前記第二論理ボリュームに存在する前記データを消去するステップとを更に有する。
【００２６】
この制御方法の第５の実施態様では、その制御方法は、前記第一論理ボリュームの第一論理記憶領域に前記データが書き込まれる場合に、その第一論理記憶領域内のデータを読出し、前記第二論理ボリュームの第二論理記憶領域にコピーするステップと、前記読み出されたデータのデータパターンが、前記メモリに記憶されている前記１又は複数のライト対象外データパターンのうちの少なくとも１つに適合するか否かのデータパターン比較を行うステップと、その比較の結果が肯定的であれば、前記読み出されたデータが前記第二論理記憶領域に存在し無いように破棄するステップとを更に有する。
【００２７】
この制御方法の第６の実施態様では、その制御方法は、前記１又は複数のメモリのうちの少なくとも１つのメモリに、前記第二論理ボリュームに存在してはならないライト対象外データのデータパターンである１又は複数のライト対象外データパターンを記憶するステップと、前記第三論理ボリュームにおける第三論理記憶領域と、前記第二論理ボリュームにおける第二論理記憶領域との対応付けを行うステップと、前記上位装置からのリードアクセスが、前記第二論理記憶領域が対応付けられていない第三論理記憶領域に対するアクセスである場合、前記１又は複数のライト対象外データパターンのうちの少なくとも１つを前記上位装置に送信するステップとを更に有する。
【００２８】
この制御方法の第７の実施態様では、その制御方法は、前記１又は複数のメモリのうちの少なくとも１つのメモリに、前記第一及び前記第三論理ボリュームの属性を記憶するステップと、前記第一及び前記第三論理ボリュームの属性を前記メモリから読み出して前記上位装置に通知するステップとを更に有する。
【発明の効果】
【００２９】
本発明によれば、次のいずれかの事項の効果を奏する。
(１)無駄な空き記憶領域を少なくすると共に、複数種類の論理ボリュームを用意し、それら複数種類の論理ボリュームから選択された論理ボリュームにデータを格納することができる記憶制御システム及びそのシステムの制御方法が提供される。
(２)論理ボリュームの記憶容量の消費を抑えることができる記憶制御システム及びそのシステムの制御方法が提供される。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係る記憶制御システムの外観の概略を示す。
【図２】本発明の一実施形態に係る記憶システムの全体構成例を示す。
【図３】本実施形態に係る記憶制御サブシステムの機能を示すブロック図。
【図４】仮想ＬＤＥＶ６１ｃ、ＬＤＥＶプール６８、及びＤＡＴ６４の構成例を示す。
【図５】ＰＭＴ６３の構成例を示す。
【図６】仮想ＬＤＥＶ６１ｃとＬＤＥＶプール６８とを動的に対応付けるチャネル制御部１１０Ｃの処理流れを示す。
【図７】本実施形態に係るＬＵ−ＬＤＥＶ管理テーブル１６２ｂの構成例を示す。
【図８】ホスト端末２００Ｃにおけるソフトウェア構成例及びホスト端末２００Ｃから出力されるライト要求の例を示す。
【図９】ＤＰＴ８００の構成例を示す。
【図１０】チャネル制御部１１０Ｃの構成例を示す。
【図１１】ＬＵが設定される場合に行なわれる記憶制御サブシステム１０２での処理流れを示す。
【図１２】仮想ＬＵ３１０Ｃに対するライト要求をホスト端末１１０Ｃから受信した場合のチャネル制御部１１０Ｃの処理フローを示す。
【図１３】仮想ＬＵ３１０Ｃに対するリード要求をホスト端末１１０Ｃから受信した場合のチャネル制御部１１０Ｃの処理フローを示す。
【図１４】本実施形態の第二具体例を説明するための図。
【図１５】本実施形態の第二具体例において、ホスト端末２００Ｃからライト要求を受信した場合の処理フローを示す。
【図１６】本実施形態の第三具体例に係るディスク制御部１４０Ａの構成例を示す。
【図１７】本実施形態の第四具体例において、ライト要求をホスト端末１１０Ｃから受信した場合のチャネル制御部１１０Ｃの処理フローを示す。
【図１８】本実施形態の第四具体例において、リード要求をホスト端末１１０Ｃから受信した場合のチャネル制御部１１０Ｃの処理フローを示す。
【図１９】本実施形態の第五具体例に係る構成及び処理流れを示す。
【図２０】本実施形態の第六具体例に関わる構成及び処理流れを示す。
【図２１】本実施形態の第六具体例に関わる具体的な処理流れを示す。
【発明を実施するための形態】
【００３１】
以下、図面を参照して本発明の一実施形態を説明する。
【００３２】
まず、本実施形態の概念の一つを簡単に説明する。
【００３３】
本実施形態に係る記憶制御システムは、例えば、上位装置との間でやり取りするデータ（以下、データ）のデータパターンが、予め用意されたライト対象外データパターン情報に含まれる１又は複数のライト対象外データパターンのいずれかに適合するか否かを判別する。否定的な判別結果が得られた場合、記憶制御サブシステムは、データを、ディスク型記憶装置上に形成された論理デバイスに格納する。一方、肯定的な判別結果が得られた場合、記憶制御サブシステムは、当該データをＬＵに格納しないで消去する。
【００３４】
以下、本実施形態について詳述する。
【００３５】
図１は、本発明の一実施形態に係る記憶制御システムの外観の概略を示す。
【００３６】
記憶制御システム６００は、例えば、基本筐体１０と複数の増設筐体１２とから構成することができる（基本筐体１１のみで構成されても良い）。
【００３７】
基本筐体１０は、記憶制御システム６００の最小構成単位である。この基本筐体１０には、例えば、複数のディスク型記憶装置（例えばハードディスクドライブ（ＨＤＤ））３００と、複数の制御パッケージ（例えば後述するチャネル制御部又はディスク制御部）１０５と、複数の電源ユニット４００と、複数のバッテリユニット５００とがそれぞれ着脱可能に設けられている。また、基本筐体１０には、複数の冷却ファン１３が設けられている。
【００３８】
各増設筐体１２は、記憶制御システム６００のオプションであり、例えば、１つの基本筐体１０に最大４個の増設筐体１２を接続することができる。各増設筐体１２には、複数の冷却ファン１３が設けられている。また、各増設筐体１２には、複数のディスク型記憶装置３００と、複数の電源ユニット４００と、複数のバッテリユニット５００とがそれぞれ着脱可能に設けられており、それらの各々は、例えば、基本筐体１０に設けられた制御パッケージ１０５が有する制御機能により制御される。
【００３９】
図２は、本発明の一実施形態に係る記憶システムの全体構成例を示す。
【００４０】
この記憶システム１の基本的な構成要素は、１又は複数のホスト端末２００Ａ〜２００Ｄと、記憶制御システム６００である。
【００４１】
ホスト端末（上位装置）２００Ａ〜２００Ｄの各々は、例えば、ＣＰＵ（Central Processing Unit）、不揮発性及び／又は揮発性のメモリ（例えばROM又はRAM）、及びハードディスク等をハードウェア資源として備えたコンピュータシステム（例えば、パーソナルコンピュータ又はワークステーション）である。各ホスト端末２００Ａ〜２００ＤのＣＰＵが、メモリに格納された各種コンピュータプログラムを読込んで実行することにより、コンピュータプログラムとハードウェア資源（例えばメモリ）とが協働した処理が行われて、種々の機能が実現される。ホスト端末２００Ａ〜２００Ｄの各々は、種々の方法で記憶制御システム６００に接続することができる。
【００４２】
例えば、ホスト端末２００Ａ〜２００Ｂは、第一通信ネットワーク（例えば、ＬＡＮ、インターネット又は専用回線、以下、ＬＡＮであるとする）８２０を介して記憶制御システム６００に接続されている。ＬＡＮ８２０を介して行われるホスト端末２００Ａ及び２００Ｂと記憶制御システム６００との間の通信は、例えばＴＣＰ／ＩＰプロトコルに従って行われる。ホスト端末２００Ａ及び２００Ｂから記憶制御システム６００に対して、ファイル名指定によるデータアクセス要求（ファイル単位でのデータ入出力要求、以下、「ファイルアクセス要求」と言う）が送信される。
【００４３】
また、例えば、ホスト端末２００Ｂ及び２００Ｃは、第二通信ネットワーク（例えば、ＳＡＮ（Storage Area Network）、以下、ＳＡＮであるとする）８２１を介して記憶制御システム６００に接続されている。ＳＡＮ８２１を介して行われるホスト端末２００Ｂ及び２００Ｃと記憶制御システム６００との間の通信は、例えばファイバチャネルプロトコルに従って行われる。ホスト端末２００Ｂ及び２００Ｃから記憶制御システム６００に対して、例えば、ブロック単位のデータアクセス要求（以下、「ブロックアクセス要求」と言う）が送信される（なお、ブロック単位とは、後述のディスク型記憶装置３００上の記憶領域におけるデータの管理単位であるブロックを単位としたものである）。
【００４４】
また、例えば、ホスト端末２００Ｄは、ＬＡＮ８２０やＳＡＮ８２１等のネットワークを介さずに記憶制御システム６００に接続されている。ホスト端末２００Ｄは、例えば、メインフレームコンピュータとすることができる。ホスト端末２００Ｄと記憶制御システム６００との間の通信は、例えば、FICON（Fibre Connection：登録商標）、ESCON（Enterprise System Connection：登録商標）、ACONARC（Advanced Connection Architecture：登録商標）、FIBARC（Fibre Connection Architecture：登録商標）等の通信プロトコルに従って行われる。ホスト端末２００Ｄから記憶制御システム６００に対して、例えば、これらの通信プロトコルのうちのいずれかに従ってブロックアクセス要求が送信される。
【００４５】
ＬＡＮ８２０及びＳＡＮ８２１の少なくとも一方には、例えば、バックアップ記憶制御システム９１０が接続されている。バックアップ記憶制御システム９１０は、例えば、１又は複数個のディスク系デバイス（例えば、ＭＯ、ＣＤ−Ｒ、又はＤＶＤ−ＲＡＭ）から選択されたディスク系デバイスにデータを格納する記憶制御システムであっても良いし、後に詳述する記憶制御システム６００のような記憶制御システムであっても良いし、１又は複数個のテープ系デバイス（例えば、ＤＡＴテープ、カセットテープ、オープンテープ又はカートリッジテープ）から選択されたテープ系デバイスにデータを格納する記憶制御システムであっても良い。バックアップ記憶制御システム９１０は、例えば、ＬＡＮ８２０或いはＳＡＮ８２１（又は、更に、バックアップ制御システム９１０に接続されているホスト端末）を介して、記憶制御システム６００に記憶されているデータを受信し、自分が備えている記憶装置（例えばテープ系デバイス）にそのデータを格納する。
【００４６】
また、ＬＡＮ８２０及びＳＡＮ８２１のうちの少なくともＬＡＮ８２０には、例えば、管理サーバ８１９が接続されていても良い。管理サーバ８１９は、例えば、ホスト端末と別のホスト端末との間の通信や、ホスト端末と記憶制御システム６００との間の通信の中継を行っても良い。
【００４７】
また、ホスト端末２００Ａ〜２００Ｄは、第三通信ネットワーク（例えばＬＡＮ）を介して相互に接続されていても良い。
【００４８】
記憶制御システム６００は、例えば、ＲＡＩＤ（（Redundant Array of Independent Inexpensive Disks））システムである。記憶制御システム６００は、ホスト端末２００Ａ〜２００Ｄから受信したコマンドに従う制御を行う。記憶制御システム６００は、記憶制御サブシステム（ディスクアレイ装置）１０２と、保守用端末（以下、Service Processorを略して「ＳＶＰ」と記載）１６０とを備える。記憶制御サブシステム１０２は、記憶制御装置１００と、記憶装置ユニット１０１とを備える。記憶制御装置１００は、１又は複数のチャネル制御部１１０Ａ〜１１０Ｄと、１又は複数のキャッシュメモリ（以下、Cache Memoryを略して「ＣＭ」と記載）１３０と、１又は複数の共有メモリ（以下、Shared Memoryを略して「ＳＭ」と記載）１２０と、１又は複数のディスク制御部１４０Ａ〜１４０Ｄと、接続部１５０とを備える。記憶装置ユニット１０１は、１以上の物理ディスク群５を備える。１以上の物理ディスク群５の各々は、アレイ状に配列された複数のディスク型記憶装置３００を有する。
【００４９】
チャネル制御部１１０Ａ〜１１０Ｄの各々は、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができる。各チャネル制御部１１０Ａ〜１１０Ｄは、記憶制御装置１００（例えば基本筐体１０）に対して着脱可能であり、チャネルアダプタと呼ばれることがある。各チャネル制御部１１０Ａ〜１１０Ｄは、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラムとをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、所定の機能を実現する。チャネル制御部１１０Ａ〜１１０Ｄの各々は、多重化（例えば二重化）されており、１つのチャネル制御部が破損しても他のチャネル制御部で動作するようになっている。チャネル制御部１１０Ａ〜１１０Ｄは、ＳＭ１２０内の制御情報等（例えば後述のＬＵ−ＬＤＥＶ管理テーブル）を参照しつつ、ホスト端末から受信したコマンドに従う処理を実行する。チャネル制御部１１０Ａ〜１１０Ｄのうち、チャネル制御部１１０Ｃを例に採り、ディスク制御部１４０Ａ〜１４０Ｄの動作も含めて先に説明すると、例えば、チャネル制御部１１０Ｃは、ホスト端末２００Ａ又は２００Ｂから、リード要求を含んだＩ／Ｏ要求（入／出力要求、ここではブロックアクセス要求）を受信すると、読出しコマンドをＳＭ１２０に記憶させると共に、ＣＭ１３０にキャッシュ領域を確保する。ディスク制御部１４０Ａ〜１４０Ｄは、ＳＭ１２０を随時参照しており、未処理の読出しコマンドを発見すると、ディスク型記憶装置３００からデータ（典型的には、ホスト端末２００Ａ〜２００Ｄとディスク型記憶装置３００との間でやり取りされるユーザデータ）を読み出して、ＣＭ１３０に確保された上記キャッシュ領域に記憶させる。チャネル制御部１１０Ｃは、ＣＭ１３０に移されたデータをキャッシュ領域から読み出し、そのデータをリード要求発行元のホスト端末２００Ａ又は２００Ｂに送信する。
【００５０】
また、例えば、チャネル制御部１１０Ｃは、ホスト端末２００Ｂ又は２００Ｃから、ライト要求を含んだＩ／Ｏ要求を受信すると、書込みコマンドをＳＭ１２０に記憶させると共に、ＣＭ１３０にキャッシュ領域を確保し、受信したＩ／Ｏ要求に含まれているデータを、上記確保したキャッシュ領域に記憶させる。その後、チャネル制御部１１０Ｃは、ライト要求発行元のホスト端末２００Ｂ又は２００Ｃに対して書込み完了を報告する。そして、ディスク制御部１４０Ａ〜１４０Ｄは、ＳＭ１２０を随時参照しており、未処理の書込みコマンドを発見すると、その書込みコマンドに従って、ＣＭ１３０に確保された上記キャッシュ領域からデータを読出し、そのデータを所定のディスク型記憶装置３００に記憶させる。
【００５１】
上記の処理は、他のチャネル制御部１１０Ａ〜１１０Ｂ及び１１０Ｄも行うことができる。なお、チャネル制御部１１０Ａ〜１１０Ｂは、ファイルアクセス要求をブロックアクセス要求に変換した後に（例えば、自分が持っているファイルシステムに従い、ファイル要求に含まれているファイル名を論理ブロックアドレスに変換した後に）、上記の処理を行う。
【００５２】
ディスク制御部１４０Ａ〜１４０Ｄは、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができる。各チャネル制御部１４０Ａ〜１４０Ｄは、記憶制御装置１００（例えば基本筐体１０又は増設筐体１２）に対して着脱可能であり、ディスクアダプタと呼ばれることがある。ディスク制御部１４０Ａ〜１４０Ｄは、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラムとをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、所定の機能を実現する。ディスク制御部１４０Ａ〜１４０Ｄの各々は、多重化（例えば二重化）されており、１つのディスク制御部が破損しても他のディスク制御部で動作するようになっている。ディスク制御部１４０Ａ〜１４０Ｄは、ＳＭ１２０内の制御情報等（例えば後述のＬＵ−ＬＤＥＶ管理テーブル）を参照しつつ、各物理ディスク群５に含まれる各ディスク型記憶装置３００との間のデータ通信を制御するものである。各ディスク制御部１４０Ａ〜１４０Ｄと各ディスク型記憶装置３００とは、例えば、ＳＡＮ等の通信ネットワークを介して接続されており、ファイバチャネルプロトコルに従ってブロック単位のデータ転送を行う。また、ディスク制御部１４０Ａ〜１４０Ｄは、ディスク型記憶装置３００の状態を随時監視しており、この監視結果は内部の通信ネットワーク（例えばＬＡＮ）１５１を介してＳＶＰ１６０に送信される。
【００５３】
１又は複数のＣＭ１３０は、例えば、揮発性又は不揮発性のメモリである。ＣＭ１３０には、キャッシュ領域が確保され、そこに、チャネル制御部１１０Ａ〜１１０Ｄとディスク制御部１４０Ａ〜１４０Ｄとの間で送受されるデータが記憶される。そのデータは、複数のＣＭ１３０により多重管理されても良い。
【００５４】
１又は複数のＳＭ１２０は、例えば不揮発性のメモリから構成され、制御情報等を記憶する（例えば、制御情報等は、複数のＳＭ１２０により多重管理されても良い）。制御情報等には、例えば、チャネル制御部１１０Ａ〜１１０Ｄとディスク制御部１４０Ａ〜１４０Ｄとの間でやり取りされる種々のコマンドや、キャッシュ管理テーブルや、ディスク管理テーブルや、ＬＵ−ＬＤＥＶ管理テーブルがある。キャッシュ管理テーブルは、例えば、キャッシュ領域と、後述するＬＤＥＶの論理アドレスとの対応関係が書かれたテーブルである。ディスク管理テーブルは、各ディスク型記憶装置３００を管理するためのテーブルであり、例えば、各ディスク型記憶装置３００毎に、ディスクＩＤ、ベンダ、記憶容量、ＲＡＩＤレベル、使用状況（例えば使用中か未使用か）等を有する。ＬＵ−ＬＤＥＶ管理テーブルは、後述するＬＤＥＶを管理するためのテーブルであり、例えば、各ＬＤＥＶ毎に、論理パス情報（例えばポート番号、ターゲットＩＤ及びＬＵＮ）、アドレス管理情報（例えば、ディスク型記憶装置３００上の物理アドレスとＬＤＥＶにおける論理アドレスとの対応関係）、記憶容量及びＲＡＩＤレベルを有する。なお、物理アドレスとは、例えば、ディスク型記憶装置３００のＩＤ、ディスクヘッド番号、及びセクタ数を含んだアドレス情報である。論理アドレスとは、例えば、ＬＵＮ（Logica Unit Number）、ＬＤＥＶ番号、及び論理ブロックアドレスを含んだアドレス情報である。
【００５５】
接続部１５０は、各チャネル制御部１１０Ａ〜１１０Ｄと、各ディスク制御部１４０Ａ〜１４０Ｄと、ＣＭ１３０と、ＳＭ１２０とを相互に接続するものである。チャネル制御部１１０Ａ〜１１０Ｄ、ＣＭ１３０、ＳＭ１２０及びディスク制御部１４０Ａ〜１４０Ｄ間でのデータやコマンドの授受は、接続部１５０を介することにより行われる。接続部１５０は、例えば、ユーザデータが通過する第１サブ接続部と、制御情報等が通過する第２接続部とを含んでいる。第１サブ接続部には、各チャネル制御部１１０Ａ〜１１０Ｄ、各ディスク制御部１４０Ａ〜１４０Ｄ及びＣＭ１３０が接続され、第２サブ接続部には、各チャネル制御部１１０Ａ〜１１０Ｄ、各ディスク制御部１４０Ａ〜１４０Ｄ及びＳＭ１２０が接続される。第１サブ接続部及び第２サブ接続部のうちの少なくとも第１サブ接続部は、例えば、高速スイッチングによりデータ伝送を行う超高速クロスバスイッチ等の高速バスである。
【００５６】
複数のディスク型記憶装置３００の各々は、例えば、ハードディスクドライブ或いは半導体メモリ装置等である。複数のディスク型記憶装置３００のうちの２以上の所定数のディスク型記憶装置３００によって、ＲＡＩＤグループ２が構成されている。ＲＡＩＤグループ２は、例えば、パリティグループ又はエラーコレクショングループとも呼ばれることがあり、ＲＡＩＤの原理に従ったディスク型記憶装置３００のグループである。同じＲＡＩＤグループ２に属する２以上のディスク型記憶装置３００は、例えば異なるマザーボード上に搭載され、一つのディスク型記憶装置３００が故障しても、残りの他のディスク型記憶装置３００のデータを用いて、その故障したディスク型記憶装置３００のデータを復元できるように構成されている。このＲＡＩＤグループ２の提供する物理的な記憶領域上に、論理的な記憶デバイスである複数のＬＤＥＶ（Logical Device）が設定され、複数のＬＤＥＶのうちの１以上のＬＤＥＶが、ＬＵＮ（Logical Unit Number）を持った１つのＬＵ（Logical Unit）３１０として、記憶制御装置１００からホスト端末２００Ａ〜２００Ｄに提供される。各ＬＵ３１０は、例えば、プライマリＬＵ（データコピー元ＬＵ）として、セカンダリＬＵ（データコピー先ＬＵ）である別ＬＵ３１０とペアになる場合があり、その場合、そのＬＵ３１０内の全部又は一部のデータ（例えば更新前のデータ）が、別ＬＵ３１０にコピーされることがある。また、各ＬＵ３１０は、例えば、セカンダリＬＵとして、プライマリＬＵである他のＬＵ３１０とペアになる場合があり、その場合、別ＬＵ３１０内の全部又は一部のデータ（例えば更新前のデータ）が、そのＬＵ３１０にコピーされることがある。
【００５７】
ＳＶＰ１６０は、ストレージシステム６００を保守又は管理するためのコンピュータマシンである。ＳＶＰ１６０は、例えば、内部ＬＡＮ等の通信ネットワーク１５１を介して、記憶制御システム６００の各構成要素（例えば、各チャネル制御部１１０Ａ〜１１０Ｄ及び各ディスク制御部１４０Ａ〜１４０Ｄ）から情報を収集することができる。具体的には、例えば、記憶制御システム６００の各構成要素（例えばチャネル制御部又はディスク制御部）に搭載されているＯＳ（オペレーティングシステム）、アプリケーションプログラム、ドライバソフトウェア等が、その構成要素で発生した障害発生に関する障害発生情報を出力するようになっていて、ＳＶＰ１６０が、その障害発生情報を受信することができる。ＳＶＰ１６０が受ける情報としては、例えば、装置構成、電源アラーム、温度アラーム、入出力速度（例えば、記憶制御装置１００が一定時間当たりに受信したＩ／Ｏ要求の数）等がある。また、例えば、ＳＶＰ１６０は、オペレータによる操作に応答して、例えば、ディスク型記憶装置３００の設定や、ＬＤＥＶの設定や、チャネル制御部１１０Ａ〜１１０Ｄにおいて実行されるマイクロプログラムのインストール等を行うことができる。また、ＳＶＰ１６０は、例えば、記憶制御システム６００の動作状態の確認や故障部位の特定、チャネル制御部１１０で実行されるオペレーティングシステムのインストール等の作業を行うこともできる。また、例えば、ＳＶＰ１６０は、ＬＡＮや電話回線等の通信ネットワークを介して外部保守センタ（図示せず）と接続されていて、その外部保守センタに、記憶制御システム６００の各構成要素から受信した障害発生情報等を通知しても良い。また、ＳＶＰ１６０は、記憶制御システム６００に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。
【００５８】
以上が、記憶制御システム６００についての基本的な説明である。なお、この記憶制御システム６００では、例えば、１つのチャネル制御部と１つのディスク制御部とが１つのモジュールとして一体的に構成されて、その１つのモジュールで、チャネル制御部及びディスク制御部の機能を発揮しても良い。また、例えば、ＳＭ１２０とＣＭ１３０が、一体的に構成されていても良い。また、各チャネル制御部毎に１つのＬＵＮが割当てられても良いし、複数のチャネル制御部に１つのＬＵＮが割当てられても良い。また、記憶制御システム６００には、別の記憶制御システムが接続されていても良い。その場合、例えば、記憶制御システム６００が有するプライマリＬＵと、別の記憶制御システムが有するセカンダリＬＵとがペア状態にされて、記憶制御システム６００に接続されているホスト端末２００Ａ〜２００Ｄが、記憶制御システム６００を介して別の記憶制御システム内のセカンダリＬＵにアクセスしても良い。また、例えば、記憶制御システム６００は、ファイルアクセス要求及びブロックアクセス要求の双方を受けるものであっても良いし、ファイルアクセス要求のみを受けるもの（例えばＮＡＳ）であっても良いし、ブロックアクセス要求のみを受けるものであっても良い。
【００５９】
図３は、本実施形態に係る記憶制御サブシステム１０２の機能を示すブロック図である。なお、以下の説明では、説明を分かり易くするために、ホスト端末２００Ａ〜２００Ｄのうちホスト端末２００Ｃを例に採り、且つ、チャネル制御部１１０Ａ〜１１０Ｄのうち、ホスト端末２００Ｃからブロックアクセス要求を受けるチャネル制御部１１０Ｃを例に採る。
【００６０】
ホスト端末２００Ｃと記憶制御サブシステム１０２との間には、１又は複数の論理的な通信パス（以下、「論理パス」と言う）２１Ａ〜２１Ｄが形成されている。各論理パス２１Ａ〜２１Ｄは、例えば、記憶制御サブシステム１０２が有するポート（ホスト端末１００Ａが接続されるポート）の番号と、ターゲットＩＤと、ＬＵＮとに基づいて形成されたものである。
【００６１】
１又は複数のＲＡＩＤグループ２上に用意される複数のＬＤＥＶには、例えば、通常ＬＤＥＶという属性を持ったＬＤＥＶ（以下、通常ＬＤＥＶ）６１ａと、プールＬＤＥＶという属性を持ったＬＤＥＶ（以下、プールＬＤＥＶ）６１ｂとがある。各ＬＤＥＶは、ＳＶＰ１６０のオペレータの指示により、通常ＬＤＥＶ６１ａからプールＬＤＥＶ６１ｂになることもできるし、逆に、プールＬＤＥＶ６１ｂから通常ＬＤＥＶ６１ａになることもできる。
【００６２】
通常ＬＤＥＶ６１ａは、ホスト端末２００Ｃがアクセス可能なＬＤＥＶである。換言すれば、例えば、論理パス２１Ａが有するＬＵＮがホスト端末２００Ｃから指定された場合、そのＬＵＮに対応付けられている２つの通常ＬＤＥＶ６１ａが、ＬＵ３１０Ａとしてホスト端末２００Ｃに提供される。また、例えば、論理パス２１Ｂが有するＬＵＮがホスト端末２００Ｃから指定された場合、そのＬＵＮに対応付けられている１つの通常ＬＤＥＶ６１ａが、ＬＵ３１０Ｂとしてホスト端末２００Ｃに提供される。
【００６３】
プールＬＤＥＶ６１ｂは、ＬＤＥＶプール６８を構成するメンバであり、ホストがアクセス不可能なＬＤＥＶである。換言すれば、プールＬＤＥＶ６１ｂは、ホスト端末２００Ｃから指定され得るＬＵＮに対応付けられておらず、ＬＵＮが指定されても、プールＬＤＥＶ６１ｂそれ自体は、ホスト端末２００Ｃに提供されないようになっている。
【００６４】
ＬＤＥＶプール６８の上位には、ホスト端末２００Ｃに対して提供される１又は複数の仮想ＬＵ３１０Ｃが存在する。仮想ＬＵ３１０Ｃは、ホスト端末２００Ｃに提供されるＬＵであるが、他のＬＵ３１０Ａ、３１０Ｂと違い、RAIDグループ２上に物理的なデータ格納領域を持たない仮想的なＬＵである。具体的に言えば、仮想ＬＵ３１０Ｃは、１つの（又は複数の）仮想ＬＤＥＶ６１ｃから構成されるが、その仮想ＬＤＥＶ６１ｃは、通常ＬＤＥＶ６１ａやプールＬＤＥＶ６１ｂと異なり、RAIDグループ２上に物理的なデータ格納領域を持たない仮想的なＬＤＥＶである。仮想ＬＤＥＶ６１ｃが有する複数の仮想アドレスの各々は、動的アドレッシングテーブル（以下、「ＤＡＴ」と略記）６４を介して、動的に、プールＬＤＥＶ６８が有する複数の論理アドレスから選択された論理アドレスに対応付けられたり、その対応付けが解除されてその論理アドレスが開放されたりする。
【００６５】
図４は、仮想ＬＤＥＶ６１ｃ、ＬＤＥＶプール６８、及びＤＡＴ６４の構成例を示す。
【００６６】
仮想ＬＤＥＶ６１ｃは、例えば、一定サイズ（例えば６４キロバイト）を有する複数の仮想チャンク４１０ｃ、４１０ｃ、…から成っている。各仮想チャンク４１０ｃは、所定個数（例えば１２８個）の論理ブロック（例えば１個が５１２バイト）から構成されている。各仮想チャンク４１０ｃには、先頭論理ブロックアドレス（以下、「仮想先頭ＬＢＡ」と略記）が存在し、仮想先頭ＬＢＡから、どの仮想チャンク４１０ｃであるかを特定することができるようになっている。
【００６７】
各ＬＤＥＶプール６８は、１以上のＬＤＥＶ６１ｂの集合であり、例えば、一定サイズ（例えば６４キロバイト）を有する複数の論理チャンク４１０ｂ、４１０ｂ、…から成っている。各論理チャンク６１ｂは、所定個数（例えば１２８個）の論理ブロック（例えば１個が５１２バイト）から構成されている。各論理チャンク４１０ｂには、先頭論理ブロックアドレス（以下、「論理先頭ＬＢＡ」と略記）が存在し、論理先頭ＬＢＡから、どの論理チャンク４１０ｃであるかを特定することができるようになっている。なお、例えば、アクセスする論理先頭ＬＢＡが決まれば、対応するチャンクの番号が決まる。具体的には、例えば、論理チャンクサイズを６４KB(＝１２８ブロック)とすると、論理チャンク番号ｎは、論理ブロック番号ｍ／１２８の整数部となる（例えば、論理ブロック番号が０〜１２７の論理ブロックを有する論理チャンク番号はゼロであり、論理ブロック番号が１２８〜２５５の論理ブロックを有する論理チャンクの番号は１である）。
【００６８】
ＤＡＴ６４は、外部端末（例えばＳＶＰ１６０）から記憶制御サブシステム１０２内の記憶領域（例えばＳＭ１２０）に登録される。ＤＡＴ６４は、各仮想ＬＤＥＶ６１ｃ毎に用意され、その仮想ＬＤＥＶ６１ｃの各仮想チャンク４１０ｃと、１以上のＬＤＥＶプール６８の各々における各論理チャンク４１０ｂとを対応付けるためのテーブルである。具体的には、例えば、ＤＡＴ６４には、各仮想先頭ＬＢＡ毎に、その仮想先頭ＬＢＡに対応付けられたＬＤＥＶプール６８の識別情報（例えばＬＤＥＶプール番号）と、そのＬＤＥＶプール６８における論理先頭ＬＢＡとが記述される。このＤＡＴ６４の記述内容は、所定のタイミング、例えば、チャネル制御部１１０ＡがＩ／Ｏ要求を受けた場合に、チャネル制御部１１０Ａによって更新される。チャネル制御部１１０Ａは、プールマネジメントテーブル（以下、「ＰＭＴ」と略記）６３を参照して、ＤＡＴ６４の記述内容の更新を更新する。
【００６９】
図５は、ＰＭＴ６３の構成例を示す。
【００７０】
ＰＭＴ６３は、ＬＤＥＶプール６８毎に存在するものであり、外部端末（例えばＳＶＰ１６０）から記憶制御サブシステム１０２内の記憶領域（例えばＳＭ１２０）に登録される。ＬＤＥＶプール６８の各論理チャンク４０１ｂ毎に、エントリ番号が割り当てられる。各ＰＭＴ６３には、それに対応したＬＤＥＶプール６８における初めの空きエントリの番号（換言すれば、論理先頭ＬＢＡが最も若いチャンク番号）を筆頭に、キュー形式で、他の空きエントリの番号が書かれる。
【００７１】
以下、図６を参照して、仮想ＬＤＥＶ６１ｃとＬＤＥＶプール６８とを動的に対応付けるチャネル制御部１１０Ｃの処理流れについて説明する。
【００７２】
ホスト端末２００Ｃは、通常のＬＵ３１０Ａにアクセスする場合と同様の方法で、仮想ＬＵ３１０Ｃに対するＩ／Ｏ要求を出力する。チャネル制御部１１０Ｃは、例えば、ホスト端末２００ＣからそのＩ／Ｏ要求を受けた場合（ステップＳ１１）、そのＩ／Ｏ要求から割り出された仮想先頭ＬＢＡと、ＬＤＥＶプール６８の論理先頭ＬＢＡとの対応付けを行う。具体的には、例えば、チャネル制御部１１０Ｃは、Ｉ／Ｏ要求を受けた仮想ＬＵ３１０Ｃが有する仮想ＬＤＥＶ６１ｃに対応したＤＡＴ６４を参照し、上記割り出された仮想先頭ＬＢＡに対応したＬＤＥＶプール番号を取得する（Ｓ１２）。次に、チャネル制御部１１０Ｃは、取得したＬＤＥＶプール番号に対応したＰＭＴ６３から、そのＰＭＴ６３に書かれている最初の空きエントリ番号に対応した論理先頭ＬＢＡを取得し、その論理先頭ＬＢＡを、上記仮想先頭ＬＢＡに対応した場所（ＤＡＴ６４上の場所）に登録する（Ｓ１３）。それにより、上記仮想先頭ＬＢＡに論理先頭ＬＢＡが対応付けられ、その論理先頭ＬＢＡを持つ論理チャンクからデータが読み出されたり、その論理チャンクにデータが書き込まれたりすることができるようになる。
【００７３】
また、チャネル制御部１１０Ｃは、例えば、上記Ｉ／Ｏ要求に基づく処理の終了後に（Ｓ１４でＹ）、ＤＡＴ６４に書かれた論理先頭ＬＢＡを開放することができる。具体的には、例えば、チャネル制御部１１０Ｃは、ＤＡＴ６４に登録した上記論理先頭ＬＢＡをＤＡＴ６４から削除し、ＰＭＴ６３に、その論理先頭ＬＢＡ及びそれに対応するエントリ番号をＰＭＴ６４に格納する（Ｓ１５）。
【００７４】
以上のような流れで、仮想ＬＵ３１０Ｃ（仮想ＬＤＥＶ６１ｃ）とＬＤＥＶプール６８との動的な対応付けやそれの解除が行われる。このように、どのホスト端末からアクセスされるかが予め割当てられていないプールＬＤＥＶ６１ｂ、６１ｂ、…から成るＬＤＥＶプール６８を用意し、そのＬＤＥＶプール６８における記憶領域をフレキシブルに仮想ＬＵ３１０Ｃ（仮想ＬＤＥＶ６１ｃ）に対応付けることにより、空いている記憶領域を有効に活用することができる。
【００７５】
図７は、この実施形態に係るＬＵ−ＬＤＥＶ管理テーブル１６２ｂの構成例を示す。
【００７６】
ＬＵ−ＬＤＥＶ管理テーブル１６２ｂは、記憶制御サブシステム１０２内の記憶領域（例えばＳＭ１２０）に登録されるものである。ＬＵ−ＬＤＥＶ管理テーブル１６２ｂには、例えば、記憶制御システム６００が備える各ポート（ホスト端末が接続されるポート）毎に、ポート番号と、そのポート番号に属する１以上のターゲットＩＤと、各ターゲットＩＤに属する１以上のＬＵＮと、各ＬＵＮに属する１以上のＬＤＥＶに関するＬＤＥＶ情報が記録されている。各ＬＤＥＶのＬＤＥＶ情報としては、例えば、ＬＤＥＶ番号、記憶容量、ＲＡＩＤレベル、上述したアドレス管理情報、ＬＤＥＶ属性、ＤＡＴ−ＩＤ、ＬＤＥＶプール番号及び状態がある。
【００７７】
ＬＤＥＶ属性としては、例えば、上述したプールＬＤＥＶ、通常ＬＤＥＶ及び仮想ＬＤＥＶというものがある。
【００７８】
「プールＬＤＥＶ」というＬＤＥＶ属性を持つＬＤＥＶ（前述したプールＬＤＥＶ６１ｂ）は、ホスト端末にアクセスされないようになっているため、プールＬＤＥＶ６１ｂには、論理パス情報（例えばＬＵＮ）は対応付けられていない。また、プールＬＤＥＶ６１ｂには、どのＬＤＥＶプール６８のメンバであるかが識別されるようにＬＤＥＶプール番号が対応付けられている。
【００７９】
「仮想ＬＤＥＶ」というＬＤＥＶ属性を有するＬＤＥＶ（前述した仮想ＬＤＥＶ６１ｃ）には、そのＬＤＥＶ６１ｃに対応するＤＡＴ６４のＩＤ（例えばゼロ）が対応付けられる。このＤＡＴ−ＩＤを参照することにより、どの仮想ＬＤＥＶ６１ｃ（仮想ＬＵ３１０Ｃ）にアクセスされた場合にはどのＤＡＴを参照すれば良いかがわかるようになっている。また、仮想ＬＤＥＶ６１ｃには、どのＬＤＥＶプール６８のメンバであるかが識別されるようにＬＤＥＶプール番号が対応付けられている。
【００８０】
「通常ＬＤＥＶ」というＬＤＥＶ属性を有するＬＤＥＶ（前述した通常ＬＤＥＶ６１ａ）には、ＤＡＴ−ＩＤ及びＬＤＥＶプール番号は対応付けられていない。
【００８１】
ＬＤＥＶの状態としては、例えば、アクセス可能な状態であることを表す「Ready」（例えば実装状態）と、アクセス不可能な状態であることを表す「Not Ready」（例えば未実装状態）とがある。
【００８２】
ところで、チャネル制御部１１０Ｃは、ホスト端末２００Ｃから受けたデータ（又はＬＵから取得されたデータ、以下、「ホストデータ」と言う）のデータパターンに基づき、ＣＭ１３０を介してホストデータをディスク制御部１４０Ａ〜１４０Ｄに渡すか、或いは、ホストデータをディスク制御部１４０Ａ〜１４０Ｄに渡さずに消去するかを決定する処理（換言すれば、ホストデータをディスク型記憶装置３００に格納するか、或いは、ホストデータをディスク型記憶装置３００には格納せずに消去するかを決定する処理）を行う。この処理は、例えば、ＬＵ（１以上のＬＤＥＶ）をフォーマットするためにホスト端末２００Ｃから後述のフォーマットデータが出力された場合に有用である。以下、詳述する。
【００８３】
図８は、ホスト端末２００Ｃにおけるソフトウェア構成例及びホスト端末２００Ｃから出力されるライト要求の例を示す。
【００８４】
ホスト端末２００Ｃの内部バス３２４に、制御部（例えばＣＰＵ）３２３と、メモリ３２１と、記憶装置（例えばハードディスクドライブ）３２２と、ユーザインターフェース（例えばキーボード等の入力装置）４７４とが接続されている。ホスト端末２００Ｃのメモリ３２１に、ＵＮＩＸ（登録商標）等のオペレーティングシステム（以下、「ＯＳ」と言う）４７２と、ＯＳ４７２上で動作するアプリケーションプログラム４７１とが、例えば記憶装置３２２からロードされて記憶される。ＯＳ４７２及びアプリケーションプログラム４７１は、制御部３２３に読み込まれることにより機能する。
【００８５】
ユーザインターフェース４７４は、ユーザによる操作の結果をアプリケーションプログラム４７１又はＯＳ４７２に通知する。
【００８６】
アプリケーションプログラム４７１は、例えば、ユーザインタフェースから、ユーザ指定のＬＵにデータファイルを書込むことの指示を受けた場合、そのデータファイルをユーザ指定のＬＵに書込むことを意味するファイル書込み指示をＯＳ４７２に送信する。
【００８７】
ＯＳ４７２は、例えば、アプリケーションプログラム４７１からファイル書込み指示を受けた場合、自分が持っているファイルシステム４７５を参照して、データファイルをブロックデータ４７６に変換し、そのブロックデータ４７６をユーザ指定のＬＵに書き込むことを意味する第一ライト要求（ブロックアクセス要求、例えばＳＣＳＩコマンド）を生成して、その第一ライト要求を記憶制御サブシステム１０２に送信する。
【００８８】
また、例えば、ＯＳ４７２は、所定のイベントが発生した場合（例えば、電源がターンオンされた場合又はＯＳ４７２が再起動する場合）、記憶制御サブシステム１０２に関するシステム情報を記憶制御サブシステム１０２に対して要求するためのシステム情報要求コマンド（例えばリードキャパシティコマンド又はデバイスディスカバリーコマンド）を、記憶制御サブシステム１０２に送信する。その場合、ホスト端末２００Ｃは、記憶制御サブシステム１０２からシステム情報（例えば、ホスト端末２００Ｃがアクセス可能な全てのＬＵに関する情報（例えば、論理パス情報及び記憶容量））を受信し、そのシステム情報を、ホスト端末２００Ｃ内の記憶装置（例えばメモリ又はハードディスク）に格納する。
【００８９】
また、例えば、ＯＳ４７２は、アプリケーションプログラム４７１を介さずにユーザインターフェース４７４から所定の命令を受けた場合、その命令に基づいて、一定のデータパターンを持ったホストデータを有する第二ライト要求を生成して記憶制御サブシステム１０２に送信する。具体的には、例えば、ＯＳ４７２は、ユーザ指定のＬＵをフォーマットすることを意味するフォーマット指示をユーザインターフェース４７４から受けた場合、ユーザ指定のＬＵの記憶容量と同サイズのフォーマットデータ４７３を含んだ第二ライト要求（ブロックアクセス要求、例えばＳＣＳＩライトコマンド）を生成し、その第二ライト要求を記憶制御サブシステム１０２に送信する。
【００９０】
すなわち、本実施形態では、記憶制御サブシステム１０２のチャネル制御部１１０Ｃがホスト端末３００Ｃから受けるライト要求には、データパターンが一定ではないホストデータ（つまり、データの並びに法則性の無いブロックデータ）４７６を有する第一ライト要求と、データパターンが一定であるホストデータ（つまり、データの並びに法則性の有るブロックデータ、例えばフォーマットデータ４７３）を有する第二ライト要求とがある。もし、チャネル制御部１１０Ｃが受けたライト要求が第二ライト要求であって、その第二ライト要求にフォーマットデータ４７３が含まれている場合には、そのフォーマットデータ４７３は、ユーザ指定のＬＵの記憶容量と同サイズなので、本実施形態の特徴点の一つに係る後述の工夫を施さないと、ユーザ指定のＬＵ全体にフォーマットデータ４７３が書き込まれることになる。このため、ユーザデータ（例えばユーザによって作成された文書データ等）が格納されていないために本来空きとなる論理記憶領域（ＬＤＥＶ記憶領域）にデータが格納されてしまうことになる。このデメリットは、ユーザ指定の書込み先ＬＵが、通常のＬＵ３１０Ａ、３１０Ｂの場合よりも、仮想ＬＵ３１０Ｃの場合の方が大きい。なぜなら、通常ＬＵ３１０Ａ、３１０Ｂが有する通常ＬＤＥＶ６１ａの空き記憶領域（例えば空きチャンク）は、論理パスによって予め定められたホスト端末に割当てられており動的に割当てられるものではないが、仮想ＬＵ３１０Ｃが動的に対応付けられるＬＤＥＶプール６８の空き記憶領域（例えば空きチャンク）は、予め決まったホスト端末に割当てられておらず動的に割当てられるものであるためである。すなわち、ＬＤＥＶプール６８の空き記憶領域が無駄に減ってしまうと、仮想ＬＵ３１０Ｃが備えられて上述した動的な対応付けが行われることのメリットが表れにくくなるのである。
【００９１】
そこで、本実施形態では、以下に説明する工夫が施されている。以下、本実施形態における主要な部分の基本的概念と、具体例とに分けて説明する。
【００９２】
（１）本実施形態の基本的概念。
【００９３】
図８に示すように、記憶制御サブシステム１０２が備えるメモリ５２０（例えばＳＭ１２０）が、ＬＵ３１０（１以上のＬＤＥＶ）に存在してはならないデータ（以下、「ライト対象外データ」と言う）が有する１又は複数のデータパターンを示すデータパターン情報５３０（例えば、後述のデータパターンテーブル（以下、「ＤＰＴ」と略記）８００）を記憶する。
【００９４】
記憶制御サブシステム１０２は、データ格納制御部４８１（例えば、データチェック回路６７を有するチャネル制御部１１０Ｃ、１１０Ｄ又はディスク制御部１４０Ａ〜１４０Ｃ）を備える。データ格納制御部４８１は、ホスト端末２００Ｃとの間でやり取りするデータ（以下、ホストデータ）のデータパターンが、上記データパターン情報に含まれる１又は複数のデータパターンのいずれかに適合するか（例えば一致するか）否かを判別する。否定的な判別結果が得られた場合、データ格納制御部４８１は、ホストデータをＬＵ３１０に格納する又はホスト端末２００Ｃにホストデータを転送する。一方、肯定的な判別結果が得られた場合、データ格納制御部４８１は、当該ホストデータはライト対象外データなので、そのホストデータをＬＵに格納しない（もし、ＬＵに存在してれば消去する）。
【００９５】
この基本的概念によれば、例えば、記憶制御サブシステム１０２が第一ライト要求を受けた場合、第一ライト要求に含まれているブロックデータ４７６のデータパターンは一定ではないので、データパターン情報５３０に含まれている１又は複数のデータパターンのいずれにも適合することはなく、そのブロックデータ４７６はＬＵ３１０に格納される。しかし、記憶制御サブシステム１０２が第二ライト要求を受けた場合、第二ライト要求に含まれているブロックデータ（例えばフォーマットデータ４７３）のデータパターンは一定であるので、データパターン情報５３０に含まれている１又は複数のデータパターンのいずれか１つに適合し、そのブロックデータはＬＵ３１０には格納されない（もしＬＵ３１０にあったら消去される）。
【００９６】
（２）本実施形態の第一具体例。
【００９７】
第一具体例は、仮想ＬＵ３１０Ｃ（仮想ＬＤＥＶ６１ｃ）に対するＩ／Ｏ要求をチャネル制御部１１０Ｃがホスト端末３００Ｃから受ける場合の例である。以下、詳述する。
【００９８】
図９は、図３に示したＤＰＴ８００の構成例を示す。
【００９９】
ＤＰＴ８００は、例えば、チャネル制御部１１０Ｃに搭載されたメモリ、ディスク制御部１４０Ａ〜１４０Ｄに搭載されたメモリ、ＣＭ１３０及びＳＭ１２０の少なくとも１つに登録される。ＤＰＴ８００は、例えば、外部端末（例えばＳＶＰ１６０）から登録される。ＤＰＴ８００には、各ＬＤＥＶ（例えば仮想ＬＤＥＶ６１ｃ）毎に、１又は複数のデータパターンと、そのＬＤＥＶに登録されたデータパターンが有効か否かを示す有効フラグとが登録される。
【０１００】
１又は複数のデータパターンの各々は、一定のパターンを有するもの、例えばフォーマットデータのデータパターンである。フォーマットデータのデータパターンは、例えばＯＳ（例えば種類又はバージョン）毎に異なるので、どのＬＤＥＶに格納されるデータはどんなＯＳから出力されるものかに基づいて入力される。ＤＰＴ８００に１又は複数のデータパターンを登録するのは、外部端末のユーザによって手動で行なわれても良いし、コンピュータプログラムによって自動で行われてもよい。また、データパターンのデータ長及び最大データ長の少なくとも一方は予め決められている。例えば、データパターンのデータ長及びデータ最大長の少なくとも一方は、論理チャンクの記憶サイズの倍数又は約数である。
【０１０１】
各ＬＤＥＶの有効フラグは、例えば「１」であれば、そのＬＤＥＶに対応付けられたデータパターンが有効であることを示し、例えば「０」であれば、無効であることを示す。有効であれば、そのデータパターンを用いて、ホストデータのデータパターンとの比較処理が行われ、無効であれば（例えば、対応するエントリにデータパターンが登録されていなければ）、そのような比較処理は行われない。
【０１０２】
このＤＰＴ８００に登録されるＬＤＥＶの情報は、仮想ＬＤＥＶ６１ｃの情報であっても通常ＬＤＥＶ６１ａの情報であっても良いが、仮想ＬＤＥＶ６１ｃの情報の方が望ましいと考えられる。また、ＤＰＴ８００には、ＯＳ毎に、データパターンが登録されても良い。
【０１０３】
図１０は、チャネル制御部１１０Ｃの構成例を示す。
【０１０４】
チャネル制御部１１０Ｃは、ハードウェア要素が一体的にユニット化されたボードで構成される。チャネル制御部１１０Ｃは、図示しないボード接続用コネクタを備えており、そのボード接続用コネクタが記憶制御装置１００の所定コネクタに嵌合することにより、チャネル制御部１１０Ｃは記憶制御装置１００と電気的に接続される。チャネル制御部１１０Ｃは、例えば、ホストインターフェース部（以下、「ホストＩ／Ｆ」と記載）７１１、ＳＶＰインターフェース部（以下、「ＳＶＰＩ／Ｆ」と記載）５１、ホスト側メモリ１１３、１又は複数の入出力制御部７７１、ＣＭデータ転送回路７１０、ＳＭデータ転送回路７４０、内部バス７５０、及びデータチェック回路６７を備える。内部バス７５０に、後述のＣＨＰ（チャネルプロセッサ）１１９、ホスト側メモリ１１３、ＣＭデータ転送回路７１０、及びＳＭデータ転送回路７４０が接続されている。
【０１０５】
ホストＩ／Ｆ７１１は、ホスト端末２００Ｃとの間で通信を行うための通信インタフェースであり、例えば、ファイバチャネルプロトコルに従ってホスト端末２００Ｃから送信されたブロックアクセス要求を受信する。
【０１０６】
ＳＶＰＩ／Ｆ５１は、内部ＬＡＮ１５０等の通信ネットワークを介してＳＶＰ１６０に接続され、且つ、後述のＣＨＰ１１９に接続される。ＳＶＰＩ／Ｆ５１は、ＳＶＰ１６０とＣＨＰ１１９との間の通信を制御するための通信インタフェース（例えばＬＡＮコントローラ）である。
【０１０７】
ホスト側メモリ１１３には、例えば、ＣＨＰ１１９で使用される様々なプログラムやデータが格納される。具体的には、例えば、ホスト側メモリ１１３の予め定められたアドレスに、データチェック回路６７が使用するデータパターン等のデータが格納される。このデータパターン等は、例えば、ＳＭ１２０から読み出されたＤＰＴ８００それ自体であっても良いし、チャネル制御部１１０Ｃから出力されるデータが格納され得るＬＤＥＶについてのデータパターンであっても良い。
【０１０８】
データチェック回路６７は、チャネル制御部１１０Ｃの所定の場所、例えば、ＣＭデータ転送回路７１０とＣＭ１３０との間に設けられる。データチェック回路６７は、ハードウェア、ソフトウェア又はそれらの組合せで構成することができる（例えば純粋なハードウェア回路である）。データチェック回路６７は、ホストデータのデータパターンと、ホスト側メモリ１１０３に格納された１又は複数のデータパターン（例えばＤＰＴ８００）との比較（以下、「データパターン比較」と言う）を行う。データチェック回路６７は、図示しないレジスタを有しており、そのレジスタに、データパターン比較の結果（すなわち、上記１又は複数のデータパターンの中に、ホストデータのデータパターンに適合するものがあるか否か）を書き込む。
【０１０９】
ＣＭデータ転送回路７１０は、ホスト端末１１０ＣとＣＭ１３０間のデータ転送を実行するハードウエアである。ＣＭデータ転送回路７１０は、ＣＨＰ１１９の指示に従って、ＣＭ１３０からのデータをホスト端末１１０Ｃへ転送したり、逆に、ホスト端末１１０ＣからのデータをＣＭ１３０へ転送したりする。
【０１１０】
ＳＭデータ転送回路７４０は、ホスト側メモリ１１３とＳＭ１２０との間のデータ転送を実行するためのハードウェアである。SMデータ転送回路７４０は、ＣＨＰ１１９の指示に従って、ＳＭ１２０からホスト側メモリ１１３へデータを転送したり、逆に、ホスト側メモリ１１３からＳＭ１２０へデータを転送したりする。
【０１１１】
各入出力制御部７７１は、ディスク制御部１４０Ａ〜１４０Ｄ、ＣＭ１３０、ＳＭ１２０及びＳＶＰ１６０との間でデータやコマンドの授受を行うもの（例えばマイクロプロセッサユニット）である。各入出力制御部７７１は、ＣＨＰ（チャネルプロセッサ）１２１や、ＣＨＰメモリ１１９を備える。
【０１１２】
ＣＨＰ（チャネルプロセッサ）１２１は、例えば、マイクロプロセッサであり、チャネル制御部１１０Ｃ全体の制御を司ると共に、ディスク制御部１４０Ａ〜１４０Ｄや、ホスト端末２００Ｃや、ＳＶＰ１６０との間の通信を制御する。ＣＨＰ１２１は、ＣＨＰメモリ１２１（又はホスト側メモリ１１３）に格納された各種コンピュータプログラムを実行することにより、チャネル制御部１１０Ｃとしての機能を発揮する。例えば、ＣＨＰ１２１は、データチェック回路６７のレジスタ（図示せず）を読み出すことで、上記データパターン比較の結果を検出し、その比較の結果に応じて、ホストデータを消去するか否かを決定する。
【０１１３】
ＣＨＰメモリ１１９は、揮発性又は不揮発性のメモリ（例えばＮＶＲＡＭ（Non Volatile RAM））であり、例えば、ＣＨＰ１２１の制御を司るコンピュータプログラムを格納する。
【０１１４】
以上が、チャネル制御部１１０Ｃの構成例である。図１０に示した構成は、単なる一例であって、上記構成以外の構成も採用することができる。また、その構成は、ブロックアクセス要求を受ける他のチャネル制御部１１０Ｄにも適用することができる。
【０１１５】
図１１は、ＬＵが設定される場合に行なわれる記憶制御サブシステム１０２での処理流れを示す。
【０１１６】
この図に示す処理は、例えば、チャネル制御部１１０Ｃが実行する。
【０１１７】
チャネル制御部１１０Ｃは、仮想ＬＵと通常ＬＵのいずれを定義するかの選択をＳＶＰ１６０から受付ける（ステップＳ２９０）。
【０１１８】
Ｓ２９０において、仮想ＬＵの選択を受けた場合（Ｓ２９０でＹＥＳ）、チャネル制御部１１０Ｃは、ＳＶＰ１６０（又はそれに接続された外部端末）から、ＬＤＥＶプールの作成依頼を受ける。チャネル制御部１１０Ｃは、その依頼に応答して、ＬＤＥＶプール編集画面５５２をＳＶＰ１６０に提供する。この画面５５２には、例えば、作成対象のＬＤＥＶプール番号の入力欄と、そのＬＤＥＶプールに対して追加、除去又は編集するためのＬＤＥＶ番号の入力欄とがある。また、例えば、その画面５５２には、ＬＤＥＶ番号の入力に入力されたＬＤＥＶ番号を追加、除去又は編集のいずれを行うかの選択を受け付けるツールが設けられている。
【０１１９】
チャネル制御部１１０Ｃは、そのＬＤＥＶプール編集画面５５２に入力された情報に従って、ＬＤＥＶプールの作成（又は編集）を行う（換言すれば、ＬＵ−ＬＤＥＶ管理テーブル１６２ｂを更新する）（ステップＳ３００）。
【０１２０】
その後、チャネル制御部１１０Ｃは、ＬＵ設定画面５５１をＳＶＰ１６０に提供する。その画面５５１には、その仮想ＬＵ（仮想ＬＤＥＶ）に対応付けるポート番号、ターゲットＩＤ、ＬＵＮ、ＬＤＥＶ番号及び記憶容量の入力欄がある。
【０１２１】
チャネル制御部１１０Ｃは、そのＬＵ設定画面５５１に入力された情報に従って、仮想ＬＵを定義する（換言すれば、「仮想ＬＤＥＶ」というＬＤＥＶ属性を持った新たな仮想ＬＤＥＶに関する情報をＬＵ−ＬＤＥＶ管理テーブル１６２ｂに登録する）（Ｓ３１０）。
【０１２２】
Ｓ３１０の後、チャネル制御部１１０Ｃは、仮想ＬＵ設定画面５５１を用いて登録された仮想ＬＤＥＶ（仮想ＬＵ）に対応付けるデータパターン（すなわち、ライト対象外データのデータパターン）の入力を受けるためのライト対象外データパターン登録画面５５３をＳＶＰ１６０に提供する。この画面５５３に、１又は複数のデータパターンが入力された場合、チャネル制御部１１０Ｃは、入力された１又は複数のデータパターンを、仮想ＬＵ設定画面５５１に入力された情報（例えばＬＤＥＶ番号）に対応付けて、ＤＰＴ８００に登録する（Ｓ３２０）。
【０１２３】
その後、チャネル制御部１１０Ｃは、Ｓ３１０で定義した仮想ＬＵがどのＬＤＥＶプールを使用するかの指定を受け（例えば、そのＬＤＥＶプールの番号の入力を受け）、指定されたＬＤＥＶプールを仮想ＬＵ（仮想ＬＤＥＶ）に対応付ける（換言すれば、入力されたＬＤＥＶプール番号をＬＵ−ＬＤＥＶ管理テーブル１６２ｂに登録する）（Ｓ３２０）。
【０１２４】
Ｓ２９０において、仮想ＬＵの選択を受けた場合（Ｓ２９０でＹＥＳ）、チャネル制御部１１０Ｃは、上述したＬＵ設定画面５５１をＳＶＰ１６０に提供する。チャネル制御部１１０Ｃは、そのＬＵ設定画面５５１に入力された情報に従って、ＬＵを定義する（ここでは、「通常ＬＤＥＶ」というＬＤＥＶ属性を持った１以上の新たな通常ＬＤＥＶに関する情報をＬＵ−ＬＤＥＶ管理テーブル１６２ｂに登録する）（Ｓ２９１）。
【０１２５】
以上の流れにより、仮想ＬＵ（仮想ＬＤＥＶ）又は通常ＬＵ（１以上の通常ＬＤＥＶ）の定義付けが完了する。この処理フローにより、ホスト端末３００Ｃが、仮想ＬＵと通常ＬＵのいずれか一方にＩ／Ｏ要求を発行することが可能になる。
【０１２６】
なお、チャネル制御部１１０Ｃは、この処理フローにおいて入力された複数種類の情報のうちの少なくとも１つの情報（例えば、仮想ＬＤＥＶであれば仮想記憶容量）を、ホスト端末２００Ｃからの所定コマンド（例えば、ＳＣＳＩプロトコルに基づくInquiryコマンド又はリードキャパシティコマンド）に応答して、そのホスト端末２００Ｃに通知する。また、例えば、チャネル制御部１１０Ｃは、仮想ＬＵ３１０Ｃに対するＩ／Ｏ要求をホスト端末２００Ｃから受けた場合、その仮想ＬＵ３１０Ｃ（仮想ＬＤＥＶ６１ｃ）が少なくとも１つのＬＤＥＶプール６８に対応付けられていなければ、そのＩ／Ｏ要求を拒否する。この場合、例えば、チャネル制御部１１０Ｃは、ホスト端末２００Ｃにその旨を通知しても良いし、何のレスポンスも返さずにホスト端末２００Ｃでタイムアウトを発生させても良い。
【０１２７】
図１２は、仮想ＬＵ３１０Ｃに対するライト要求をホスト端末１１０Ｃから受信した場合のチャネル制御部１１０Ｃの処理フローを示す。
【０１２８】
チャネル制御部１１０Ｃがホスト端末２００Ｃから受けるライト要求には、ホストデータの他に、そのホストデータをどの記憶領域に書くかという情報、具体的には、例えば、どのＬＵ（例えばＬＵＮ）のどのブロック（例えば先頭論理ブロックアドレス）から何ブロック（例えばブロック数）書くかという情報が含まれている。本実施形態では、各ＬＤＥＶでのデータ記憶単位である１ブロックは例えば５１２バイトである。
【０１２９】
チャネル制御部１１０Ｃがホスト端末２００Ｃから仮想ＬＵ３１０Ｃに対するライト要求を受信した場合、チャネル制御部１１０ＣのＣＨＰ１１９は、その仮想ＬＵ３１０（仮想ＬＤＥＶ６１ｃ）に対応付けられたＤＡＴ６４を参照して、ホスト端末２００Ｃから指定された仮想記憶領域（例えば仮想先頭ＬＢＡ）が、ＬＤＥＶプール６８の論理記憶領域（例えば論理先頭ＬＢＡ）に対応付けられているか否かを判断する（Ｓ５１０）。
【０１３０】
Ｓ５１０の判断の結果、肯定的な結果が得られた場合（Ｓ５１０でＹＥＳ）、ＣＨＰ１１９は、後述するＳ５４０の処理を実行する。
【０１３１】
一方、Ｓ５１０の判断の結果、否定的な結果が得られた場合（Ｓ５１０でＮＯ）、ＣＨＰ１１９は、図６を参照して説明した処理を行って、ＬＤＥＶプール６８における空き論理記憶領域から、ライト要求に含まれた仮想記憶領域と同サイズの論理記憶領域（ホストデータを格納できるだけの論理記憶領域）を確保し、その論理記憶領域を仮想記憶領域に対応付ける（Ｓ５２０）。また、ＣＨＰ１１９は、確保した論理記憶領域と同サイズのキャッシュ領域をＣＭ１３０上に確保する（Ｓ５３０）。
【０１３２】
Ｓ５１０でＹＥＳの後又はＳ５３０の後、ＣＨＰ１１９は、ＤＰＴ８００に書かれている全部又は一部のデータパターン（例えば、ライト要求で指定された仮想ＬＤＥＶ６１ｃに対応したデータパターンのみ）を読出し、その読み出したデータパターンをデータチェック回路６７（例えばその回路６７のレジスタ）にセットして、データチェック回路６７を起動する（Ｓ５４０）。次に、ＣＨＰ１１９は、受信したライト要求に含まれているホストデータを、ＣＭデータ転送回路７１０及びデータチェック回路６７を介して、Ｓ５３０で確保したキャッシュ領域に格納する（Ｓ５５０）。
【０１３３】
また、このＳ５５０において、データチェック回路６７は、ＣＭデータ転送回路７１０から入力されてくるホストデータが、Ｓ５４０でセットされたデータパターンに適合するか否かの比較を行う。データチェック回路６７は、データパターン比較結果をレジスタに書き込む。
【０１３４】
ここで、例えば、ホストデータが、フォーマットデータ等のように一定のパターンを有するものであれば、データパターン比較結果は肯定的なものになり、一方、一定のパターンを持たないものであれば、データパターン比較結果は否定的なものになる。
【０１３５】
ＣＨＰ１１９は、データチェック回路６７のレジスタにアクセスし、そのレジスタに、肯定的なデータ比較結果が書かれていた場合には、Ｓ５２０で仮想記憶領域に割当てた論理記憶領域（ＬＤＥＶプール６８における記憶領域）を解放する（すなわち、ＤＡＴ６４に対応付けた論理先頭ＬＢＡを除去する）（Ｓ５７０）。更に、ＣＨＰ１１９は、Ｓ５３０で確保したキャッシュ領域を解放する（Ｓ５８０）。これにより、キャッシュ領域に書かれたホストデータは削除され、ＬＤＥＶプール６８内に書き込まれることは無い。
【０１３６】
一方、ＣＨＰ１１９は、データチェック回路６７のレジスタに否定的なデータ結果が書かれていた場合には、この処理フローを終了する。これにより、キャッシュ領域に書かれたホストデータが、ディスク制御部１４０Ａ〜１４０Ｄのいずれかに取得されて、Ｓ５２０で割当てられた論理記憶領域（つまりＬＤＥＶプール内のプールＬＤＥＶ６１ｂ）に格納される。
【０１３７】
図１３は、仮想ＬＵ３１０Ｃに対するリード要求をホスト端末１１０Ｃから受信した場合のチャネル制御部１１０Ｃの処理フローを示す。
【０１３８】
チャネル制御部１１０Ｃがホスト端末２００Ｃから受けるリード要求には、どの記憶領域からデータをリードするかという情報、具体的には、例えば、どのＬＵ（例えばＬＵＮ）のどのブロック（例えば先頭論理ブロックアドレス）から何ブロック（例えばブロック数）分のデータをリードするかという情報が含まれている。
【０１３９】
チャネル制御部１１０Ｃがホスト端末２００Ｃから仮想ＬＵ３１０Ｃに対するリード要求を受信した場合、チャネル制御部１１０ＣのＣＨＰ１１９は、その仮想ＬＵ３１０（仮想ＬＤＥＶ６１ｃ）に対応付けられたＤＡＴ６４を参照して、ホスト端末２００Ｃから指定された仮想記憶領域（例えば仮想先頭ＬＢＡ）が、ＬＤＥＶプール６８の論理記憶領域（例えば論理先頭ＬＢＡ）に対応付けられているか否かを判断する（Ｓ６０１）。
【０１４０】
Ｓ６０１の判断の結果、肯定的な結果が得られた場合（Ｓ５１０でＹＥＳ）、ＣＨＰ１１９は、キャッシュ領域確保済みでなければ（Ｓ６０２でＮＯ）、図６を参照して説明した処理を行って、ＬＤＥＶプール６８における空き論理記憶領域から、リード要求に含まれた仮想記憶領域と同サイズの論理記憶領域を確保し、その論理記憶領域を仮想記憶領域に対応付ける（Ｓ６０３）。また、ＣＨＰ１１９は、確保した論理記憶領域と同サイズのキャッシュ領域をＣＭ１３０上に確保する（Ｓ６０４）。
【０１４１】
Ｓ６０２において、ＣＨＰ１１９は、キャッシュ領域確保済みであれば（Ｓ６０２でＹＥＳ）、以下のＳ６０５を行う。
【０１４２】
Ｓ６０２でＹＥＳの後又はＳ６０４の後、ＣＨＰ１１９は、ＤＰＴ８００に書かれている全部又は一部のデータパターン（例えば、リード要求で指定された仮想ＬＤＥＶ６１ｃに対応したデータパターンのみ）を読出し、その読み出したデータパターンをデータチェック回路６７にセットして、データチェック回路６７を起動する（Ｓ６０５）。次に、ＣＨＰ１１９は、確保されているキャッシュ領域からデータを読出し、そのデータをホスト端末２００Ｃに転送する（Ｓ６０６）。
【０１４３】
また、このＳ６０６において、データチェック回路６７は、ＣＭデータ転送回路７１０から出力されたデータが、Ｓ６０５でセットされたデータパターンに適合するか否かの比較を行う。データチェック回路６７は、データパターン比較結果をレジスタに書き込む。
【０１４４】
ＣＨＰ１１９は、データチェック回路６７のレジスタにアクセスし、そのレジスタに、肯定的なデータ比較結果が書かれていた場合には、Ｓ６０６で転送したデータをＬＤＥＶプールから消去すると共に、仮想記憶領域に割当てられている論理記憶領域を解放する（Ｓ６０８）。このＳ６０８により、何らかの原因でＬＤＥＶプール６８に存在していたライト対象外データが、ＬＤＥＶプール６８から消去される。
【０１４５】
その後、ＣＨＰ１１９は、確保されているキャッシュ領域を解放する（Ｓ６０９）。
【０１４６】
Ｓ６０１の判断の結果、否定的な結果が得られた場合（Ｓ６０１でＹＥＳ）、すなわち、ＣＨＰ１１９は、論理記憶領域が割当てられていない仮想記憶領域に対するリード要求を受けた場合、ＤＰＴ８００に書かれている全部又は一部のデータパターン（例えば、リード要求で指定された仮想ＬＤＥＶ６１ｃに対応したデータパターンのみ）を読出し、その読み出したデータパターンをホスト端末２００Ｃに通知する（Ｓ６１０）。
【０１４７】
以上、上述した第一具体例によれば、チャネル制御部１１０Ｃは、ホスト端末２００Ｃからライト要求を受けた場合、そのライト要求に含まれているホストデータのデータパターンが、予め登録されている１又は複数のデータパターン（ライト対象外データのデータパターン）のいずれかに適合するか否かを比較し、その比較結果が肯定的であれば、そのホストデータをＬＤＥＶに格納せずに消去する。また、チャネル制御部１１０Ｃは、ホスト端末２００Ｃからリード要求を受けた場合、ＬＤＥＶからリードされたデータ（ホスト端末２００Ｃに転送されるデータ）のデータパターンが、予め登録されている１又は複数のデータパターン（ライト対象外データのデータパターン）のいずれかに適合するか否かを比較し、その比較結果が肯定的であれば、そのリードされたデータをＬＤＥＶから消去する。これにより、ＬＤＥＶにより多くの空き記憶領域を作ることができる。
【０１４８】
（２）本実施形態の第二具体例。
【０１４９】
図１４は、第二具体例を説明するための図である。図１５は、この第二具体例において、ホスト端末２００Ｃからライト要求を受信した場合の処理フローを示す。以下、両図を参照して第二具体例について説明する。
【０１５０】
例えば、ディスク型記憶装置３００における記憶領域を割当てる単位が、ＬＤＥＶを構成する論理チャンクである。論理チャンク（及び仮想チャンク）の記憶容量は、ＬＤＥＶにおける１ブロックをＮバイト（Ｎは自然数）とした場合、Ｍ×Ｎバイトである（Ｍは自然数）。例えば、Ｎ＝５１２、Ｍ＝１２８とした場合、論理チャンクの記憶容量は６４キロバイト（ＫＢ）である。
【０１５１】
そして、この第二具体例では、ホストから受信するホストデータのデータサイズは、論理チャンクの記憶容量の約数（つまりその記憶容量未満）、例えば論理チャンクの記憶容量の４分の１であるとする。具体的には、例えば、論理チャンク４１０ｂの記憶容量が６４ＫＢ１６である場合に、１６ＫＢのホストデータ６１０を受信するとする。そして、ＤＰＴ８００に登録されるライト対象外データのデータパターンのデータサイズは、論理チャンクの記憶容量未満、例えば５１２Ｂであるとする。
【０１５２】
この場合であっても、チャネル制御部１１０Ｃのデータチェック回路６７は、図１２のＳ５１０〜Ｓ５５０の処理を行なって、１６ＫＢのホストデータ６１０と、５１２Ｂのライト対象外データパターンとの比較を行う。この場合、ホストデータ６１０のデータサイズは、論理チャンクの記憶容量未満であるが、そのデータ６０１を構成する全ての５１２Ｂ部分がライト対象外データパターンに適合すれば、データパターン比較の比較結果として肯定的な結果がデータチェック回路６７のレジスタ６０２に書かれる。
【０１５３】
ＣＨＰ１１９は、レジスタ６０２を参照して肯定的な比較結果（すなわち、ホストデータ６１０がライト対象外データパターンに適合した旨）を得た場合（図１５のＳ５６０でＹＥＳ）、受信したホストデータ６１０のデータサイズが論理チャンクの記憶容量未満であるか否かの判別を行う（Ｓ５６０Ａ）。
【０１５４】
Ｓ５６０Ａの判別の結果、肯定的な判別結果が得られた場合（Ｓ５６０ＡでＹＥＳ）、ＣＨＰ１１９は、この処理フローを終了し、一方、否定的な判別結果が得られた場合（Ｓ５６０でＮＯ）、Ｓ５７０〜Ｓ５８０の処理を行う。
【０１５５】
このように、ホストデータのデータサイズが、論理チャンクの記憶容量未満である場合、データパターン比較結果が肯定的であっても、論理チャンク４１０ｂに書き込まれることになる。このようなことが繰り返されると、論理チャンク４１０ｂ一杯にホストデータが書き込まれた結果、論理チャンク４１０ｂ全体には、一定のデータパターンを有するホストデータの集合が存在することになる。具体的には、例えば、４つの１６ＫＢホストデータをそれぞれ有する４つのライト要求を受けた場合、全てのホストデータについて肯定的なデータ比較結果が得られても、全てのホストデータ（つまりデータパターン適合ホストデータ）が論理チャンク４１０ｂに書き込まれて、６４ＫＢの記憶容量を有する論理チャンク４１０は、４つの１６ＫＢホストデータで満たされる。
【０１５６】
図１４に示すように、ホストデータがＬＤＥＶから読み出される場合、ホストデータは論理チャンク単位で読み出される。このため、上述のように、１つの論理チャンクに、複数のデータパターン適合ホストデータが存在する場合、複数のデータパターン適合ホストデータから成るデータグループが１つのホストデータとして読み出される。
【０１５７】
データチェック回路６７は、読み出されたホストデータについても、データパターン比較を行い、その比較結果をレジスタ６０２に書き込む。ＣＨＰ１１９は、論理チャンク４１０ｂから読み出されたホストデータについて、レジスタ６０２から肯定的なデータパターン比較結果を取得した場合、その論理チャンク４１０ｂ内のホストデータを消去して、その論理チャンク４１０ｂを空き論理チャンク４１０ｂとする。これにより、ＬＤＥＶプール６８に存在するその論理チャンク４１０ｂは、空き論理チャンク４１０ｂとなり、動的に仮想チャンク４１０ｃに対応付けることが可能になる。
【０１５８】
なお、論理チャンク単位でホストデータを読み出す契機としては、例えば、ホスト端末２００Ｃからリード要求を受けた場合、ホスト端末２００Ｃからのライト要求で指定された論理チャンク内のスナップショットを作成する場合、各論理チャンク内のホストデータを使用してパリティデータを生成する場合等がある。
【０１５９】
この第二具体例によれば、論理チャンクにデータパターンが一定のホストデータが存在してもそれを無くすことができる。
【０１６０】
（３）本実施形態の第三具体例。
【０１６１】
第三具体例では、データチェック回路６７がディスク制御部にある。
【０１６２】
図１６は、第三具体例に係るディスク制御部１４０Ａの構成例を示す。ディスク制御部１４０Ａ〜１４０Ｄは実質的にどれも同じ構成なので、ディスク制御部１４０Ａを代表的に例に採り説明する。
【０１６３】
ディスク制御部１４０Ａは、ユニット化されたボード（例えばディスクアダプタ）として形成されている。このディスク制御部１４０Ａは、図示しないボード接続用コネクタを備えており、そのボード接続用コネクタが記憶制御装置１００の所定コネクタに嵌合することにより、ディスク制御部１４０Ａは記憶制御装置１００と電気的に接続される。ディスク制御部１４０Ａには、ディスクインターフェース部（以下、「ディスクＩ／Ｆ」と略記）１４１、ディスク側メモリ１１５、１又は複数の入出力制御部５９１、ＳＶＰインターフェース部（以下、「ＳＶＰＩ／Ｆ」と略記）５０、ＣＭデータ転送回路７１３及びＳＭデータ転送回路７４１が搭載されている。
【０１６４】
ディスクＩ／Ｆ７１１は、ディスク型記憶装置３００との間で通信を行うための通信インタフェースであり、例えば、ＳＡＮ等の通信ネットワークを介してディスク型記憶装置３００に接続される。
【０１６５】
１又は複数の入出力制御部５９１の各々は、ホスト端末２００Ａ〜２００Ｄから受信したＩ／Ｏ要求に基づいて行われる処理を制御するものであり、例えばマイクロプロセッサユニットである。入出力制御部５９１には、例えば、ＤＫＰ１２３やＤＫＰメモリ１２２が搭載される。
【０１６６】
ＤＫＰ１２３は、例えば、マイクロプロセッサであり、ディスク制御部１４０全体の制御を司ると共に、チャネル制御部１１０Ａ〜１１０Ｄや、ディスク型記憶装置３００や、ＳＶＰ１６０との間の通信を制御する。ＤＫＰ１２３は、ＤＫＰメモリ１２２（又はディスク側メモリ１１５）に格納された各種コンピュータプログラムを実行することにより、ディスク制御部１４０Ａとしての機能を発揮する。ディスク制御部１４０Ａが発揮する機能としては、例えば、ＲＡＩＤレベルに基づくディスク型記憶装置３００へのデータ格納及び読み出し制御や、ディスク型記憶デバイス３００に記憶されたデータの複製及びバックアップ等の制御である。
【０１６７】
ＤＫＰメモリ１２２は、揮発性又は不揮発性のメモリ（例えばＮＶＲＡＭ（Non Volatile RAM））であり、例えば、ＤＫＰ１２３の制御を司るコンピュータプログラムを格納する。ＤＫＰメモリ１２２に記憶されるプログラムの内容は、例えば、ＳＶＰ１６０や、後述するＮＡＳマネージャ８０６からの指示により書き込みや書き換えを行うことができる。
【０１６８】
ＳＶＰＩ／Ｆ５０は、内部ＬＡＮ１５０等の通信ネットワークを介してＳＶＰ１６０に接続され、且つ、ＤＫＰ１２３に接続される。ＳＶＰＩ／Ｆ５０は、ＳＶＰ１６０とＤＫＰ１２３との間の通信を制御するための通信インタフェース（例えばＬＡＮコントローラ）である。
【０１６９】
ＣＭデータ転送回路７１３は、例えば、ＤＫＰ１２３の制御の下で、ＣＭ１３０からユーザデータを受信してディスク側メモリ１１５に転送したり、ディスク型記憶装置３００から取得されたユーザデータをＣＭ７１３に転送したりする。
【０１７０】
ＳＭデータ転送回路７４１は、例えば、ＤＫＰ１２３の制御の下で、ＤＫＰ１２３からＣＨＰ（チャネルプロセッサ）への制御情報（例えばプロセッサ間メッセージ）をＳＭ１２０に転送したり、ＳＭ１２０から受信した制御情報をＤＫＰ１２３に転送したりする。
【０１７１】
ディスク側メモリ１１５は、揮発性又は不揮発性のメモリであり、例えば、ユーザデータを一時的に記憶したり、ＤＫＰ１２３によって読み出された１又は複数のライト対象外データパターンを記憶したりする。
【０１７２】
この第三具体例では、上述したデータチェック回路６７は、ＣＭ１３０とＣＭデータ転送回路７１３との間に設けられるが、そこに限らずディスク制御部１４０Ａ上の別の場所に設けられても良い。
【０１７３】
この第三具体例では、ＤＫＰ１２３は、ホストデータのデーパターンとライト対象外データパターンとの比較結果に基づく処理において、ＣＨＰ１１９と同様の処理を行う。
【０１７４】
例えば、データチェック回路６７が、ディスク型記憶装置３００に出力された（又はディスク型記憶装置３００から読み出された）ホストデータのデータパターンが、ディスク側メモリ１１５に登録されたライト対象外データパターンに適合するか否かの比較を行い、比較結果を図示しないレジスタに書き込む。ＤＫＰ１２３は、そのレジスタから肯定的なデータパターン比較結果を取得した場合、そのホストデータを消去する。
【０１７５】
なお、この第三具体例のように、データチェック回路６７がディスク制御部１４０Ａに搭載されている場合、更に、以下の処理を実行することができる。
【０１７６】
（Ａ）コレクションリードが行われる場合。
【０１７７】
コレクションリードとは、ディスク制御部が一台のディスク型記憶装置３００にアクセス不可能になった場合に、同じRAIDグループ２の他の複数のディスク型記憶装置３００がそれぞれ有する複数の論理チャンクからデータを読み出すことである。この場合、ディスク制御部１４０Ａは、複数の論理チャンクからそれぞれ読み出された複数のデータの排他的ORを取り、データをリストアすることができる。このコレクションリードにおいて論理チャンクからデータを読み出した場合に、ＬＤＥＶプールの論理記憶領域の解放処理を実行する。
【０１７８】
この第三具体例によれば、ディスク制御部１４０Ａ〜１４０Ｄにおいて、データパターンの比較及びそれの比較結果に基づく処理が行われる。
【０１７９】
（Ｂ）ドライブコピーが行われる場合。
【０１８０】
ドライブコピーとは、一台のディスク型記憶装置３００の故障が予見される場合に、そのディスク型記憶装置３００内のデータを、スペアのディスク型記憶装置３００にコピーすることである。この場合、ディスク制御部１４０Ａは、故障が予見されるディスク型記憶装置３００上の論理チャンク４１０ｂ内のデータを読み出し、その場合、ＬＤＥＶプール６８における論理記憶領域の解放処理を実行する。
【０１８１】
（４）本実施形態の第四具体例。
【０１８２】
第四具体例は、通常ＬＵと仮想ＬＵが混在する場合の例である。
【０１８３】
図１７は、この第四具体例において、ライト要求をホスト端末１１０Ｃから受信した場合のチャネル制御部１１０Ｃの処理フローを示す。
【０１８４】
チャネル制御部１１０Ｃは、ホスト端末２００Ｃから受信したライト要求が仮想ＬＵ３１０Ｃに対するものか否かを判別する（Ｓ５００）。
【０１８５】
Ｓ５００の判別の結果、肯定的な判別結果が得られた場合（Ｓ５００でＹＥＳ）、チャネル制御部１１０Ｃは、図１２を参照して説明したＳ５１０〜Ｓ５８０の処理を実行する。
【０１８６】
一方、Ｓ５００の判別の結果、否定的な判別結果が得られた場合（Ｓ５００でＮＯ）、換言すれば、ライト要求が通常ＬＵに対するものであると判断だれた場合、チャネル制御部１１０ＣのＣＨＰ１１９は、ＣＭ１３０上に、ホストデータを格納できるだけのキャッシュ領域を確保する（Ｓ５９０）。そして、ＣＨＰ１１９は、確保したキャッシュ領域にホストデータを格納する（Ｓ５９１）。
【０１８７】
図１８は、この第四具体例において、リード要求をホスト端末１１０Ｃから受信した場合のチャネル制御部１１０Ｃの処理フローを示す。
【０１８８】
チャネル制御部１１０Ｃは、ホスト端末２００Ｃから受信したリード要求が仮想ＬＵ３１０Ｃに対するものか否かを判別する（Ｓ６００）。
【０１８９】
Ｓ６００の判別の結果、肯定的な判別結果が得られた場合（Ｓ６００でＹＥＳ）、チャネル制御部１１０Ｃは、図１３を参照して説明したＳ６０１〜Ｓ６１０の処理を実行する。
【０１９０】
一方、Ｓ６００の判別の結果、否定的な判別結果が得られた場合（Ｓ６００でＮＯ）、換言すれば、リード要求が通常ＬＵに対するものであると判断だれた場合、チャネル制御部１１０ＣのＣＨＰ１１９は、ＣＭ１３０上に、ホストデータを格納できるだけのキャッシュ領域が確保されているか否かを判別する（Ｓ６１１）。ＣＨＰ１１９は、キャッシュ領域済みであれば（Ｓ６１１でＹＥＳ）、そのキャッシュ領域にホストデータを格納させるようディスク制御部に命令し（Ｓ６１３）、一方、キャッシュ領域確保済みでなければ（Ｓ６１１でＮＯ）、キャッシュ領域を確保して（Ｓ６１２）、Ｓ６１３を実行する。その後、ＣＨＰ１１９は、キャッシュ領域からホストデータをホスト端末２００Ｃに転送する（Ｓ６１４）。
【０１９１】
この第四具体例によれば、Ｉ／Ｏ要求の発行先が通常ＬＵが仮想ＬＵかに基づく処理が実行される。
【０１９２】
（５）本実施形態の第五具体例。
【０１９３】
図１９は、第五具体例に係る構成及び処理流れを示す。
【０１９４】
第五具体例において、ホスト端末２００Ｃの制御部３２３（ＯＳ４７２）は、システム情報要求コマンドを送信する（Ｓ７０１）。このシステム情報要求コマンドとは、例えば、ＳＣＳＩプロトコルに従うInquiryコマンド又はデバイスディスカバリーコマンドである。制御部３２３は、例えば、ホスト端末２００Ｃの電源がターンオンされた場合、又はＯＳ４７２が再起動する場合に、Inquiryコマンドを送信する。また、例えば、制御部３２３は、ホスト端末２００Ｃの電源がターンオンされた場合、又は、ユーザからユーザインターフェース４７４を介して所定の指示を受けた場合、デバイスディスカバリーコマンドを送信する。
【０１９５】
システム情報要求コマンドを受信したチャネル制御部１１０Ｃは、ＳＭ１２０に登録されているＬＵ−ＬＤＥＶ管理テーブル１６２ｂからシステム情報を取得し、そのシステム情報をホスト端末２００Ｃに送信する。ホスト端末２００Ｃに送信されたシステム情報は、ホスト端末２００Ｃのメモリ３２１に登録される。システム情報とは、例えば、各ＬＵＮに対応付けられた情報であり、少なくとも、そのＬＵＮに対応付けられたＬＤＥＶ属性を含んでいる。
【０１９６】
制御部３２３は、Ｉ／Ｏ要求をチャネル制御部１１０Ｃに送信する場合、メモリ３２１に登録されたシステム情報に含まれているＬＤＥＶ属性に基づいて、通常ＬＵ３１０Ｂと仮想ＬＵ３１０ＣのどちらにＩ／Ｏ要求を発行するのかを選択する（Ｓ７０３）。
【０１９７】
具体的には、例えば、制御部３２３は、メモリ３２１に登録されたＬＤＥＶ属性に基づいて、ホスト端末２００Ｃがアクセス可能な複数のＬＵの属性を表示し、ユーザにどのＬＵにＩ／Ｏ要求を発行するかを選択させ、ユーザに選択されたＬＵを、Ｉ／Ｏ要求発行先のＬＵとして選択しても良い。また、例えば、制御部３２３は、メモリ３２１等に予め記憶されているホストデータ属性（例えばホストデータのメタデータ）を参照して、書込み対象又は読出し対象のホストデータのデータ属性を把握し、そのデータ属性と、ＬＤＥＶ属性とに基づいて、通常ＬＵ３１０Ｂと仮想ＬＵ３１０ＣのどちらにＩ／Ｏ要求を発行するのかを自動で選択しても良い。より具体的には、例えば、制御部３２３は、高い信頼性が求められるホストデータの場合には、通常ＬＵ３１０Ｂを選択し、高速なデータアクセスが求められるホストデータの場合には、仮想ＬＵ３１０Ｃを選択する。
【０１９８】
制御部３２３は、Ｓ７０３において選択されたＬＵに対して、Ｉ／Ｏ要求を送信する（Ｓ７０４）。
【０１９９】
この第五具体例によれば、ホスト端末２００Ｃが、どれが通常ＬＵでどれが仮想ＬＵであるかを識別して、通常ＬＵと仮想ＬＵとの選択をすることができる。
【０２００】
（６）本実施形態の第六具体例。
【０２０１】
図２０は、第六具体例に関わる構成及び処理流れを示す。
【０２０２】
記憶制御装置１００は、２つのＬＵから成るＬＵペアを形成し、一方のＬＵをプライマリＬＵ３１０Ｐ、他方のＬＵをセカンダリＬＵ３１０Ｓとして、プライマリＬＵ３１０Ｐ内のデータをセカンダリＬＵ３１０Ｓにコピーするスナップショットを行うようになっている。
【０２０３】
具体的には、例えば、記憶制御装置１００は、外部端末（例えばＳＶＰ１６０）からの要求に手動で、又は、ライト要求を示すＩ／Ｏ要求を受領した場合（Ｓ５１）に自動で、通常ＬＵ３１０ＡをプライマリＬＵ３１０Ｐとし、仮想ＬＵ３１０ＣをセカンダリＬＵ３１０ＳとしたＬＵペアを形成する。
【０２０４】
その後、記憶制御装置１００は、受領したライト要求から、通常ＬＵ３１０Ａにおける書込み先チャンク（例えば先頭ＬＢＡ）４１０Ｐを特定する（Ｓ５２）。そして、記憶制御装置１００は、特定されたチャンク４１０Ｐ内の一部のデータ（斜線で示した部分）しか更新されなくても、そのチャンク４１０Ｐ内の全てのデータを読み出す（Ｓ５３）。
【０２０５】
その際、記憶制御装置１００内のデータチェック回路６７が、そのデータが、ライト対象外データパターンに適合するか否かの比較を行う（Ｓ５４）。
【０２０６】
その比較の結果、否定的な比較結果が得られた場合、記憶制御装置１００は、そのデータを、仮想ＬＵ３１０Ｃに書き込む（Ｓ５５）。具体的には、記憶制御装置１００は、前述したように、仮想ＬＵ３１０Ｃ内の仮想チャンク４１０Ｓと、ＬＤＥＶプール６８内の論理チャンクとを動的に対応付けて、そのデータを、仮想チャンク４１０Ｓに対応付けられたＬＤＥＶチャンクに書き込む。
【０２０７】
このようにして、スナップショットを作成した後、記憶制御装置１００は、上記特定されたチャンク４１０Ｐに、Ｓ５１で受領したライト要求に含まれているデータを書き込む（Ｓ５６）。
【０２０８】
一方、Ｓ５４の比較結果として、否定的な比較結果が得られた場合、記憶制御装置１００は、Ｓ５３で読み出されたデータを消去する（Ｓ５７）。
【０２０９】
なお、上記流れにおいて、記憶制御装置１００は、ＬＵペアを形成しようとする場合、ＬＵ−ＬＤＥＶ管理テーブル１６２ｂを参照し、プライマリＬＵ３１０ＰとセカンダリＬＵ３１０Ｓとの記憶容量値が一致した場合にのみＬＵペアを形成し、それらが一致しない場合、ＬＵペアの形成を拒否しても良い。
【０２１０】
プライマリＬＵ３１０ＰとセカンダリＬＵ３１０Ｓとの記憶容量値が同一でないとＬＵペアが形成されないようになっている場合、プライマリＬＵ３１０Ｐの記憶容量が大容量であると、セコンダリＬＵ３１０Ｓの記憶容量も大容量である必要がある。しかし、スナップショット作成では、プライマリＬＵ３１０ＰからセコンダリＬＵ３１０Ｓにコピーするデータサイズが、プライマリＬＵ３１０Ｐの容量よりも小さい場合がある。それにもかかわらず、大容量の通常ＬＵ３１０ＡをセコンダリＬＵ３１０Ｓとしてしまうと、大量の無駄な空き記憶領域が生じてしまうことが考えられる。
【０２１１】
しかし、以上のように、スナップショットの作成において、セカンダリＬＵ３１０Ｓを仮想ＬＵ３１０ＣとしてＬＵペアを形成することにより、その仮想ＬＵ３１０Ｃに対応付けられ得るＬＤＥＶプール６８の空き領域は動的に別の仮想ＬＵ３１０Ｃに対応付けられるようになっているので、無駄に空き記憶領域が生じてしまうことを防ぐことができる。
【０２１２】
図２１は、第六具体例に関わる具体的な処理流れを示す。
【０２１３】
例えば、記憶制御サブシステム１０２におけるメモリ（例えばＳＭ１２０）には、各ＬＵ（又は各ＬＤＥＶ）毎にスナップショット管理ビットマップ７９４が登録されている。スナップショット管理ビットマップ７９４には、対応するＬＵ（又はＬＤＥＶ）の各チャンク毎に、スナップショット済みか否かを示す情報（例えば１か０）が登録されている。
【０２１４】
チャネル制御部１１０ＣのＣＨＰ１１９は、ライト要求を受信した場合、ライト要求の対象であるプライマリＬＵ３１０Ｐに対応したスナップショット管理ビットマップ７９４を参照し、データが書き込まれる論理チャンクについてスナップショット作成済みか否かを判別する（Ｓ６５１）。
【０２１５】
Ｓ６５１の結果、スナップショット作成済みであれば（Ｓ６５１でＹＥＳ）、ＣＨＰ１１９は、ライト要求に含まれるホストデータを、プライマリＬＵ３１０Ｐの論理チャンク４１０Ｐに格納する（Ｓ６６０）。
【０２１６】
一方、Ｓ６５１の結果、スナップショット作成済みでなければ（Ｓ６５１でＮＯ）、ＣＨＰ１１９は、コピー元（例えば論理チャンク４１０Ｐ）のキャッシュ領域を確保し、そのコピー元のデータをキャッシュ領域に格納する（Ｓ６５３）。
【０２１７】
その後、ＣＨＰ１１９は、コピー先（例えば仮想チャンク４１０Ｓ）のキャッシュ領域を確保すると共に（Ｓ６５４）、データチェック回路６７を起動して、そのキャッシュ領域内のデータをコピー先に格納する（Ｓ６５６）。
【０２１８】
その際、データチェック回路６７は、コピー元からコピー先に格納されるデータのデータパターンが、ライト対象外データパターンに適合するか否かの比較を行う。
【０２１９】
もし、否定的な比較結果が得られたならば（Ｓ６５７でＮＯ）、ＣＨＰ１１９は、上述したＳ６６０を実行する。
【０２２０】
一方、もし、肯定的な比較結果が得られたならば（Ｓ６５７でＹＥＳ）、ＣＨＰ１１９は、コピー先のために確保したキャッシュ領域を破棄すると共に、コピー先へ格納したデータを消去する（Ｓ６５８）。また、ＣＨＰ１１９は、スナップショット管理ビットマップ７９４にアクセスし、コピー元に対応する情報を、スナップショット取得済みに更新する（Ｓ６５９）。
【０２２１】
以上、本発明の実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、上述の説明では、データチェック回路６７によるデータパターン比較は、仮想ＬＵ３１０Ｃ（仮想ＬＤＥＶ６１ｃ）に格納されるデータに対してのみ行われるが、それに限らず、通常ＬＵ３１０Ａ、３１０Ｂ（通常ＬＤＥＶ６１ａ）に格納されるデータに対しても行われても良い（すなわち、例えばその比較で肯定的な結果が得られた場合、そのデータは通常ＬＤＥＶに格納されること無く又は格納された後に消去されても良い）。また、例えば、仮想ＬＵ同士のペアが形成された後に、スナップショットの作成が行われても良い（すなわち、１又は複数のＬＤＥＶプール６８における論理チャンク同士でデータコピーが行われても良い）。また、例えば、仮想ＬＵがプライマリＬＵとなり、通常ＬＵがセカンダリＬＵになっても良い。
【符号の説明】
【０２２２】
１…記憶システム、２…ＲＡＩＤグループ、１０…基本筐体、１２…増設筐体、１００…記憶制御装置、１０１…記憶装置ユニット、１０２…記憶制御サブシステム、１１０Ａ〜１１０Ｄ…チャネル制御部、１２０…共有メモリ、１３０…キャッシュメモリ、１４０Ａ〜１４０Ｄ…ディスク制御部、１６０…保守用端末、２００Ａ〜２００Ｄ…ホスト端末、３００…ディスク型記憶装置、３１０…論理ユニット、６００…記憶制御システム
【図１】
2010257477.tif 000003
【図２】
2010257477.tif 000004
【図３】
2010257477.tif 000005
【図４】
2010257477.tif 000006
【図５】
2010257477.tif 000007
【図６】
2010257477.tif 000008
【図７】
2010257477.tif 000009
【図８】
2010257477.tif 000010
【図９】
2010257477.tif 000011
【図１０】
2010257477.tif 000012
【図１１】
2010257477.tif 000013
【図１２】
2010257477.tif 000014
【図１３】
2010257477.tif 000015
【図１４】
2010257477.tif 000016
【図１５】
2010257477.tif 000017
【図１６】
2010257477.tif 000018
【図１７】
2010257477.tif 000019
【図１８】
2010257477.tif 000020
【図１９】
2010257477.tif 000021
【図２０】
2010257477.tif 000022
【図２１】
2010257477.tif 000023
【手続補正書】
【提出日】平成22年6月21日(2010.6.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の記憶装置と、
複数の仮想記憶領域を含む仮想論理デバイスをホストコンピュータに提供し、複数の記憶装置に関連する複数の論理記憶領域を含むプールを管理する、制御部と、を有し、
前記仮想論理デバイスへデータの書き込みを要求するライトコマンドの受信に応じて、前記制御部は前記仮想論理デバイスへ前記データを書き込むために前記複数の論理記憶領域に含まれる論理記憶領域を前記仮想論理デバイスへ割り当て、
前記制御部は前記割り当てられた論理記憶領域を前記仮想論理デバイスの仮想記憶領域から解放する、ことを特徴とするストレージシステム。
【請求項２】
前記論理記憶領域の割り当てが解放された前記仮想記憶領域からデータの読み出しを要求するリードコマンドの受信に応じて、前記制御部はデータパターンを前記ホストコンピュータに送信する、ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
さらに、前記複数の仮想記憶領域と、前記複数の仮想記憶領域に割り当てられる論理記憶領域とを対応付ける第１情報を有し、
前記制御部は前記割り当てられた論理記憶領域を前記仮想論理デバイスの仮想記憶領域から解放する際、前記第１情報から前記仮想記憶領域に割り当てられた前記論理記憶領域を削除する、ことを特徴とする請求項２に記載のストレージ装置。
【請求項４】
前記解放された論理記憶領域は、前記仮想論理デバイスに含まれるいずれかの仮想記憶領域に新たに割りあてることができる、ことを特徴とする請求項３に記載のストレージ装置。
【請求項５】
さらに、前記複数の仮想記憶領域のいずれにも割り当てられていない論理記憶領域を示す第２情報を有し、
前記制御部は前記割り当てられた論理記憶領域を前記仮想論理デバイスの仮想記憶領域から解放する際、前記解放された論理記憶領域を新たに前記仮想論理デバイスに割り当てることができるように、前記解放された論理記憶領域を前記第２情報に格納する、ことを特徴とする請求項４に記載のストレージ装置。
【請求項６】
さらに、前記データパターンを格納するメモリを有する、ことを特徴とする請求項２に記載のストレージシステム。
【請求項７】
前記複数の仮想記憶領域は一定サイズである、ことを特徴とする請求項５に記載のストレージ装置。
【請求項８】
前記第１情報は動的アドレッシングテーブルであり、前記第２情報はプールマネージメントテーブルである、前記第３情報はデータパターンテーブルであることを特徴とする請求項５に記載のストレージ装置。
【請求項９】
複数の記憶装置と、
複数の仮想チャンクを含む仮想論理デバイスをホストコンピュータに提供し、複数の記憶装置に関連する複数の論理チャンクを含むプールを管理する、制御部と、を有し、
前記仮想論理デバイスへデータの書き込みを要求するライトコマンドの受信に応じて、前記制御部は前記仮想論理デバイスへ前記データを書き込むために論理チャンクを前記仮想論理デバイスへ割り当て、
前記制御部は前記割り当てられた論理チャンクを前記仮想論理デバイスの仮想チャンクから解放する、ことを特徴とするストレージシステム。
【請求項１０】
前記論理チャンクの割り当てが解放された前記仮想チャンクからデータの読み出しを要求するリードコマンドの受信に応じて、前記制御部はデータパターンを前記ホストコンピュータに送信する、ことを特徴とする請求項９に記載のストレージシステム。
【請求項１１】
複数の記憶装置と制御部を含むストレージシステムにおける制御方法であって、前記制御部は、
複数の仮想記憶領域を含む仮想論理デバイスをホストコンピュータに提供し、
複数の記憶装置に関連する複数の論理記憶領域を含むプールを管理し、
前記仮想論理デバイスへデータの書き込みを要求するライトコマンドの受信に応じて、前記仮想論理デバイスへ前記データを書き込むために前記複数の論理記憶領域に含まれる論理記憶領域を前記仮想論理デバイスへ割り当て、
前記割り当てられた論理記憶領域を前記仮想論理デバイスの仮想記憶領域から解放する、
ことを特徴とする制御方法。
【請求項１２】
前記制御部は、さらに、前記論理記憶領域の割り当てが解放された前記仮想記憶領域からデータの読み出しを要求するリードコマンドの受信に応じてデータパターンを前記ホストコンピュータに送信する、ことを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記制御部は、さらに、
前記複数の仮想記憶領域と、前記複数の仮想記憶領域に割り当てられる論理記憶領域とを対応付ける第１情報を有し、
前記割り当てられた論理記憶領域を前記仮想論理デバイスの仮想記憶領域から解放する際、前記第１情報から前記仮想記憶領域に割り当てられた前記論理記憶領域を削除する、ことを特徴とする請求項１２に記載の制御方法。
【請求項１４】
前記制御部は、さらに、前記解放された論理記憶領域を前記仮想論理デバイスに含まれるいずれかの仮想記憶領域に新たに割りあてることができる、ことを特徴とする請求項１３に記載の制御方法。
【請求項１５】
前記制御部は、さらに、前記複数の仮想記憶領域のいずれにも割り当てられていない論理記憶領域を示す第２情報を有し、
前記割り当てられた論理記憶領域を前記仮想論理デバイスの仮想記憶領域から解放する際、前記解放された論理記憶領域を新たに前記仮想論理デバイスに割り当てることができるように、前記解放された論理記憶領域を前記第２情報に格納する、ことを特徴とする請求項１４に記載の制御方法。
【請求項１６】
前記複数の仮想記憶領域は一定サイズとして管理する、ことを特徴とする請求項１５に記載の制御方法。
【請求項１７】
前記第１情報は動的アドレッシングテーブルであり、前記第２情報はプールマネージメントテーブルである、前記第３情報はデータパターンテーブルであることを特徴とする請求項１５に記載の制御方法。
【請求項１８】
複数の記憶装置と、制御部と、を含むストレージシステムの制御方法であって、前記制御部は、
複数の仮想チャンクを含む仮想論理デバイスをホストコンピュータに提供し、
複数の記憶装置に関連する複数の論理チャンクを含むプールを管理し、
前記仮想論理デバイスへデータの書き込みを要求するライトコマンドの受信に応じて、前記制御部は前記仮想論理デバイスへ前記データを書き込むために論理チャンクを前記仮想論理デバイスへ割り当て、
前記制御部は前記割り当てられた論理チャンクを前記仮想論理デバイスの仮想チャンクから解放する、ことを特徴とする制御方法。
【請求項１９】
前記制御部は、前記論理チャンクの割り当てが解放された前記仮想チャンクからデータの読み出しを要求するリードコマンドの受信に応じて、前記制御部はデータパターンを前記ホストコンピュータに送信する、ことを特徴とする請求項１８に記載の制御方法。