(57)【要約】【課題】アクセス性能の劣化を抑制することに貢献すること。【解決手段】ストレージシステムは、制御装置と、ストレージ装置と、を含む。ストレージ装置は、階層化ディスクプールと、物理領域を仮想化した論理ディスクと、入出力制御手段と、を備え、制御装置は、データセットを識別する情報と、仮想アドレスと、論理アドレスと、論理ディスクを識別する情報と、を対応付けた制御装置管理テーブルと、要求を受け付け、当該要求に応じて動作する制御手段と、を備え、制御手段は、書き込み要求に対応する仮想アドレスと、制御装置管理テーブルと、に基づく論理アドレスを取得し、論理アドレスに対応する、データブロックと、データブロックに対応するパリティブロックと、を読み込み、パリティを再計算し、書き込み対象データと、パリティと、を論理アドレスに書き込む。【選択図】図１
2015191443.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と、前記制御装置と接続する１又は２以上のストレージ装置と、を含むストレージシステムであって、
前記ストレージ装置は、
１又は２以上の物理領域を含む階層化ディスクプールと、
前記物理領域を仮想化した論理ディスクと、
を備え、
前記制御装置は、
１又は２以上の前記論理ディスクを割り当てられた仮想ディスクと、
要求を受け付け、当該要求に応じて動作する制御手段と、を備え、
前記制御手段は、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けると、前記第１の論理アドレスに対応する第１のデータ領域を、前記第１のデータ領域を含む第１の前記物理領域から、前記第１の物理領域より容量コストが低い第２の前記物理領域に移動し、
第１のデータブロックが前記第１の論理アドレスを含み、第１のデータセットが、前記第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含み、前記第２のデータブロックが第２の論理アドレスを含む場合、
前記制御手段は、前記第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けると、前記第２のデータブロックと、前記第１のデータセットにおけるパリティブロックと、を読み込み、パリティを再計算し、前記第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む、ストレージシステム。
【請求項２】
前記ストレージ装置は、前記論理ディスクを識別する情報と、前記物理領域を識別する情報と、論理アドレスと、優先度とを対応付けた論理アドレス管理テーブルをさらに備え、
前記入出力制御手段は、前記解放要求を受け付けた仮想アドレスに対応する、論理アドレスを取得し、当該論理アドレスに対応付けられた第１の優先度より低い、第２の優先度と、当該論理アドレスと、を対応付けて、前記論理アドレス管理テーブルを更新する、請求項１に記載のストレージシステム。
【請求項３】
前記ストレージ装置は、前記優先度と、前記優先度に対応するデータの格納先とを対応付けたデータ格納ポリシテーブルをさらに備える、請求項２に記載のストレージシステム。
【請求項４】
前記制御装置は、解放要求を受けた前記仮想アドレスが登録された解放領域管理テーブルをさらに備え、
前記制御手段は、解放要求を受け付けた場合、当該解放要求に対応する仮想アドレスに基づいて、当該仮想アドレスに対応する論理アドレスに対して、前記優先度の変更を要求し、前記解放要求に対応する仮想アドレスを、前記解放領域管理テーブルに登録する、請求項３に記載のストレージシステム。
【請求項５】
前記制御手段は、読み込み要求を受け付けた場合、当該読み込み要求に対応する仮想アドレスが、前記解放領域管理テーブルに登録されている場合、当該仮想アドレスに対応する論理アドレスからデータを読み込まず、当該仮想アドレスが、前記解放領域管理テーブルに登録されていない場合、当該仮想アドレスに対応する論理アドレスから、データを読み込む、請求項４に記載のストレージシステム。
【請求項６】
１又は２以上の論理ディスクを割り当てられた、仮想ディスクと、
要求を受け付け、当該要求に応じて動作する制御手段と、を備え、
前記制御手段は、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けると、前記第１の論理アドレスに対応する第１のデータ領域を、前記第１のデータ領域を含む第１の前記物理領域から、前記第１の物理領域より容量コストが低い第２の前記物理領域に移動し、
第１のデータブロックが前記第１の論理アドレスを含み、第１のデータセットが、前記第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含み、前記第２のデータブロックが第２の論理アドレスを含む場合、
前記制御手段は、前記第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けると、前記第２のデータブロックと、前記第１のデータセットにおけるパリティブロックと、を読み込み、パリティを再計算し、前記第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む、制御装置。
【請求項７】
１又は２以上の物理領域を含む階層化ディスクプールと、
前記物理領域を仮想化した論理ディスクと、
前記制御装置からの要求に応じて動作する入出力制御手段と、
前記論理ディスクを識別する情報と、前記物理領域を識別する情報と、前記論理アドレスと、優先度とを対応付けた論理アドレス管理テーブルとを備え、
前記入出力制御手段は、前記制御装置が第１の前記論理アドレスに対応する解放要求を受け付けた場合、前記論理アドレス管理テーブルに基づいて、前記第１の論理アドレスに対応する前記優先度を取得し、取得した当該優先度が、第１の優先度より高い第２の優先度である場合、当該優先度を、前記第１の優先度に変更し、前記論理アドレス管理テーブルに登録する、ストレージ装置。
【請求項８】
要求を受け付け、動作する制御工程を含み、
前記制御工程において、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けると、前記第１の論理アドレスに対応する第１のデータ領域を、前記第１のデータ領域を含む第１の前記物理領域から、前記第１の物理領域より容量コストが低い第２の前記物理領域に移動し、
第１のデータブロックが前記第１の論理アドレスを含み、第１のデータセットが、前記第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含み、前記第２のデータブロックが第２の論理アドレスを含む場合、
前記制御工程において、前記第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けると、前記第２のデータブロックと、前記第１のデータセットにおけるパリティブロックと、を読み込み、パリティを再計算し、前記第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む、入出力制御方法。
【請求項９】
制御装置を制御するコンピュータに実行させるプログラムであって、
要求を受け付け、動作する制御処理を実行し、
前記制御処理において、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けると、前記第１の論理アドレスに対応する第１のデータ領域を、前記第１のデータ領域を含む第１の前記物理領域から、前記第１の物理領域より容量コストが低い第２の前記物理領域に移動し、
第１のデータブロックが前記第１の論理アドレスを含み、第１のデータセットが、前記第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含み、前記第２のデータブロックが第２の論理アドレスを含む場合、
前記制御処理において、前記第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けると、前記第２のデータブロックと、前記第１のデータセットにおけるパリティブロックと、を読み込み、パリティを再計算し、前記第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラムに関する。
【背景技術】
【０００２】
アクセス性能の異なる２以上のストレージ装置と、ストレージ装置を制御する制御装置とを含むストレージシステムを構成する場合がある。そのようなストレージシステムにおいては、データを効率的に格納し、各ストレージ装置を有効に利用することが好ましい。また、そのようなストレージシステムにおいては、ストレージ装置に格納されたデータに、効率的にアクセスすることが好ましい。
【０００３】
そこで、２以上のストレージ装置から割り当てられた論理ディスクを、１又は２以上に分割したデータブロックに分割して、仮想的に１つのディスクとする、ＲＡＩＤ（Redundant Arrays of Independent Disks）技術が普及している。また、ＲＡＩＤを用いてストレージシステムを構成する場合、各データブロックのパリティを計算し、データを保障することが一般的である。
【０００４】
特許文献１においては、２以上のストレージ装置を、一つの仮想的なストレージ装置として、ホストが認識するストレージシステムが記載されている。そして、特許文献１に記載されたストレージシステムにおいては、各ストレージ装置は、所定のポリシ（信頼性、コスト等）に応じてグループ化された、ボリューム群により構成される。そして、特許文献１に記載されたストレージシステムは、ユーザが、グループ単位でボリュームを指定し、データの移動先のストレージを指定すると、データを再配置する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０３３５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【０００７】
上述の通り、特許文献１に記載されたストレージシステムにおいては、効率的にデータの格納、及びアクセス可能であることが好ましい。そこで、適宜、ストレージ装置のデータ領域を解放し、ストレージ装置のアクセス性能を向上させる場合がある。ストレージ装置のデータ領域を解放した場合、そのデータ領域を含むデータブロックのデータ構成が変更されてしまう。そのため、当該データブロックのパリティを再計算する必要が生じる。
【０００８】
ここで、ストレージ装置が、データブロックの一部のデータ領域に対して、解放要求を受け付け、解放要求を受け付けた時に、データブロックのパリティを再計算する場合を考える。その場合、解放要求を受け付けていない領域に対しても、データブロックのパリティの計算のために、入出力処理（Ｉ／Ｏ（Input / Output）処理）が発生する。その結果、ストレージ装置において、計算負荷が不要に増大してしまう恐れがある。その結果、ストレージ装置のアクセス性能を劣化させる恐れがある。
【０００９】
また、所定のサイズのデータ領域が解放されるまで、パリティを再計算することを保留すると、実際のデータ領域と、パリティを用いて保障されるデータ領域と、の不整合が生じる。その結果、解放されたデータ領域に対する入出力処理が発生し、ストレージ装置のアクセス性能を劣化させる恐れがある。
【００１０】
そこで、本発明は、アクセス性能の劣化を抑制することに貢献するストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、制御装置と、前記制御装置と接続する１又は２以上のストレージ装置と、を含むストレージシステムであって、
前記ストレージ装置は、１又は２以上の物理領域を含む階層化ディスクプールと、
前記物理領域を仮想化した論理ディスクと、を備え、
前記制御装置は、１又は２以上の前記論理ディスクを割り当てられた仮想ディスクと、要求を受け付け、当該要求に応じて動作する制御手段と、を備え、前記制御手段は、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けると、前記第１の論理アドレスに対応する第１のデータ領域を、前記第１のデータ領域を含む第１の前記物理領域から、前記第１の物理領域より容量コストが低い第２の前記物理領域に移動し、第１のデータブロックが前記第１の論理アドレスを含み、第１のデータセットが、前記第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含み、前記第２のデータブロックが第２の論理アドレスを含む場合、前記制御手段は、前記第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けると、前記第２のデータブロックと、前記第１のデータセットにおけるパリティブロックと、を読み込み、パリティを再計算し、前記第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む、ストレージシステムが提供される。
【００１２】
本発明の第２の視点によれば、１又は２以上の論理ディスクを割り当てられた、仮想ディスクと、
要求を受け付け、当該要求に応じて動作する制御手段と、を備え、
前記制御手段は、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けると、前記第１の論理アドレスに対応する第１のデータ領域を、前記第１のデータ領域を含む第１の前記物理領域から、前記第１の物理領域より容量コストが低い第２の前記物理領域に移動し、第１のデータブロックが前記第１の論理アドレスを含み、第１のデータセットが、前記第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含み、前記第２のデータブロックが第２の論理アドレスを含む場合、前記制御手段は、前記第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けると、前記第２のデータブロックと、前記第１のデータセットにおけるパリティブロックと、を読み込み、パリティを再計算し、前記第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む、制御装置が提供される。
【００１３】
本発明の第３の視点によれば、制御装置と接続し、１又は２以上の物理領域を含む階層化ディスクプールと、前記物理領域を仮想化した論理ディスクと、前記制御装置からの要求に応じて動作する入出力制御手段と、前記論理ディスクを識別する情報と、前記物理領域を識別する情報と、前記論理アドレスと、優先度とを対応付けた論理アドレス管理テーブルとを備え、前記入出力制御手段は、前記制御装置が第１の前記論理アドレスに対応する解放要求を受け付けた場合、前記論理アドレス管理テーブルに基づいて、前記第１の論理アドレスに対応する前記優先度を取得し、取得した当該優先度が、第１の優先度より高い第２の優先度である場合、当該優先度を、前記第１の優先度に変更し、前記論理アドレス管理テーブルに登録する、ストレージ装置が提供される。
【００１４】
本発明の第４の視点によれば、要求を受け付け、動作する制御工程を含み、前記制御工程において、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けると、前記第１の論理アドレスに対応する第１のデータ領域を、前記第１のデータ領域を含む第１の前記物理領域から、前記第１の物理領域より容量コストが低い第２の前記物理領域に移動し、第１のデータブロックが前記第１の論理アドレスを含み、第１のデータセットが、前記第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含み、前記第２のデータブロックが第２の論理アドレスを含む場合、前記制御工程において、前記第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けると、前記第２のデータブロックと、前記第１のデータセットにおけるパリティブロックと、を読み込み、パリティを再計算し、前記第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む、入出力制御方法が提供される。
なお、本方法は、データの格納先を制御する制御装置という、特定の機械に結び付けられている。
【００１５】
本発明の第５の視点によれば、制御装置を制御するコンピュータに実行させるプログラムであって、要求を受け付け、動作する制御処理を実行し、前記制御処理において、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けると、前記第１の論理アドレスに対応する第１のデータ領域を、前記第１のデータ領域を含む第１の前記物理領域から、前記第１の物理領域より容量コストが低い第２の前記物理領域に移動し、第１のデータブロックが前記第１の論理アドレスを含み、第１のデータセットが、前記第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含み、前記第２のデータブロックが第２の論理アドレスを含む場合、前記制御処理において、前記第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けると、前記第２のデータブロックと、前記第１のデータセットにおけるパリティブロックと、を読み込み、パリティを再計算し、前記第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込むプログラムが提供される。
なお、本プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１６】
本発明の各視点によれば、アクセス性能の劣化を抑制することに貢献するストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラムが提供される。
【図面の簡単な説明】
【００１７】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係るストレージシステム１の全体構成を示すブロック図である。
【図３】ＲＡＩＤ管理テーブル３０の一例を示す図である。
【図４】解放領域管理テーブル３１の一例を示す図である。
【図５】論理アドレス管理テーブル１０の一例を示す図である。
【図６】データ格納ポリシテーブル１１の一例を示す図である。
【図７】ＲＡＩＤ制御手段３２の動作の一例を示すフローチャートである。
【図８】入出力制御手段１２の動作の一例を示すフローチャートである。
【図９】データ格納先確認手段１３の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
初めに、図１を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００１９】
上述の通り、アクセス性能の劣化を抑制することに貢献するとともに、容量コストを低減することに貢献するストレージシステムが望まれる。
【００２０】
そこで、一例として図１に示すストレージシステム１０００を提供する。ストレージシステム１０００は、制御装置１００１と、１又は２以上のストレージ装置１００２とを含む。制御装置１００１は、仮想ディスク１０１１と、制御手段（制御ユニット）１０１２とを備える。ストレージ装置１００２は、階層化ディスクプール１０２１と、論理ディスク１０２２と、を備える。
【００２１】
階層化ディスクプール１０２１は、１又は２以上の物理領域を含む。論理ディスク１０２２は、物理領域を仮想化した記憶領域である。
【００２２】
仮想ディスク１０１１は、１又は２以上の論理ディスク１０２２を割り当てられた記憶領域である。制御手段１０１２は、要求を受け付け、当該要求に応じて動作する。
【００２３】
制御手段１０１２は、第１の論理アドレスに対応する第１の仮想アドレスに対して、解放要求を受け付けるとする。その場合、制御手段１０１２は、第１の論理アドレスに対応する第１のデータ領域を、第１のデータ領域を含む第１の物理領域から、第１の物理領域より容量コストが低い第２の物理領域に移動する。
【００２４】
ここで、第１のデータブロックが第１の論理アドレスを含むとする。また、第１のデータセットが、第１のデータブロック、及び第１のデータブロックと異なる第２のデータブロックを含むとする。また、第２のデータブロックが第２の論理アドレスを含むとする。
【００２５】
制御手段１０１２は、第２の論理アドレスに対応する第２の仮想アドレスに対して、書き込み要求を受け付けるとする。その場合、制御手段１０１２は、第２のデータブロックと、第１のデータセットにおけるパリティブロックと、を読み込む。そして、制御手段１０１２は、パリティを再計算し、第２の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む。
【００２６】
そのため、ストレージシステム１０００は、解放要求を受け付けた場合に、パリティの再計算を抑制しつつ、格納先の容量コストを下げた格納先に、不要になったデータを格納する。また、解放要求を受け付けたデータブロックが含まれるデータセットにおいて、解放要求を受け付けたデータブロックと異なるデータブロックに対して、書き込み要求を受け付けた場合、不要になったデータを格納する領域を読み込まないように制御する。そのため、ストレージシステム１０００は、アクセス性能の劣化を抑制することに貢献する。
【００２７】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。なお、以下の説明では、上記の制御装置１００１を、仮想化コントローラと呼ぶ。また、以下の説明では、上記の制御手段（制御ユニット）１０１２を、ＲＡＩＤ制御手段（ＲＡＩＤ制御ユニット）と呼ぶ。
【００２８】
図２は、本実施形態に係るストレージシステム１の全体構成を示すブロック図である。
【００２９】
図２に示すストレージシステム１は、ストレージ装置Ａ１０１〜ストレージ装置Ｄ１０４と、外部ストレージ２００と、仮想化コントローラ３００と、ホスト計算機４００とを含んで構成される。なお、図２は、本実施形態に係るストレージシステム１の構成を、図２に示す構成に限定する趣旨ではない。また、以下の説明では、特に区別する必要がないときは、ストレージ装置Ａ１０１〜ストレージ装置Ｄ１０４を、ストレージ装置１００と呼ぶ。
【００３０】
ストレージ装置１００は、階層化機能を持つ。
【００３１】
外部ストレージ２００は、ストレージ装置１００とネットワークで接続される。また、外部ストレージ２００は、ストレージ装置１００が記憶領域として利用する、外部ボリュームを提供する。
【００３２】
仮想化コントローラ３００は、ＳＡＮ（Storage Area Network）を介して、ストレージ装置１００と接続する。また、仮想化コントローラ３００は、各ストレージ装置１００から割り当てられた論理ディスクを、仮想ディスクとして管理する。
【００３３】
ホスト計算機４００は、ＳＡＮを介して、仮想化コントローラ３００と接続する。また、ホスト計算機４００は、仮想化コントローラ３００から仮想ディスクを割り当てられ、その仮想ディスクに読み書き可能である。
【００３４】
次に、ストレージ装置１００の内部構成について詳細に説明する。
【００３５】
ストレージ装置１００は、論理アドレス管理テーブル１０と、データ格納ポリシテーブル１１と、入出力制御手段（入出力制御ユニット）１２と、データ格納先確認手段（データ格納先確認ユニット）１３と、階層化ディスクプール１２０と、論理ディスク１３０とを含んで構成される。なお、図２において図示しないが、ストレージ装置Ｂ１０２、ストレージ装置Ｃ１０３、ストレージ装置Ｄ１０４は、ストレージ装置Ａ１０１と同様の内部構成であり、夫々、論理ディスク１３１、論理ディスク１３２、論理ディスク１３３を含む。なお、以下の説明では、論理ディスク１３０〜１３３を特に区別しないときは、論理ディスク１３０と記載する。
【００３６】
階層化ディスクプール１２０は、ＳＳＤ（Solid State Drive）１１０と、ＳＡＳ（Serial Attached  SCSI（Small Computer System Interface））１１１と、ＳＡＴＡ（Serial ATA（Advanced Technology Attachment））１１２と、外部ボリューム１１３とを含んで構成される。一般的に、ＳＳＤ１１０＞ＳＡＳ１１１＞ＳＡＴＡ１１２＞外部ボリューム１１３の順にアクセス性能が高くなる。また、一般的に、ＳＳＤ１１０＞ＳＡＳ１１１＞ＳＡＴＡ１１２の順に高価となる。また、一般的に、ＳＡＴＡ１１２＞ＳＡＳ１１１＞ＳＳＤ１１０の順に容量が大きい。
【００３７】
論理ディスク１３０は、階層化ディスクプール内のドライブ群と、外部ボリューム１１３とを仮想化したディスクである。
【００３８】
ストレージ装置１００が持つ階層化機能においては、論理ディスク１３０上のデータが持つ、アクセス頻度や優先度に応じて、データの実体を移動し、容量コストの最適化を行う。具体的には、ストレージ装置１００が持つ階層化機能において、アクセス頻度や優先度が高いデータは、ＳＳＤ１１０、ＳＡＳ１１１にデータの実体が移動する。ここで、例えば、ストレージ装置１００は、所定の閾値を超えるアクセス頻度のデータを、「アクセス頻度が高いデータ」として決定しても良い。
【００３９】
一方、ストレージ装置１００が持つ階層化機能において、アクセス頻度や優先度が低いデータは、ＳＡＴＡ１１２、外部ボリューム１１３にデータの実体が移動する。ここで、例えば、ストレージ装置１００は、所定の閾値以下のアクセス頻度のデータを、「アクセス頻度が低いデータ」として決定しても良い。
【００４０】
外部ストレージ２００は、クラウドサービス等が提供するストレージサービス、又はオンプレミスにある他のストレージ装置により実現される。
【００４１】
入出力制御手段１２は、仮想化コントローラ３００からの要求に応じて、動作する。入出力制御手段１２は、仮想化コントローラ３００からＩ／Ｏ（Input / Output）要求を受け付けた場合、物理領域（ＳＳＤ１１０、ＳＡＳ１１１、ＳＡＴＡ１１２、外部ボリューム１１３）に対して、入出力処理を実行する。具体的には、入出力制御手段１２は、論理アドレス管理テーブル１０を参照し、どの物理領域へのＩ／Ｏ要求であるかを判断する。そして、入出力制御手段１２は、該当する物理領域に対して入出力処理を実行する。
【００４２】
また、入出力制御手段１２は、優先度変更要求を受け付けた場合、論理アドレスの優先度を変更する。具体的には、入出力制御手段１２は、論理アドレス管理テーブル１０を参照し、該当する論理アドレスの優先度を「低」に変更する。
【００４３】
データ格納先確認手段１３は、格納先を変更するデータが存在するかどうかを確認する。例えば、データ格納先確認手段１３は、所定の時間周期で、格納先を変更するデータが存在するかどうかを確認することが好ましい。具体的には、データ格納先確認手段１３は、論理アドレス管理テーブル１０と、データ格納ポリシテーブル１１とを参照する。ここで、論理アドレスの優先度が低になっているが、データ格納ポリシテーブル１１で設定されている物理領域に格納されていないデータがあるとする。その場合、データ格納先確認手段１３は、当該データを、データ格納ポリシテーブル１１で設定されている物理領域に格納する。
【００４４】
次に、仮想化コントローラ３００の内部構成について詳細に説明する。
【００４５】
仮想化コントローラ３００は、ＲＡＩＤ管理テーブル３０と、解放領域管理テーブル３１と、ＲＡＩＤ制御手段３２と、仮想ディスク３０１とを備える。
【００４６】
仮想ディスク３０１は、論理ディスク１３０を、ソフトウェアＲＡＩＤ等を用いて、データを複数に分割したブロックと、それらのブロックから生成したパリティを１つのデータセットとして扱い、それらを複数の論理ディスク１３０に分割して配置される。
【００４７】
ＲＡＩＤ制御手段３２は、ホスト計算機４００からの要求に応じて、動作する。ＲＡＩＤ制御手段３２は、解放要求を受け付けた場合、要求が来た仮想アドレスを記録する。そして、ＲＡＩＤ制御手段３２は、要求が来た仮想アドレスに対応する、論理アドレスに対して、優先度変更要求を行う。
【００４８】
次に、ＲＡＩＤ制御手段３２が、読み込み要求を受け付けた場合を考える。まず、要求が来た仮想アドレスが解放されていない場合、ＲＡＩＤ制御手段３２は、当該仮想アドレスに対応する論理アドレスから、データを読み込む。一方、要求が来た仮想アドレスが解放されている場合、ＲＡＩＤ制御手段３２は、当該仮想アドレスに対応する論理アドレスからデータを読み込まずに、要求元にゼロを返却する。
【００４９】
次に、ＲＡＩＤ制御手段３２が、書き込み要求を受け付けた場合、要求が来た仮想アドレスを含む、データブロックと、当該データブロックのパリティブロックの論理アドレスのデータとを読み込む。そして、ＲＡＩＤ制御手段３２は、パリティを再計算し、データと、新たな論理パリティとを論理アドレスに書き込む。
【００５０】
なお、ホスト計算機４００から不要になったストレージのブロックを解放する、解放要求の種類として、ＴＲＩＭコマンド、ＵＮＭＡＰコマンド、ＷＲＩＴＥ  ＳＡＭＥコマンド等がある。また、解放要求は、ストレージのコントローラが内部で判断する処理であっても良い。
【００５１】
次に、ＲＡＩＤ管理テーブル３０について、図３を参照して説明する。
【００５２】
ＲＡＩＤ管理テーブル３０は、データセット番号と、仮想アドレスと、論理アドレスと、論理ディスクを識別するための情報とを含んで構成される。具体的には、データセット番号とは、パリティ計算のためのデータのまとまりを示す情報である。また、仮想アドレスは、ホスト計算機４００が認識し、Ｉ／Ｏ要求の対象となる仮想アドレスである。また、論理ディスクを識別するための情報とは、仮想アドレスのデータの格納先を識別するための情報である。なお、図３においては、論理ディスクを識別するための情報を、ＬＤ１〜ＬＤ４で示す。
【００５３】
図２に示すストレージシステム１においては、４つの論理ディスク１３０〜１３３から仮想ディスクを構成している。そのため、図３に示すＲＡＩＤ管理テーブル３０においては、１つのデータセット番号に対して、４つのブロックが存在する。パリティブロックは、特定の論理ディスクに集中しないように、各論理ディスクＬＤ１〜ＬＤ４に対して順番に割り付けられる。例えば、論理アドレスのサイズが４ＫＢであり、ブロックのサイズが１２８ＫＢである場合、各ブロックに対して３２個の論理アドレスが割り当てられる。ここで、本実施形態に係るストレージシステム１においては、仮想アドレスと、論理アドレスとが、１対１対応である。そのため、各ブロックに対して、３２個の仮想アドレスが割り当てられている。
【００５４】
次に、解放領域管理テーブル３１について、図４を参照して説明する。
【００５５】
図４に示す通り、解放領域管理テーブル３１は、ホスト計算機４００から解放要求を受けた仮想アドレスを含んで構成される。
【００５６】
次に、論理アドレス管理テーブル１０について、図５を参照して説明する。
【００５７】
論理アドレス管理テーブル１０は、論理ディスク番号と、論理アドレスと、物理領域を識別するための格納先を示す情報と、物理アドレス／マッピングと、優先度とを含んで構成される。ここで、論理ディスク番号は、論理ディスクを識別するための番号を意味する。また、論理アドレスは、仮想化コントローラ３００が認識し、Ｉ／Ｏ要求を出すために使用するアドレスを意味する。また、格納先とは、データの実体が格納されている物理領域を識別するための格納先を意味する。また、物理アドレス／マッピングは、格納先のデータの位置を識別するための情報を意味する。また、優先度は、データの格納先を決定するための優先度を意味する。
【００５８】
本実施形態に係る論理アドレス管理テーブル１０においては、各論理アドレスに対して、初めは、優先度は、「高」に設定されている。そして、ストレージ装置１００は、優先度変更要求を受けた場合、優先度を「低」に変更する。
【００５９】
次に、データ格納ポリシテーブル１１について、図６を参照して説明する。
【００６０】
データ格納ポリシテーブル１１は、論理アドレスに対して設定される優先度と、その優先度に対応するデータの格納先とを含んで設定される。本実施形態に係るデータ格納ポリシテーブルにおいては、優先度は、「高」、又は「低」のどちらかである。優先度が「高」の場合、ストレージ装置１００の物理ドライブ（ＳＳＤ１１０、ＳＡＳ１１１、ＳＡＴＡ１１２）に、データを格納することが好ましい。一方、優先度が「低」の場合、ストレージ装置１００の外部ボリューム１１３にデータを格納することが好ましい。なお、ユーザが、優先度と、データの格納先との対応関係を設定できるようにしても良い。
【００６１】
次に、本実施形態に係るストレージシステム１の動作について説明する。
【００６２】
図７は、ＲＡＩＤ制御手段３２の動作の一例を示すフローチャートである。
【００６３】
ステップＳ１０１において、ＲＡＩＤ制御手段３２は、ホスト計算機４００から要求を受けると動作し、その要求が解放要求であるか、又はＩ／Ｏ要求であるかを判断する。
【００６４】
ＲＡＩＤ制御手段３２が解放要求を受けた場合、ＲＡＩＤ制御手段３２は要求のあった仮想アドレスを、解放領域管理テーブル３１に登録する（ステップＳ１０２）。そして、ＲＡＩＤ制御手段３２は、ＲＡＩＤ管理テーブル３０を参照し、要求のあった仮想アドレスに対応する論理ディスクと、論理アドレスとを確認する（ステップＳ１０３）。そして、ＲＡＩＤ制御手段３２は、上記論理ディスクが属しているストレージ装置の入出力制御手段１２に対して、当該論理アドレスの低優先度変更を要求する（ステップＳ１０４）。
【００６５】
一方、ＲＡＩＤ制御手段３２がＩ／Ｏ要求を受けた場合、受信した要求が読み込み要求であるか、書き込み要求であるかを、ＲＡＩＤ制御手段３２は判断する（ステップＳ１０５）。受信した要求が読み込み要求である場合には、ステップＳ１０６に遷移する。一方、受信した要求が書き込み要求である場合には、ステップＳ１１０に遷移する。
【００６６】
読み込み要求を受信した場合には、要求のあった仮想アドレスが解放領域管理テーブル３１に登録されているか否かを、ＲＡＩＤ制御手段３２は判断する（ステップＳ１０６）。
【００６７】
要求のあった仮想アドレスが解放領域管理テーブル３１に登録されている場合（ステップＳ１０６のＹｅｓ分岐）には、ＲＡＩＤ制御手段３２は、論理ディスクから論理アドレスを読み込まずに、ホスト計算機４００に対してゼロを返却する（ステップＳ１０７）。
【００６８】
一方、要求のあった仮想アドレスが解放領域管理テーブル３１に登録されていない場合（ステップＳ１０６のＮｏ分岐）には、ＲＡＩＤ制御手段３２は、ＲＡＩＤ管理テーブル３０を参照し、対応する論理ディスクと、論理アドレスとを確認する（ステップＳ１０８）。そして、ＲＡＩＤ制御手段３２は、該当論理ディスクが属しているストレージ装置の入出力制御手段１２に対して、該当論理アドレスからの読み込みを要求する（ステップＳ１０９）。
【００６９】
一方、書き込み要求を受信した場合には、ＲＡＩＤ制御手段３２は、ＲＡＩＤ管理テーブル３０を参照し、要求のあった仮想アドレスが属するデータブロックと、そのデータブロックが属するデータセットにおける、パリティブロックに対応する論理ディスクと、論理アドレスの範囲とを確認する（ステップＳ１１０）。
【００７０】
次に、ＲＡＩＤ制御手段３２は、該当論理ディスクが属しているストレージ装置の入出力制御手段１２に対して、該当論理アドレスからの読み込みを要求する（ステップＳ１１1）。
【００７１】
次に、ＲＡＩＤ制御手段３２は、書き込み後のデータブロックと、書き込み前のデータブロックと、書き込み前のパリティブロックとに基づいて、パリティを再計算する（ステップＳ１１２）。
【００７２】
次に、ＲＡＩＤ制御手段３２は、ステップＳ１１１で読み込みを行った論理ディスクの論理アドレスに対する、書き込み後のデータブロックと、再計算したパリティブロックの書き込みとを入出力制御手段１２に対して要求する（ステップＳ１１３）。
【００７３】
そして、ＲＡＩＤ制御手段３２は、解放領域管理テーブル３１を参照し、書き込み要求のあった仮想アドレスが登録されている場合には、解放領域管理テーブル３１から該当仮想アドレスを削除する（ステップＳ１１４）。
【００７４】
次に、入出力制御手段１２の動作について説明する。
【００７５】
図８は、入出力制御手段１２の動作の一例を示すフローチャートである。
【００７６】
ステップＳ２０１において、入出力制御手段１２は、ＲＡＩＤ制御手段３２から要求を受けると、受け付けた要求が低優先度変更要求であるか、Ｉ／Ｏ要求であるかを判断する。
【００７７】
入出力制御手段１２が低優先度変更要求を受けた場合には、入出力制御手段１２は論理アドレス管理テーブル１０を参照し、要求のあった論理アドレスの優先度を「低」に変更する（ステップＳ２０２）。
【００７８】
一方、入出力制御手段１２がＩ／Ｏ要求を受けた場合には、入出力制御手段１２は論理アドレス管理テーブル１０を参照し、要求のあった論理アドレスに対応するデータの格納先と、物理アドレス／マッピングとを確認する（ステップＳ２０３）。そして、入出力制御手段１２は、確認した格納先の物理アドレス／マッピングに対して、Ｉ／Ｏを実施する（ステップＳ２０４）。そして、入出力制御手段１２は、書き込み処理を実行した場合には、論理アドレス管理テーブル１０を参照し、書き込み先の論理アドレスの優先度が「低」である場合、優先度を「高」に変更する（ステップＳ２０５）。
【００７９】
次に、データ格納先確認手段１３の動作について説明する。
【００８０】
図９は、データ格納先確認手段１３の動作の一例を示すフローチャートである。
【００８１】
データ格納先確認手段１３は、論理アドレス管理テーブル１０と、データ格納ポリシテーブル１１とを参照し、各論理アドレスの格納先がポリシ通りの格納先になっているか否かを確認する（ステップＳ３０１）。ここで、データ格納先確認手段１３は、予め定めた、所定の時間周期で動作することが好ましい。
【００８２】
そして、ポリシ通りの格納先になっていない論理アドレスがある場合には、データ格納先確認手段１３は、ポリシとしている格納先にデータを移動し、論理アドレス管理テーブル１０の格納先と、物理アドレス／マッピングとを更新する（ステップＳ３０２）。
【００８３】
以上のように、本実施形態に係るストレージシステム１は、データの解放要求を受けた場合、パリティ再計算を抑制しながら、不要になったデータを、容量コストが低い格納先に格納する。また、本実施形態に係るストレージシステム１において、優先度を「低」に設定した領域を含むブロックが属する、データセットに対して、他のブロックへの書き込み要求を受けたとする。その場合、本実施形態に係るストレージシステム１は、優先度を「低」に設定した領域を、論理ディスクから読み込まないように制御する。従って、本実施形態に係るストレージシステム１は、アクセス性能の劣化を抑制することに貢献するとともに、容量コストを低減することに貢献する。
【００８４】
なお、上記の実施形態においては、論理アドレスの優先度を、「高」、又は「低」に設定する場合を例示して説明した。しかし、これは、本発明に係るストレージシステム１において、論理アドレスの優先度を、２段階に限定する趣旨ではない。本発明に係るストレージシステム１において、論理アドレスの優先度を、３段階以上に設定しても良い。
【００８５】
上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００８６】
（付記１）上記第１の視点に係るストレージシステムの通りである。
【００８７】
（付記２）前記ストレージ装置は、前記論理ディスクを識別する情報と、前記物理領域を識別する情報と、論理アドレスと、優先度とを対応付けた論理アドレス管理テーブルをさらに備え、前記入出力制御手段は、前記解放要求を受け付けた仮想アドレスに対応する、論理アドレスを取得し、当該論理アドレスに対応付けられた第１の優先度より低い、第２の優先度と、当該論理アドレスと、を対応付けて、前記論理アドレス管理テーブルを更新する、付記１に記載のストレージシステム。
【００８８】
（付記３）前記ストレージ装置は、前記優先度と、前記優先度に対応するデータの格納先とを対応付けたデータ格納ポリシテーブルをさらに備える、付記２に記載のストレージシステム。
【００８９】
（付記４）前記制御装置は、解放要求を受けた前記仮想アドレスが登録された解放領域管理テーブルをさらに備え、前記制御手段は、解放要求を受け付けた場合、当該解放要求に対応する仮想アドレスに基づいて、当該仮想アドレスに対応する論理アドレスに対して、前記優先度の変更を要求し、前記解放要求に対応する仮想アドレスを、前記解放領域管理テーブルに登録する、付記３に記載のストレージシステム。
【００９０】
（付記５）前記制御手段は、読み込み要求を受け付けた場合、当該読み込み要求に対応する仮想アドレスが、前記解放領域管理テーブルに登録されている場合、当該仮想アドレスに対応する論理アドレスからデータを読み込まず、当該仮想アドレスが、前記解放領域管理テーブルに登録されていない場合、当該仮想アドレスに対応する論理アドレスから、データを読み込む、付記４に記載のストレージシステム。
【００９１】
（付記６）上記第２の視点に係る制御装置の通りである。
【００９２】
（付記７）上記第３の視点に係るストレージ装置の通りである。
【００９３】
（付記８）上記第４の視点に係る入出力制御方法の通りである。
【００９４】
（付記９）上記第５の視点に係るプログラムの通りである。
【００９５】
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００９６】
１、１０００  ストレージシステム
１０  論理アドレス管理テーブル
１１  データ格納ポリシテーブル
１２  入出力制御手段（入出力制御ユニット）
１３  データ格納先確認手段（データ格納先確認ユニット）
３０  ＲＡＩＤ管理テーブル
３１  解放領域管理テーブル
３２  ＲＡＩＤ制御手段（ＲＡＩＤ制御ユニット）
１００、１００２  ストレージ装置
１０１  ストレージ装置Ａ
１０２  ストレージ装置Ｂ
１０３  ストレージ装置Ｃ
１０４  ストレージ装置Ｄ
１１０  ＳＳＤ
１１１  ＳＡＳ
１１２  ＳＡＴＡ
１１３  外部ボリューム
１２０、１０２１  階層化ディスクプール
１３０〜１３３、１０２２  論理ディスク
２００  外部ストレージ
３００  仮想化コントローラ
３０１、１０１１  仮想ディスク
４００  ホスト計算機
１００１  制御装置
１０１２  制御手段（制御ユニット）
【図１】
2015191443.tif 000003
【図２】
2015191443.tif 000004
【図３】
2015191443.tif 000005
【図４】
2015191443.tif 000006
【図５】
2015191443.tif 000007
【図６】
2015191443.tif 000008
【図７】
2015191443.tif 000009
【図８】
2015191443.tif 000010
【図９】
2015191443.tif 000011