(57)【要約】【課題】圧縮属性ボリューム及び非圧縮ボリュームへのデータの最適な配置を実現することができるストレージ装置を提供すること。【解決手段】本開示にかかるストレージ装置１０は、所定期間におけるデータへのアクセス状況を用いて算出されたデータのスコアと、異なるタイミングに算出された複数のスコアの解析結果と、を用いてデータを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する判定部１１と、データの現在の格納場所が、判定部１１において格納先として判定された格納場所と異なる場合、データを判定部１１において格納先として判定された格納場所へ移動させる移動制御部１２と、を備える。【選択図】図１
2020098540.tif 000002
【特許請求の範囲】
【請求項１】
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアと、異なるタイミングに算出された複数の前記スコアの解析結果と、を用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する判定部と、
前記データの現在の格納場所が、前記判定部において格納先として判定された格納場所と異なる場合、前記データを前記判定部において格納先として判定された格納場所へ移動させる移動制御部と、を備えるストレージ装置。
【請求項２】
前記データのスコアは、前記データへのアクセス頻度、前記データへのｗｒｉｔｅ回数、前記データへのキャッシュミス、及び前記データを圧縮した際の圧縮率、を用いて算出される、請求項１に記載のストレージ装置。
【請求項３】
前記判定部は、
前記スコアの変動が解析された場合、前記データのスコアの取り得る値として予測される範囲が予め定められた値を超える第１の期間においては前記データを非圧縮ボリュームへ格納し、前記データのスコアの取り得る値として予測される範囲が予め定められた値を超えない第２の期間においては前記データを圧縮ボリュームへ格納すると判定する、請求項１又は２に記載のストレージ装置。
【請求項４】
前記判定部は、
前記スコアの変動が解析された場合、前記データのスコアの取り得る値として予測される範囲に前記予め定められた値を含む第３の期間においては前記データと前記予め定められた値との比較結果に基づいて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する、請求項３に記載のストレージ装置。
【請求項５】
前記判定部は、
前記第１の期間及び第２の期間においては、前記データと前記予め定められた値との比較結果を用いることなく前記データを圧縮ボリューム又は非圧縮ボリュームのいずれに格納するかを判定する、請求項３又は４に記載のストレージ装置。
【請求項６】
前記判定部は、
予め定められた基準に従って前記データを圧縮ボリュームへ格納すべきかもしくは非圧縮ボリュームへ格納すべきかが決定された場合、前記データを圧縮ボリュームへ格納すべきかもしくは非圧縮ボリュームへ格納すべきかに基づいて前記データのスコアを補正する、請求項１乃至５のいずれか１項に記載のストレージ装置。
【請求項７】
異なるタイミングに算出された複数の前記スコアをホスト計算機へ送信し、前記ホスト計算機から複数の前記スコアの解析結果を受信する通信部をさらに備える、請求項１乃至６のいずれか１項に記載のストレージ装置。
【請求項８】
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアを収集する通信部と、
異なるタイミングに算出された複数の前記スコアに基づいて、前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを解析する解析部と、を備え、
前記通信部は、
前記解析部において解析された結果を、前記圧縮ボリューム及び非圧縮ボリューム間における前記データの移動を制御するストレージ装置へ送信する、ホスト計算機。
【請求項９】
所定期間におけるデータへのアクセス状況を用いて算出した前記データのスコアを送信するストレージ装置と、
異なるタイミングに算出された複数の前記スコアを受信し、前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを解析するホスト計算機と、を備え、
前記ストレージ装置は、
前記データのスコアと、前記スコアの解析結果とを用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する、管理システム。
【請求項１０】
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアと、異なるタイミングに算出された複数の前記スコアの解析結果と、を用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定し、
前記データの現在の格納場所が、格納先として判定された格納場所と異なる場合、前記データを格納先として判定された格納場所へ移動させる、ストレージ装置におけるデータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はストレージ装置、ホスト計算機、管理システム、及びデータ制御方法に関する。
【背景技術】
【０００２】
近年、コンピュータ装置において様々な種類のデータが扱われるようになり、ストレージに格納されるデータ量も急速に増加している。これらの大容量のデータをストレージに格納する際に行われるデータ圧縮機能が注目されている。データの圧縮は、ストレージに圧縮専用の圧縮属性ボリュームを作成し、そこにデータを格納することによって実行される。しかし、圧縮属性ボリュームへのアクセスは、非圧縮属性ボリュームへのアクセスと比べると、圧縮伸長の処理が動くためIO処理の性能が劣る。そのため、圧縮属性ボリュームへのアクセス時における性能の低下を防ぐには、アクセス頻度の高いデータを非圧縮属性ボリュームに格納し、アクセス頻度の低いデータを圧縮属性ボリュームに格納することが効果的である。しかし、圧縮属性ボリュームと非圧縮属性ボリュームのどちらにデータを配置するかを考えるのはユーザにとって手間がかかり、その判断も困難である。
【０００３】
特許文献１には、不揮発メモリデバイスが上位装置からデータを受信したタイミングにおいて、デバイスコントローラが、データへの更新頻度レベルに応じて、当該データを圧縮して不揮発メモリデバイスへ保存するか否かを判定することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１６／１３５９５４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載された処理を実行すると、短期間にデータに対する更新頻度レベルが大きく変動する場合次の問題が発生する。短期間にデータに対する更新頻度レベルが大きく変動する場合、当該データの圧縮状態及び非圧縮状態が頻繁に変更されることとなり、データを最適な状態にて不揮発メモリへ保存することができないという問題がある。
【０００６】
本開示の目的は、圧縮属性ボリューム及び非圧縮ボリュームへのデータの最適な配置を実現することができるストレージ装置、ホスト計算機、管理システム、及びデータ制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
本開示の第１の態様にかかるストレージ装置は、所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアと、異なるタイミングに算出された複数の前記スコアの解析結果と、を用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する判定部と、前記データの現在の格納場所が、前記判定部において格納先として判定された格納場所と異なる場合、前記データを前記判定部において格納先として判定された格納場所へ移動させる移動制御部と、を備える。
【０００８】
本開示の第２の態様にかかるホスト計算機は、所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアを収集する通信部と、異なるタイミングに算出された複数の前記スコアに基づいて、前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを解析する解析部と、を備え、前記通信部は、前記解析部において解析された結果を、前記圧縮ボリューム及び非圧縮ボリューム間における前記データの移動を制御するストレージ装置へ送信する。
【０００９】
本開示の第３の態様にかかる管理システムは、所定期間におけるデータへのアクセス状況を用いて算出した前記データのスコアを送信するストレージ装置と、異なるタイミングに算出された複数の前記スコアを受信し、前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを解析するホスト計算機と、を備え、前記ストレージ装置は、前記データのスコアと、前記スコアの解析結果とを用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する。
【００１０】
本開示の第３の態様にかかるデータ制御方法は、所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアと、異なるタイミングに算出された複数の前記スコアの解析結果と、を用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定し、前記データの現在の格納場所が、格納先として判定された格納場所と異なる場合、前記データを前記判定部において格納先として判定された格納場所へ移動させる。
【発明の効果】
【００１１】
本開示により、圧縮属性ボリューム及び非圧縮ボリュームへのデータの最適な配置を実現することができるストレージ装置、ホスト計算機、管理システム、及びデータ制御方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかるストレージ装置の構成図である。
【図２】実施の形態２にかかるストレージシステムの構成図である。
【図３】実施の形態２にかかるストレージ４０の構成図である。
【図４】実施の形態２にかかるスコア計算用テーブルを示す図である。
【図５】実施の形態２にかかるスコアテーブルを示す図である。
【図６】実施の形態２にかかるアドレス変換テーブルを示す図である。
【図７】実施の形態２にかかるスコア解析結果テーブル５０を示す図である。
【図８】実施の形態２にかかるストレージコントローラの構成図である。
【図９】実施の形態２にかかるスコア計算用テーブルの更新処理の流れを示す図である。
【図１０】実施の形態２にかかるスコアテーブルの更新処理の流れを示す図である。
【図１１】実施の形態２にかかる閾値の設定処理の流れを示す図である。
【図１２】実施の形態２にかかるホスト計算機の構成図である。
【図１３】実施の形態２にかかる外部スコアテーブルを示す図である。
【図１４】実施の形態２にかかる時間に対する予測スコア曲線と閾値を比較したイメージ図である。
【図１５】実施の形態２にかかるスコア補正値の計算処理の流れを示す図である。
【図１６】実施の形態２にかかるスコア解析処理の流れを示す図である。
【図１７】実施の形態２にかかるデータの移動制御に関する処理の流れを示す図である。
【図１８】実施の形態２にかかるディスクアレイ装置及びホスト計算機の構成図である。
【発明を実施するための形態】
【００１３】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。はじめに、図１を用いて実施の形態１にかかるストレージ装置１０の構成例について説明する。ストレージ装置１０は、プロセッサがメモリに格納されたプログラムを実行することによって動作するコンピュータ装置であってもよい。
【００１４】
ストレージ装置１０は、判定部１１及び移動制御部１２を有している。判定部１１及び移動制御部１２等のストレージ装置１０の構成要素は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、ストレージ装置１０の構成要素は、回路もしくはチップ等のハードウェアであってもよい。
【００１５】
判定部１１は、データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する。具体的には、判定部１１は、判定する際に、所定期間におけるデータへのアクセス状況を用いて算出されたデータのスコアと、異なるタイミングに算出された複数のスコアの解析結果と、を用いる。データは、例えば、圧縮ボリューム、非圧縮ボリューム、もしくはストレージ装置１０内の圧縮ボリューム及び非圧縮ボリュームとは異なる記憶領域に格納されているとする。圧縮ボリューム及び非圧縮ボリュームとは異なる記憶領域は、例えばキャッシュ領域であってもよい。データのスコアは、例えば、プロセッサ等がデータへアクセスする頻度、データを使用する頻度、もしくは、データを更新する頻度等が多い場合、これらの頻度が少ない場合と比較して、高く算出されてもよい。言い換えると、使用される頻度の高いデータは、使用される頻度の低いデータと比較して、高いスコアが設定される。
【００１６】
異なるタイミングに算出された複数のスコアは、例えば、第１の期間におけるデータへのアクセス状況を用いて算出されたデータのスコアと、第１の期間とは異なる第２の期間におけるデータへのアクセス状況を用いて算出されたデータのスコアとを含んでもよい。さらに、異なるタイミングに算出された複数のスコアは、３つ以上の期間におけるデータへのアクセス状況を用いて算出されたデータのスコアを含んでもよい。第１の期間及び第２の期間等の所定の期間は、数秒、数分、数時間、もしくは数日等であってもよい。異なるタイミングに算出された複数のスコアの解析は、一つのスコアを算出する期間よりも長い期間において算出されたスコアを解析することである。
【００１７】
これより、判定部１１は、ある所定期間において算出された短期間のスコアと、複数の短期間のスコアを含む長期間のスコアとを考慮して、データを圧縮ボリュームへ格納するか、非圧縮ボリュームへ格納するかを判定することができる。例えば、判定部１１は、特定の条件に従って、短期間のスコアと長期間のスコアとのいずれを優先するかを決定してもよい。判定部１１は、例えば、スコアが高いほどプロセッサがデータへアクセスする頻度等が多いことを示す場合、予め定められた閾値よりも高いスコアのデータを非圧縮ボリュームへ格納すると判定してもよい。また、判定部１１は、予め定められた閾値よりも低いスコアのデータを圧縮ボリュームへ格納すると判定してもよい。
【００１８】
移動制御部１２は、データの現在の格納場所が、判定部１１において格納先として判定された格納場所と異なる場合、当該データを判定部１１において格納先として判定された格納場所へ移動させる。例えば、移動制御部１２は、データの現在の格納場所が圧縮ボリュームであり、判定部１１においてスコアに基づいたデータの格納先として非圧縮ボリュームと判定された場合、当該データを非圧縮ボリュームへ移動させる。データが現在非圧縮ボリュームに格納されており、判定部１１において格納先が圧縮ボリュームと判定された場合も同様である。さらに、データの現在の格納場所が圧縮ボリューム及び非圧縮ボリュームとは異なる記憶領域である場合、移動制御部１２は、当該データを、判定部１１において格納先として判定された格納場所へ移動させる。
【００１９】
以上説明したように、ストレージ装置１０は、短期間のスコアと長期間のスコアとを用いてデータの格納先を決定することができる。ストレージ装置１０は、長期間のスコアを考慮することによって、短期間にデータに対する更新頻度レベルが大きく変動する場合であっても、当該データの圧縮状態及び非圧縮状態が頻繁に変更されることを防止することができる。その結果、ストレージ装置１０は、データを最適な状態にて保存することができる。
【００２０】
（実施の形態２）
続いて、図２を用いてストレージシステムの構成例について説明する。図２のストレージシステムは、ディスクアレイ装置２０及びホスト計算機６０を有している。ディスクアレイ装置２０は、図１のストレージ装置１０に相当する。ホスト計算機６０は、ディスクアレイ装置２０に対するデータの書き込み及びディスクアレイ装置２０に格納されているデータの読み込み等を行う。さらに、ホスト計算機６０は、ディスクアレイ装置２０に格納されているデータを更新する。
【００２１】
ディスクアレイ装置２０は、ストレージコントローラ３０及びストレージ４０を有している。ストレージコントローラ３０において実現される機能は、例えば、プロセッサがメモリに格納されているプログラムを実行することによって、実行されてもよい。
【００２２】
ここで、図３を用いてストレージ４０の構成例について説明する。ストレージ４０は、ホスト利用領域４１及び内部領域４３を有している。ホスト利用領域４１は、ホスト計算機６０がデータの書き込みもしくはデータの読み込みを行う際にアクセスする領域である。ホスト利用領域４１は、例えば、キャッシュ領域として用いられてもよい。キャッシュ領域は、例えば、一時的にデータの格納を行う領域として用いられる。ホスト利用領域４１は、ユーザ論理ボリューム４２を有している。ユーザ論理ボリューム４２は、ホスト利用領域４１においてデータが格納される領域として用いられる。ユーザ論理ボリューム４２は、例えば、ホスト計算機６０がディスクアレイ装置２０へデータの書き込み等を行う際に構築されてもよい。
【００２３】
内部領域４３は、非圧縮属性ボリューム４４、圧縮属性ボリューム４５、及び管理領域４６を有している。内部領域４３は、例えば、複数の物理ディスク等を用いて構成されるデータの記憶領域であってもよい。例えば、非圧縮属性ボリューム４４、圧縮属性ボリューム４５、及び管理領域４６は、それぞれ異なる物理ディスクであってもよい。もしくは、非圧縮属性ボリューム４４及び圧縮属性ボリューム４５は異なる物理ディスクであり、管理領域４６は、非圧縮属性ボリューム４４及び圧縮属性ボリューム４５のいずれかと同じ物理ディスクであってもよい。もしくは、非圧縮属性ボリューム４４、圧縮属性ボリューム４５、及び管理領域４６は、一つの物理ディスクであってもよい。
【００２４】
非圧縮属性ボリューム４４は、データを圧縮せずに格納する領域である。一方、圧縮属性ボリューム４５は、データを圧縮して格納する領域である。管理領域４６は、スコア計算用テーブル４７、スコアテーブル４８、アドレス変換テーブル４９、及びスコア解析結果テーブル５０を管理する領域である。
【００２５】
ここで、図４を用いてスコア計算用テーブル４７について説明する。スコア計算用テーブル４７は、データ毎にIO回数、write回数、キャッシュミス回数、及びデータ削減率を管理している。IO回数は、ホスト計算機６０がデータへアクセスした回数である。例えば、ディスクアレイ装置２０が、ホスト計算機６０からデータ１を対象としたＳＣＳＩ（Small Computer System Interface）コマンドを受信した場合、データ１のIO回数がインクリメントされてもよい。
【００２６】
さらに、ディスクアレイ装置２０が、ホスト計算機６０からデータ１の書き込みを行うことを示すＳＣＳＩコマンドを受信した場合、データ１のwrite回数がインクリメントされてもよい。
【００２７】
さらに、ホスト計算機６０がデータ１へアクセスした際に、キャッシュミスが発生した場合、データ１のキャッシュミス回数がインクリメントされてもよい。例えば、ホスト計算機６０が、データ１の読み込みを行うためにキャッシュ領域へアクセスした際に、キャッシュ領域にデータ１が存在しない場合に、キャッシュミスが発生する。
【００２８】
データ削減率は、データの圧縮後のデータサイズと、圧縮前のデータサイズとを用いて算出される。例えば、データ１の削減率は、１−（圧縮後データサイズ／圧縮前データサイズ）、として算出されてもよい。
【００２９】
スコア計算用テーブル４７において管理されている値は、所定期間ごとにクリアされてもよい。例えば、スコア計算用テーブル４７において管理されている値は、図５において説明されるスコアテーブル４８において定められている、スコアを算出する期間ごとにクリアされてもよい。
【００３０】
続いて、図５を用いてスコアテーブル４８について説明する。スコアテーブル４８は、データ毎に、それぞれの期間におけるスコアを管理する。例えば、スコアテーブル４８に示されている期間０は、スコアの算出を開始するタイミングを０秒とすると、０秒から１秒未満の期間であってもよい。さらに、期間１は、１秒から２秒未満の期間であり、期間２は、２秒から３秒未満の期間であってもよい。つまり、それぞれの期間において関連付けられているスコアは、１秒間におけるスコアであってもよい。もしくは、それぞれの期間は、開始時刻と終了時刻とを用いて定められてもよい。
【００３１】
各期間におけるスコアは、例えば、スコア計算用テーブル４７において管理されている情報を用いて算出される。例えば、スコアは、スコア＝（IO回数＋write回数＋キャッシュミス回数＋（IO回数×データ削減率））／４、として算出されてもよい。
【００３２】
続いて、図６を用いてアドレス変換テーブル４９について説明する。アドレス変換テーブル４９は、データ毎に、ユーザ論理ボリューム（volumeもしくはvol）番号、ユーザ論理ボリュームアドレス、現在の圧縮属性、後期間の圧縮属性、及び内部ボリュームアドレスを関連付けて管理している。ユーザ論理ボリューム番号は、ユーザ論理ボリューム４２を識別するために割り当てられた番号である。ユーザ論理ボリュームアドレスは、例えば、データが格納されたユーザ論理ボリューム４２に割り当てられたホスト利用領域４１のアドレスであってもよい。現在の圧縮属性は、データが圧縮状態にて格納されているか、非圧縮状態にて格納されているかを示す。後期間の圧縮属性は、ストレージコントローラ３０が、データを圧縮状態にて格納するか非圧縮状態にて格納するかを決定した結果を示す。内部ボリュームアドレスは、現在のデータの格納先を示す内部領域４３のアドレスであってもよい。
【００３３】
続いて、図７を用いてスコア解析結果テーブル５０について説明する。スコア解析結果テーブル５０は、ホスト計算機６０において計算されたデータ毎の解析スコアの曲線を表す関数形と、その関数形を示す係数とを関連付けて管理している。解析スコアの曲線を表す関数形とは、解析スコアのフィッティングに用いられる関数形と言い換えられてもよい。関数形は、例えば、１次関数、２次関数等であってもよい。また、関数形が２次関数（ax２＋bx＋c）である場合、３つの係数が用いられる。そのため、係数１、係数２、及び係数３のそれぞれの値がスコア解析結果テーブル５０において管理される。
【００３４】
続いて、図８を用いてストレージコントローラ３０の構成例について説明する。ストレージコントローラ３０は、スコア計算情報蓄積制御部３１、スコア計算制御部３２、データ移動制御部３３、及び閾値制御部３４を有している。ストレージコントローラ３０は、図１の判定部１１及び移動制御部１２に相当する。
【００３５】
スコア計算情報蓄積制御部３１は、スコア計算用テーブル４７において管理されている値を更新する。スコア計算制御部３２は、スコア計算用テーブル４７において管理されている値を用いて、予め定められた期間ごとのスコアを算出する。スコア計算制御部３２は、スコアテーブル４８において管理されているスコアを、算出したスコアへ更新する。
【００３６】
データ移動制御部３３は、ホスト計算機６０から送信された指示メッセージ、もしくは、スコア計算用テーブル４７において管理されているスコアを用いて、データの格納先を判定する。データ移動制御部３３は、スコア等に基づいて判定したデータの格納先が、データの現在の格納先と異なる場合、データを移動させる。データ移動制御部３３は、データを移動させた場合、アドレス変換テーブル４９における現在の圧縮属性及び内部ボリュームアドレスを更新する。また、データ移動制御部３３は、データの格納先を判定した後に、後期間の圧縮属性を更新してもよい。
【００３７】
閾値制御部３４は、データ移動制御部３３が、データの格納先を判定する際に、スコアと比較するために用いられる閾値を設定する。閾値制御部３４は、ユーザ論理ボリューム４２が構築され、一定期間が経過するまでは、閾値を設定しない。例えば、データ移動制御部３３は、ユーザ論理ボリューム４２が構築され、一定期間が経過するまでは、全てのデータを非圧縮属性ボリューム４４へ格納する。一定期間とは、非圧縮属性ボリューム４４に一定容量が格納されるまでの期間を含んでもよい。
【００３８】
閾値制御部３４は、一定期間経過後に、閾値を設定する。例えば、閾値制御部３４は、ユーザ論理ボリューム４２に格納された全てのデータの所定期間におけるスコアの平均値を算出する。スコアの平均値の下位Ａ％（Ａは正の値）のデータを圧縮属性ボリューム４５へ格納することが定められている場合、スコアの平均値の上位のスコアと下位のスコアとの境目のスコアの値を閾値に設定する。上位のスコアとは、下位Ａ％に含まれないスコアである。閾値制御部３４は、定期的に閾値の値を更新してもよく、管理者等の操作に従って任意のタイミングに閾値の値を更新してもよい。もしくは、閾値制御部３４は、内部領域４３に格納された全てのデータの所定期間におけるスコアの平均値を算出してもよい。
【００３９】
続いて、図９を用いてスコア計算用テーブル４７の更新処理の流れについて説明する。はじめに、スコア計算情報蓄積制御部３１は、ホスト計算機６０からIO制御に関するＳＣＳＩコマンドを受信する（Ｓ１１）。次に、ホスト計算機６０は、スコア計算用テーブル４７における、ＳＣＳＩコマンドにおいて指定されているデータのＩＯ回数をインクリメントする（Ｓ１２）。次に、スコア計算情報蓄積制御部３１は、ＳＣＳＩコマンドがwriteコマンドであるか否かを判定する（Ｓ１３）。スコア計算情報蓄積制御部３１は、ＳＣＳＩコマンドがwriteコマンドであると判定した場合、スコア計算用テーブル４７における、ＳＣＳＩコマンドにおいて指定されているデータのwrite回数をインクリメントする（Ｓ１４）。スコア計算情報蓄積制御部３１は、ＳＣＳＩコマンドがwriteコマンドではないと判定した場合、ステップＳ１４の処理を実行せずにステップＳ１５以降の処理を実行する。
【００４０】
次に、スコア計算情報蓄積制御部３１は、ＳＣＳＩコマンドにおいて指定されているデータがキャッシュ領域に存在するか否か、つまり、キャッシュミスが発生したか否かを判定する（Ｓ１５）。スコア計算情報蓄積制御部３１は、キャッシュミスが発生したと判定した場合、スコア計算用テーブル４７における、ＳＣＳＩコマンドにおいて指定されているデータのキャッシュミス回数をインクリメントする（Ｓ１６）。スコア計算情報蓄積制御部３１は、キャッシュミスが発生していないと判定した場合、ステップＳ１６の処理を実行せずにステップＳ１７の処理を実行する。
【００４１】
次に、スコア計算情報蓄積制御部３１は、データの削減率を算出する（Ｓ１７）。例えば、スコア計算情報蓄積制御部３１は、キャッシュ領域においてデータの圧縮を行う。さらに、スコア計算情報蓄積制御部３１は、圧縮率＝圧縮後のデータサイズ／圧縮前のデータサイズ、として、圧縮率を算出する。さらに、スコア計算情報蓄積制御部３１は、データ削減率＝１−圧縮率、としてデータ削減率を算出する。スコア計算情報蓄積制御部３１は、データ削減率を算出するために、キャッシュ領域において圧縮したデータを圧縮属性ボリューム４５には格納せずに、削除する。つまり、スコア計算情報蓄積制御部３１は、キャッシュ領域において圧縮したデータを削除して、キャッシュを解放する。
【００４２】
スコア計算情報蓄積制御部３１は、スコア計算用テーブル４７におけるデータ削減率を、算出したデータ削減率へ更新する。また、スコア計算情報蓄積制御部３１は、スコアの計算間隔よりも長い時間間隔をあけて、データ削減率を算出してもよい。スコア計算情報蓄積制御部３１は、データ削減率を所定のタイミングに算出してもよい。この場合、スコア計算情報蓄積制御部３１は、スコア計算制御部３２において所定期間ごとのスコアが計算された場合、ＩＯ回数、write回数、及びキャッシュミス回数をクリアしてもよい。さらに、スコア計算情報蓄積制御部３１は、データ削減率については、次にデータ削減率を算出するまで現在の値を維持していてもよい。
【００４３】
続いて、図１０を用いてスコアテーブル４８の更新処理の流れについて説明する。はじめに、スコア計算制御部３２は、スコアテーブル４８から、スコアの算出対象であるデータに関連付けられたIO回数、write回数、キャッスミス回数、及びデータ削減率を取得する（Ｓ２１）。次に、スコア計算制御部３２は、算出対象であるデータのスコアを算出する。スコアは、例えば、スコア＝（IO回数＋write回数＋キャッシュミス回数＋（IO回数×データ削減率））／４、として算出されてもよい。もしくは、スコア計算制御部３２は、IO回数、write回数、キャッスミス回数、及びデータ削減率について、重みを付けてもよい。例えば、スコア計算制御部３２は、ホスト計算機６０が実行している業務内容等に応じて、重み付けするパラメータ値、さらに、重み付けの値を決定してもよい。
【００４４】
次に、スコア計算制御部３２は、スコアテーブル４８におけるスコアを、算出したスコアへ更新する（Ｓ２３）。スコア計算制御部３２は、所定期間ごと、さらに、データごとに、スコアの算出を実行する。
【００４５】
続いて、図１１を用いて、閾値の設定処理の流れについて説明する。はじめに、閾値制御部３４は、ユーザ論理ボリューム４２が構築された後の初回の閾値を設定するか否かを判定する（Ｓ３１）。閾値制御部３４は、初回の閾値の設定であると判定した場合、予め定められた値を設定する（Ｓ３２）。例えば、閾値制御部３４は、初回の閾値の設定である場合、閾値を０と設定してもよく、その他の値を設定してもよい。閾値が０に設定された場合、全てのデータのスコアは閾値を上回る。そのため、全てのデータは、非圧縮属性ボリューム４４へ格納されることとなる。また、閾値制御部３４は、現在の閾値に値が設定されていない場合等に、初回の閾値の設定であると判定してもよい。
【００４６】
閾値制御部３４は、初回の閾値の設定ではないと判定した場合、ユーザ論理ボリューム４２に格納された全てのデータの所定期間におけるスコアの平均値を算出する（Ｓ３３）。次に、閾値制御部３４は、算出したスコアの平均値に基づいて閾値を設定する（Ｓ３４）。例えば、閾値制御部３４は、スコアの平均値の下位Ａ％（Ａは正の値）のデータを圧縮属性ボリューム４５へ格納することが定められている場合、スコアの平均値の上位のスコアと下位のスコアとの境目のスコアの値を閾値に設定する。
【００４７】
続いて、図１２を用いてホスト計算機６０の構成例について説明する。ホスト計算機６０は、外部スコアテーブル６１、スコア解析制御部６２、及びスコア補正値計算制御部６３を有している。スコア解析制御部６２は、定期的にディスクアレイ装置２０のスコアテーブル４８において管理されている情報を取得する。スコア解析制御部６２が取得した情報は、外部スコアテーブル６１において管理される。
【００４８】
ここで、図１３を用いて外部スコアテーブル６１について説明する。図１３の外部スコアテーブル６１は、データ１に関するスコアを管理している。データ１以外の他のデータについても、図１３の外部スコアテーブル６１と同様にスコアが管理されている。
【００４９】
外部スコアテーブル６１は、周期と期間とを関連付けて管理する。期間は、例えば、スコアテーブル４８における期間と同様である。例えば、期間は、１秒間等であってもよい。周期は、例えば、期間よりも長い時間間隔を示しており、１日間隔等であってもよい。例えば、周期０は、１日目、周期１は、２日目、周期２は、３日目を示してもよい。周期０の期間０は、例えば、１日目の０秒から１秒までの期間であってもよい。また、周期１の期間０は、２日目の０秒から１秒までの期間であってもよい。つまり、異なる周期における同一の期間のスコアは、異なる日の同一の時間帯におけるスコアであってもよい。
【００５０】
スコア解析制御部６２は、外部スコアテーブル６１に蓄積されたスコアを学習データとし、スコアの変動を解析し、スコアの変動を予測する。スコアの変動に関する解析及び予測については、例えばリッジ正則化による回帰分析が行われてもよく、他の手法が用いられてもよい。以下に、リッジ正則化による回帰分析を用いたスコアの変動に関する解析及び予測について説明する。
【００５１】
リッジ回帰を用いた多項式フィッティングの場合、以下の式１を最小にするようなｗの集合を求めればよい。ｎはデータの番号とする。ｔｎをスコア取得開始時刻からの経過時間、Ｓ（ｔｎ）をある時刻でのスコア、ｗｉをi次曲線でフィッティングする際の係数、λを重みづけの係数とすると、式１は以下のように示される。
【００５２】
2020098540.tif 000003
・・・（式１）
【００５３】
この式を最急降下法などでフィッティングする。フィッティングした曲線をｙ（ｔｎ,ｗ）とする。λの決定方法はLOOCV法などが知られている。ホスト計算機６０は、多項式による回帰分析を用いて解析したスコア情報を、スコア解析結果テーブル５０の形式にてディスクアレイ装置２０へ送信する。関数形には何次関数でフィッティングを行ったか、係数１番以降はフィッティングを行った係数(ここではｗｉ)を表している。
【００５４】
図１４の実線にて示される曲線は、ｙ（ｔｎ,ｗ）を示している。図１４は、時間に対する予測スコア曲線と閾値とを比較したイメージ図である。図１４は、縦軸においてスコアが示されており、横軸において時刻が示されている。
【００５５】
続いて、予測範囲の決定方法の例を説明する。スコアの取る値が９５％以上の確率で閾値を上回る(もしくは下回る)かどうかを以下の手順で予測する。
【００５６】
まず、回帰分析を実施後に以下の式２により分散(回帰曲線からのばらつき具合)σ２を計算する。
【００５７】
2020098540.tif 000004
・・・（式２）
【００５８】
スコアは、ある時刻の予測スコアｙ（ｔｎ,ｗ）を平均とし、上記式で導かれる分散σ２を持つ正規分布に則ると仮定する。ある時刻の予測スコアｙ（ｔｎ,ｗ）から閾値Ｔを引いた値を標準偏差σで割った値をｚとする(以下の式３)。
【００５９】
2020098540.tif 000005
・・・（式３）
【００６０】
正規分布表によれば、このz＜1.64であれば正規分布の下位９５％内に入っていることがわかる。また、z＞-1.64であれば上位９５％に入る。
【００６１】
2020098540.tif 000006
・・・（式４）
【００６２】
上記式４の右辺は、図１４の下側の破線にて示される曲線を表している。右辺が閾値Ｔを上回ればスコアは９５％以上の確率で閾値を超えると予測される。そのためディスクアレイ装置２０において算出されたスコアにかかわらず、スコア解析制御部６２は、データを非圧縮属性ボリューム４４に格納させる。式４の右辺が閾値Ｔを上回る期間とは、例えば、図１４の期間Ａ１及びＡ５である。期間Ａ１及びＡ５は、絶対非圧縮期間と言い換えられてもよい。
【００６３】
2020098540.tif 000007
・・・（式５）
【００６４】
上記式５の左辺は、図１４の上側の破線にて示される曲線を表している。右辺が閾値Ｔを下回ればスコアは９５％以上の確率で閾値を下回ると予測される。そのためディスクアレイ装置２０において算出されたスコアにかかわらず、スコア解析制御部６２は、データを圧縮属性ボリューム４５に格納させる。式５の右辺が閾値Ｔを下回る期間とは、例えば、図１４の期間Ａ３である。期間Ａ３は、絶対圧縮期間と言い換えられてもよい。
【００６５】
2020098540.tif 000008
・・・（式６）
【００６６】
上記式６は、図１４の期間Ａ２及びＡ４を示している。期間Ａ２及びＡ４は、ディスクアレイ装置２０において算出されたスコアを採用する期間を表している。この場合は、ディスクアレイ装置２０のデータ移動制御部３３は、スコア計算制御部３２が算出したリアルタイムのスコアと閾値Ｔを比較する。
【００６７】
図１４の閾値をＴ＝１００として、実際に値を当てはめてみると、6時の予測スコアy(6時)は75、12時の予測スコアy(12時)は100、18時の予測スコアy(18時)は170である。優位水準5％、標準偏差をσ=10とすると、6時の時は75＋10*1.64＝91.4＜Ｔなのでスコアの95％は、閾値を下回ると予測される。そのためデータ移動制御部３３は、6時は、データを必ず圧縮する期間と判断する。同様に12時では100−10*16.4＜Ｔ＜100＋10*1.64なのでデータ移動制御部３３は、ストレージのスコアを採用する。18時ではＴ＜170−10*1.64なのでデータ移動制御部３３は、データを必ず非圧縮にする期間と判断する。
【００６８】
補足として、回帰曲線を中心とした正規分布を以下に記述する。
【００６９】
2020098540.tif 000009
・・・（式７）
【００７０】
ここではリッジ回帰を例として挙げたが、スコアの解析及び予測には、他の分析手法が用いられても良い。例えば、絶対非圧縮、絶対圧縮、及びストレージのスコアを採用、の３クラスに分類するサポートベクトルマシンが用いられてもよく、ディープラーニングが用いられてもよい。
【００７１】
スコアと閾値との差が所定の値よりも小さい場合、わずかなスコアの変動によりデータが圧縮属性ボリューム４５と非圧縮属性ボリューム４４を行き来してしまう。そのため、ホスト計算機６０の業務状況からスコア補正値を計算し、ストレージコントローラ３０において算出されるスコアを昇降させることによって、データが頻繁にボリューム間を移動する問題を解決する手順を以下に示す。
【００７２】
ホスト計算機６０が使用しているファイル数をFtotとし、圧縮化促進のファイル数をFc、非圧縮化促進のファイル数をFncとする。これらは、Fc+Fnc= Ftotとの関係を満たす。図１２に示されるスコア補正値計算制御部６３は、ファイルの使用状況から圧縮化を促進するか、非圧縮化を促進するかを調べ、カウントする。ファイル数はデータ数と言い換えられてもよい。
【００７３】
ここで、図１５を用いて、スコア補正値計算制御部６３における、スコア補正値の計算処理の流れについて説明する。はじめに、スコア補正値計算制御部６３は、例えば、i番目のファイルに対するwrite権限がホスト計算機６０に存在するかどうかを判定する（Ｓ４１）。
【００７４】
スコア補正値計算制御部６３は、i番目のファイルに対するwrite権限がホスト計算機６０に存在すると判定した場合、所定期間内にｉ番目のファイルが更新されたか否かを判定する（Ｓ４２）。スコア補正値計算制御部６３は、所定期間内にｉ番目のファイルが更新されたと判定した場合、Fncをインクリメントする（Ｓ４３）。また、スコア補正値計算制御部６３は、ステップＳ４１において、i番目のファイルに対するwrite権限がホスト計算機６０に存在しないと判定した場合、Fcをインクリメントする（Ｓ４４）。さらに、スコア補正値計算制御部６３は、ステップＳ４２において、所定期間内にｉ番目のファイルが更新されていないと判定した場合、Fcをインクリメントする（Ｓ４４）。
【００７５】
また、図１５においては、write権限及びファイルの更新に基づいて、FcをインクリメントするかFncをインクリメントするかが判定される処理を示しているが、他の基準がさらに用いられてもよい。もしくは、write権限及びファイルの更新の代わりに、他の基準に基づいてFcをインクリメントするかFncをインクリメントするかが判定されてもよい。
【００７６】
次に、スコア補正値計算制御部６３は、全ての使用中のファイルについて、Fncをインクリメントするか、Fcをインクリメントするかの確認を完了したか否かを判定する（Ｓ４５）。スコア補正値計算制御部６３は、全ての使用中のファイルについて確認を完了していないと判定した場合、ステップＳ４１以降の処理を繰り返す。
【００７７】
スコア補正値計算制御部６３は、全ての使用中のファイルについて確認を完了したと判定した場合、式８を用いて、非圧縮化促進の上方補正係数Ｒ＋及び圧縮化促進の下方補正係数Ｒ−を算出するする（Ｓ４６）。
【００７８】
2020098540.tif 000010
・・・（式８）
【００７９】
例えば、Ftotが100個で、(i)Fc= Fnc=50の時は上方補正係数Ｒ＋＝１．５、下方補正係数Ｒ−＝０．５となる。(ii) Fc=１、Fnc=９９の時は上方補正係数Ｒ＋＝１．０１、下方補正係数Ｒ−＝０．９９となる(１≦Ｒ＋≦１．５、０．５≦Ｒ−≦１)。
【００８０】
ホスト計算機６０は、上方補正係数Ｒ＋及び下方補正係数Ｒ−を計算した後、ディスクアレイ装置２０へ、各ファイルが非圧縮化促進もしくは圧縮化促進に該当するかの情報と、上方補正係数Ｒ＋及び下方補正係数Ｒ−とを、ディスクアレイ装置２０へ送信する（Ｓ４７）。
【００８１】
スコア補正値計算制御部６３は、スコア解析制御部６２において予測された予測スコアに、上方補正係数Ｒ＋及び下方補正係数Ｒ−を乗じることで、ホスト計算機６０の使用データ状況もしくは状態をスコアへ反映することができる。
【００８２】
また、上方補正係数Ｒ＋及び下方補正係数Ｒ−を受け取ったディスクアレイ装置２０は、スコア計算制御部３２が算出したスコアに上方補正係数Ｒ＋及び下方補正係数Ｒ−を乗じる。ディスクアレイ装置２０は、上方補正係数Ｒ＋及び下方補正係数Ｒ−を乗じた値を閾値と比較することで、ホスト計算機６０の使用データ状況もしくは状態を反映することができる。
【００８３】
続いて、図１６を用いて、スコア解析制御部６２が実行するスコア解析処理の流れについて説明する。はじめに、スコア解析制御部６２は、ディスクアレイ装置２０からスコアテーブル４８を収集する（Ｓ５１）。スコア解析制御部６２は、ディスクアレイ装置２０からスコアテーブル４８において管理されているスコアを収集すると言い換えられてもよい。
【００８４】
次に、スコア解析制御部６２は、収集したスコアを外部スコアテーブル６１へ蓄積する（Ｓ５２）。次に、スコア解析制御部６２は、外部スコアテーブル６１に蓄積されたスコアを学習データとし、スコアの変動を解析し、スコアの変動を予測する（Ｓ５３）。スコアの変動に関する解析及び予測については、例えばリッジ正則化による回帰分析が行われてもよく、他の手法が用いられてもよい。
【００８５】
次に、スコア解析制御部６２は、スコアの解析結果をディスクアレイ装置２０へ送信する（Ｓ５４）。さらに、スコア解析制御部６２は、解析したスコア情報を、スコア解析結果テーブル５０の形式にてディスクアレイ装置２０へ送信してもよい。
【００８６】
続いて、図１７を用いて、データ移動制御部３３におけるデータの移動制御に関する処理の流れについて説明する。はじめに、データ移動制御部３３は、スコア計算制御部３２において、ｉ番目のデータのスコアの計算が完了していることを確認する（Ｓ６１）。次に、データ移動制御部３３は、ホスト計算機６０から、ｉ番目のデータの格納先ボリュームが指定されているか否かを判定する（Ｓ６２）。例えば、データ移動制御部３３は、図１６のステップＳ５４においてホスト計算機６０から送信された解析結果において、絶対圧縮期間及び絶対非圧縮期間が定められているかを確認する。また、データ移動制御部３３は、現在のタイミングが、絶対圧縮期間及び絶対非圧縮期間のいずれかに該当するか否かを確認する。
【００８７】
データ移動制御部３３は、現在のタイミングが、絶対圧縮期間及び絶対非圧縮期間のいずれにも該当しない場合、スコアテーブル４８におけるｉ番目のデータのスコアを参照する（Ｓ６３）。また、データ移動制御部３３は、現在のタイミングが、絶対圧縮期間及び絶対非圧縮期間のいずれかに該当する場合、ステップＳ６７以降の処理を実行する。
【００８８】
次に、データ移動制御部３３は、ｉ番目のデータに関する補正係数を受信しているか否かを判定する（Ｓ６４）。例えば、データ移動制御部３３は、図１５のステップＳ４７において、ホスト計算機６０が送信した、各ファイルが非圧縮化促進もしくは圧縮化促進に該当するかの情報と、上方補正係数Ｒ＋及び下方補正係数Ｒ−とを受信しているか否かを判定する。
【００８９】
データ移動制御部３３は、各ファイルが非圧縮化促進もしくは圧縮化促進に該当するかの情報と、上方補正係数Ｒ＋及び下方補正係数Ｒ−とを受信している場合、ｉ番目のデータのスコアに補正係数を乗じた値と、閾値とを比較する（Ｓ６５）。データ移動制御部３３は、各ファイルが非圧縮化促進もしくは圧縮化促進に該当するかの情報と、上方補正係数Ｒ＋及び下方補正係数Ｒ−とを受信していない場合、ｉ番目のデータのスコアと、閾値とを比較する（Ｓ６６）。ここで、各ファイルが非圧縮化促進もしくは圧縮化促進に該当するかの情報は、データが非圧縮化促進もしくは圧縮化促進に該当するかの情報を示す。
【００９０】
次に、データ移動制御部３３は、ｉ番目のデータのボリューム間移動があるか否かを判定する（Ｓ６７）。ボリューム間移動は、非圧縮属性ボリューム４４と圧縮属性ボリューム４５との間の移動である。次に、データ移動制御部３３は、ｉ番目のデータのボリューム間移動があると判定した場合、ｉ番目のデータを格納先のボリュームへ移動させる（Ｓ６８）。データ移動制御部３３は、ｉ番目のデータのボリューム間移動が無いと判定した場合、ステップＳ６９以降の処理を実行する。
【００９１】
次に、データ移動制御部３３は、全てのデータに関する移動判定が終了したか否かを判定する（Ｓ６９）。データ移動制御部３３は、全てのデータに関する移動判定が終了していないと判定した場合、ｉ＋１番目のデータについて、ステップＳ６１以降の処理を実行する。またデータ移動制御部３３は、全てのデータに関する移動判定が終了したと判定した場合、処理を終了する。
【００９２】
以上説明したように、実施の形態２にかかるディスクアレイ装置２０は、データを圧縮率、時間帯による使用頻度から圧縮属性ボリュームか非圧縮属性ボリュームのどちらに格納するかのユーザによる判断を必要としない。ディスクアレイ装置２０は、スコアを用いた解析を実行することによって、使用容量と性能とを最適にするようにデータ配置し、圧縮処理による性能低下を防ぎつつ、ディスク使用容量の削減を行うことができる。
【００９３】
さらに、ホスト計算機６０は、時間帯によるＩＯ傾向とホスト計算機６０の状況からディスクアレイ装置２０のデータ配置判断を補正することができる。その結果、圧縮属性ボリュームと非圧縮属性ボリュームとの間における、短時間の移動や高頻度の移動が抑制され、ディスクアレイ装置２０の性能の安定化を図ることができる。
【００９４】
また、上記の実施の形態においては、ホスト計算機６０がスコアの解析を実施する例について説明したが、ディスクアレイ装置２０がホスト計算機６０の機能を有する場合、ディスクアレイ装置２０が、スコアの解析を実施してもよい。
【００９５】
図１８は、ディスクアレイ装置２０及びホスト計算機６０の構成例を示すブロック図である。図１８を参照すると、ディスクアレイ装置２０及びホスト計算機６０は、ネットワーク・インターフェース１２０１、プロセッサ１２０２、及びメモリ１２０３を含む。ネットワーク・インターフェース１２０１は、通信システムを構成する他のネットワークノード装置と通信するために使用される。ネットワーク・インターフェース１２０１は、例えば、IEEE 802.3 seriesに準拠したネットワークインターフェースカード（NIC）を含んでもよい。もしくは、ネットワーク・インターフェース１２０１は、無線通信を行うために使用されてもよい。例えば、ネットワーク・インターフェース１２０１は、無線ＬＡＮ通信、もしくは３ＧＰＰ（3rd Generation Partnership Project）において規定されたモバイル通信を行うために使用されてもよい。
【００９６】
プロセッサ１２０２は、メモリ１２０３からソフトウェア（コンピュータプログラム）を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明されたディスクアレイ装置２０及びホスト計算機６０の処理を行う。プロセッサ１２０２は、例えば、マイクロプロセッサ、MPU（Micro Processing Unit）、又はCPU（Central Processing Unit）であってもよい。プロセッサ１２０２は、複数のプロセッサを含んでもよい。
【００９７】
メモリ１２０３は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ１２０３は、プロセッサ１２０２から離れて配置されたストレージを含んでもよい。この場合、プロセッサ１２０２は、図示されていないI/Oインタフェースを介してメモリ１２０３にアクセスしてもよい。
【００９８】
図１８の例では、メモリ１２０３は、ソフトウェアモジュール群を格納するために使用される。プロセッサ１２０２は、これらのソフトウェアモジュール群をメモリ１２０３から読み出して実行することで、上述の実施形態において説明されたディスクアレイ装置２０及びホスト計算機６０の処理を行うことができる。
【００９９】
図１８を用いて説明したように、ディスクアレイ装置２０及びホスト計算機６０が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む１又は複数のプログラムを実行する。
【０１００】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリを含む。磁気記録媒体は、例えばフレキシブルディスク、磁気テープ、ハードディスクドライブであってもよい。半導体メモリは、例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory）であってもよい。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１０１】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１０２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアと、異なるタイミングに算出された複数の前記スコアの解析結果と、を用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する判定部と、
前記データの現在の格納場所が、前記判定部において格納先として判定された格納場所と異なる場合、前記データを前記判定部において格納先として判定された格納場所へ移動させる移動制御部と、を備えるストレージ装置。
（付記２）
前記データのスコアは、前記データへのアクセス頻度、前記データへのｗｒｉｔｅ回数、前記データへのキャッシュミス、及び前記データを圧縮した際の圧縮率、を用いて算出される、付記１に記載のストレージ装置。
（付記３）
前記判定部は、
前記スコアの変動が解析された場合、前記データのスコアの取り得る値として予測される範囲が予め定められた値を超える第１の期間においては前記データを非圧縮ボリュームへ格納し、前記データのスコアの取り得る値として予測される範囲が予め定められた値を超えない第２の期間においては前記データを圧縮ボリュームへ格納すると判定する、付記１又は２に記載のストレージ装置。
（付記４）
前記判定部は、
前記スコアの変動が解析された場合、前記データのスコアの取り得る値として予測される範囲に前記予め定められた値を含む第３の期間においては前記データと前記予め定められた値との比較結果に基づいて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する、付記３に記載のストレージ装置。
（付記５）
前記判定部は、
前記第１の期間及び第２の期間においては、前記データと前記予め定められた値との比較結果を用いることなく前記データを圧縮ボリューム又は非圧縮ボリュームのいずれに格納するかを判定する、付記３又は４に記載のストレージ装置。
（付記６）
前記判定部は、
予め定められた基準に従って前記データを圧縮ボリュームへ格納すべきかもしくは非圧縮ボリュームへ格納すべきかが決定された場合、前記データを圧縮ボリュームへ格納すべきかもしくは非圧縮ボリュームへ格納すべきかに基づいて前記データのスコアを補正する、付記１乃至５のいずれか１項に記載のストレージ装置。
（付記７）
異なるタイミングに算出された複数の前記スコアをホスト計算機へ送信し、前記ホスト計算機から複数の前記スコアの解析結果を受信する通信部をさらに備える、付記１乃至６のいずれか１項に記載のストレージ装置。
（付記８）
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアを収集する通信部と、
異なるタイミングに算出された複数の前記スコアに基づいて、前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを解析する解析部と、を備え、
前記通信部は、
前記解析部において解析された結果を、前記圧縮ボリューム及び非圧縮ボリューム間における前記データの移動を制御するストレージ装置へ送信する、ホスト計算機。
（付記９）
前記解析部は、
前記データのスコアの取り得る値として予測される範囲が予め定められた値を超えるか否かを解析し、
前記通信部は、
前記データのスコアの取り得る値として予測される範囲が前記予め定められた値を超える第１の期間においては前記データを非圧縮ボリュームへ格納することを指示するメッセージを前記ストレージ装置へ送信し、前記データのスコアの取り得る値として予測される範囲が前記予め定められた値を超えない第２の期間においては前記データを圧縮ボリュームへ格納することを指示するメッセージを前記ストレージ装置へ送信する、付記８に記載のホスト計算機。
（付記１０）
所定期間におけるデータへのアクセス状況を用いて算出した前記データのスコアを送信するストレージ装置と、
異なるタイミングに算出された複数の前記スコアを受信し、前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを解析するホスト計算機と、を備え、
前記ストレージ装置は、
前記データのスコアと、前記スコアの解析結果とを用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定する、管理システム。
（付記１１）
前記ストレージ装置は、
前記データのスコアの取り得る値として予測される範囲が予め定められた値を超えるか否かを解析し、前記データのスコアの取り得る値として予測される範囲が前記予め定められた値を超える第１の期間においては前記データを非圧縮ボリュームへ格納することを指示するメッセージを前記ストレージ装置へ送信し、前記データのスコアの取り得る値として予測される範囲が前記予め定められた値を超えない第２の期間においては前記データを圧縮ボリュームへ格納することを指示するメッセージを前記ストレージ装置へ送信する、付記１０に記載の管理システム。
（付記１２）
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアと、異なるタイミングに算出された複数の前記スコアの解析結果と、を用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定し、
前記データの現在の格納場所が、格納先として判定された格納場所と異なる場合、前記データを格納先として判定された格納場所へ移動させる、ストレージ装置におけるデータ制御方法。
（付記１３）
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアを収集し、
異なるタイミングに算出された複数の前記スコアに基づいて、前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを解析し、
解析された結果を、前記圧縮ボリューム及び非圧縮ボリューム間における前記データの移動を制御するストレージ装置へ送信する、ホスト計算機における通信方法。
（付記１４）
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアと、異なるタイミングに算出された複数の前記スコアの解析結果と、を用いて前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを判定し、
前記データの現在の格納場所が、格納先として判定された格納場所と異なる場合、前記データを前記判定部において格納先として判定された格納場所へ移動させることをコンピュータに実行させるプログラム。
（付記１５）
所定期間におけるデータへのアクセス状況を用いて算出された前記データのスコアを収集し、
異なるタイミングに算出された複数の前記スコアに基づいて、前記データを圧縮ボリューム及び非圧縮ボリュームのいずれに格納するかを解析し、
解析された結果を、前記圧縮ボリューム及び非圧縮ボリューム間における前記データの移動を制御するストレージ装置へ送信することをコンピュータに実行させるプログラム。
【符号の説明】
【０１０３】
１０  ストレージ装置
１１  判定部
１２  移動制御部
２０  ディスクアレイ装置
３０  ストレージコントローラ
３１  スコア計算情報蓄積制御部
３２  スコア計算制御部
３３  データ移動制御部
３４  閾値制御部
４０  ストレージ
４１  ホスト利用領域
４２  ユーザ論理ボリューム
４３  内部領域
４４  非圧縮属性ボリューム
４５  圧縮属性ボリューム
４６  管理領域
４７  スコア計算用テーブル
４８  スコアテーブル
４９  アドレス変換テーブル
５０  スコア解析結果テーブル
６０  ホスト計算機
６１  外部スコアテーブル
６２  スコア解析制御部
６３  スコア補正値計算制御部
【図１】
2020098540.tif 000011
【図２】
2020098540.tif 000012
【図３】
2020098540.tif 000013
【図４】
2020098540.tif 000014
【図５】
2020098540.tif 000015
【図６】
2020098540.tif 000016
【図７】
2020098540.tif 000017
【図８】
2020098540.tif 000018
【図９】
2020098540.tif 000019
【図１０】
2020098540.tif 000020
【図１１】
2020098540.tif 000021
【図１２】
2020098540.tif 000022
【図１３】
2020098540.tif 000023
【図１４】
2020098540.tif 000024
【図１５】
2020098540.tif 000025
【図１６】
2020098540.tif 000026
【図１７】
2020098540.tif 000027
【図１８】
2020098540.tif 000028