(57)【要約】      （修正有）【課題】ユーザが所望する処理速度が出やすいストレージ装置を提示する。【解決手段】記憶部は、第１の記憶媒体と、第１の記憶媒体よりも高速にアクセス可能な第２の記憶媒体とを備えるストレージ装置の情報を複数記憶する。処理部は、アクセス頻度の高いデータを優先的に第２の記憶媒体に記憶したときの、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各ストレージ装置について、アクセスの総数に対する各記憶媒体へのアクセスの割合を求める。所定の時間内に第１の記憶媒体にアクセス可能な要求数と割合とから、所定の時間内に処理可能なアクセス数である第１の要求数を求める。所定の時間内に第２の記憶媒体にアクセス可能な要求数と割合とから、所定の時間内に処理可能なアクセス数である第２の要求数を求める。出力部は、第１の要求数と第２の要求数との差が相対的に小さいストレージ装置の情報を優先的に通知する。【選択図】図１
2015197721.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶媒体と、前記第１の記憶媒体よりも高速にアクセス可能な第２の記憶媒体とを備えるストレージ装置に関する情報を複数記憶する記憶部と、
アクセス頻度の高いデータを優先的に前記第２の記憶媒体に記憶したときの、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各ストレージ装置について、アクセスの総数に対する各記憶媒体へのアクセスの割合を求め、
所定の時間内に前記第１の記憶媒体にアクセス可能な要求数と前記第１の記憶媒体についての前記割合とから、所定の時間内に前記ストレージ装置で処理可能なアクセス数である第１の要求数を求め、更に、所定の時間内に前記第２の記憶媒体にアクセス可能な要求数と前記第２の記憶媒体についての前記割合とから、所定の時間内に前記ストレージ装置で処理可能なアクセス数である第２の要求数を求める処理を実行する処理部と、
前記第１の要求数と前記第２の要求数との差が相対的に小さいストレージ装置に関する情報を優先的に通知する出力部と、
を備えることを特徴とする記憶装置調整装置。
【請求項２】
前記関数は、
前記第１の記憶媒体と前記第２の記憶媒体中のデータへのアクセス頻度の大きさが、前記アクセス頻度の順序の逆数に比例する
ことを特徴とする請求項１に記載の記憶装置調整装置。
【請求項３】
ユーザが所望するストレージ装置の要件を取得する取得部を備え、
前記出力部は、
前記第１の要求数と前記第２の要求数との差が相対的に小さいストレージ装置を、前記要件を満たすストレージ装置から選択して通知する
ことを特徴とする請求項１又は２に記載の記憶装置調整装置。
【請求項４】
第１の記憶媒体と、前記第１の記憶媒体よりも高速にアクセス可能な第２の記憶媒体とを備える階層ストレージに関する情報を複数取得し、
アクセス頻度の高いデータを優先的に前記第２の記憶媒体に記憶したときの、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各階層ストレージについて、アクセスの総数に対する各記憶媒体へのアクセスの割合を求め、
所定の時間内に前記第１の記憶媒体にアクセス可能な要求数と前記第１の記憶媒体についての前記割合とから、所定の時間内に前記階層ストレージで処理可能なアクセス数である第１の要求数を求め、更に、所定の時間内に前記第２の記憶媒体にアクセス可能な要求数と前記第２の記憶媒体についての前記割合とから、所定の時間内に前記階層ストレージで処理可能なアクセス数である第２の要求数を求める処理を実行し、
前記第１の要求数と前記第２の要求数との差が相対的に小さい階層ストレージに関する情報を優先的に通知する
処理をプロセッサに実行させる階層ストレージ設計プログラム。
【請求項５】
前記関数は、
前記第１の記憶媒体と前記第２の記憶媒体中のデータへのアクセス頻度の大きさが、前記アクセス頻度の順序の逆数に比例する
ことを特徴とする請求項４に階層ストレージ設計プログラム。
【請求項６】
ユーザが所望する階層ストレージの要件を取得し、
前記第１のアクセス要求の数と前記第２のアクセス要求の数との差が相対的に小さい階層ストレージを、前記要件を満たす階層ストレージから選択して通知する処理をプロセッサに実行させる
ことを特徴とする請求項４又は５に記載の階層ストレージ設計プログラム。
【請求項７】
第１の記憶媒体と、前記第１の記憶媒体よりも高速にアクセス可能な第２の記憶媒体とを備える階層ストレージに関する情報を複数取得し、
アクセス頻度の高いデータを優先的に前記第２の記憶媒体に記憶したときの、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各階層ストレージについて、アクセスの総数に対する各記憶媒体へのアクセスの割合を求め、
所定の時間内に前記第１の記憶媒体にアクセス可能な要求数と前記第１の記憶媒体についての前記割合とから、所定の時間内に前記階層ストレージで処理可能なアクセス数である第１の要求数を求め、更に、所定の時間内に前記第２の記憶媒体にアクセス可能な要求数と前記第２の記憶媒体についての前記割合とから、所定の時間内に前記階層ストレージで処理可能なアクセス数である第２の要求数を求める処理を実行し、
前記第１の要求数と前記第２の要求数との差が相対的に小さい階層ストレージに関する情報を優先的に通知する
処理をプロセッサに実行させる階層ストレージ設計方法。
【請求項８】
前記関数は、
前記第１の記憶媒体と前記第２の記憶媒体中のデータへのアクセス頻度の大きさが、前記アクセス頻度の順序の逆数に比例する
ことを特徴とする請求項７に階層ストレージ設計方法。
【請求項９】
ユーザが所望する階層ストレージの要件を取得し、
前記第１のアクセス要求の数と前記第２のアクセス要求の数との差が相対的に小さい階層ストレージを、前記要件を満たす階層ストレージから選択して通知する処理をプロセッサに実行させる
ことを特徴とする請求項７又は８に記載の階層ストレージ設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、階層ストレージ装置に関する。
【背景技術】
【０００２】
ユーザが新しいストレージ装置を購入する際、ユーザは、ストレージ装置の容量、性能、価格を、購入の判断基準として用いる。ユーザが所望するストレージの容量、性能、価格を満たすストレージ装置が複数ある場合、ユーザは、複数の選択肢から１つのストレージ装置を選択する。ユーザは、例えば、容量が最大のストレージ装置、性能が最も高いストレージ装置、価格の最も安いストレージ装置などから、購入するストレージ装置を選択する。
【０００３】
ストレージ装置に関する技術として、Ｉ／Ｏ要求に対する応答性能が異なるストレージ装置を組み合わせた階層ストレージが知られている（例えば、特許文献１を参照）。
【０００４】
推奨するシステム装置をユーザに提示する技術として、所定の処理性能を持つコンピュータのシステムの中の価格が最小となるものを決定する技術が知られている（例えば、特許文献２を参照）。
【０００５】
推奨するシステム装置をユーザに提示する技術として、与えられた性能要件と価格要件から所定の誤差範囲を満たすシステム装置を提案する技術が知られている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１６４８２２号公報
【特許文献２】特開２００４−３０２９２号公報
【特許文献３】特開２００２−１８３４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ユーザは、ストレージ装置を購入する際に、ストレージ装置の性能の一覧であるパラメータシートを参照する。ユーザは、パラメータシートからユーザが所望する要件を満たすストレージ装置を選択し、１つのストレージ装置を選択する。しかし、パラメータシートに記載されているストレージ装置の性能は、新品のストレージ装置が発揮できる性能である。そのため、実際にユーザがストレージ装置を使用し始め、データを格納すると、パラメータシート通りの性能を発揮できなくなることがある。すると、実際に使用するストレージ装置が、ユーザが所望する要件を満たせなくなることが起こりうる。
【０００８】
１つの側面において、本発明の目的は、ストレージ装置の運用中に、ユーザが所望する処理速度が出やすいストレージ装置をユーザに提示することである。
【課題を解決するための手段】
【０００９】
記憶部は、第１の記憶媒体と、第１の記憶媒体よりも高速にアクセス可能な第２の記憶媒体とを備えるストレージ装置に関する情報を複数記憶する。処理部は、アクセス頻度の高いデータを優先的に第２の記憶媒体に記憶した時の、各記憶媒体に記憶されるデータと各データへのアクセス頻度の関係を示す関数を用いて、各ストレージ装置について、アクセスの総数に対する各記憶媒体へのアクセスの割合を求める。処理部は、所定の時間内に第１の記憶媒体にアクセス可能な要求数と第１の記憶媒体についての割合とから、所定の時間内にストレージ装置で処理可能なアクセス数である第１の要求数を求める。処理部は、所定の時間内に第２の記憶媒体にアクセス可能な要求数と第２の記憶媒体についての割合とから、所定の時間内に前記ストレージ装置で処理可能なアクセス数である第２の要求数を求める。出力部は、第１の要求数と第２の要求数との差が相対的に小さいストレージ装置に関する情報を優先的に通知する。
【発明の効果】
【００１０】
ストレージ装置の運用中に、ユーザが所望する処理速度が出やすいストレージ装置をユーザに提示する。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係るシステム構成の例を説明する図である。
【図２】支援装置のハードウェア構成の例を示す。
【図３】本実施形態に係る階層ストレージの処理の例を説明する図（その１）である。
【図４】本実施形態に係る階層ストレージの処理の例を説明する図（その２）である。
【図５】本実施形態に係る支援装置の処理の例を示す図である。
【図６】ストレージ装置全体の想定処理数の算出方法の例を説明する図である。
【図７】支援装置が推奨する階層ストレージ情報の出力の例を説明する図である。
【図８】支援装置の処理の例を説明するフローチャートである。
【図９】本実施形態にかかる推奨の階層ストレージを選択する方法の例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本実施形態について、図面を参照しながら詳細に説明する。
本実施形態の支援装置は、ユーザがストレージ装置を購入する際に、ユーザに推奨するストレージ装置を提案する。本実施形態において、支援装置は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）とＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）とを組み合わせて搭載する階層ストレージを提案するストレージ装置の例として用いる。階層ストレージは、高性能層であるＳＳＤ、中性能層であるＯｎｌｉｎｅ  ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）、低性能層であるＮｅａｒｌｉｎｅ  ＳＡＳなどの、性能が違う階層を２〜３階層備える装置である。Ｏｎｌｉｎｅ  ＳＡＳ及びＮｅａｒｌｉｎｅ  ＳＡＳには、ＨＤＤが用いられる。ＯｎｌｉｎｅＳＡＳは、常時の運用と応答性を要求される記憶領域である。Ｎｅａｒｌｉｎｅ  ＳＡＳは、ＯｎｌｉｎｅＳＡＳに格納されるデータよりもアクセス頻度が低いデータを格納し、ＯｎｌｉｎｅＳＡＳよりも性能が要求されない記憶領域である。
【００１３】
階層ストレージは、アクセス頻度が高いデータを高性能層の記憶領域に格納することにより、高性能なストレージ装置を実現する。同時に、階層ストレージは、アクセス頻度の低いデータを低速、低価格で大容量な低性能層の記憶領域に格納することで、大容量のストレージ装置を実現できる。しかし、階層ストレージは、各記憶装置に格納されるデータ量が増大するほど、レスポンスが低下する恐れがある。例えば、高性能層に格納されるデータ量が多くなり、アクセス頻度の高いデータが中性能層にも格納されると、中性能層のアクセス頻度が増大し、階層ストレージは、購入時よりもレスポンスが低下する。同様に、中性能層に格納されるデータ量が多くなり、アクセス頻度が中程度のデータが低性能層にも格納されると、低性能層のアクセス頻度が増大し、階層ストレージは、購入時よりもレスポンスが低下する。
【００１４】
本実施形態の支援装置は、全記憶領域にデータを格納した階層ストレージを想定し、ユーザの所望する要件を満たすストレージ装置のなかから、運用中でもユーザの所望する性能が出やすいストレージ装置をユーザに推奨する。
【００１５】
図１は、本実施形態に係るシステム構成の例を説明する図である。本実施形態に係るシステムは、ストレージ装置群１１０と、端末群１２０と、ネットワーク１３０と、支援装置１４０と、表示装置１５０とを備える。ストレージ装置群１１０は、システム中で稼動しているストレージ装置を複数備える。端末群１２０は、ストレージ装置群１１０をユーザに提供するインターフェースである。ストレージ装置群１１０と端末群１２０とは、ネットワーク１３０を介して接続される。支援装置１４０は、ユーザが新しくストレージ装置を購入しようと考えている場合に、推奨するストレージ装置のサイジングを行い、表示装置１５０を介して推奨するストレージ装置をユーザに提示する。
【００１６】
以下に、支援装置１４０が行う処理を説明する。
（１）収集部１４４は、定期的に、ネットワーク１３０に流れるＩ／Ｏ命令のＩ／Ｏ統計情報を収拾する。統計情報は、Ｉ／Ｏ命令の発生時刻、サイズ、リード命令又はライト命令であるかの情報を含む。
【００１７】
（２）統計部１４２は、Ｉ／Ｏ統計情報から、毎秒のＩ／Ｏ命令の処理数（ＩＯＰＳ：Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）、Ｉ／Ｏの平均データサイズ、平均リード率などを計算する。統計部１４２は、計算後のデータである使用中のシステム中のストレージ装置の使用状況情報を記憶部１４１に記憶させる。
【００１８】
（３）記憶部１４１は、（１）〜（２）の処理を繰り返すことにより、システム中のストレージ装置の使用状況情報を蓄積する。
【００１９】
（４）入出力部１４５は、ユーザが所望するストレージの容量、性能、価格などの要件情報を表示装置１５０から取得する。
【００２０】
（５）サイジング処理部１４３は、使用中のシステムでのストレージ装置の使用状況情報を、記憶部１４１から取得する。
【００２１】
（６）サイジング処理部１４３は、記憶部１４１から、複数の階層ストレージの仕様情報を取得する。階層ストレージの仕様情報は、例えば、ＳＳＤ、ＯｎｌｉｎｅＳＡＳ、ＮｅａｒｌｉｎｅＳＡＳ各々の階層におけるディスクの種類、ＲＡＩＤ、仕様で定義されているレスポンス時間などである。
【００２２】
（７）サイジング処理部１４３は、取得した複数の階層ストレージの仕様情報から、ユーザが所望するストレージの容量、性能、価格などの要件を満たすストレージ装置を抽出する。更に、サイジング処理部１４３は、ストレージ装置の使用状況情報を処理できる性能を備えるストレージ装置を抽出する。
【００２３】
（８）サイジング処理部１４３は、ユーザが所望する要件を満たすストレージ装置が複数ある場合、以下の処理を実施する。
【００２４】
（８．１）サイジング処理部１４３は、ユーザが所望する要件を満たす各ストレージ装置中の中性能層と低性能層が所定の時間内に処理できる命令数（ＩＯＰＳ）を、（７）で取得した階層ストレージの仕様情報から参照する。各階層が所定の時間内に処理できる命令数（ＩＯＰＳ）は、メーカーが定めた各階層に許容するレスポンス時間の範囲内に処理できるＩ／Ｏ命令の処理数（アクセス要求の数）である。以下において、中性能層が、メーカーの定めた各階層に許容するレスポンス時間に処理できる命令数を、中性能層の最大処理性能と称す。同様に、低性能層が、メーカーの定めた各階層に許容するレスポンス時間に処理できる命令数を、低性能層の最大処理性能と称す。
【００２５】
（８．２）サイジング処理部１４３は、中性能層の最大処理性能から、階層ストレージ全体の負荷分布を生成する。サイジング処理部１４３は、階層ストレージ全体の負荷分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する。（図５で詳細に説明する。）サイジング処理部１４３は、ストレージ装置中の記憶領域を所定の大きさのブロックに分割した場合の、各ブロックへのアクセス頻度の分布モデルを用いた計算方法を記憶している。階層ストレージ装置中での、中性能層で処理される対象は、分布モデル中でアクセス頻度が高いデータの処理に階層ストレージ中の高性能層を割り当てた後に残るデータ中で、相対的にアクセス頻度の高いデータである。そこでサイジング処理部１４３は、アクセス頻度の高いデータほど性能の高いストレージが処理すると仮定したときに、中性能層に割り当てられるデータのアクセス頻度が、階層ストレージ中の中性能層での最大処理性能と一致する分布モデルを計算する。サイジング処理部１４３は、得られた分布モデルを階層ストレージでの処理可能な負荷の分布であると仮定して、階層ストレージ全体で所定の期間に処理される想定処理数を計算する。
【００２６】
（８．３）サイジング処理部１４３は、低性能層の最大処理性能から、階層ストレージ全体の負荷分布を生成する。サイジング処理部１４３は、階層ストレージ全体の負荷分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する。（図５で詳細に説明する。）
【００２７】
（８．４）サイジング処理部１４３は、中性能層の最大処理性能から想定されるストレージ装置全体の想定処理数と、低性能層の最大処理性能から想定されるストレージ装置全体の想定処理数との比率を求める。
【００２８】
（８．５）サイジング処理部１４３は、（８．４）で算出する比率にＬｏｇを用いる。サイジング処理部１４３は、Ｌｏｇにかけた比率の結果値が０に近いストレージ装置を優先的に、ユーザに推奨する階層ストレージとして選択する。
【００２９】
（９）サイジング処理部１４３は、選択した階層ストレージの情報を、入出力部１４５に通知する。
【００３０】
（１０）入出力部１４５は、表示装置１５０を介して、ユーザに推奨する階層ストレージの情報を提示する。
【００３１】
支援装置１４０は、（１）〜（３）の処理は、（４）〜（１０）の処理とは独立して処理を繰り返し行う。（４）以降の処理は、ユーザが所望するストレージの容量、性能、価格などの要件情報の入力を契機に実施される。本実施形態に係る支援装置１４０は、（１）〜（３）の処理がなくとも、システムのストレージ装置の使用状況をユーザが入力することで（４）〜（１０）の処理を行うことができる。そのため、支援装置１４０は、ネットワーク１３０と接続されていなくてもよい。ユーザは、表示装置１５０を用いて支援装置１４０にストレージ装置の使用状況を示す情報を入力する。（１０）において、（８．５）で選択した階層ストレージ以外に、（７）で抽出された階層ストレージを表示していてもよい。
【００３２】
本実施形態の支援装置は、全記憶領域にデータを格納した階層ストレージを想定し、ユーザの所望する要件を満たすストレージ装置のなかから、運用中でもユーザの所望する性能が出やすいストレージ装置をユーザに推奨する。
【００３３】
図２は、支援装置のハードウェア構成の例を示す。支援装置１４０は、プロセッサ１１、メモリ１２、バス１５、外部記憶装置１６、ネットワーク接続装置１９を備える。さらにオプションとして、支援装置１４０は、入力装置１３、出力装置１４、媒体駆動装置１７を備えても良い。支援装置１４０は、例えば、コンピュータなどで実現されることがある。入力装置１３、出力装置１４は、本実施形態では、表示装置１５０で実現される。
【００３４】
プロセッサ１１は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）である。プロセッサ１１は、統計部１４２、サイジング処理部１４３、収集部１４４、入出力部１４５として動作することができる。なお、プロセッサ１１は、例えば、外部記憶装置１６に記憶されたプログラムを実行することができる。メモリ１２は、記憶部１４１として動作する。なお、外部記憶装置１６が記憶部１４１でもよい。さらに、メモリ１２は、プロセッサ１１の動作により得られたデータや、プロセッサ１１の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置１９は、他の装置との通信に使用される。
【００３５】
入力装置１３は、例えば、ボタン、キーボード、マウス等として実現され、出力装置１４は、ディスプレイなどとして実現される。バス１５は、プロセッサ１１、メモリ１２、入力装置１３、出力装置１４、外部記憶装置１６、媒体駆動装置１７、ネットワーク接続装置１９の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置１６は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ１１などに提供する。媒体駆動装置１７は、メモリ１２や外部記憶装置１６のデータを可搬記憶媒体１８に出力することができ、また、可搬記憶媒体１８からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体１８は、フレキシブルディスク、Ｍａｇｎｅｔ−Ｏｐｔｉｃａｌ（ＭＯ）ディスク、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ（ＣＤ−Ｒ）やＤｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ（ＤＶＤ−Ｒ）を含む、持ち運びが可能な任意の記憶媒体とすることができる。
【００３６】
図３は、本実施形態に係る階層ストレージの処理の例を説明する図（その１）である。階層ストレージのＳＳＤ及びＨＤＤは、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）を組んでいる。図３の階層ストレージは、高性能層の階層に、ＲＡＩＤ５（２＋１）のＳＳＤを搭載する。図３の階層ストレージは、中性能層の階層に、ＯｎｌｉｎｅＳＡＳとしてＲＡＩＤ５（３＋１）のＨＤＤを搭載する。図３の階層ストレージは、低性能層の階層に、ＮｅａｒｌｉｎｅＳＡＳとしてＲＡＩＤ６（４＋２）のＨＤＤを搭載する。
【００３７】
階層ストレージは、ＳＳＤの階層及びＨＤＤの階層を仮想的に統合した階層ボリュームを、記憶領域としてユーザに提供する。階層ボリュームは、複数のＳｕｂ−ＬＵＮと呼ばれるデータの単位で管理される。階層ストレージは、各Ｓｕｂ−ＬＵＮに格納されたデータのアクセス頻度に応じて、Ｓｕｂ−ＬＵＮ単位で、高性能層〜低性能層の記憶領域にデータを配置する。
【００３８】
図４は、本実施形態に係る階層ストレージの処理の例を説明する図（その２）である。各棒グラフは、図３の各Ｓｕｂ−ＬＵＮに対応しており、縦軸が、Ｓｕｂ−ＬＵＮに格納されているデータへのアクセス頻度（ＩＯＰＳ）を表し、横軸が、Ｓｕｂ−ＬＵＮの容量を表す。図４の棒グラフでは、各Ｓｕｂ−ＬＵＮ２０１ａ〜２０１ｍに格納されるデータへのアクセス頻度の予想値の高い順に予想値が、並べられて表されている。図４の例は、各Ｓｕｂ−ＬＵＮ２０１内のデータへのアクセス頻度には、一定の偏りがあると仮定している。このように各Ｓｕｂ−ＬＵＮ２０１内のデータへのアクセス頻度に偏りがあるため、階層ストレージは、アクセス頻度の高いデータを格納するＳｕｂ−ＬＵＮを高性能層に格納し、アクセス頻度の低いデータを格納するＳｕｂ−ＬＵＮを低性能層に格納する。一例として、階層ストレージは、アクセス頻度の高い負荷の大きいＳｕｂ−ＬＵＮ２０１ａと２０１ｂを、ＳＳＤなどの高性能層の記憶領域に記憶する。階層ストレージは、Ｓｕｂ−ＬＵＮ２０１ａや２０１ｂよりもアクセス頻度が低いＳｕｂ−ＬＵＮ２０１ｃ〜２０１ｆを、Ｏｎｌｉｎｅ  ＳＡＳなどの中性能層の記憶領域に記憶する。階層ストレージは、Ｓｕｂ−ＬＵＮ２０１ｃ〜２０１ｆよりもアクセス頻度が低いＳｕｂ−ＬＵＮ２０１ｇ〜２０１ｍを、Ｎｅａｒｌｉｎｅ  ＳＡＳなどの低性能層の記憶領域に記憶する。なお、各Ｓｕｂ−ＬＵＮに格納されているデータへのアクセス頻度は、各Ｓｕｂ−ＬＵＮにかかる負荷と言い換えてもよい。
【００３９】
本実施形態において、支援装置１４０は、階層ストレージにおけるＳｕｂ−ＬＵＮの負荷を用いて、階層ストレージ全体の負荷分布を生成する。支援装置１４０は、一例として、この負荷分布として図４に示すＺｉｐｆ分布を用いる。Ｚｉｐｆ分布は、アクセス頻度の偏りを表す確率分布の１つである。Ｚｉｐｆ分布は、出現頻度がｋ番目に大きい要素が全体に占める割合が１／ｋに比例するという経験則である。そのため、支援装置１４０は、階層ストレージの全ての記憶領域にデータが書き込まれており、Ｚｉｐｆ分布に従った負荷が各Ｓｕｂ−ＬＵＮにかかるものと仮定している。
【００４０】
図４の例において、Ｓｕｂ−ＬＵＮ２０１ａと２０１ｂとにかかっている負荷を加算することで、高性能層にかかる負荷を計算することができる。そのため、Ｓｕｂ−ＬＵＮ２０１ａと２０１ｂの面積を加算したものを、高性能層にかかる負荷と仮定する。すると、Ｓｕｂ−ＬＵＮ２０１ｃ〜２０１ｆの面積を加算することで、中性能層にかかる負荷を算出できる。同様に、Ｓｕｂ−ＬＵＮ２０１ｇ〜２０１ｍの面積を加算することで、低性能層にかかる負荷を算出できる。また、Ｓｕｂ−ＬＵＮ２０１ａ〜２０１ｍの面積を加算することで、階層ストレージ全体にかかると想定される負荷を算出できる。
【００４１】
図５は、本実施形態に係る支援装置の処理の例を示す図である。支援装置１４０は、図４に示すＺｉｐｆ分布を生成し、（８．１）〜（８．５）の処理を行う。サイジング処理部１４３は、ユーザが所望する要件を満たす各ストレージ装置中の中性能層と低性能層が所定の時間内に処理できる命令数（最大処理性能）を、階層ストレージの仕様情報から取得する。図５の例では、あるストレージ装置の中性能層の最大処理性能は、３５００ＩＯＰＳである。同じストレージ装置の低性能層の最大処理性能は、４４０ＩＯＰＳである。
【００４２】
支援装置１４０は、中性能層の最大処理性能である３５００ＩＯＰＳを、中性能層にかける負荷として設定する。支援装置１４０は、高性能層〜低性能層の容量に関する情報を記憶部から取得し、Ｚｉｐｆ分布図の横軸の中性能層の範囲を算出する。支援装置１４０は、Ｚｉｐｆ分布図の横軸の中性能層の範囲のＳｕｂ−ＬＵＮの負荷を積分し、中性能層にかかる負荷を表す面積が３５００ＩＯＰＳとなるＺｉｐｆ分布を生成する。支援装置１４０は、生成したＺｉｐｆ分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する。その結果、中性能層の最大処理性能を基準にしたストレージ装置全体の想定処理数は、８９００ＩＯＰＳとなる。計算方法は、図６で説明する。
【００４３】
次に、低性能層の最大処理性能である４４０ＩＯＰＳを、低性能層にかける負荷として設定する。支援装置１４０は、高性能層〜低性能層の容量に関する情報を記憶部から取得し、Ｚｉｐｆ分布図の横軸の低性能層の範囲を算出する。支援装置１４０は、Ｚｉｐｆ分布図の横軸の低性能層の範囲のＳｕｂ−ＬＵＮの負荷を積分し、低性能層にかかる負荷を表す面積が４４０ＩＯＰＳとなるＺｉｐｆ分布を生成する。支援装置１４０は、生成したＺｉｐｆ分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する。その結果、低性能層の最大処理性能を基準にしたストレージ装置全体の想定処理数は、８０００ＩＯＰＳとなる。計算方法は、図６で説明する。その結果、１つの階層ストレージの情報から、２種類の想定処理数が算出される。
【００４４】
低性能層の最大処理性能を基準として計算したアクセス数の分布から得られたストレージ装置全体の想定処理数である８０００ＩＯＰＳ以上の処理を、ストレージ装置全体に行わせると、他の階層よりも先に低性能層が処理限界に達する。このとき、中性能層は、所定の時間内に処理できる命令数に余裕を持つ。
【００４５】
本実施形態の支援装置は、低性能層側を基準にしたストレージ装置全体の想定処理数と、中性能層側を基準にしたストレージ装置全体の想定処理数とが近いストレージ装置を、ユーザに推奨する。推奨されるストレージ装置は、低性能層が所定の時間内に処理できる命令数を超えにくく、余裕がある中性能層の性能を減らすことで価格を抑えたストレージ装置である。
【００４６】
図６は、ストレージ装置全体の想定処理数の算出方法の例を説明する図である。図６のＺｉｐｆ分布において、縦軸は、アクセス頻度の確率を表し、横軸は、アクセス頻度の多い順にソートしたＳｕｂ−ＬＵＮを表している。図６のＺｉｐｆ分布の横軸は、Ｓｕｂ−ＬＵＮの数が５０個あることを示す（Ｎ＝５０）。Ｎ個のＳｕｂ−ＬＵＮのうち、高性能層に割り当てられているＳｕｂ−ＬＵＮの数をＳ１で表す。中性能層に割り当てられているＳｕｂ−ＬＵＮの数をＳ２で表す。低性能層に割り当てられているＳｕｂ−ＬＵＮの数をＳ３で表す。Ｓ１〜Ｓ３などのＳｕｂ−ＬＵＮに関する情報は、記憶部１４１に階層ストレージ毎に対応して記憶されている。
【００４７】
Ｚｉｐｆ分布は、Ｎ個のＳｕｂ−ＬＵＮ中で、ｋ番目にアクセス頻度が大きいＳｕｂ−ＬＵＮのアクセス頻度の確率をｆ（ｋ；Ｎ）で表す。ｆ（ｋ；Ｎ）は、式１で表される。また、Ｚｉｐｆ分布は、式２の前提条件を備える。
【００４８】
【数１】
2015197721.tif 000003
【００４９】
【数２】
2015197721.tif 000004
【００５０】
階層ストレージ全体にかかる負荷（ＩＯＰＳ）をＸとすると、Ｘｆ（ｋ；Ｎ）で、ｋ番目にアクセス頻度の大きいＳｕｂ−ＬＵＮの負荷（ＩＯＰＳ）を求めることができる。なお、階層ストレージ全体にかかる負荷Ｘは、高性能層にかかる負荷Ｘ１と、中性能層にかかる負荷Ｘ２と、低性能層にかかる負荷Ｘ３の合計である。すると、階層ストレージ全体にかかる負荷（ＩＯＰＳ）であるＸは、図６のように、Ｚｉｐｆ分布曲線と、Ｚｉｐｆ分布図の横軸（Ｓｕｂ−ＬＵＮの範囲）と縦軸（確率）とで囲まれた範囲の面積で表される。
【００５１】
図６のＺｉｐｆ分布図では、例えば、１番目〜Ｓ１番目のＩＯＰＳを積分することで、高性能層にかかる負荷（ＩＯＰＳ）を計算することができる。同様に、（Ｓ１＋１）〜（Ｓ１＋Ｓ２）番目のＩＯＰＳを積分することで、中性能層にかかる負荷を計算することができる。（Ｓ１＋Ｓ２＋１）〜（Ｓ１＋Ｓ２＋Ｓ３）番目のＩＯＰＳを積分することで、低性能層にかかる負荷を計算することができる。
【００５２】
各階層の処理性能の計算の高速化のために、オイラーの式を用いる。オイラーの式を、式３に示す。オイラーの式のγは、オイラーマスケローニ定数である。
【００５３】
【数３】
2015197721.tif 000005
【００５４】
なお、εは、ｎの値が大きくなると０になる値である。そのため、Nが大きい値であれば、εは計算上含めなくてよい。
【００５５】
式４〜式７は、オイラーの式を用いて式１を変形する途中式である。階層ストレージ中の高性能層にかかる負荷の割合であるZ１を、式１〜式３を用いて計算し、式４で表す。階層ストレージ中の中性能層にかかる負荷の割合であるZ２を、式５で表す。階層ストレージ中の低性能層にかかる負荷の割合であるZ３を、式６で表す。階層ストレージ中の高性能層及び中性能層にかかる負荷の割合を、Z１２で表す（式７）。
【００５６】
【数４】
2015197721.tif 000006
【００５７】
【数５】
2015197721.tif 000007
【００５８】
【数６】
2015197721.tif 000008
【００５９】
【数７】
2015197721.tif 000009
【００６０】
従って、式４〜式７は、以下（式８〜式１１）のようにまとめられる。
【００６１】
【数８】
2015197721.tif 000010
【００６２】
【数９】
2015197721.tif 000011
【００６３】
【数１０】
2015197721.tif 000012
【００６４】
【数１１】
2015197721.tif 000013
【００６５】
式８〜式１１の結果は、各階層にかかる負荷の割合である。そのため、図５のように中性能層にかかる負荷から階層ストレージ全体にかかる負荷を計算する場合、支援装置１４０は、まず、階層ストレージ全体のＳｕｂ−ＬＵＮの数Ｎと、高性能層のＳｕｂ−ＬＵＮの数Ｓ１の情報とを取得する。支援装置１４０は、ＮとＳ１の値から、式８を用いて、Z１の値を算出する。支援装置１４０は、中性能層のＳｕｂ−ＬＵＮの数Ｓ２の情報を取得し、式９を用いて、Z１２の値を算出する。支援装置１４０は、式８と式９の計算結果を用いて式１０の計算を行う。また、支援装置１４０は、式９の計算結果を用いて式１１の計算を行う。その結果、支援装置１４０は、各階層にかかる負荷の割合を計算することができ、例えば中性能層にかかる負荷の値から、階層ストレージ全体にかかる負荷を算出することができる。
【００６６】
図７は、支援装置が推奨する階層ストレージ情報の出力の例を説明する図である。支援装置１４０は、例えば、パラメータシートの形式で推奨する階層ストレージ情報を出力する。パラメータシートは、高性能層のＳＳＤ、中性能層のＯｎｌｉｎｅＳＡＳ、低性能層のＮｅａｒＬｉｎｅＳＡＳに関する情報、容量、価格、レスポンス、性能バランス、全容量が使用済みの場合の階層ストレージの処理性能に関する情報を含む。高性能層のＳＳＤ、中性能層のＯｎｌｉｎｅＳＡＳ、低性能層のＮｅａｒＬｉｎｅＳＡＳに関する情報は、ＲＡＩＤの組み合わせに関する情報を含む。性能バランスは、（８．５）の処理で算出したＬｏｇにかけた比率の結果値である。性能バランスが０に近い階層ストレージであるほど、低性能層が所定の時間内に処理できる命令数を超えにくく、余裕がある中性能層の性能を減らすことで価格を抑えたストレージ装置である。全容量が使用済みの場合の階層ストレージの処理性能に関する情報は、所定の時間内に階層ストレージ全体が処理できる命令数を示す処理性能である。
【００６７】
支援装置１４０は、記憶部１４１に記憶している全階層ストレージに関する情報から、ユーザが所望する要件を満たす階層ストレージに関する情報を抽出する。支援装置１４０は、ユーザが所望する要件を満たす階層ストレージのうち、性能ランスが０に近い階層ストレージを推奨する。推奨されるストレージ装置は、例えば、パラメータシート内で、太字にするなどして文字を強調することで、ユーザにストレージ装置を推奨する。図７の例では、価格が安い階層ストレージの性能バランスは、０．２３１であり、レスポンスが早い階層ストレージの性能バランスは、０．２６９であり、容量が大きい階層ストレージの性能バランスは、０．１８１である。そのため、支援装置１４０は、性能バランスが０．１０７と、０に近い階層ストレージを優先的に推奨するストレージ装置として選択する。
【００６８】
支援装置１４０は、ユーザが所望する要件を満たす階層ストレージを全て出力してもよい。図７のパラメータシートでは、支援装置１４０は、価格が安い、レスポンスが早い、容量が大きい階層ストレージと、性能バランスのよい階層ストレージをユーザに提示する。支援装置１４０は、他の階層ストレージの情報は含まない、性能バランスのよい階層ストレージを推奨する階層ストレージとして提示してもよい。また、ユーザに提示する情報は、パラメータシートに含まれる内容に限定されない。
【００６９】
本実施形態の支援装置は、低性能層側を基準にしたストレージ装置全体の想定処理数と、中性能層側を基準にしたストレージ装置全体の想定処理数とが近いストレージ装置を、ユーザに推奨する。推奨されるストレージ装置は、低性能層が所定の時間内に処理できる命令数を超えにくく、余裕がある中性能層の性能を減らすことで価格を抑えたストレージ装置である。
【００７０】
図８は、支援装置の処理の例を説明するフローチャートである。収集部１４４は、ネットワーク１３０に流れるＩ／Ｏ命令のＩ／Ｏ統計情報を収拾する（ステップＳ１０１）。統計部１４２は、収集したＩ／Ｏ統計情報から、システム中のストレージ装置の使用状況の統計を取る（ステップＳ１０２）。記憶部１４１は、システム中のストレージ装置の使用状況の統計を蓄積する（ステップＳ１０３）。入出力部１４５は、ユーザが所望するストレージの容量、性能、価格などの要件情報の入力が、表示装置１５０でなされたかを判定する（ステップＳ１０４）。ユーザが所望するストレージ装置の要件情報の入力がない場合、支援装置は、ステップＳ１０１から処理を繰り返す。
【００７１】
入出力部１４５は、要件情報を表示装置１５０から取得する（ステップＳ１０５、ステップＳ１０４でＹＥＳ）。サイジング処理部１４３は、ストレージ装置の使用状況情報を、記憶部１４１から取得する（ステップＳ１０６）。サイジング処理部１４３は、記憶部１４１から、複数の階層ストレージの仕様情報を取得する（ステップＳ１０７）。サイジング処理部１４３は、取得した複数の階層ストレージの仕様情報から、ユーザが所望するストレージの容量、性能、価格などの要件を満たすストレージ装置を抽出する（ステップＳ１０８）。サイジング処理部１４３は、ストレージ装置の使用状況情報を処理できる性能を備えるストレージ装置を抽出する（ステップＳ１０９）。サイジング処理部１４３は、実際に使用を開始してもレスポンスの劣化が少なく、価格を抑えた推奨のストレージ装置を抽出する（ステップＳ１１０）。サイジング処理部１４３は、推奨するストレージ装置の情報を、表示装置１５０に送信し、ユーザに提示する（ステップＳ１１１）。
【００７２】
図９は、本実施形態にかかる推奨の階層ストレージを選択する方法の例を説明するフローチャートである。図９のフローチャートを用いて、図８のステップＳ１１０を詳細に説明する。サイジング処理部１４３は、ユーザが所望する要件を満たす各ストレージ装置中の中性能層と低性能層が所定の時間内に処理できる命令数（ＩＯＰＳ）を、階層ストレージの仕様情報から参照する（ステップＳ２０１）。サイジング処理部１４３は、中性能層の最大処理性能から、階層ストレージ全体の負荷分布を生成する（ステップＳ２０２）。サイジング処理部１４３は、階層ストレージ全体の負荷分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する（ステップＳ２０３）。サイジング処理部１４３は、低性能層の最大処理性能から、階層ストレージ全体の負荷分布を生成する（ステップＳ２０４）。サイジング処理部１４３は、階層ストレージ全体の負荷分布から、所定の時間内にストレージ全体が処理できると想定される想定処理数を計算する（ステップＳ２０５）。
【００７３】
サイジング処理部１４３は、中性能層の最大処理性能から想定されるストレージ装置全体の想定処理数と、低性能層の最大処理性能から想定されるストレージ装置全体の想定処理数との比率を求める（ステップＳ２０６）。サイジング処理部１４３は、ユーザが所望する要件を満たす各ストレージ装置全てに対して処理が終わったかを判定する（ステップＳ２０７）。ユーザが所望する要件を満たす各ストレージ装置全てに対してＳ２０１〜Ｓ２０６の処理が終わっていない場合、処理をＳ２０１から繰り返す。Ｓ２０６で算出した比率にＬｏｇにいれ、結果値が０に近いストレージ装置を優先的に、ユーザに推奨する階層ストレージとして選択する（ステップＳ２０８、ステップＳ２０７でＹＥＳ）。
【００７４】
本実施形態の支援装置は、低性能層側を基準にしたストレージ装置全体の想定処理数と、中性能層側を基準にしたストレージ装置全体の想定処理数とが近いストレージ装置を、ユーザに推奨する。推奨されるストレージ装置は、低性能層が所定の時間内に処理できる命令数を超えにくく、余裕がある中性能層の性能を減らすことで価格を抑えたストレージ装置である。
【符号の説明】
【００７５】
１１０  ストレージ装置群
１２０  端末群
１３０  ネットワーク
１４０  支援装置
１４１  記憶部
１４２  統計部
１４３  サイジング処理部
１４４  収集部
１４５  入出力部
１５０  表示装置
２０１  Ｓｕｂ−ＬＵＮ
【図２】
2015197721.tif 000014
【図３】
2015197721.tif 000015
【図４】
2015197721.tif 000016
【図５】
2015197721.tif 000017
【図７】
2015197721.tif 000018
【図８】
2015197721.tif 000019
【図９】
2015197721.tif 000020
【図１】
2015197721.tif 000021
【図６】
2015197721.tif 000022