(57)【特許請求の範囲】
【請求項１】
複数のストレージと、
外部装置からの要求に応じて、前記複数のストレージを制御するホストと、
を具備し、
前記ホストは、
前記複数のストレージに対する前記外部装置からの要求の受信状況に基づき、前記複数のストレージそれぞれの負荷を判定し、
動作可能な最低限度の電力値を前記複数のストレージそれぞれから取得し、前記取得した電力値に基づき、前記複数のストレージそれぞれに供給される電力と前記供給された電力により実現されるパフォーマンスとの関係である電力対性能特性を補正し、
前記負荷の判定結果と、前記補正した前記複数のストレージそれぞれの電力対性能特性とに基づき、前記複数のストレージに対する電源装置から供給される電力の分配を制御する、
ストレージシステム。
【請求項２】
前記ホストは、前記複数のストレージの中の１つのストレージの負荷が閾値以上と判定した場合、前記補正した電力対性能特性に基づき、前記複数のストレージの中のその他のストレージの余剰電力を算出し、前記算出した前記複数のストレージの中のその他のストレージの余剰電力を前記複数のストレージの中の１つのストレージに分配する請求項１に記載のストレージシステム。
【請求項３】
複数のストレージを制御するホストによって実行される電力分配制御方法であって、
前記複数のストレージに対する外部装置からの要求の受信状況に基づき、前記複数のストレージそれぞれの負荷を判定し、
動作可能な最低限度の電力値を前記複数のストレージそれぞれから取得し、前記取得した電力値に基づき、前記複数のストレージそれぞれに供給される電力と前記供給された電力により実現されるパフォーマンスとの関係である電力対性能特性を補正し、
前記負荷の判定結果と、前記補正した前記複数のストレージそれぞれの電力対性能特性とに基づき、前記複数のストレージに対する電源装置から供給される電力の分配を制御する、
電力分配制御方法。
【請求項４】
前記複数のストレージの中の１つのストレージの負荷が閾値以上と判定した場合、前記補正した電力対性能特性に基づき、前記複数のストレージの中のその他のストレージの余剰電力を算出し、前記算出した前記複数のストレージの中のその他のストレージの余剰電力を前記複数のストレージの中の１つのストレージに分配する請求項３に記載の電力分配制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、一般的に、ストレージシステムおよび電力分配制御方法に関する。
【背景技術】
【０００２】
不揮発性メモリと、当該不揮発性メモリを制御する制御機能とを有するストレージシステムがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３４３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
システムの効率性を向上することができるストレージシステムおよび電力分配制御方法を提供する。
【課題を解決するための手段】
【０００５】
実施形態によれば、ストレージシステムは、複数のストレージと、外部装置からの要求に応じて、前記複数のストレージを制御するホストと、を具備し、前記ホストは、前記複数のストレージに対する前記外部装置からの要求の受信状況に基づき、前記複数のストレージそれぞれの負荷を判定し、動作可能な最低限度の電力値を前記複数のストレージそれぞれから取得し、前記取得した電力値に基づき、前記複数のストレージそれぞれに供給される電力と前記供給された電力により実現されるパフォーマンスとの関係である電力対性能特性を補正し、前記負荷の判定結果と、前記補正した前記複数のストレージそれぞれの電力対性能特性とに基づき、前記複数のストレージに対する電源装置から供給される電力の分配を制御する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るストレージシステムの全体構成を示すブロック図。
【図２】第１実施形態に係るストレージシステムの詳細構成を示すブロック図。
【図３】第１実施形態に係るテーブルＴ１を示す図。
【図４】第１実施形態に係るストレージシステムの理論上の電力対性能特性の一例を示す図。
【図５】第１実施形態に係る電力分配決定処理を示すフローチャート。
【図６】第１実施形態に係るストレージシステムの実際上の電力対性能特性の一例を示す図。
【図７】更新後のテーブルＴ１を示す図。
【図８】変更前の電力分配を示す図。
【図９】変更後の電力分配を示す図。
【図１０】第１実施形態に係るストレージアーキテクチャを模式的に示す図。
【図１１】比較例に係るストレージアーキテクチャを模式的に示す図。
【図１２】第２実施形態に係るストレージシステムの詳細構成を示すブロック図。
【図１３】第２実施形態に係る電力分配決定処理を示すフローチャート図。
【図１４】第３実施形態に係るストレージシステムの全体構成を示すブロック図。
【図１５】第４実施形態に係るストレージシステムの全体構成を示すブロック図。
【図１６】変形例１に係るテーブルＴ３を示す図。
【図１７】第１乃至第４実施形態および変形例１に係るストレージシステムの外観の一例を示す斜視図。
【発明を実施するための形態】
【０００７】
以下、図面を参照して、発明の実施形態について説明する。この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
【０００８】
なお、以下の説明において、実質的に同一の機能及び要素については、同一符号を付し、必要に応じて説明を行う。また、本明細書では、いくつかの要素に複数の表現の例を付している。これら表現の例はあくまで例示であり、上記要素が他の表現で表現されることを否定するものではない。また、複数の表現が付されていない要素についても、別の表現で表現されてもよい。
【０００９】
（第１実施形態）  
［１．構成］
［１−１．全体構成］
図１を用い、第１実施形態に係るストレージシステム１００を含む全体構成について説明する。図１において、破線は電力系の経路を示し、実線は信号系の経路を示す。
【００１０】
図示するように、第１実施形態に係るストレージシステム１００は、電源装置５０から供給される電力Ｐｍａｘにより駆動し、ネットワーク２１０を介して外部２００からアクセスされる外部装置２２０の処理や要求（例えば、データ書き込み要求等）を実行する。
【００１１】
ストレージシステム１００は、ストレージ１０であるＳＳＤ０〜ＳＳＤｎ−１（ｎは自然数）と、ストレージ１０を制御するホスト２０とを備える。ここでは、ストレージ１０として、ＳＳＤ（solid state drive）を一例に挙げて説明する。なお、ストレージ１０としては、ＳＳＤに限定されず、例えば、ＨＤＤ（hard disc drive）やその他のストレージやメモリを適用することが可能である。ストレージ１０およびホスト２０の詳細な構成については、後述する。
【００１２】
電源装置５０は、外部電源ＶＣから与えられる外部電力を、所定の電力Ｐｍａｘに変換する。上記変換後の電源電力Ｐｍａｘは、ストレージ１０ごとにほぼ均等に分割された電力Ｐ０〜Ｐｎ−１として供給される。但し、第１実施形態では、ストレージシステム１００へ供給される総電力Ｐｍａｘは決まっており、その値は実質的に一定である。そのため、下記（Ｉ）に示すように、電源装置５０から供給される電力Ｐｍａｘの値は、各ＳＳＤ０〜ＳＳＤｎ−１に供給される電力Ｐ０〜Ｐｎ−１の総和以下の値となる。
【００１３】
Ｐｍａｘ ≦ ΣＰｉ  （ｉ＝０，１，２， ，，，ｎ−１）  ・・・  （Ｉ）
外部装置２２０は、ストレージシステム１００の外部２００から、ネットワーク２１０を介してストレージシステム１００にアクセスし、アクセスしたストレージシステム１００に所定の処理や要求（例えば、データ読み出し、データ書き込み、データ消去等）を行う。なお、ネットワーク２１０は、有線や無線に限定されない。
【００１４】
上記構成において、第１実施形態に係るストレージシステム１００は、ストレージ１０（ＳＳＤ０〜ＳＳＤｎ−１）が行う負荷に応じて、ストレージ１０へ分配する電力を変更してこれらを最適化（Ｐ０〜Ｐｎ−１→Ｐ０´´〜Ｐｎ−１´´）する。このように構成することで、第１実施形態に係るストレージシステム１００は、システムの効率性を向上することができる。作用効果の詳細については、後述する。
【００１５】
［１−２．ストレージシステム］
図２を用い、第１実施形態に係るストレージシステム１００の詳細構成について説明する。上述のように、ストレージシステム１００は、ストレージ１０である複数のＳＳＤ０〜ＳＳＤｎ−１と、ストレージ１０を制御するホスト２０とを備える。なお、以下の説明では、ストレージシステム１００が、１０個のＳＳＤ０〜ＳＳＤ９（ｎ＝１０）を備える場合を一例に挙げる。
【００１６】
［ストレージ］
ストレージ（記憶装置）１０である各ＳＳＤ０〜ＳＳＤ９は、ＮＡＮＤ型フラッシュメモリ（以下、「ＮＡＮＤメモリ」という。）１１と、メモリコントローラ１２と、変電部１３とを備える。
【００１７】
ＮＡＮＤメモリ１１は、複数のブロック（物理ブロック）を備え、各ブロックにデータを記憶する不揮発性の半導体メモリである。ブロックは、ワード線とビット線との交差位置に配置される複数のメモリセルを備える。各メモリセルは、制御ゲートおよび浮遊ゲートを備え、浮遊ゲートに注入される電子の有無によりデータを不揮発に記憶する。ワード線は、メモリセルの制御ゲートに共通に接続される。各ワード線に、ページが存在する。このページごとに、データ読み出し動作およびデータ書き込み動作が行われる。そのため、ページは、データ読み出し単位であり、データ書き込み単位である。データ消去は、ブロックで一括して行われる。そのため、ブロックは、データ消去単位である。なお、第１実施形態に係るＮＡＮＤメモリ１１は、１つのメモリセルに多ビットデータを記憶可能なＭＬＣ（Multi Level Cell）や、１つのメモリセルＭＣに１ビットデータを記憶可能なＳＬＣ（Single Level Cell）であってもよい。
【００１８】
メモリコントローラ１２は、ホスト２０からの要求に従い、このストレージ１００全体の動作を制御する。例えば、メモリコントローラ１２は、ホスト２０からの書き込み要求であるライトコマンドに従い、書き込みデータをＮＡＮＤメモリ１１の所定のアドレスに書き込む。さらに、第１実施形態に係るメモリコントローラ１２は、ホスト２０から送信された各ＳＳＤ０〜ＳＳＤ９が動作可能な最低限度の電力を確認するための拡張的な要求ｅＣＯＭを受信する。ここで、「拡張的な要求ｅＣＯＭ」とは、少なくともストレージ１０の種々の状態（例えば、ここでは、ストレージ１０の消費電力の状態）を検知するように意図的に送信される信号であって、上記ライトコマンド等とは別定義である信号をいう。ここで、コマンドｅＣＯＭに限られず、その他の拡張的な（または拡張された）所定の信号（情報、要求、指示等）であればよい。
【００１９】
続いて、各ＳＳＤ０〜ＳＳＤ９のメモリコントローラ１２は、受信した要求ｅＣＯＭに対し、ストレージ１０が消費する電力を示すステータス信号ＲｅＳ（Ｐ０´〜Ｐ９´）を返信する。なお、本実施形態では、ステータス信号ＲｅＳ（Ｐ０´〜Ｐ９´）には、例えば、動作可能な最低限度の電力が所定のパラメータ等にて記述される。ここでも、ステータス信号ＲｅＳに限られず、その他の拡張的な（または拡張された）所定の信号（情報、要求、指示等）であればよい。
【００２０】
さらに、各ＳＳＤ０〜ＳＳＤ９のメモリコントローラ１２は、ホスト２０から通知された変更後の電力Ｐ０´´〜Ｐ９´´に基づいて動作するように変電部１３を制御する。これらの動作の詳細については、後述する。
【００２１】
変電部１３は、メモリコントローラ１２の制御に従い、電源装置５０から供給される電力Ｐ０〜Ｐ９を変電する。ストレージ１０は、変電部１３から供給される電力に応じて所定の動作を行う。
【００２２】
なお、ストレージ１０の構成は、上述したものに限られないことは勿論である。例えば、メモリコントローラ１２は、ホスト２０が管理する論理アドレスとストレージ１０が管理する物理アドレスとの対応関係を示すアドレス変換テーブル等を備えてもよい。また、上記拡張的なコマンドｅＣＯＭや拡張的なステータス信号ＲｅＳは、その送信の順序を問わない。即ち、まず、ストレージ１０からホスト２０へ拡張的な所定の信号を送信し、次いで、ホスト２０からストレージ１０へ拡張的な所定の信号を送信してもよい。
【００２３】
［ホスト］
ホスト２０は、ネットワーク２１０を介して外部からアクセスされる外部装置２２０の要求に従い、各ストレージ１０を制御する。ホスト２０は、データ場所管理部２１と、電力分配判断部２３と、ＣＰＵ（central processing unit）２２とを備える。
【００２４】
データ場所管理部２１は、ＣＰＵ２２の制御に従い、例えばストレージ１０に記憶させた書き込みデータの位置情報等を管理する。データ場所管理部２１は、テーブル（第１テーブル）Ｔ１を備える。テーブルＴ１は、後述するように、各ＳＳＤ０〜ＳＳＤ９における電力対性能特性を少なくとも示すものである。
【００２５】
電力分配判断部２３は、ＣＰＵ２２の制御に従い、各ＳＳＤ０〜ＳＳＤ９に分配する電力を判断する。具体的には、電力分配判断部２３は、ＣＰＵ２２から送信される補正後のストレージ１０の特性ＰＰ０´〜ＰＰ９´に基づき、各ＳＳＤ０〜ＳＳＤ９に再分配する電力Ｐ０´´〜Ｐ９´´を判断する。判断した電力Ｐ０´´〜Ｐ９´´は、ＣＰＵ２２に通知される。
【００２６】
ＣＰＵ２２は、データ場所管理部２１および電力分配判断部２２を制御し、ホスト２０全体の動作を制御する。
【００２７】
なお、ホスト２０の構成は、上述したものに限られないことは勿論である。例えば、ホスト２０は、ストレージ１０と通信するためのインターフェイス等を備えてもよい。
【００２８】
［１−３．テーブルＴ１］
図３および図４用い、第１実施形態に係るテーブルＴ１の詳細について説明する。図３は、第１実施形態に係るテーブルＴ１を示す図である。
【００２９】
図示するように、テーブルＴ１には、ストレージ１０であるＳＳＤ０〜ＳＳＤ９と、理論上の電力対性能特性（電気的特性）ＰＰ０〜ＰＰ９とが対応して示されている。各電力対性能特性ＰＰ０〜ＰＰ９は、性能（パフォーマンス）が与えられる電力の大きさに従って変化することを仮定した典型的な特性として示される。
【００３０】
例えば、図４には、ＳＳＤ０の電力対性能特性ＰＰ０が示される。図４に示すように、特性ＰＰ０は、理論上では、与えられる電力に比例して原点０からパフォーマンスが増大する。具体的には、電力Ｐ０の場合、ＳＳＤ０は、電力Ｐ０に比例してパフォーマンスＳ０を行うことが可能である。但し、与えられる電力がある程度大きくなると、実行できるパフォーマンスの比例係数は減少する。例えば、与えられる電力が電力Ｐ０を超えると、パフォーマンスの比例係数は減少する。この理由は、与えられる電力がある程度大きくなると、コントローラ１２で発生する熱量が増大するためである等であると考えられる。
【００３１】
なお、「パフォーマンス（性能、性能指標）」とは、与えられた電力に対してＮＡＮＤメモリ１１が何らかの動作や働きを行う全てのものを含み得る。例えば、ＮＡＮＤメモリ１１のパフォーマンスとしては、データ書き込み、データ読み出し、データ消去、ガベージコレクション（コンパクション）、ＩＰＯＳ（input/output per second）、ＭＢ／ｓ（mega byte per second）等を含み得る。ＩＰＯＳは、ＮＡＮＤメモリ１１に対して１秒あたりに書き込み可能な回数である。ＭＢ／ｓは、ホスト２０とＮＡＮＤメモリ１１との間の通信速度である。その他のＳＳＤ１〜ＳＳＤ９の電力対性能特性ＰＰ１〜ＰＰ９についても、上記ＰＰ０と同様である。
【００３２】
［２．動作］
次に、上記構成において、第１実施形態に係るストレージシステム１００の動作について説明する。
【００３３】
［２−１．分配電力決定処理］
図５を用い、第１実施形態に係るストレージシステム１００の分配電力決定処理について説明する。ここでは、例えば、外部装置２２０から特定のＳＳＤ５にアクセスが集中し、上記ＳＳＤ５により大きな電力負荷（大きな電力）が必要であると、ホスト２０のＣＰＵ２２が判断した場合を一例に挙げて説明する。
【００３４】
まず、ステップＳ１１において、ホスト２０のＣＰＵ２２は、各ＳＳＤ０〜ＳＳＤ９が動作可能な最低限度の電力を確認するための拡張的な要求（第１要求）ｅＣＯＭを送信する。
【００３５】
ステップＳ１２において、ストレージ１０のメモリコントローラ１２は、受信した要求ｅＣＯＭに対し、動作可能な最低限度の電力を示すステータス信号ＲｅＳ（Ｐ０´〜Ｐ９´）を返信する。例えば、ＳＳＤ０のメモリコントローラ１２は、まず、受信した要求ｅＣＯＭに従い、自身のＮＡＮＤメモリ１１に供給された電力Ｐ０と性能との関係から、自身のＮＡＮＤメモリ１１の動作可能な最低限度の電力Ｐ０´を検出する。続いて、ＳＳＤ０のメモリコントローラ１２は、検知した最低限度の電力Ｐ０´をステータス信号ＲｅＳ（Ｐ０´）としてホスト２０へ返信する。このステータス信号ＲｅＳには、ストレージ１０である各ＳＳＤ０〜ＳＳＤ９を識別するための第１パラメータ（識別情報）が割り当てられる。第１パラメータは、例えば、各ＳＳＤ０〜ＳＳＤ９ごとに固有に割り当てられるＩＤ情報等である。
【００３６】
ステップＳ１３において、ホスト２０のＣＰＵ２２は、返信されたステータス信号ＲｅＳ（Ｐ０´〜Ｐ９´）に基づき、各ＳＳＤの電力対性能特性を補正する。より具体的には、図６に示すように、ホスト２０の電力分配判断部２３は、例えば、ＳＳＤ０の動作可能な最低限度の電力を示すステータス信号ＲｅＳ（Ｐ０´）に基づき、特性ＰＰ０の初期値を原点からＰ０´に増大させる。さらに、電力分配判断部２３は、特性ＰＰ０を平行的に移動させ、特性ＰＰ０を補正した実際上の特性ＰＰ０´を計算する。このように、特性ＰＰ０´を計算することで、ＮＡＮＤメモリ１１以外の例えばメモリコントローラ１２やその他の周辺回路等が駆動するために必要な最低限度の電力を考慮することができる。その結果、各ストレージ１０の実際の状況に基づいて、より正確な特性を計算することができる。その他の特性ＰＰ１´〜ＰＰ９´についても、上記ＰＰ０´と同様に計算を行う。
【００３７】
ステップＳ１４において、図７に示すように、ホスト２０のＣＰＵ２２は、補正した各ＳＳＤ０〜ＳＳＤ９の電力対性能特性ＰＰ０´〜ＰＰ９´を、テーブルＴ１に格納し、テーブルＴ１を更新する。なお、以下のステップＳ１５，Ｓ１６においても同様に、ＣＰＵ２２は、計算した許容電力Ｐ０´´〜Ｐ９´´および変更後の電力Ｐ０´´〜Ｐ９´´をテーブルＴ１に格納する。
【００３８】
ステップＳ１５において、ホスト２０の電力分配判断部２３は、補正後の電力対性能特性ＰＰ０´〜ＰＰ９´に基づき、負荷を与えるＳＳＤ５以外のＳＳＤ０〜４，ＳＳＤ６〜９に分配する許容電力Ｐ０´´〜Ｐ４´´およびＰ６´´〜Ｐ９´´を計算する。より具体的には、図６に示すように、電力分配判断部２３は、補正後の特性ＰＰ０´に基づき、現状分配されている電力Ｐ０から抑制可能な電力（余分な電力）Ｐ０´´を計算する。「許容電力（抑制可能な電力、余分な電力）」とは、ＮＡＮＤメモリ１１の動作が継続可能な電力であればよい。その他の許容電力Ｐ１´´〜Ｐ９´´についても、上記許容電力Ｐ０´´と同様に計算を行う。
【００３９】
ステップＳ１６において、ホスト２０の電力分配判断部２３は、計算した許容電力Ｐ０´´〜Ｐ４´´およびＰ６´´〜Ｐ９´´から、負荷を与えるＳＳＤ５に加えるための変更した電力Ｐ５´´を計算する。より具体的には、図６に示すように、まず、電力分配判断部２３は、現状分配されている電力Ｐ０〜Ｐ４，Ｐ６〜Ｐ９と、上記計算した抑制可能な電力Ｐ０´´〜Ｐ４´´，Ｐ６´´〜Ｐ９´´との差分ＡＰ０〜ＡＰ４，ＡＰ６〜ＡＰ９をそれぞれ計算する。次に、電力分配判断部２３は、計算した差分の電力ＡＰ０〜ＡＰ４，ＡＰ６〜ＡＰ９を、ＳＳＤ５に割り当てられている電力Ｐ５に加算する。その結果、電力分配判断部２３は、加算後の電力Ｐ５´´（＝Ｐ５＋［ＡＰ０〜ＡＰ４，ＡＰ６〜ＡＰ９］）を、ＳＳＤ５に加えるための変更後の電力として算出する。
【００４０】
ステップＳ１７において、ホスト２０は、電力制御コマンドとして、ホスト２０の計算した変更後の電力Ｐ０´´〜Ｐ９´´（第２電力）を、ストレージ１０の各ＳＳＤ０〜ＳＳＤ９に通知する。より具体的には、電力制御コマンドには、ストレージ１０である各ＳＳＤ０〜ＳＳＤ９を識別するための第１パラメータ（識別情報）と、変更後の電力Ｐ０´´〜Ｐ９´´（第２電力）を示す第２パラメータ（電力情報）とが少なくとも記述される。第１パラメータは、例えば、各ＳＳＤ０〜ＳＳＤ９ごとに固有に割り当てられるＩＤ情報等である。この際、ホスト２０は、このＩＤ情報を判定し、ステータス信号ＲｅＳに割り当てられたＩＤ情報と一致する各ストレージ１０に対して電力制御コマンドを送信する。
【００４１】
ステップＳ１８において、ストレージ１０の各ＳＳＤ０〜ＳＳＤ９は、通知された変更後の電力Ｐ０´´〜Ｐ９´´に基づいて各動作を行う。より具体的には、ＳＳＤ０〜ＳＳＤ９の変電部１３は、電源装置５０から供給される電力Ｐ０〜Ｐ９（第１電力）を、メモリコントローラ１２から通知された電力Ｐ０´´〜Ｐ９´´（第２電力）となるように変電する。
【００４２】
その結果、特定のＳＳＤ５は、変更前の電力Ｐ５（第１電力）より大きな電力Ｐ５´´（第２電力）に基づき動作を行う。一方、その他のＳＳＤ０〜ＳＳＤ４，ＳＳＤ６〜ＳＳＤ９は、抑制可能な電力が差し引かれ、変更前の電力Ｐ０〜Ｐ４，Ｐ６〜Ｐ９（第１電力）以下の電力Ｐ０´´〜Ｐ４´´，Ｐ６´´〜Ｐ９´´（第２電力）に基づき動作を行う。
【００４３】
［３．作用効果］
以上説明したように、第１実施形態に係るストレージシステム１００の構成および動作によれば、少なくとも下記（１）の効果が得られる。
【００４４】
（１）システムの効率性を向上することができる。
【００４５】
例えば、特定のＳＳＤ５により大きな負荷（大きな電力）が必要であるとホスト２０が判断した場合、ホスト２０は、各ＳＳＤ０〜ＳＳＤ９の状況や特性（ここでは、最低限度の電力）を把握ために、拡張的なコマンドｅＣＯＭを送信する（図５のＳ１１）。続いて、コマンドｅＣＯＭを受けたストレージ１０は、動作可能な最低限度の電力を示すステータス信号ＲｅＳ（Ｐ０´〜Ｐ９´）を、ホスト２０へ返信する（図５のＳ１２）。さらに、ホスト２０は、返信されたステータス信号ＲｅＳ（Ｐ０´〜Ｐ９´）に基づき、各ＳＳＤの電力対性能特性を補正し、補正した特性ＰＰ０´〜ＰＰ９´から変更後の電力Ｐ０´´〜Ｐ９´´を計算する（図５のＳ１３〜Ｓ１６）。その後、計算された変更後の電力Ｐ０´´〜Ｐ９´´に基づき、ストレージ１０は動作を行う。
【００４６】
上記構成および動作によれば、割り当て可能な電力が負荷をかけるＳＳＤ５へ集中的に注入され、当該ＳＳＤ５の処理能力を上げることで、ストレージシステム１００全体の効率性を向上できる。
【００４７】
例えば、図８に示すように、電力が変更される前の場合、各ＳＳＤ０〜ＳＳＤ９は、ホスト２０の制御に従い、ほぼ均等に分配された電力Ｐ０〜Ｐ９に基づき動作を行う。ここで、上記（Ｉ）にて説明したように、ストレージシステム１００への総供給電力量Ｐｍａｘが決まっている場合、限られた電力Ｐｍａｘで最大の性能を発揮することを想定すると、各ＳＳＤ０〜ＳＳＤ９に対して均等に電力Ｐ０〜Ｐ９を分配することは必ずしも望ましくない。これは、図４や図６に示したように、ストレージ１０の性能（パフォーマンス）が、消費される電力によって変化することを前提としている。例えば、上述のように、外部装置２２０であるサーバ群が、同一のあるＳＳＤ５にアクセスし、そのアプリケーション等のデータを格納・参照している場合、特定のＳＳＤ５にアクセスが集中し、大量の処理が要求されることになる。
【００４８】
そこで、図９に示すように、ＳＳＤ５に供給する電力を増大するように電力を変更する。そのため、より大きな電力が必要なＳＳＤ５は、より大きな電力Ｐ５´´に基づき動作することができる。一方、その他のＳＳＤ０〜ＳＳＤ４，ＳＳＤ６〜ＳＳＤ９は、抑制可能な電力が差し引かれた電力Ｐ０´´〜Ｐ４´´，Ｐ６´´〜Ｐ９´´に基づき動作を継続することができる。
【００４９】
その結果、図１０に示すように、第１実施形態によれば、単一種類のストレージ１０により構成されたシステムであっても、電力の供給量によりストレージ１０の処理性能を擬似的に階層化することができる。より具体的には、アクセス要求の高いデータ（ここでは、ＳＳＤ５が記憶するデータ）に関しては、供給する電力を増大させて、処理能力を増大させ、処理速度を上げる。このように、第１実施形態に係るストレージシステム１００によれば、任意のストレージ１０を高速の層（上位層）として取り扱うことができ、システム全体の効率性を向上することができる点で有利である。
【００５０】
第１実施形態と比較して、図１１に示すように、比較例は、複数種類のストレージで構成された階層化された構成となっている。例えば、高速の層（上位層）としては、高速インターフェイスのＳＳＤが用いられる。例えば、中速の層（中位層）としては、低速インターフェイスのＳＳＤまたは高速のＨＤＤが用いられる。例えば、低速の層（下位層）としては、低速のＨＤＤが用いられる。
【００５１】
しかしながら、比較例のように階層化されたストレージ構成では、各階層によって物理デバイスやインターフェイスが異なる。そのため、特定のストレージを高速化することはできない。加えて、アクセス要求の高いデータを、高速の層（上位層）に保存して対応しても、必ずしも上位層のデータにのみアクセス要求が集中するとは限らない。このように、比較例に係るストレージシステムは、階層化された後に、システム全体の効率性を向上することが困難である点で不利である。
【００５２】
（第２実施形態（ストレージが自己の性能を判断する一例））  
次に、図１２および図１３を用い、第２実施形態について説明する。第２実施形態は、ストレージ１０が自己の性能を判断する一例に関する。なお、以下の説明においては、上記第１実施形態と重複する部分の説明については省略する。
【００５３】
［構成］
［ストレージシステム］
図１２を用い、第２実施形態に係るストレージシステム１００の詳細構成について説明する。図示すように、第２実施形態に係るストレージシステム１００は、第１実施形態と比較して、ＮＡＮＤメモリ１１がテーブルＴ２を備え、ストレージ１０が自己性能判断部１４を備える。
【００５４】
ＮＡＮＤメモリ１１が備えるテーブル（第２テーブル）Ｔ２は、自ストレージ１０の実際上の特性ＰＰ０´〜ＰＰ９´が同様に格納される。例えば、ＳＳＤ０のテーブルＴ２には、ＳＳＤ０の実際上の特性ＰＰ０´が格納される。テーブルＴ２は、任意の時間間隔で、メモリコントローラ１２により更新される。なお、テーブルＴ２が格納される場所は、ＮＡＮＤメモリ１１に限定されない。
【００５５】
自己性能判断部１４は、メモリコントローラ１２の制御に従い、自ストレージ１０の性能を判断し、判断結果をメモリコントローラ１２に通知する。例えば、ＳＳＤ０の自己性能判断部１４は、コマンドｅＣＯＭを受信すると、テーブルＴ２を参照し、実際上の特性ＰＰ０´に基づいて、自ＳＳＤ０が動作可能な最低限度の電力Ｐ０´を判断する。さらに、ＳＳＤ０の自己性能判断部１４は、判断した電力Ｐ０´をメモリコントローラ１２に通知する。
【００５６】
その他の構成に関しては、上記第１実施形態と実質的に同様であるため、その詳細な説明を省略する。
【００５７】
［動作］
［分配電力決定処理］
図１３を用い、上記構成における第２実施形態に係るストレージシステム１００の分配電力決定処理について説明する。ここでも、例えば、外部装置２２０から特定のＳＳＤ５にアクセスが集中し、上記ＳＳＤ５により大きな負荷（大きな電力）が必要であると、ホスト２０のＣＰＵ２２が判断した場合を一例に挙げて説明する。
【００５８】
ステップＳ２１において、ホスト２０のＣＰＵ２２は、同様に、各ＳＳＤが動作可能な最低限度の電力を検知するための拡張的なコマンドｅＣＯＭをストレージ１０へ送信する。
【００５９】
ステップＳ２２において、ストレージ１０の自己性能判断部１４は、コマンドｅＣＯＭに対し、テーブルＴ２を参照し、テーブルＴ２の実際上の特性ＰＰ０´〜ＰＰ９´に基づいて、動作可能な最低限度の電力Ｐ０´〜Ｐ９´を計算する。
【００６０】
ステップＳ２３において、ストレージ１０の自己性能判断部１４は、テーブルＴ２を参照し、特性ＰＰ０´〜ＰＰ９´に基づいて、計算した電力Ｐ０´〜Ｐ９´において、予想される各パフォーマンスＳ０´〜Ｓ９´を計算する。
【００６１】
ステップＳ２４において、ストレージ１０のメモリコントローラ１２は、計算した電力Ｐ０´〜Ｐ９´および予想されるパフォーマンスＳ０´〜Ｓ９´を、ステータス信号ＲｅＳとして、ホスト２０へ返信する。
【００６２】
ステップＳ２５において、ホスト２０の電力分配判断部２３は、受信したステータス信号ＲｅＳ（Ｐ０´〜Ｐ９´，Ｓ０´〜Ｓ９´）に基づき、許容電力Ｐ０´´〜Ｐ４´´およびＰ６´´〜Ｐ９´´、並びに負荷を与えるＳＳＤ５の変更した電力Ｐ５´´を同様に決定する。
【００６３】
ステップＳ２６において、ホスト２０のＣＰＵ２２は、決定した電力Ｐ０´´〜Ｐ９´´を同様にストレージ１０に通知する。
【００６４】
ステップＳ２７において、ストレージ１０は、ホスト２０から通知された電力Ｐ０´´〜Ｐ９´´に基づいて、同様に動作する。
【００６５】
その他の動作に関しては、上記第１実施形態と実質的に同様であるため、その詳細な説明を省略する。
【００６６】
［作用効果］
以上説明したように、第２実施形態に係るストレージシステム１００の構成および動作によれば、少なくとも上記（１）と同様の効果が得られる。さらに、第２実施形態で説明したように、ストレージ１０が自己の性能や消費電力を判断してもよい。
【００６７】
（第３実施形態（ホストが要求する性能を通知する一例））  
次に、図１４を用い、第３実施形態について説明する。第３実施形態は、ホストが要求する性能をストレージ１０に通知する一例に関する。なお、以下の説明においては、上記実施形態と重複する部分の説明については省略する。
【００６８】
［構成および動作］
図１４に示すように、第３実施形態に係るストレージシステム１００は、第１および第２実施形態と比較して、ホスト２０が、要求する性能Ｓ０´´〜Ｓｎ−１´´をストレージ１０に更に通知する。例えば、図６に示すように、性能Ｓ０´´は、特性ＰＰ０´に基づいて、計算した電力Ｐ０´´において予想されるパフォーマンスである。
【００６９】
より具体的には、上記ステップＳ１４およびＳ１５において、ホスト２０の電力分配判断部２３は、特性ＰＰ０´〜ＰＰ９´に基づいて、電力Ｐ０´´〜Ｐ９´´を算出する。続いて、電力分配判断部２３は、特性ＰＰ０´〜ＰＰ９´に基づいて、算出した電力Ｐ０´´〜Ｐ９´´において予想されるパフォーマンスＳ０´´〜Ｓ９´´を計算する。算出したパフォーマンスＳ０´´〜Ｓ９´´は、電力Ｐ０´´〜Ｐ９´´と共に、ストレージ１０へ通知される。
【００７０】
なお、ホスト２０は、電力Ｐ０´´〜Ｐ９´´の代わりに、算出したパフォーマンスＳ０´´〜Ｓ９´´のみをストレージ１０に通知してもよい。また、パフォーマンスＳ０´´〜Ｓ９´´を算出する主体は、ホスト２０に限らず、ストレージ１０であってもよい。
【００７１】
その他の構成および動作に関しては、上記第１，第２実施形態と実質的に同様であるため、その詳細な説明を省略する。
【００７２】
［作用効果］
以上説明したように、第３実施形態に係るストレージシステム１００の構成および動作によれば、少なくとも上記（１）と同様の効果が得られる。さらに、第３実施形態によれば、要求するパフォーマンスＳ０´´〜Ｓ９´´により直接的にストレージ１０を制御することができる。そのため、より直接的に要求する各パフォーマンスを実行させることができる。
【００７３】
（第４実施形態（総供給電力量を可変とする一例））  
次に、図１５を用い、第４実施形態について説明する。第４実施形態は、総供給電力量Ｐｍａｘを可変とする一例に関する。なお、以下の説明においては、上記実施形態と重複する部分の説明については省略する。
【００７４】
［構成および動作］
図１５に示すように、第４実施形態に係るストレージシステム１００Ａは、第１乃至第３実施形態と比較して、ホスト２０から電源装置５０Ａに通知される制御信号ＣＳ５０により、このストレージシステム１００Ａに供給される総電力Ｐｍａｘの最大値が可変である。
【００７５】
例えば、電源装置５０Ａが、ストレージシステム１００Ａと異なる別のストレージシステム１００Ｂにも電力を供給する場合を想定する。このような場合、当該ストレージシステム１００Ｂの動作が停止していると、電源装置５０Ａの供給電力Ｐｍａｘに、余裕が発生する。そのため、ホスト２０のＣＰＵ２２が上記余裕電力を検知すると、電源装置５０Ａに対して、電力Ｐｍａｘの最大値を増大するように、制御信号ＣＳ５０を送信する。制御信号ＣＳ５０を受けた電源装置５０Ａは、ホスト２０の制御に従い、電力Ｐｍａｘの最大値を増大させて、ストレージシステム１００Ａに供給する。
【００７６】
その他の構成および動作に関しては、上記第１乃至第３実施形態と実質的に同様であるため、その詳細な説明を省略する。
【００７７】
［作用効果］
以上説明したように、第４実施形態に係るストレージシステム１００の構成および動作によれば、少なくとも上記（１）と同様の効果が得られる。さらに、第４実施形態によれば、ホスト２０から電源装置５０Ａに通知される制御信号ＣＳ５０により、このストレージシステム１００Ａに供給される総電力Ｐｍａｘの最大値を変更し、電力Ｐｍａｘの値を増大させることができる。そのため、さらにシステムの効率性を向上することができる点で有利である。
【００７８】
（変形例１）  
ストレージシステムは、第１乃至第４実施形態に説明したものに限らず、下記の通り、必要に応じて変形することが可能である。
【００７９】
［構成および動作について］
ストレージ１０の消費電力を判断する手段は、電力対性能特性を利用することに限定されない。例えば、図１６に示すように、ストレージ１０を構成するＳＳＤ０〜ＳＳＤ９のログ（動作履歴）を記録したテーブル（第３テーブル）Ｔ３を備えてもよい。テーブルＴ３には、ストレージを構成するＳＳＤ０〜ＳＳＤ９の電力と当該電力に対して実行したパフォーマンスとが記録されている。例えば、ＳＳＤ０のログとして、（Ｓ０１，Ｐ０１）、（Ｓ０２，Ｐ０２）、 ．．．が記録されている。その他のＳＳＤ１〜ＳＳＤ９のログについても同様である。ホスト２０やストレージ１０が上記テーブルＴ３を参照することで、同様に、その特性から所定の電力やパフォーマンスを判断すればよい。また、特性やログの両方を併用して用いてもよいことは勿論である。
【００８０】
さらに、上記説明では、第１乃至第３テーブルＴ１〜Ｔ３を例に挙げて説明したが、テーブル形式に限定されない。例えば、所定の数式や関数等であってもよい。
【００８１】
電力の分配に関しても、総電力Ｐｍａｘから余分な許容電力を差し引いて特定のストレージに供給する手段に限定されず、必要に応じて変形することが可能である。例えば、ホスト２０が全てのストレージ１０の状態を同様に把握した上で、ある特定の時間の特定の処理が最も早く終わるようにストレージ１０に電力を分配してもよい。
【００８２】
ストレージ１０が消費する電力は、ストレージ１０のパフォーマンスや動作状況だけでなく、例えば、ストレージ１０の環境（温度等）によっても変化する。そのため、ストレージ１０の性能を図る指標として、ストレージ１０の温度や発熱量を同様に検知してもよい。
【００８３】
［外観について］
図１７を用い、第１乃至第４実施形態および変形例に適用可能なストレージシステムの外観の一例について説明する。
【００８４】
図１７に示すように、ストレージシステム１００は、ストレージ１０と、ストレージ１０を制御するホスト２０とを備える。ここでは、ストレージ１０として、ＳＳＤを一例に挙げて説明する。
【００８５】
図１７に示すように、ストレージ１０であるＳＳＤ０〜ＳＳＤ９の外観は、例えば比較的小型のモジュールである。ＳＳＤ０〜ＳＳＤ９の外形寸法の一例は、１２０ｍｍ×１５０ｍｍ程度である。なお、ＳＳＤ０〜ＳＳＤ９の大きさや寸法は、これに限られるものではなく、種々の大きさのものに適宜変更可能である。
【００８６】
また、ストレージ１０は、例えば、企業（エンタープライズ）で運用されるデータセンターやクラウドコンピューティングシステム等において、ホスト２０に装着されて使用可能である。ストレージ１０は、ホスト２０の制御に従い、ネットワーク２１０を介して、外部のサーバ等の外部装置２２０とアクセス可能である。そのため、ＳＳＤ０〜ＳＳＤ９は、エンタープライズ用ＳＳＤ（ｅＳＳＤ）であってもよい。
【００８７】
ホスト（ホスト装置）２０は、例えば上方に開口した複数のコネクタ（例えばスロット）３０を有する。コネクタ３０は、例えばＳＡＳ（Serial Attached SCSI）コネクタ等である。このＳＡＳコネクタによれば、6GbpsのDual Portにより、ホスト２０と各ＳＳＤ１０とが互いに高速通信を行うことが可能である。なお、これに限られず、コネクタ３０は、例えば、ＰＣＩｅ（PCI Express）や、ＮＶＭｅ（NVM Express）等であってもよい。
【００８８】
また、複数のＳＳＤ０〜ＳＳＤ９は、ホスト２０のコネクタ３０に其々装着され、略鉛直方向に起立した姿勢で互いに並べて支持される。このような配置構成によれば、複数のＳＳＤ０〜ＳＳＤ９をコンパクトに纏めて実装可能であり、ホスト２０の小型化を図ることができる。ＳＳＤ０〜ＳＳＤ９の各形状は、２．５型のＳＦＦ（Small Form Factor)である。このようなＳＦＦ形状により、ＳＳＤ０〜ＳＳＤ９は、エンタープライズ用ＨＤＤ（ｅＨＤＤ）と互換形状（コンパチ形状）を図ることができる。そのため、ＳＳＤ０〜ＳＳＤ９は、ｅＨＤＤとの容易なシステム互換性を実現することができる。
【００８９】
なお、ＳＳＤ０〜ＳＳＤ９は、エンタープライズ用に限られない。例えば、ＳＳＤ０〜ＳＳＤ９は、ノートブック型ポータブルコンピュータやタブレット端末のようなコンシューマ用の電子機器の記憶媒体としても適用可能であることは勿論である。
【００９０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９１】
１０…ストレージ、１１…ＮＡＮＤメモリ（不揮発性メモリ）、１２…メモリコントローラ、１３…変電部、２０…ホスト、２１…データ場所管理部、２２…ＣＰＵ（制御部）、２３…電力分配判断部、５０…電源装置、１００…ストレージシステム。
【図１】
0006523920.tif 000002
【図２】
0006523920.tif 000003
【図３】
0006523920.tif 000004
【図４】
0006523920.tif 000005
【図５】
0006523920.tif 000006
【図６】
0006523920.tif 000007
【図７】
0006523920.tif 000008
【図８】
0006523920.tif 000009
【図９】
0006523920.tif 000010
【図１０】
0006523920.tif 000011
【図１１】
0006523920.tif 000012
【図１２】
0006523920.tif 000013
【図１３】
0006523920.tif 000014
【図１４】
0006523920.tif 000015
【図１５】
0006523920.tif 000016
【図１６】
0006523920.tif 000017
【図１７】
0006523920.tif 000018