(57)【要約】【課題】ＳＡＳエキスパンダ（１０２）を介してＳＡＳイニシエータ（１０４）と結合されたＳＡＳターゲット（１０６）への電力割当てを管理するための方法及びシステムを提供すること。【解決手段】エキスパンダはターゲットへの電力割当てを管理するためにターゲットとメッセージを交換する。ターゲットはエキスパンダを介して電力要求メッセージ（２０２）をイニシエータに送信する。一部の実施形態において、イニシエータは電力要求受信メッセージ（２０４）をエキスパンダに送信する。その後エキスパンダは電力要求受信メッセージの受信に応じて電力許可メッセージ（２１０）をターゲットに送信することができる。他の実施形態において、エキスパンダはターゲットからイニシエータに送信されるメッセージをモニタする。その後エキスパンダは自身が電力要求メッセージをモニタしたことに応じて電力許可メッセージ（２１０）をターゲットに送信することができる。【選択図】図３
2010272115.tif 000002
【特許請求の範囲】
【請求項１】
シリアル取付けＳＣＳＩ（ＳＡＳ）ターゲット、前記ターゲットに通信可能に結合されたＳＡＳエキスパンダ、及び前記エキスパンダに通信可能に結合されたＳＡＳイニシエータを備えたシステム内で動作可能な方法であって、
前記ターゲットから前記エキスパンダを介して電力要求メッセージを前記イニシエータに送信するステップ、
前記電力要求メッセージを前記イニシエータで受信するステップ、
前記電力要求メッセージの受信に応じて電力要求受信メッセージを前記イニシエータから前記エキスパンダに送信するステップ、
前記電力要求受信メッセージの受信に応じて前記エキスパンダ内で更なる電力量を前記ターゲットに割り当てるステップ、及び
前記電力要求受信メッセージの受信に応じて電力許可メッセージを前記エキスパンダから前記ターゲットに送信するステップ
を備えることを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
前記エキスパンダ内で、前記ターゲットによって要求された電力を満たすために更なる電力容量が利用可能であるかどうかを判定するステップ、及び
前記更なる電力容量が利用可能であるという判定に応じて前記電力許可メッセージを割り当てるステップ及び送信するステップを実行するステップ
を更に備える方法。
【請求項３】
請求項１記載の方法であって、
前記ターゲットから前記エキスパンダを介して電力用済みメッセージを前記イニシエータに送信するステップ、
前記電力用済みメッセージを前記イニシエータで受信するステップ、
前記電力用済みメッセージを受信するステップに応じて電力用済み受信メッセージを前記イニシエータから前記エキスパンダに送信するステップ、及び
前記電力用済み受信メッセージを受信するステップに応じて、前記エキスパンダ内で、前記ターゲットに割り当てられた電力量を割当て解除するステップ
を更に備える方法。
【請求項４】
請求項３記載の方法であって、前記電力要求受信メッセージ及び前記電力用済み受信メッセージの各々が、シリアル管理プロトコル（ＳＭＰ）メッセージ、シリアルＳＣＳＩプロトコル（ＳＳＰ）メッセージ、シリアルＡＴＡトンネル化プロトコル（ＳＴＰ）メッセージ、及び帯域外（ＯＯＢ）メッセージのうちの１つ以上である方法。
【請求項５】
電力管理モジュール（１１２）及び内部イニシエータモジュール（１１４）を含むシリアル取付けＳＣＳＩ（ＳＡＳ）エキスパンダ（１０２）、
前記エキスパンダと通信可能に結合されたＳＡＳイニシエータ（１０４）、及び
前記エキスパンダと通信可能に結合され、前記エキスパンダを介して電力要求メッセージ（２０２）を前記イニシエータに送信するように動作可能なＳＡＳターゲット（１０６）を備え、
前記エキスパンダの前記電力管理モジュールが、更なる電力量を前記ターゲットに割り当てるように動作可能であり、
前記エキスパンダの前記内部イニシエータモジュールが、前記ターゲットに電力許可メッセージ（２１０）を送信するように動作可能であることを特徴とするシステム（１００）。
【請求項６】
請求項５記載のシステムであって、
前記エキスパンダの前記電力管理モジュールが、前記ターゲットによって要求される電力を満たすために更なる電力容量が利用可能かどうか判定するように更に動作可能であり、かつ更なる電力容量が利用可能であるという判定に応じて更なる電力量を前記ターゲットに割り当てるように更に動作可能であり、
前記エキスパンダの前記内部イニシエータモジュールが、前記更なる電力容量が利用可能であるという前記判定に応じて前記電力許可メッセージを前記ターゲットに送信するように更に動作可能であるシステム。
【請求項７】
請求項５記載のシステムであって、
前記エキスパンダが内部ターゲットモジュール（１１０）を更に含み、
前記イニシエータが、前記電力要求メッセージの受信に応じて電力要求受信メッセージ（２０４）を前記エキスパンダの前記内部ターゲットモジュールに送信するように更に動作可能であり、
前記エキスパンダの前記電力管理モジュールが、前記電力要求受信メッセージの受信に応じて更なる電力量を前記ターゲットに割り当てるように動作可能であり、
前記エキスパンダの前記内部イニシエータモジュールが、前記電力要求受信メッセージの前記受信に応じて電力許可メッセージ（２１０）を前記ターゲットに送信するように動作可能であるシステム。
【請求項８】
請求項７記載のシステムであって、
前記ターゲットが、前記エキスパンダを介して電力用済みメッセージ（２１２）を前記イニシエータに送信するように更に動作可能であり、
前記イニシエータが、前記電力用済みメッセージの受信に応じて電力用済み受信メッセージ（２１４）を前記エキスパンダの前記内部ターゲットモジュールに送信するように更に動作可能であり、
前記エキスパンダの前記電力管理モジュールが、前記電力用済み受信メッセージの受信に応じて前記ターゲットへの電力量の割当てを解除するように更に動作可能であるシステム。
【請求項９】
請求項５記載のシステムであって、
前記エキスパンダが、前記ターゲットから前記イニシエータに送信されるメッセージを検知するように動作可能なモニタリングモジュール（１０８）を更に含み、
前記イニシエータが、前記エキスパンダが前記モニタリングモジュールを含むかどうか判定するために前記エキスパンダを調べるように更に動作可能であり、かつ前記エキスパンダが前記モニタリングモジュールを含むという判定に応じて前記電力要求メッセージを無視するように更に動作可能であり、
前記エキスパンダの前記電力管理モジュールが、前記モニタリングモジュールが前記電力要求メッセージを検知したことに応じて更なる電力量を前記ターゲットに割り当てるように更に動作可能であり、
前記エキスパンダの前記内部イニシエータモジュールが、前記モニタリングモジュールが前記電力要求メッセージを検知したことに応じて電力許可メッセージ（２１０）を前記ターゲットに送信するように更に動作可能であるシステム。
【請求項１０】
請求項９記載のシステムであって、
前記ターゲットが、前記エキスパンダを介して電力用済みメッセージ（２１２）を前記イニシエータに送信するように更に動作可能であり、
前記イニシエータが、前記エキスパンダが前記モニタリングモジュールを含むという前記判定に応じて前記電力用済みメッセージを無視するように更に動作可能であり、
前記エキスパンダの前記電力管理モジュールが、前記モニタリングモジュールが前記電力用済みメッセージを検知したことに応じて前記ターゲットに対する電力量の割当てを解除するように更に動作可能であるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許は２００９年５月２１日出願の米国仮特許出願第６１／２１６，７３２号の優先権を主張し、これは参照により本明細書に組み込まれる。
【０００２】
本発明は概略として記憶装置への電力割当ての管理に関し、より詳細には、エキスパンダを介してコントローラに結合された記憶装置への電力割当ての管理に関する。
【背景技術】
【０００３】
本特許は本願の権利者が所有する「ＭＥＴＨＯＤＳ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＰＯＷＥＲ  ＡＬＬＯＣＡＴＩＯＮ  ＩＮ  Ａ  ＳＴＯＲＡＧＥ  ＳＹＳＴＥＭ」という名称の米国特許第１２／５１０，６９９号に関し、これは参照により本明細書に組み込まれる。
【０００４】
様々な電子システムにおいて、共有された電源が、共通制御ユニットの制御下のシステムのいくつかの装置に給電するために使用される。例えば、記憶システムは電源から複数の各記憶装置に対する電力の印加を調整することができる。特に、各記憶装置は、例えば、回転ディスクドライブであることがある。このような装置は最初に適用されるときは最小の電力を利用し得るが、その後、ディスクドライブのモータがディスクドライブ内で回転記憶媒体を回転させ始める際に実質的により多くの電力を消費する可能性がある。一旦、モータが所望の回転速度に到達した場合（すなわち、定常状態動作において）、ディスクドライブはより少ない電力を消費し得るが、ディスクドライブは回転を開始し、その初期化を完了するために最初に実質的により大きな電力を必要とする可能性がある。
【０００５】
例えば、シリアル取付けＳＣＳＩ（ＳＡＳ）システムを含む現代の多くの記憶装置において、記憶装置（例えば、ＳＡＳターゲット）と結合された制御装置（例えば、ＳＡＳイニシエータ）はその制御下の各記憶装置の「スピンアップ」を制御し、順序付けるために、コマンド構造及びプロトコル・プリミティブ／シーケンスを利用することができる。制御装置は最終的に全てのディスクドライブが開始し、回転するまで任意の所与の時間でのスピンアップが可能にされるディスクドライブの数を制限することができる。従って、制御装置はその制御下のディスクドライブのためのスピンアップ電力の必要条件を制限することができる。しかし、制御装置はディスクドライブが初期化を完了するために電力を更にどのくらいの時間必要とするかの情報を有することができない。従って、現在の諸制御装置はそこに結合された各ディスクドライブの初期化のために可能な最大時間長を許容する最悪のシナリオを想定する。この解決法により、記憶システムの初期化において大幅で不必要な遅延、従って取り付けられたホストシステムによる記憶システムへのアクセスにおける遅延が生じる可能性がある。
【０００６】
記憶システムのある環境において、諸記憶装置は複数の制御装置に結合することができ、あるいはその消費電力状態を自律的に変化させることができる。更に、制御装置は諸記憶装置の利用可能電力状態の情報を有することができるように同一パワードメイン内に結合されないことさえあり得る。
【０００７】
従って、諸記憶装置が初期化中に更なる電力を必要とする場合、諸記憶装置のための電力割当てを管理することは継続課題である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国仮特許出願第６１／２１６，７３２号
【特許文献２】米国特許第１２／５１０，６９９号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、ＳＡＳエキスパンダを介してＳＡＳイニシエータに結合されたＳＡＳターゲットへの電力割当てを管理するための方法及びシステムを提供することによって上記及び他の問題を解決し、これにより有用な技術状況を進歩させる。エキスパンダはターゲットへの電力割当てを管理するためにターゲットとメッセージを交換する。ターゲットはエキスパンダを介して電力要求メッセージをイニシエータに送信する。一部の実施形態において、イニシエータは電力要求受信メッセージをエキスパンダに送信する。次いでエキスパンダは電力要求受信メッセージの受信に応じて電力許可メッセージをターゲットに送信することができる。他の実施形態において、エキスパンダはターゲットからイニシエータに送信されるメッセージをモニタする。その後エキスパンダは自身が電力要求メッセージをモニタしたことに応じて電力許可メッセージをターゲットに送信することができる。
【課題を解決するための手段】
【００１０】
本発明の一態様において、ＳＡＳターゲット、そのターゲットと通信可能に結合されたＳＡＳエキスパンダ、及びそのエキスパンダと通信可能に結合されたＳＡＳイニシエータを含むシステム内で動作可能な方法が提供される。この方法によれば、電力要求メッセージがターゲットからエキスパンダを介してイニシエータに送信される。電力要求メッセージはイニシエータで受信される。電力要求メッセージの受信に応じて電力要求受信メッセージがイニシエータからエキスパンダに送信される。電力要求メッセージの受信に応じてターゲットへの更なる電力量がエキスパンダ内に割り当てられる。更に、この方法によれば、電力要求メッセージの受信に応じて電力許可メッセージがエキスパンダからターゲットに送信される。
【００１１】
本発明の別の態様において、ＳＡＳターゲット、そのターゲットと通信可能に結合されたＳＡＳエキスパンダ、及びそのエキスパンダと通信可能に結合されたＳＡＳイニシエータとを含むシステム内で動作可能な方法が提供される。この方法によれば、電力要求メッセージがターゲットからエキスパンダを介してイニシエータに送信される。ターゲットとイニシエータとの間で送信されるメッセージはエキスパンダでモニタされる。エキスパンダが電力要求メッセージをモニタしたことに応じてターゲットへの更なる電力量がエキスパンダ内に割り当てられる。更に、この方法によれば、電力要求メッセージのモニタリングに応じて電力許可メッセージがエキスパンダからターゲットに送信される。
【００１２】
本発明の別の態様はＳＡＳエキスパンダ、ＳＡＳイニシエータ、及びＳＡＳターゲットを含むシステムを提供する。エキスパンダは電力管理モジュール及び内部イニシエータモジュールを含む。イニシエータはエキスパンダと通信可能に結合される。ターゲットはエキスパンダと通信可能に結合され、エキスパンダを介してイニシエータへ電力要求メッセージを送信するように動作可能である。エキスパンダの電力管理モジュールは更なる電力量をターゲットに割り当てるように動作可能であり、エキスパンダの内部イニシエータモジュールはターゲットに電力許可メッセージを送信するように動作可能である。一部の実施形態において、エキスパンダは内部ターゲットモジュールを更に含む。これらの実施形態において、イニシエータは電力要求メッセージの受信に応じて電力要求受信メッセージをエキスパンダの内部ターゲットモジュールに送信するように更に動作可能である。その後エキスパンダは電力要求受信メッセージの受信に応じて更なる電力量を割り当て、電力許可メッセージを送信することができる。他の実施形態において、エキスパンダはターゲットからイニシエータに送信されたメッセージを検知するように動作可能なモニタリングモジュールを更に含む。これらの実施形態において、次いでエキスパンダは電力要求メッセージのモニタリングに応じて更なる電力量を割り当て、電力許可メッセージを送信することができる。
【図面の簡単な説明】
【００１３】
【図１】ＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による構成された例示のシステムのブロック図である。
【図２】ＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による例示の通信シーケンスである。
【図３】ＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による別の例示の通信シーケンスである。
【図４】ＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による例示の方法のフローチャートである。
【図５】ＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による例示の方法のフローチャートである。
【図６】ＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による例示の方法のフローチャートである。
【図７】ＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による例示の方法のフローチャートである。
【発明を実施するための形態】
【００１４】
図１はＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による構成された例示のシステム１００のブロック図である。システム１００はＳＡＳイニシエータ１０４及びＳＡＳターゲット１０６に結合されたＳＡＳエキスパンダ１０２を含む。ターゲット１０６は、ディスクドライブなどの、データを保存するように動作可能な任意の記憶装置を含み得る。更に、イニシエータ１０４は、ホストシステム、ホストシステム内のホストバスアダプタ、及びストレージコントローラ等を含むターゲット１０６とのＳＡＳ通信を開始するための任意の装置を含み得る。エキスパンダ１０２はＳＡＳエキスパンダの役割を果たす任意の適切な演算装置であってよい。システム１００において、エキスパンダ１０２内のクロスバー機能１１６は、ターゲット１０６とイニシエータ１０４との間で信号を伝える内部信号及びルーティング論理（図示せず）を使用してターゲット１０６をイニシエータ１０４に結合させる。クロスバーの機能／スイッチはＳＡＳエキスパンダの設計において一般的であり、従って、当業者にとって周知である。１つのターゲット１０６と１つのイニシエータ１０４のみがシステム１００内に示されているが、当業者なら複数のターゲット及びイニシエータが、様々な配置で通信可能に結合できるシステム１００内に含まれ得ることを認識されよう。システム１００において、エキスパンダ１０２は、単独又はイニシエータ１０４と組み合わせてターゲット１０６に対する電力割当てを管理するように動作可能である。システム１００の動作に関する更なる詳細は図２〜図３を参照して論じられる。
【００１５】
エキスパンダ１０２は電力管理モジュール１１２を更に含む。電力管理モジュール１１２はターゲット１０６への電力割当てを管理するためにターゲット１０６と通信する。より詳細には、電力管理モジュール１１２はターゲット１０６に割り当てられた電力量及びターゲット１０６に与えられた電力のタイミングを管理するために制御及び状態の情報をターゲット１０６と交換する。エキスパンダ１０２は内部イニシエータモジュール１１４も更に含む。内部イニシエータモジュール１１４はターゲット１０６と通信して、例えば、電力管理モジュール１１２からターゲット１０６にメッセージを伝えることによってターゲット１０６への電力割当てを管理することができる。
【００１６】
一部の実施形態において、エキスパンダ１０２のモニタリングモジュール１０８はターゲット１０６とイニシエータ１０４との間の通信を検知し、ターゲット１０６に割り当てられた電力の管理を可能にする。エキスパンダ１０２の内部ターゲットモジュール１１０は、例えば、イニシエータ１０４からの特定の電力管理メッセージを受信することによりイニシエータ１０４からの通信を受信する。
【００１７】
図２はＳＡＳターゲットに対する電力割当てを管理するための本発明の特徴及び態様による例示の通信及び動作シーケンス２００を示したものである。シーケンス２００の特定のメッセージ及び動作が特定の順序で示されているが、当業者なら、このメッセージ及び動作は異なる順序で行うことが可能で、示されない他のメッセージ及び動作を含み得ることを認識されよう。シーケンス２００は、ターゲット１０６への電力割当てを管理する間に、エキスパンダ１０２、イニシエータ１０４、及びターゲット１０６において、及びそれらの間で発生する様々なメッセージ及び動作２０２〜２１６を示す。例えば、ターゲット１０６は動作のための何らかの更なる電力量への自身の要求に応じてエキスパンダ１０２を介して電力要求メッセージ２０２をイニシエータ１０４に送信することができる。ターゲット１０６は、スピンアップ状態に変化するなどのいくつかの理由のために、何らかの更なる電力を要求することができる。ディスクドライブがスピンアップ動作を実行するとき、回転媒体が定常状態速度に到達するまで、更なる電力がディスクドライブにより必要とされる。このような場合、ターゲット１０６は、状態が変化する間の何らかの更なる電力量を要求する電力要求メッセージ２０２を生成することができる。
【００１８】
イニシエータ１０４が電力要求メッセージ２０２を受信するのに応じてイニシエータ１０４はターゲット１０６が更なる電力量を要求していることを示す電力要求受信メッセージ２０４をエキスパンダ１０２に（例えば、エキスパンダ１０２の内部ターゲットモジュール１１０に）送信する。電力管理モジュール１１２は、エキスパンダ１０２での電力要求受信メッセージ２０４の受信に応じてターゲット１０６により要求された更なる電力が利用可能であるかを判定するための電力容量判定２０６を実行することができる。例えば、ターゲット１０６はエキスパンダ１０２に結合された複数のターゲットの１つであってよい。このような場合、ターゲットに電力を供給する電源（図示せず）は有限の有能電力容量を含み得る。従って、エキスパンダ１０２と結合された様々なターゲットに割り当てられる電力を管理することは益々重要になる。例えば、そのような電源は多くのターゲットがスピンアップ動作を同時に実行するための十分な有能電力容量を含み得ない。そのような場合、電力管理モジュール１１２は、複数のターゲットからいくつかの電力要求メッセージ２０２を受信後に、なお全供給電力を維持しながら電源の有能電力容量以内でどのようにして更に有効に当該要求に応えるかを決定するために解析を実行することができる。例えば、電力管理モジュール１１２は電源の全電力容量を超える保留要求を割り当てるとき、ターゲットからのいくつかの電力要求メッセージ２０２をホールドすることができる。電力管理モジュール１１２は更なる電力量が電源から利用可能であるかを判定するためにターゲット１０６に結合された電源を調べることができる。電力管理モジュール１１２は利用されている現在の電力を計算し、更なる電力量が利用可能であるかを判定するために、内部電力割当て表を解析することもできる。例えば、電力割当て表は電流ターゲット及び各電流ターゲットに割り当てられた電力量のリストを含み得る。他の実施形態において、電力管理モジュール１１２はターゲットに届けられている現在の電力を示すカウンターを含み得る。従って、電力管理モジュール１１２はターゲットに電力を許可するときに、割り当てられた更なる電力を反映するようにカウンター値を増加させることができる。その後、エキスパンダ１０２はターゲット１０６によって要求された電力量に基づいて電力割当て２０８を実行できる、あるいは、ターゲット１０６の電力必要条件、ターゲット１０６に期待される電力遷移の種類（例えば、スピンアップ動作）などの既定義の判定基準に基づいて電力を割り当てることができる。
【００１９】
電力許可メッセージ２１０は（例えば、エキスパンダ１０２の内部イニシエータモジュール１１４によって）エキスパンダ１０２からターゲット１０６に送信される。ある場合においては、電力許可メッセージ２１０は、電力が電力要求メッセージ２０２において要求された量などの特定の量だけ許可されたことをターゲット１０６に示すパラメーターを含む。他の場合においては、電力許可メッセージ２１０は、ターゲット１０６によって要求された電力より幾分少ない部分が許可されたことをターゲット１０６に示すパラメーターを含み得る。例えば、電力要求メッセージ２０２は１０ワットの更なる電力がターゲット１０６によって要求されたことを示すパラメーターを含み得るが、電力許可メッセージ２１０は、そうせずに、７ワットの更なる電力だけがターゲット１０６に許可されることを示すことがあり得る。ターゲット１０６に許可された電力がターゲット１０６によって要求された電力より少ない場合、ターゲット１０６は許可された７ワットの電力制限内に留まるように所望の電力遷移を変更することができる。例えば、この場合、ターゲット１０６は変更されたスピンアップのプロセスを実行して、スピンアップ動作を実行するのに必要とされる更なる電力を低減することができる。
【００２０】
一部の実施形態において、ターゲット１０６に許可された更なる電力がもはや必要でない場合に、ターゲット１０６はエキスパンダ１０２を介して電力用済みメッセージ２１４をイニシエータ１０４に送信することができる。例えば、ターゲット１０６は、場合によっては電力許可メッセージ２１０の受信に応じて電力遷移を完了してしまっている。ある場合において、ターゲット１０６によって解放される電力はターゲット１０６に許可された電力と同一ではない可能性がある。
【００２１】
電力用済みメッセージ２１２の受信に応じて、イニシエータ１０４は、ターゲット１０６が以前に許可された更なる電力量をもはや必要としないことを示す電力用済み受信メッセージ２１４をエキスパンダ１０２に（例えば、エキスパンダ１０２の内部ターゲットモジュール１１０に）送信することができる。その後、電力管理モジュール１１２はターゲット１０６に対する電力割当て解除２１６を実行することができる。一部の実施形態において、電力管理モジュール１１２は既定義の電力値に基づいて電力量の割当てを解除することができる。他の実施形態において、電力管理モジュール１１２は電力用済みメッセージ２１２内のパラメーターに基づいて電力量の割当てを解除することができる。
【００２２】
上の図２に関して説明された実施形態に対して、説明された様々なメッセージは、ＳＡＳフレーム又はプリミティブ、帯域外（ＯＯＢ）メッセージ、シリアル管理プロトコル（ＳＭＰ）メッセージ、シリアルＳＣＳＩプロトコル（ＳＳＰ）メッセージ、及びシリアルＡＴＡトンネル化プロトコル（ＳＴＰ）メッセージを含むことができる。また、説明された様々なメッセージは、特定のメッセージに基づいて要求された、許可された、又は解放された電力量を示すパラメーターを含むことができる。例えば、電力要求メッセージ２０２はターゲット１０６によって要求された電力量を示すパラメーターを含むことができる。電力要求受信メッセージ２０４もまた、ターゲット１０６によって要求された電力量を示すこのパラメーターを含むことができる。更に、電力許可メッセージ２１０はターゲット１０６に許可された電力量を示すパラメーターを含むことができる一方で、電力用済みメッセージ２１２はターゲット１０６によって解放された電力量を示すパラメーターを含むことができる。
【００２３】
図３はターゲット１０６への電力割当てを管理するための本発明の特徴及び態様による別の例示の通信及び動作シーケンス３００を示す。図３において、エキスパンダ１０２は、ターゲット１０６とイニシエータ１０４との間で送信されたメッセージを（例えば、エキスパンダ１０２のモニタリングモジュール１０８で）モニタし、モニタされたメッセージに基づいて、ターゲット１０６に対する様々な電力管理及び電力割当て動作を実行する。シーケンス３００のメッセージ及び動作が特定の順序で示されているが、当業者なら、このメッセージ及び動作は異なる順序で行うことが可能で、示されない他のメッセージ及び動作を含み得ることを認識されよう。シーケンス３００は、ターゲット１０６への電力割当てを管理するためにエキスパンダ１０２、イニシエータ１０４、及びターゲット１０６において、及びそれらの間で発生する様々な通信メッセージ及び動作２０２、２０６〜２１２、２１６、及び３０２〜３１２を示す。
【００２４】
シーケンス３００で示された実施形態において、イニシエータ１０４はモニタリング機能メッセージ３０２をエキスパンダ１０２に送信する。モニタリング機能メッセージ３０２は、前述の電力要求メッセージ２０２及び電力用済みメッセージ２１２などの、ターゲット１０６からイニシエータ１０４への通信を検知する機能に関する情報を明らかにするようにエキスパンダ１０２に指示することができる。より具体的には、モニタリング機能メッセージ３０２はエキスパンダ１０２を調べて、エキスパンダ１０２がモニタリングモジュール１０８を含んでいるかどうかを判定する。上で論じたように、モニタリングモジュール１０８はターゲット１０６からエキスパンダ１０２を介してイニシエータ１０４に伝わる通信を検知する。エキスパンダ１０２が、モニタリングモジュール１０８を含む場合、イニシエータ１０４はモニタリング機能判定３０４の実行に応じてターゲット１０６からの特定メッセージを無視することができる。
【００２５】
ターゲット１０６は動作のためにいくらかの更なる電力量を必要とするとき、エキスパンダ１０２を介して電力要求メッセージ２０２をイニシエータ１０４に送信することができる。エキスパンダ１０２がモニタリングモジュール１０８を含むというイニシエータ１０４の判定に応じてイニシエータ１０４は電力要求メッセージを無視する３０６。モニタリングモジュール１０８は、ターゲット１０６によって電力要求メッセージ２０２がエキスパンダ１０２を介してイニシエータ１０４に送信されたときに、電力要求メッセージのモニタリング３０８を実行して電力要求メッセージ２０２を特定する。その後、電力管理モジュール１１２は電力要求メッセージ２０２のモニタリングに応じて電力容量判定２０６を実行することができる。
【００２６】
その後、電力管理モジュール１１２は電力２０８をターゲット１０６に割り当てることができる。一部の実施形態において、電力が電力容量判定２０６の実行に基づいて割り当てられる。例えば、電力管理モジュール１１２は７ワット等のいくらかの電力容量が残っていると判定することがあり得る。従って、電力管理モジュール１１２は電力２０８を７ワットとして割り当てることができ、これに対応し、ターゲット１０６への電力の割当てに応じて（例えば、エキスパンダ１０２の内部イニシエータモジュール１１４によって）電力許可メッセージ２１０をエキスパンダ１０２からターゲット１０６に送信することができる。
【００２７】
ターゲット１０６が以前に割り当てられた電力をもはや必要としない場合、このときターゲット１０６はエキスパンダ１０２を介して電力用済みメッセージ２１２をイニシエータ１０４に送信することができる。イニシエータ１０４がエキスパンダ１０２がモニタリング機能を含むと判定した場合、イニシエータ１０４は次に電力用済みメッセージを無視する３１２ように動作することができる。電力管理モジュール１１２は、その後、電力用済みメッセージのモニタリング３１０動作の実行に応じてターゲット１０６に対する電力割当て解除２１６を実行することができる。
【００２８】
図４〜図７はＳＡＳターゲットへの電力割当てを管理するための本発明の特徴及び態様による例示の方法４００〜７００を示すフローチャートである。方法４００〜７００は図１のシステム１００内で実行することができる。図４〜図７は特定の順序に配置された具体的ステップを示すが、当業者ならば、方法４００〜７００が、示されない他のステップを含むことができ、そのステップは示されたものとは別の順序で実行できることを認識されよう。
【００２９】
ステップ４０２では、電力要求メッセージをＳＡＳターゲットからＳＡＳエキスパンダを介してＳＡＳイニシエータに送信する。上記したように、ターゲットは状態又は動作を変化させるためにいくらかの更なる電力量を必要とする可能性がある。ある場合においては、ディスクドライブターゲットはスピンアップ状態に変化することができ、それによって遷移により多くの電力を必要とする。
【００３０】
次にステップ４０４では、電力要求メッセージをＳＡＳイニシエータで受信する。次いでステップ４０６では、電力要求受信メッセージをイニシエータからエキスパンダに（例えば、エキスパンダの内部ターゲットモジュールに）送信する。方法４００に対する任意選択のステップ４０８において、要求に対して電力が利用可能かどうかの判定がなされる。上記したように、諸ターゲットに結合された電源は有限の電力機能を有し得る。従って、ターゲットに対して電力が利用可能かどうかの判定はターゲットによって現在利用されている電力量の特定、及び要求ターゲットに許可する更なる電力量が利用可能かどうかの判定を含み得る。例えば、更なる電力容量が現在利用可能かどうかを判定するために諸ターゲットに結合された電源を調べることができる。更なる電力容量が利用可能でない場合は、ステップ４１０を実行することができる。ステップ４１０において、電力要求メッセージは、ある時間長、又は十分な電力が利用可能になるまで中断することができる。例えば、エキスパンダ内の電力管理モジュールは、保留の電力要求メッセージを満たすように電力が利用可能であるかを再度確認するまで数秒間、電力要求メッセージの処理を中断することができる。いくつかのターゲットは更なる電力量を現時点で許可されることができ、これにより、いくつかの電流電力要求メッセージを中断させることができる。ターゲットが、電力用済みメッセージ又は経過した時間長によって示されるように更なる電力をもはや利用しない後は、現在中断されている電力要求メッセージはエキスパンダによって引き続く処理に対して再開することができる。
【００３１】
ステップ４１２では、ターゲットからの電力要求メッセージを満たすように電力が現在利用可能であるかを判定する。電力が利用可能である場合、電力はステップ４１６で割り当てることができる。電力が利用可能でない場合、電力要求メッセージはステップ４１４で拒絶することができる。
【００３２】
ステップ４１６では、更なる電力量をターゲットに割り当てる。ステップ４１８では、（例えば、エキスパンダの内部イニシエータモジュールによって）電力許可メッセージをエキスパンダからターゲットに送信する。
【００３３】
図５及び方法５００に、ＳＡＳターゲットに対して電力割当てを管理するための任意選択の一実施形態を示す。ステップ５０２では、電力用済みメッセージがターゲットからエキスパンダを介してイニシエータに送信する。
【００３４】
ステップ５０４では、電力用済みメッセージをイニシエータで受信する。ステップ５０６では、電力用済みメッセージの受信に応じて電力用済み受信メッセージをイニシエータからエキスパンダに（例えば、エキスパンダの内部ターゲットモジュールに）送信する。ステップ５０８では、電力用済みメッセージの受信に応じてターゲットに割り当てられた電力量をエキスパンダで割当て解除する。
【００３５】
図６及び方法６００はＳＡＳターゲットに対する電力割当てを管理するための更なる実施形態を含む。方法６００において、イニシエータとターゲットとの間に結合されたエキスパンダはモニタリング機能を含む。上記したように、モニタリング機能により、エキスパンダはターゲットからイニシエータへの通信を検知でき、従って、イニシエータはターゲットによって送信されたいくつかのメッセージを無視することができる。
【００３６】
ステップ６０２では、ターゲットからエキスパンダを介して電力要求メッセージをイニシエータに送信する。ターゲットは、スピンアップ動作の予期などの、ターゲットによる状態の変化に応じて電力要求メッセージを送信することができる。
【００３７】
ステップ６０４では、電力要求メッセージをイニシエータで受信する。ステップ６０６では、エキスパンダがモニタリング機能を含むかどうかを判定する。例えば、イニシエータは、エキスパンダがターゲットからイニシエータへの通信をモニタするモニタリング機能を含むかどうか（例えば、エキスパンダがモニタリングモジュールを含むこと）を確認するために起動時にエキスパンダを調べることができる。エキスパンダがモニタリング機能を含むことに応じて、イニシエータは内部のフラグ又はレジスタを使用してその旨を示すことができる。従って、引き続くモニタリング機能判定により、エキスパンダがモニタリング機能を含むかどうか再判定することなくフラグ又はレジスタをチェックすることができる。エキスパンダがモニタリング機能を含まない場合、方法４００のステップ４０６（図４を参照）を実行することができる。エキスパンダがモニタリング機能を含むという判定に応じて、ステップ６０８が実行され、電力要求メッセージはイニシエータによって無視される。
【００３８】
ステップ６１０では、（例えば、エキスパンダ内部のモニタリングモジュールで）ターゲットからイニシエータに送信されるメッセージをエキスパンダにおいてモニタする。上記したように、モニタされたメッセージは電力要求メッセージを含み得る。方法６００に対する任意選択のステップにおいて、ステップ６１２では、更なる電力量がターゲットに対して利用可能かどうか判定することができる。更なる電力量が利用可能でない場合、方法４００のステップ４２０（図４を参照）を実行することができる。要求された更なる電力容量が利用可能である場合、更なる電力量はステップ６１４でターゲットに割り当てられる。
【００３９】
ステップ６１４では、エキスパンダで更なる電力量をターゲットに割り当てる（例えば、エキスパンダの電力管理モジュールによって割り当てられる）。ステップ６１６では、電力許可メッセージをエキスパンダからターゲットに送信する（例えば、エキスパンダの内部イニシエータモジュールによって送信される）。
【００４０】
図７及び方法７００に、ＳＡＳターゲットに対する電力割当てを管理するための任意選択の実施形態を示す。方法６００と同様に、イニシエータとターゲットとの間に結合されたエキスパンダはモニタリング機能を含み（例えば、モニタリングモジュールを含み）、これによりイニシエータはターゲットから特定のメッセージを無視することができる。
【００４１】
ステップ７０２では、電力用済みメッセージをターゲットからエキスパンダを介してイニシエータに送信する。ステップ７０４では、電力用済みメッセージをイニシエータで受信する。ステップ７０６では、エキスパンダがモニタリング機能を含むかどうか判定する。上で論じたように、イニシエータは、エキスパンダがモニタリング機能を含むがどうか（例えば、エキスパンダがモニタリングモジュールを含むかどうか）を判定するために起動時にエキスパンダの調査を実行し、調査の結果を示すフラグ又はレジスタを設定することができる。エキスパンダがモニタリング機能を含まない場合、方法５００のステップ５０６（図５を参照）を実行することができる。エキスパンダがモニタリング機能を含む場合、ステップ７０８では、電力用済みメッセージをイニシエータにおいて無視する。
【００４２】
ターゲットからエキスパンダを介してイニシエータへの電力用済みメッセージの送信に応じて、ステップ７１０では、（例えば、エキスパンダのモニタリングモジュールによって）電力用済みメッセージをエキスパンダでモニタする。ステップ７１２では、電力用済みメッセージのモニタリングに応じて（例えば、エキスパンダの電力管理モジュールで）ターゲットに割り当てられた電力量をエキスパンダにおいて割当て解除する。
【００４３】
本発明が図面及び上記の説明において示され、説明されたが、このような説明図及び説明は例示としてのものであり、性質において非限定的と見なされるものである。本発明の複数の実施形態及びその小さな変更形態が示され、説明されてきた。特に、例示のソフトウェア又はファームウェアの実施形態として示され、説明された特徴は、カスタマイズされた論理回路及びその逆としても同等に実施することができる。本発明の趣旨内から来る全ての変更及び改変に対して保護が所望される。当業者なら、本発明の範囲内に収まる上述の実施形態の変形形態を理解するであろう。この結果として、本発明は、上で論じられた特定の実施例及び説明図に限定されず、以下の特許請求の範囲及びその均等物のみによって限定される。
【図１】
2010272115.tif 000003
【図２】
2010272115.tif 000004
【図３】
2010272115.tif 000005
【図４】
2010272115.tif 000006
【図５】
2010272115.tif 000007
【図６】
2010272115.tif 000008
【図７】
2010272115.tif 000009