(57)【要約】【課題】コントローラに結合された複数のデバイスへの電力割当ての管理を改善するための方法及びシステムを提供する。【解決手段】コントローラ（１０２）及びデバイス（１０６.１〜１０６.４）は共通の電源（１０８）からの電力の割当てを要求、付与及び解放するためのメッセージを交換する。ある実施例では、コントローラはＳＡＳ／ＳＡＴＡコントローラであり、交換されるメッセージはＳＡＳ／ＳＡＴＡフレーム及び／又はプリミティブである。一実施例では、メッセージは電源によって供給される１以上の電圧レベルの各々についての特定電力量を要求／付与する。他の実施例では、メッセージは要求デバイスが割当て電力を使用する継続時間を指定する。デバイスからコントローラへの電力状態メッセージはデバイスによる電力消費の変化を示す。電力状態メッセージに応じて、コントローラは使用を完了したデバイスに以前に割り当てられた電力を再割当てする。【選択図】図１
2014067440.tif 000002
【特許請求の範囲】
【請求項１】
ストレージシステムにおける電力割当てを管理するための方法において、該ストレージシステムは通信媒体及びプロトコルを用いて複数のストレージデバイスに結合されるストレージコントローラを備え、該方法は該ストレージコントローラにおいて動作するものであり、該方法が、
利用可能な合計電力容量を特定するステップ、
初期電力量を前記複数のストレージデバイスの各々に割り当てるステップ、
前記複数のストレージデバイスの各々に割り当てられた前記初期電力量の総計に基づいて前記利用可能な合計電力容量を調整するステップ、
前記複数のストレージデバイスのうちの追加電力量を要求する要求ストレージデバイスからの電力要求メッセージを受信するステップ、
要求された前記追加電力量を供給するのに前記利用可能な合計電力容量が充分であるか否かを判断するステップ、並びに
前記利用可能な合計電力容量が前記要求された追加電力量を供給するのに充分であるとの判断に応じて、以下の、
前記要求された追加電力量を前記要求ストレージデバイスに割り当てるステップ、
電力付与メッセージを前記要求ストレージデバイスに送信するステップ、及び
前記要求された追加電力量に基づいて前記利用可能な合計電力容量を調整するステップ
を実行するステップ
を備える方法。
【請求項２】
請求項１の方法であって、さらに、
以前に割り当てられた追加電力量が前記要求ストレージデバイスによって解放されることを示す電力状態メッセージを前記要求ストレージデバイスから受信するステップ、及び
前記電力解放メッセージに基づいて前記利用可能な合計電力容量を調整するステップ
を備える方法。
【請求項３】
請求項２の方法において、
前記ストレージコントローラがシリアル・アタッチドＳＣＳＩ（ＳＡＳ）ストレージコントローラであり、前記複数のストレージデバイスの各々がＳＡＳデバイスであり、
前記電力要求メッセージ、前記電力付与メッセージ及び前記電力状態メッセージの各々がＳＡＳフレーム又はＳＡＳプリミティブである、方法。
【請求項４】
請求項２の方法において、
前記ストレージコントローラがシリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）ストレージコントローラ又はＳＡＴＡポートマルチプライヤであり、前記複数のストレージデバイスの各々がＳＡＴＡデバイスであり、
前記電力要求メッセージ、前記電力付与メッセージ及び前記電力状態メッセージの各々がＳＡＴＡフレーム又はＳＡＴＡプリミティブである、方法。
【請求項５】
請求項１の方法において、
前記ストレージコントローラが、シリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）コントローラ、ＳＡＴＡポートマルチプライヤ、ＳＡＳコントローラ又はＳＡＳエキスパンダのうちの１つである、方法。
【請求項６】
請求項１の方法において、
前記送信するステップがさらに、
前記電力付与メッセージを送信するステップからなり、該電力付与メッセージが前記要求ストレージデバイスに割り当てられた前記追加電力量の表示を含む、方法。
【請求項７】
請求項１の方法において、
前記送信するステップがさらに、
前記電力付与メッセージを送信するステップからなり、該電力付与メッセージが、前記要求ストレージデバイスが前記要求した追加電力量を利用できる継続時間の表示を含む、方法。
【請求項８】
請求項１の方法であって、さらに、
前記要求ストレージデバイスによる電力消費の変化を示す電力状態メッセージを前記要求ストレージデバイスから受信するステップ
を備える方法。
【請求項９】
請求項８の方法であって、さらに、
前記要求ストレージデバイスの電力消費の変化に応じて前記システムにおける他のストレージデバイスに割り当てられる電力を調整するステップ
を備える方法。
【請求項１０】
請求項１の方法において、
前記電力要求メッセージを受信するステップが、複数の電圧レベルの各々についての追加電力量からなる電力要求メッセージを受信するステップからなる、方法。
【請求項１１】
システムであって、
電源（１０８）、
複数のストレージデバイス（１０６.１〜１０６.４）であって、各ストレージデバイスが前記電源からの電力を受信するために結合され、各ストレージデバイスが動作中に変動する電力量を必要とするように構成された複数のデバイス（１０６.１〜１０６.４）、及び
前記複数のストレージデバイスの各々に通信可能に結合されたストレージコントローラ（１０２）であって、前記電源から前記複数のストレージデバイスの１以上のストレージデバイスによって消費される電力の消費を管理するために前記複数のストレージデバイスの１以上のストレージデバイスと情報を交換するように構成されたストレージコントローラ（１０２）
を備え、前記情報は前記ストレージデバイスによって要求される追加電力の情報である、システム。
【請求項１２】
請求項１１のシステムにおいて、
前記ストレージコントローラがシリアル・アタッチドＳＣＳＩ（ＳＡＳ）コントローラ又はＳＡＳエキスパンダであり、
前記複数のストレージデバイスの少なくとも１つがＳＡＳデバイスである、システム。
【請求項１３】
請求項１１のシステムにおいて、
前記ストレージコントローラがシリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）コントローラ又はＳＡＴＡポートマルチプライヤであり、
前記複数のストレージデバイスの少なくとも１つがＳＡＴＡデバイスである、システム。
【請求項１４】
請求項１１のシステムにおいて、
交換される情報が、ストレージデバイスによって前記コントローラへ要求される、割当て電力量、前記コントローラによってストレージデバイスに割り当てられた電力量、前記コントローラによって割り当てられた電力をストレージデバイスが使用することができる継続時間、及びストレージデバイスによる電力消費の変化の前記コントローラへのインディシア、のうちの１以上を備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステムにおける電力割当てのための方法及び装置に関する。
【背景技術】
【０００２】
様々な電子システムにおいて、共通制御装置の制御下でシステムの多数のデバイスに給電するために共有電源が使用される。例えば、ストレージシステムでは、ストレージコントローラが電源から複数のストレージデバイスの各々への投入電力を制御可能に調整することができる。具体的には、ストレージデバイスの各々は、例えば回転ディスクドライブ等となる。そのようなデバイスは最初に電源投入される時には最小電力を利用することになるが、ディスクドライブのモータがディスクドライブ内の回転記憶媒体を回転させ始めると、実質的により多い電力を消費することになる。モータが所望の回転速度（即ち、安定状態動作）に達すると、ディスクドライブは少ない電力しか消費しないが、ディスクドライブはその初期化を開始及び完了するために、瞬時的にかなり多い電力を必要とする。
【０００３】
例えば、ＳＣＳＩアーキテクチャ（シリアル・アタッチドＳＣＳＩ：ＳＡＳ等）システム等の多くの最近のストレージシステムでは、ストレージデバイスに結合された制御デバイスは命令構造及び／又はその制御下で各ストレージデバイスの「スピンアップ」を制御又はシーケンス処理するためにプロトコルプリミティブ／シーケンスを利用することができる。そのような制御デバイスとして、例えば、ストレージコントローラ（例えば、ＳＣＳＩ、ＳＡＳ、又はＳＡＴＡコントローラ）、ＳＡＳエキスパンダ、ＳＡＴＡポートマルチプライヤ等が挙げられる。制御デバイスは、例えば、最終的に全てのディスクドライブが起動されて回転するまでの時間における任意の時点でスピンアップすることが可能となるＳＣＳＩディスクドライブの数を制限することができる。従って、ＳＣＳＩ／ＳＡＳストレージコントローラは、その制御下で複数のディスクドライブに対するスピンアップ電力要求を制限することができる。しかし、ストレージコントローラは、ＳＣＳＩディスクドライブが初期化を完了するための追加電力をどれくらいの時間必要とするのかについての情報を有していない。従って、このＳＣＳＩ／ＳＡＳストレージコントローラは最悪の場合のシナリオを想定して、それに結合された各ＳＣＳＩディスクドライブの初期化に対して最大限可能な期間を与える。この解決手段は、ストレージシステムの初期化において大量の不要な遅延をもたらし、従って付設ホストシステムによるストレージシステムへのアクセスに遅延をもたらすことになる。
【０００４】
ストレージシステム環境によっては、（複数の）ストレージデバイスは複数の制御デバイスに結合されることができ、又はそれらの電力消費状態を独立して変化させることができる。さらに、制御デバイスはそれがストレージデバイスの利用可能な電力状態の情報を持つことが可能となるように同じ電力領域で結合されてさえいないことがある。このような場合では、制御デバイスが（複数の）ストレージデバイスの電力消費を調整及びシーケンス処理することを可能とするのに簡素な命令構造では十分ではない。これらの問題はシリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）ディスクドライブとの関連でさらに悪化してしまう。ＳＣＳＩ／ＳＡＳ及びＳＡＴＡ標準は、従属制御デバイスに結合された（複数の）ディスクドライブの制御された起動を可能とする命令構造を与えるが、ＳＡＴＡプロトコルは、制御デバイスが（複数の）デバイスの電力消費を調整することを可能とするような非命令系技術を提供しない。従って、制御デバイスとしてのＳＡＴＡコントローラ及びポートマルチプライヤは、それに結合された（複数の）ＳＡＴＡストレージデバイスへの電力投入を効果的に調整する能力がない。よって、（複数の）ＳＡＴＡディスクドライブを利用するこのようなストレージシステムは通常、全てがＳＡＴＡの場合、最悪の場合の電力消費を可能とする相当に過剰な（過大容量の）電源を設けている。このような過剰な電源によってストレージシステムにはコスト／複雑さが加わることになる。
【０００５】
従って、これは初期化中に電力のバーストを要する複数のデバイスを備えるシステムにおいて電力分散を管理するための進行中の課題である。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明は上記及び他の問題を解決し、それによって、コントローラの制御下で共通の電源から複数のデバイスへの電力割当てを管理するための方法及びシステムを提供することによって有用な最新技術を高度化する。コントローラ及びデバイスは複数のデバイスへの電力割当てを制御するためのメッセージを交換する。デバイスは電力要求メッセージをコントローラに送信する。コントローラは電源からの現在利用可能な電力容量のインジケータを保持する。現在利用可能な電力容量がデバイスの要求を許可するのに充分な場合、電力付与メッセージがコントローラから要求デバイスに送信され、現在利用可能な電力容量が割当てを反映するために更新される。ある実施例では、デバイスの電力消費の変化を示す電力状態メッセージがデバイスからコントローラに送られる。例えば、デバイスがその追加電力の使用を完了すると、以前に割り当てられた追加電力はもはや必要でないことを示すために電力状態メッセージがコントローラに送られる。
【０００７】
一実施例では、コントローラはＳＡＳ／ＳＡＴＡコントローラであればよく、デバイスは回転ディスクドライブのようなＳＡＳ／ＳＡＴＡストレージデバイスであればよい。ストレージデバイスが（例えば、回転記憶媒体のためのモータをスピンアップするために）追加電力を必要とする場合、コントローラに追加電力を要求する。コントローラが追加電力を付与すると、ストレージデバイスはモータをスピンアップする。ある実施例では、追加電力がもはや必要でない（例えば、回転記憶媒体が安定状態回転速度に到達した）場合、デバイスは解放される追加電力容量をコントローラが再割当てすることを許可するようにコントローラに電力状態メッセージを送信することができる。ある実施例では、交換されるメッセージはＳＡＳ／ＳＡＴＡフレーム及び／又はプリミティブであればよい。
【０００８】
一側面において、本発明の方法はコントローラ及びコントローラに結合された複数のデバイスを備えたシステムにおいて提供される。その方法は、コントローラに通信可能に結合された複数のデバイスの各々に投入される電力を管理する。その方法はコントローラ内で初期電力量を複数のデバイスの各々に割り当てること、及びコントローラにおいてデバイスから電力要求メッセージを受信することを含む。そして方法は、コントローラ内で、充分な電力容量が現在利用可能か否かを判断する。充分な電力容量が現在利用可能か否かを判断することに応じて、方法は、コントローラ内で、追加電力をデバイスに割り当てること、及び割当て追加電力を使用するための許可をデバイスに付与するためにコントローラからデバイスに電力付与メッセージを送信することを含む。
【０００９】
他の側面は、ストレージシステムにおける電力割当てを管理するための方法を提供する。ストレージシステムは通信媒体及びプロトコルを用いて複数のストレージデバイスに結合されたストレージコントローラを備える。その方法はストレージコントローラにおいて動作可能である。方法は利用可能な合計電力容量を特定すること、初期電力量を複数のストレージデバイスの各々に割り当てること、及び複数のストレージデバイスの各々に割り当てられた初期電力量の総計に基づいて利用可能な合計電力容量を調整することを含む。そして、その方法は追加の電力量を要求する複数のデバイスのうちのある要求デバイスから電力要求メッセージを受信する。そして、方法は要求された追加電力量を提供するのに利用可能な合計電力容量が充分か否かを判断する。要求された追加電力量を提供するのに利用可能な合計電力容量が充分であるとの判断に応じて、方法は、要求するデバイスに要求された追加電力量を割り当てること、要求するデバイスに電力付与メッセージを送信すること、及び要求された追加電力量に基づいて利用可能な合計電力容量を調整することを含む。
【００１０】
さらに他の側面は、電源、複数のデバイスであって各々が電源からの電力を受信するように結合されかつ各々が動作中に電力量を変化させることを必要とするように構成された複数のデバイス、及び複数のデバイスの各々に通信可能に結合されたＳＡＳコントローラを備えるシステムを提供する。コントローラは、１以上のデバイスによって消費される電源からの電力消費を管理するためにＳＡＳ情報を複数のデバイスのうちの１以上のデバイスと交換するよう構成されている。
【図面の簡単な説明】
【００１１】
【図１】図１は共通のコントローラ及び共通の電源に結合された複数のデバイスに電力を割り当てるための本構成及び側面によって構成された例示のシステムのブロック図である。
【図２】図２はコントローラに結合された複数のデバイスに対する電力の割当てを管理するための本発明の構成及び側面による例示の方法を記載するフローチャートである。
【図３】図３はコントローラに結合された複数のデバイスに対する電力の割当てを管理するための本発明の構成及び側面による他の例示の方法を記載するフローチャートである。
【発明を実施するための形態】
【００１２】
図１はコントローラに結合された１以上のデバイス１０６.１から１０６.４による電力消費を管理するための本発明の構成及び側面によって実現されたシステム１００のブロック図である。システム１００は電源１０８、ＳＡＳコントローラ１０２、及び各々が電源１０８に結合されかつＳＡＳコントローラ１０２に結合された１以上のデバイス１０６.１〜１０６.４を含む。各デバイス１０６.１〜１０６.４は電源１０８から信号経路１５２を介して１以上の電圧レベルを受けることができる。ＳＡＳコントローラ１０２はＳＡＳデバイス１０６.１〜１０６.４と経路１５０を介して通信するために結合された電力管理モジュール１０４を含むことができる。ここでは「ＳＡＳ」コントローラというが、ストレージコントローラ１０２は、例えば、ＳＡＳ／ＳＡＴＡストレージコントローラ、ＳＡＳエキスパンダ、ＳＡＴＡポートマルチプライヤ等を含む何らかの適当な制御デバイスであればよい。
【００１３】
一実施例では、デバイス１０６.１〜１０６.４はディスクドライブ又は他のストレージデバイスのようなＳＡＳ／ＳＡＴＡデバイスであればよい。そのような実施例では、通信経路１５０は何らかの適切なＳＡＳ又はＳＡＴＡ標準に従う通信媒体を表す。電力管理モジュール１０４は電源１０８からの共通の電力供給源を共有するデバイスの各々の電力消費を管理するためにデバイス１０６.１〜１０６.４と通信する。より具体的には、電力管理モジュール１０４はデバイス１０６.〜１０６.４のいずれかによって消費される電力量及び／又は種々のデバイス１０６.１〜１０６.４による電力消費のタイミング若しくはシーケンシングを管理するためにデバイス１０６.１〜１０６.４と情報（例えば、制御及び状態情報）を交換する。
【００１４】
ＳＡＳコントローラ１０２は、１以上のＳＡＳ／ＳＡＴＡデバイス１０６.１〜１０６.４と通信するＳＡＳコントローラの役割として挙動する何らかの適切な演算デバイスであればよい。一実施例では、ＳＡＳコントローラ１０２はＳＡＳ初期化装置であってもよい。他の実施例では、ＳＡＳコントローラ１０２はＳＡＳエキスパンダである。ある実施例では、電力管理モジュール１０４はＳＡＳコントローラ１０２内の汎用又は専用プロセッサによって実行される適切にプログラムされたインストラクションである。他の実施例では、電力管理モジュール１０４はカスタマイズされた回路及び／又はカスタマイズされた回路と適切にプログラムされたインストラクションの組合せである。従って、電力管理モジュール１０４は種々のデバイスによる電力消費を管理するためにデバイス１０６.１〜１０６.４と双方向通信するのに適した制御構造体を表す。
【００１５】
図１の実施例では、電力管理モジュール１０４と種々のデバイス１０６.１〜１０６.４の間で交換される情報はＳＡＳフレーム、ＳＡＳプリミティブ及び／又はＳＡＴＡフレームである。以下でさらに記載するように、そのように交換されるＳＡＳ／ＳＡＴＡ情報は、デバイスのための電力の割当てを要求するＳＡＳコントローラ１０２内の電力管理モジュール１０４に向けられたデバイス１０６.１〜１０６.４からの要求メッセージを含むことができる。一実施例では、要求メッセージはデバイスが必要とする追加の電力量を示すことができる。例えば、回転ディスクドライブのスピンアップ動作中、回転媒体が安定状態制御速度に達するまで追加の電力がディスクドライブに必要となる。このような場合、デバイスは、要求しているデバイス（要求デバイス）の動作のために追加電力の割当てを要求する要求メッセージをＳＡＳコントローラ１０２の電力管理モジュール１０４に発行することになる。
【００１６】
ＳＡＳコントローラ１０２の電力管理モジュール１０４は経路１５２を介した電源１０８からデバイス１０６.１〜１０６.４への電力の投入を（必ずしも）物理的に制御するわけではないが、それでもやはり要求デバイスは、ＳＡＳコントローラ１０２の電力管理モジュール１０４からの付与メッセージの受信を待つことになる。コントローラ１０２が要求デバイスの電力要求メッセージを満足するのに充分な電力容量が現在利用可能であると判断した場合、付与メッセージがＳＡＳコントローラ１０２から送信される。一実施例では、要求量未満が現在利用可能な場合、付与メッセージは要求デバイスに割り当てられた具体的電力量を示すことができる。さらに他の実施例では、付与メッセージは要求デバイスが割当て追加電力を利用できる継続時間を示すことができる。さらに他の実施例は、電源１０８から利用可能な複数の電圧レベルの各々についての具体的な追加電力量及び／又はその追加電力の継続時間を示すための付与メッセージを利用し得る。
【００１７】
さらに他の実施では、電力状態メッセージはデバイス１０６.１〜１０６.４によって生成され、ＳＡＳコントローラ１０２に返送されるようにしてもよい。そのような電力状態メッセージは、例えば、対応のデバイスの状態についての電力消費に関する変化を示すことができる。例えば、以前に要求及び付与された追加電力がもはや必要でない場合、電力状態メッセージがデバイスからストレージコントローラに送信され得る。そのような場合では、ストレージコントローラは以前に割り当てられた電力容量を、他のデバイスへの潜在的割当てに対する利用可能な電力容量の蓄積的合計量に戻すことができる。
【００１８】
図１のシステム１００及び上記と同等の構造体は、ＳＡＳコントローラ１０２に結合された複数のストレージデバイス１０６.１〜１０６.４の各々の電力上昇（スピンアップ）処理をＳＡＳコントローラ１０２が（その電力管理モジュール１０４によって）より正確かつ迅速にシーケンス処理することを可能とすることによって、従来技術を改善する。コントローラ１０２は各デバイスがスピンアップ処理の準備ができた時に各デバイスから要求を受信し、そして、利用可能な電力容量以上のものが付与されないことを確認する一方で、電源１０８からの利用可能な電力の利用を最大化するように各要求デバイスへの電力の付与をシーケンス処理することができる。またさらに、デバイス１０６.１〜１０６.４からのスタッフコントローラによって受信された電力状態メッセージは、ＳＡＳコントローラが複数のディスクドライブ（デバイス１０６.１〜１０６.４）のスピンアップのシーケンス処理のタイミングをより厳格に制御することを可能とする。前述したように、ストレージコントローラは、デバイスがそのスピンアップ処理を完了したことを確認するまでの最大遅延を待つ必要はない。このような実施例では、ストレージコントローラ１０２によって、スピンアップ処理を完了している先行のデバイスの電力状態メッセージから完了を検知すると直ちに他のデバイスがスピンアップ処理を開始することが可能となる。
【００１９】
電力管理モジュール１０４による電力割当ての管理は、一実施例ではコントローラ１０２の電力管理モジュール１０４におけるカウンタ機能／構造の使用によって実施できる。そのようなカウンタは最大利用可能電力を示すために初期化され得る。電源１０８によって供給される複数の電圧レベルの各々に対して最大利用可能電力を表す複数のカウンタが初期化されてもよい。（電源１０８によって供給される各電圧レベルに対する）初期最大利用可能電力は、システム１００の製造時にコントローラ１０２におけるパラメータとして構成されてもよいし、システム１００の管理ユーザによって動的に構成されてもよいし、又はコントローラ１０２と電源１０８の間でその間の適当なデータ経路（不図示）を介した交換によって動的に決定されてもよい。
【００２０】
デバイスに電力が割り当てられると、カウンタ（単数／複数）はデバイスに付与される電力量によって減分される。デバイスが割当て電力の使用を完了すると（或いはその電力消費状態の変化を示すと）、カウンタ（単数／複数）は電力消費の減少を示すために適宜増分されるので、デバイスによる追加電力の使用についての最大タイムアウトを待つことなしに現在利用可能な電力が他のデバイスに割り当てられることが可能となる。従って、カウンタ（単数／複数）は、電源１０８からの現在利用可能な電力の記録を保持するために交換される種々のメッセージに応じてアップデートされる。
【００２１】
図１の充分に機能化されたシステム１００における多数の追加的及び等価なモジュール及び要素は当業者には直ちに明らかとなる。そのような等価及び追加的な構成は本説明を簡明かつ簡潔にするためにここでは省略される。特に、当業者であれば任意数のデバイス１０６がＳＡＳコントローラ１０２に結合され得ることを容易に認識するはずである。従って、４個の例示のデバイスによる記載は、複数のデバイス１０６をＳＡＳコントローラ１０２に結合するシステム１００の１つの可能な構成を単に示唆することを意図するものである。またさらに、当業者であればデバイス１０６.１〜１０６.４への印加のために種々の電圧レベルが提供され得ることを容易に認識するはずである。各電圧レベルは対応の現在利用可能な容量カウンタに対応付けられるので、ＳＡＳコントローラ１０２とデバイス１０６.１〜１０６.４の間で交換される要求及び付与情報は、要求され付与される具体的な電圧レベル（単数又は複数）のインディシアを含み得る。
【００２２】
図２は共通の電源及びストレージコントローラに結合された複数のデバイスへの電力割当ての管理における改善を可能とする本発明の構成及び側面と関連する実施例を説明するフローチャートである。図２の方法は、例えば、図１のシステム１００のようなシステムにおいて動作可能である。より具体的には、図２の方法は図１で例示説明されたようなシステムのストレージコントローラ内で動作可能な電力管理モジュールによって実行され得る。
【００２３】
ステップ２００は、まず利用可能な合計電力容量からの各装備デバイスに対する初期電力割当ての責任を持つ。一実施例では、電源からの利用可能な合計電力を表すためにカウンタが初期化され得る。電源によって生成される各利用可能電圧レベルに対して１つのカウンタがある。（例えば、各電圧レベルに対する）利用可能な合計電力容量は上記のように決定及び予め構成され、並びに／又は電源との通信によって動的に決定され得る。デバイスの各々に対する電力の初期割当ては、コントローラとの通信を可能とするための処理を開始することが各デバイスの制御エレクトロニクス系によって可能となるように、各デバイスに対する最小電力要件に責任を持つ。コントローラに結合されたディスクドライブデバイスの場合には、初期電力割当ては通常、回転ディスク媒体をスピンアップするのに必要な追加の電力容量を含まない。逆に、初期電力割当てはストレージコントローラとの最小限の通信を可能とするためにデバイスを制御する演算ロジックのみ、又は初期スピンアップに続くデバイスの安定状態動作のみに責任を持つ。
【００２４】
その後ステップ２０２は、装備されたデバイスから電力要求メッセージを受信する。上記のように、メッセージはＳＡＳ／ＳＡＴＡフレーム及び／又はプリミティブとして符号化される。一実施例では、電力要求メッセージは規格化された電力量の割当てに対する標準化された要求を表し、具体的な要求電力量を指定する必要がないようにしてもよい。標準化された電力量はシステム設計者／製造業者によって又は管理ユーザによって予め決定され、予め構成され得る。他の実施例では、電力要求メッセージはデバイスの更なる動作について要求される追加電力量を指定することができる。更なる実施例では、電力要求メッセージは電源によって供給される複数の電圧レベルの各々について、要求される具体的な電力量を示すことができる。
【００２５】
その後ステップ２０４は、装備されたデバイスから受信される追加の電力要求を満足するのに現在充分な利用可能な電力容量があるか否かを判断する。上記のように、電力要求メッセージが複数の利用可能な電圧レベルの各々からの特定の電力量を示す場合、ステップ２０４は、要求された追加の容量が、特定される電圧レベル全てから利用可能であるかを判断する。そうでない場合、処理は充分な利用可能な容量が回復されるまでステップ２０４でループ処理を続ける。ステップ２０４の処理は、特定の要求が充分な利用可能な電力を待つ一方で他のスレッドで処理される他の要求が（例えば、それらはより少ない電力しか必要としないので）満足され得る点で、スレッドプログラミングパラダイムとして実施され得る。従って、ステップ２０４で例示説明した簡単なループ処理構造は、そのような簡単なループ構造や、より一般的な複数のスレッド若しくは複数のタスクプログラミングパラダイム又は実装を表すものとして当業者よって理解され得る。
【００２６】
充分な利用可能な電力容量が特定されると、ステップ２０６は要求デバイスによって要求された追加電力を割り当てる。上記のように、電力要求メッセージが電力容量の具体的な量及び／又は各要求容量に関連付けられた具体的な電圧レベルを特定した場合、ステップ２０６による割当ては１以上の電圧レベルの各々についての電力の割当てについて責任を持つ（例えば、上記のように、適当なカウンタが減分される）。さらに、付与された追加電力容量が制限付きの継続時間に対するものである場合、ステップ２０６の処理は追加電力の利用についての予想満了時刻を示すこともできる。ステップ２０６の処理は一般に、複数のデバイスの各々に現在割り当てられている電力容量及び／又は特定レベルの電力割当てが付与された継続時間を記録することの後に続く。コントローラの電力管理モジュール内の適当なテーブル構造がそのような記録の目的に使用できる。従って、コントローラは指定電力容量の適用及び利用を必ずしも物理的に制御する必要はなく、単に複数のデバイスの各々の電力割当てや電源から現在利用可能な容量に責任を持ち又は記録する。
【００２７】
その後ステップ２０８は、要求された追加電力量が付与されたことを示す電力付与メッセージを要求デバイスに送信する。付与された量が当初要求した量とは異なる場合（又は他の適切な環境において）、電力付与メッセージは特定量の電力容量が要求デバイスに付与されていることを示す。同様の態様で、電力付与メッセージは割当て電力容量が利用できる継続時間を含むことができる。またさらに、電力付与メッセージは電源から供給された複数の電圧レベルの各々に対応付けられた電力の量及び／又は継続時間を示すこともできる。
【００２８】
一実施例では、要求デバイスに割り当てられた追加電力容量は自動的に割り当てられ、所定の固定期間後に、その後の再割当てのために自動的に回復される。所定の期間は、例えば、コントローラから要求デバイスへの電力付与メッセージで示された継続時間であればよい。或いは、例えば他の実施例では、継続時間は、要求された追加電力の使用をいずれかのデバイスが必要とする固定の最大時間であってもよい。さらにここに記載される他の実施例では、デバイスは、他のインディシアの中でもとりわけ、それに割り当てられた追加電力の使用を完了した時を示すメッセージをコントローラに送ることができる。
【００２９】
図３はコントローラに結合された複数のデバイス間で電力容量の割当てを管理し、共通の電源を共有するための本発明の構成及び側面による他の例示の方法を記載するフローチャートである。図３の方法は、例えば、図１のシステム１００のようなシステム内で実行できる。
【００３０】
まずステップ３００は、複数のデバイスに結合された電源によって供給される利用可能電圧レベルの全てについて利用可能な合計電力容量を特定する。上記のように、利用可能な合計電力容量の特定はコントローラに記憶された工場設定又は管理ユーザ設定による構成パラメータによって、或いは、電源に対応付けられたデータポートを照会することによって特定できる。
【００３１】
その後ステップ３０２は、特定された利用可能な合計電力容量から初期電力割当てを各装備デバイスに割り当てる。上記のように、初期電力割当ては、そこに装備されたコントローラと通信することを可能とするという意味において、デバイスが初期化を開始するのに必要な最小電力である。例えば、回転ディスクドライブストレージデバイスとの関係では、初期電力割当てはヘッドアクチュエータ機構の始動及び／又は記憶媒体を回転するためのモータの始動（但し排他的でない）までの初期化で必要な電力量である。この最小電力割当て量は、回転ディスクドライブストレージデバイスと電力割当てを管理するストレージコントローラの間の通信を可能とするのに充分なものである。複数のデバイスの各々に対して必要な初期電力割当て量は、ストレージシステムの製造業者によって提供される静的構成情報を参照して特定され、又はコントローラに結合された各デバイスに必要な初期電力割当てを構成する管理ユーザの入力によって特定され得る。またさらに、ある実施例では、コントローラは必要な初期電力割当て量等の特性を特定するためにデバイスの各々に照会することができる
【００３２】
ステップ３０２はまた、複数のデバイスの各々への電力の初期割当てに基づいて、残りの現在利用可能な電力容量を減らすことによって利用可能な合計電力容量を適宜調整する。上記のように、カウンタは電源によって供給される各電圧レベルについて使用できる。カウンタはデバイスの各々の起動に必要な各電圧レベルに対する初期電力割当てに調整される（即ち、減分される）。
【００３３】
次にステップ３０６は、装備デバイスから電力要求メッセージを受信する。上記のように、メッセージは、例えばＳＡＳ／ＳＡＴＡフレーム及び／又はプリミティブを含むＳＡＳ／ＳＡＴＡメッセージとして符号化され得る。さらに、デバイスからコントローラによって受信された電力要求メッセージは要求デバイスによって必要とされる追加電力量のインディシアを含むことができる。またさらに、電力要求メッセージはデバイスに結合された電源によって供給される複数の電圧レベルの各々について必要な追加電力量を示すことができる。例えば、回転ディスクドライブストレージデバイスは、デバイス内の異なる目的及びアプリケーションに対して＋１２ボルト電源及び±５ボルト電源を必要とする。
【００３４】
その後ステップ３０８は、（例えば、複数の電圧レベルの各々について）現在利用可能な電力容量が要求を満たすのに充分か否かを判断する。ステップ３０８のテストは、電力要求メッセージが複数の電圧レベルの各々についての電力に対するニーズを示す場合、充分な電力が複数の電圧レベルの各々について利用可能かを判断することができる。要求を満たす充分な電力が現在利用可能でない場合、ステップ３１０は必要な追加電力が利用可能となるまで待つ処理を表す。一実施例では、コントローラは、割当てが付与されてから所定量の時間が過ぎた後に、デバイスに以前に割り当てられた追加電力が再び利用可能となるものと判断してもよい。以降にさらに記載する他の実施例では、デバイスから受信されたメッセージは、以前に割り当てられた追加電力がもはやデバイスによって必要とされていないことを示すのに利用できる。またさらに、当業者であれば、ステップ３０８及び３１０の処理は、特定の電力要求メッセージを満たすための処理が中断される一方で（他のスレッド／タスクにおいて）図３と同じ方法を利用する他の要求が処理され得るように、複数のスレッド／タスクプログラミングパラダイムを利用して実施できることを容易に認識するはずである。またさらに、当業者であれば、受信された複数の電力要求メッセージを処理する際の電力割当てにおける公平さを保証し、種々のデバイスの代わりに要求を処理するスレッド／タスク間で複数の要求の処理がデッドロック状態を発生させないことを保証するために、図３の方法に対する追加又は修正を容易に実現できるはずである。
【００３５】
ステップ３０８及び３１０によって特定されるように、受信された電力要求メッセージを満足するのに充分な電力が利用可能とみなされるとき、次にステップ３１２は、要求された追加電力を要求デバイスの代わりに割り当てる。上記のように、１以上の電圧領域でのデバイスへの電力の割当てを示すために１以上のカウンタを減分することを関与させることができる。
【００３６】
ステップ３１４は、要求デバイスに追加電力の利用可能性を示す電力付与メッセージを送信する。電力付与メッセージはまた、例えばＳＡＳ／ＳＡＴＡフレーム及び／又はプリミティブを含むＳＡＳ／ＳＡＴＡメッセージとして符号化され得る。またさらに、電力付与メッセージはデバイスによる使用に割り当てられた電力量及び／又は割り当てられた追加電力をデバイスが利用することが可能な継続時間のインディシアを含むことができる。
【００３７】
一実施例では、方法はステップ３１８がデバイスから電力状態メッセージを受信するように継続することができる。上記のように、電力状態メッセージは、例えばＳＡＳ／ＳＡＴＡフレーム及び／又はプリミティブを含むＳＡＳ／ＳＡＴＡメッセージとして符号化できる。一般に、電力状態メッセージは電力使用又は消費に関して送信デバイスの状態の何らかの変化を示すものである。ある特定の実施例では、電力状態メッセージは、デバイスが以前に割り当てられた追加電力の使用をもはや必要としないことを示すことができる。そのような電力状態メッセージの受信に応じて、ステップ３２０は、以前に割り当てられた追加電力がもはやデバイスに必要とされていないことを示す電力状態メッセージに基づいて現在利用可能な電力容量を調整する。電力付与メッセージに関して述べたように、電力状態メッセージはまた、デバイスにもはや必要とされない特定量の電力のインディシアを提供することができる。従って、デバイスは、各段階の電力消費の減少に直面すると、コントローラに通知する段階においてその割当て追加電力の使用を減らすことができる。またさらに、電力状態メッセージは、デバイスにもはや必要とされなくなった複数の電圧レベルの各々に対する特定の電力量を示すことができる。従って、ステップ３２０は、電力状態メッセージにおいて送信デバイスから受信された情報に従って現在利用可能な電力容量を調整する。
【００３８】
当業者であれば、上記の図２及び３の方法において多数の追加的及び等価的なステップを容易に認識するはずである。そのような追加的及び等価的なステップは本説明を簡明かつ簡潔にするために省略される。
【００３９】
図面及び以上の記載において発明を例証及び説明したが、そのような例証及び説明は例示であって限定的な性質のものとしてみなされるものではない。発明の一実施例及びその軽微な変形を図示及び説明した。特に、例示のソフトウェア又はファームウェア実施例として図示及び記載した構成はカスタマイズされた論理回路として等価的に実施され得、その逆も然りである。保護範囲は本発明の精神内に入る全ての変更及び修正に対して望まれている。当業者であれば、本発明の範囲に入る上述の実施例の変形例を想到するはずである。結果として、本発明は上述の具体例及び例証に限定されず、以降の特許請求の範囲及びその均等物によってのみ限定される。
【図１】
2014067440.tif 000003
【図２】
2014067440.tif 000004
【図３】
2014067440.tif 000005