(57)【要約】  ポートマルチプライヤは、ダウンストリームポート接続の数に基づいてその識別情報を動的に決定して報告する。サポートされるポートダウンストリームポート接続の数は、動的に変化する可能性がある。ポートマルチプライヤは、記憶装置であるか又は他のポートマルチプライヤであるかに関わらず、ダウンストリームポートに接続されるデバイスを識別する。ダウンストリームポートの総数に基づいて、ポートマルチプライヤは、その識別情報をアップストリームに報告する。アップストリーム報告は、別のポートマルチプライヤに対するもの、又はホスト装置に直接接続されている場合にはホスト装置に対するものとすることができる。ポートマルチプライヤは、その報告された識別情報に基づいてアップストリームから記憶アドレススペース割り振りを受け取り、記憶アドレススペースをダウンストリームポートに割り振る。【選択図】図１
2013528868.tif 000002
【特許請求の範囲】
【請求項１】
ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）ポートマルチプリケーションをサポートするシステムにおいて、
ポートマルチプライヤデバイスを用いて該ポートマルチプライヤデバイスのダウンストリームポートに接続されたデバイスを動的に識別するステップと、
前記識別に基づいて、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の数を決定するステップと、
前記ポートマルチプライヤデバイスのアップストリームポートに接続されたデバイスに、前記ポートマルチプライヤデバイスの識別情報を報告するステップと、
を含む方法であって、前記識別情報が、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の決定された数に基づいており、各ポート接続により記憶装置へのダウンストリーム接続が可能になり、
前記方法が更に、
前記報告された識別情報に基づいて記憶アドレススペースの動的割り振りを受け取るステップを含み、
該記憶アドレススペースが、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の中から割り振られる、方法。
【請求項２】
前記記憶アドレススペースの動的割り振りを受け取るステップが、ＪＢＯＤ（単純ディスク束）拡張法に基づいて記憶アドレススペースの割り振りを受け取るステップを含み、前記ポートマルチプライヤに対して最上位レベルのアップストリームデバイスの記憶アドレススペースへの直接アクセスが認可される、請求項１に記載の方法。
【請求項３】
前記ポートマルチプライヤデバイスのアップストリームポートに接続されたデバイスに報告するステップが、
ＳＡＴＡ規格に従ってアドレススペースを割り振るホスト装置である最上位レベルのアップストリームデバイスに報告するステップを含む、請求項１に記載の方法。
【請求項４】
前記ポートマルチプライヤデバイスの識別情報を報告するステップが更に、
前記ダウンストリームポート接続の変化を検出するステップと、
前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの識別情報を決定するステップと、
前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの決定された識別情報を報告するステップと、
を含む、請求項１に記載の方法。
【請求項５】
前記ダウンストリームポート接続の変化を検出するステップが、記憶装置の接続解除又は記憶装置の付加のうちの１つを検出するステップを含む、請求項４に記載の方法。
【請求項６】
前記ダウンストリームポート接続の変化を検出するステップが、前記ポートマルチプライヤデバイスに接続されたポートマルチプライヤの識別情報の通知を受け取るステップを含み、ダウンストリームの前記ポートマルチプライヤの識別情報が、ダウンストリームポート接続の変化に起因して以前に受け取ったものとは異なる、請求項４に記載の方法。
【請求項７】
前記ポートマルチプライヤデバイスによってサポートされる複数のダウンストリームポート接続の中から割り振られる前記記憶アドレススペースの割り振りを受け取るステップが更に、
前記ポートマルチプライヤデバイスに行われた新規のダウンストリームポート接続を検出するステップと、
既存のダウンストリームポート接続に対して変化していないアドレススペース割り当てを維持し、前記新規のダウンストリームポート接続に新しいアドレススペースを割り当てるステップと、
を含む、請求項１に記載の方法。
【請求項８】
命令を格納したコンピュータ可読記憶媒体を含む製造物品であって、前記命令が実行されたときに、
ポートマルチプライヤデバイスを用いて該ポートマルチプライヤデバイスのダウンストリームポートに接続されたデバイスを動的に識別するステップと、
前記識別に基づいて、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の数を決定するステップと、
前記ポートマルチプライヤデバイスのアップストリームポートに接続されたデバイスに、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の決定された数に基づいて前記ポートマルチプライヤデバイスの識別情報を報告し、各ポート接続により記憶装置へのダウンストリーム接続を可能にするステップと、
前記報告された識別情報に基づいて、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の中から割り振られる記憶アドレススペースの動的割り振りを受け取るステップと、
を含む動作をデバイスに実施させるようにする、製造物品。
【請求項９】
記憶アドレススペースの動的割り振りを受け取る命令を提供するコンテンツが、ＪＢＯＤ（単純ディスク束）拡張法に基づいて記憶アドレススペースの割り振りを受け取り、前記ポートマルチプライヤに対して最上位レベルのアップストリームデバイスの記憶アドレススペースへの直接アクセスが認可されるようにする命令を提供するコンテンツを含む、請求項８に記載の製造物品。
【請求項１０】
前記ポートマルチプライヤデバイスのアップストリームポートに接続されたデバイスに報告するための命令を提供するコンテンツが、ＳＡＴＡ規格に従ってアドレススペースを割り振るホスト装置である最上位レベルのアップストリームデバイスに報告する命令を提供するコンテンツを含む、請求項８に記載の製造物品。
【請求項１１】
前記ポートマルチプライヤデバイスの識別情報を報告する命令を提供するコンテンツが更に、
ダウンストリームポート接続の変化を検出し、
前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの識別情報を決定し、
前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの決定された識別情報を報告する、
命令を提供するコンテンツを含む、請求項８に記載の製造物品。
【請求項１２】
前記ダウンストリームポート接続の変化を検出する命令を提供するコンテンツが、記憶装置の接続解除又は記憶装置の付加のうちの１つを検出する命令を提供するコンテンツを含む、請求項１１に記載の製造物品。
【請求項１３】
前記ダウンストリームポート接続の変化を検出する命令を提供するコンテンツが、前記ポートマルチプライヤデバイスに接続されたポートマルチプライヤの識別情報の通知を受け取る命令を提供するコンテンツを含み、ダウンストリームの前記ポートマルチプライヤの識別情報がダウンストリームポート接続の変化に起因して以前に受け取ったものとは異なるようになる、請求項１１に記載の製造物品。
【請求項１４】
前記ポートマルチプライヤデバイスによってサポートされる複数のダウンストリームポート接続の中から割り振られる前記記憶アドレススペースの割り振りを受け取る命令を提供するコンテンツが更に、
前記ポートマルチプライヤデバイスに行われた新規のダウンストリームポート接続を検出し、
既存のダウンストリームポート接続に対して変化していないアドレススペース割り当てを維持し、前記新規のダウンストリームポート接続に新しいアドレススペースを割り当てる、
命令を提供するコンテンツを含む、請求項８に記載の製造物品。
【請求項１５】
ポートマルチプライヤデバイスであって、
ホスト装置に接続し且つ前記ポートマルチプライヤの識別情報を前記ホスト装置に報告するアップストリームポートを備え、
前記識別情報が動的であり、前記ポートマルチプライヤによってサポートされるポート接続の数に基づいており、前記ポートマルチプライヤデバイスが更に、
複数のダウンストリームデバイスへの接続を可能にする複数のダウンストリームポートと、
前記ダウンストリームポートに接続された各ダウンストリームデバイスのデバイス数に基づいて前記ポートマルチプライヤによってサポートされるポート接続数を決定し、前記ダウンストリームポートに接続された前記ダウンストリームデバイスのデバイス数に基づいて、前記各ダウンストリームポートに記憶アドレススペースを割り振るためのポート構成モジュールと、
を備え、前記各ダウンストリームデバイスのデバイス数が、前記ダウンストリームデバイスに関連するデバイスポート数に相当し、前記ポート構成モジュールが、前記ダウンストリームポート及び該ダウンストリームポートのデバイス数を動的に識別することにより前記ポート接続数を決定するようになっている、ポートマルチプライヤデバイス。
【請求項１６】
前記ポートマルチプライヤが、前記アップストリームポートを介して最上位レベルのアップストリームデバイスに報告するようになっており、該最上位レベルのアップストリームデバイスが、ＳＡＴＡ規格に従ってアドレススペースを割り振るホスト装置である、請求項１５に記載のポートマルチプライヤ。
【請求項１７】
前記ポート構成モジュールが、
前記ダウンストリームポート接続の変化を検出し、
前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの識別情報を決定し、
前記ダウンストリームポート接続の変化の検出に応答して前記アップストリームポートを介して前記ポートマルチプライヤデバイスの決定された識別情報を報告する、
ようになっている、請求項１５に記載のポートマルチプライヤ。
【請求項１８】
前記ポート構成モジュールが更に、記憶装置の接続解除又は記憶装置の付加のうちの１つを検出するようになっている、請求項１７に記載のポートマルチプライヤ。
【請求項１９】
前記ポート構成モジュールが更に、前記ポートマルチプライヤデバイスに接続されたポートマルチプライヤの識別情報の通知を受け取るようになっており、ダウンストリームの前記ポートマルチプライヤの識別情報が、ダウンストリームポートマルチプライヤへの記憶装置の接続の変化に起因して以前に受け取ったものとは異なる、請求項１７に記載のポートマルチプライヤ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、全体的に、ポートマルチプリケーションに関し、より詳細には、複数の拡張レベルによるポートマルチプリケーションに関する。
【背景技術】
【０００２】
（著作権の通知／許諾）
本特許文書の開示の一部には著作権保護の対象となる内容が含まれる。著作権者は特許商標庁の特許ファイル又はレコード内に表される特許文書又は特許開示の複写複製に対する何人かによる複製することに関しては異議を有さないが、それ以外は全ての著作権を留保する。この著作権の通知は、以下に記載する全てのデータ及び本明細書に添付する図面における全てのデータ、並びに以下に記載するあらゆるソフトウェアに対して適用される。（著作権表示（登録）２０１０  Ｓｉｌｉｃｏｎ  Ｉｍａｇｅ，  Ｉｎｃ．，転載禁止）
【０００３】
ポートマルチプライヤは、ホスト装置の単一のポートに多数の記憶装置を接続することを可能にする。ホスト装置の１つのポートは、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）規格に従って、最大で１５個の接続をサポートするよう拡張することができる。ＳＡＴＡ規格の参照は、２００９年５月２９日発行のＳＡＴＡリビジョン３．０仕様及びその前のバージョン又は派生物を指すことができる。ＳＡＴＡポートマルチプライヤ仕様によれば、ポートマルチプライヤは、単一の拡張レベルだけが許容され、高レベルのポートマルチプライヤに接続することができない。従って、低レベルのデバイスを配備することにより当該規格によるポートマルチプライヤで汎用ハブスタイルのシステムを実装することはできない。よって、全てのポートマルチプライヤ拡張は、ルートポートが占有されると拡張できず、単一の拡張レベル上で単一のポートマルチプライヤ装置を通じて行われると想定される。
【０００４】
加えて、従来のポートマルチプライヤは、固定の識別情報を有し、一定のデバイスポート数が割り振られ、この識別情報に基づいて記憶スペース容量が決定される（上述のように拡張が不能となる）。例えば、従来は、１〜３個のポートマルチプライヤは、必然的に１〜３個のポートエキスパンダであり、接続時には、常にホスト装置のポートのそれ以上でも以下でもない３つのポートを占有することになる。また、１：３デバイスを有するホストポートは、どのような追加の拡張も停止されることになる。
【０００５】
ＳＡＴＡポートマルチプライヤ仕様は、最大で１５個の接続を可能にするが、様々な制約事項により、利用可能な拡張接続のうちのある割合を超えて利用することはできない。ポートマルチプライヤデバイスの製造コストは、含まれるポートが多くなる程高くなる。場合によっては、単一のポートマルチプライヤが、ホストへの接続に同じ帯域幅の量（例えば、３Ｇビット／ｓ、又は６Ｇビット／ｓ）しか有していないとすると、性能コストがより重要になる。従って、一般的にはポート拡張は、実際の制約事項によって１〜２、１〜４、１〜５、又は１〜８のデバイスの何れかを有するポートマルチプライヤに限定される。結果として、ホスト装置は、実際の実装において達成できるものよりも多くの記憶装置をサポートできる可能性がある。
【発明の概要】
【０００６】
本発明の実施形態は、一般に、ポートマルチプリケーションに関し、より詳細には複数の拡張レベルを介したポートマルチプリケーションに関する。
【０００７】
１つの実施形態において、ＳＡＴＡポートマルチプリケーションをサポートするシステムにおける方法は、ポートマルチプライヤデバイスのダウンストリームポートを動的に識別するステップと、該識別に基づいてポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の数を決定するステップを含む。本方法は更に、ポートマルチプライヤデバイスが、該デバイスのアップストリームポートに接続されたデバイスに識別情報を報告するステップを含み、該識別情報は、ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の決定された数に基づいており、各ポート接続により記憶装置へのダウンストリーム接続が可能になる。本方法は更に、報告された識別情報に基づいて記憶アドレススペースの動的割り振りを受け取るステップを含み、記憶アドレススペースは、ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の中から割り振られる（ホスト／コントローラポート当たりに１５デバイスポートのように、規定規格によって指定されるデバイスポートの最大数まで）。
【０００８】
特定の実施形態において、記憶アドレススペースの動的割り振りは、ポートマルチプライヤデバイスに使用されるＪＢＯＤ（単純ディスク束）拡張法に基づくことができ、これは、ポートマルチプライヤに対して最上位レベルのアップストリームデバイスの記憶アドレススペースへの直接アクセスが認可されるよう規定している。ポートマルチプライヤが最上位レベル又はルートアップストリームデバイスに直接接続されるときには、報告は最上位レベルのアップストリームデバイスに行われ、該最上位レベルアップストリームデバイスは、ＳＡＴＡ規格に従ってアドレススペースを割り振るホスト装置である。
【０００９】
特定の実施形態において、ポートマルチプライヤデバイスの識別情報の決定及び報告は、ダウンストリームポート接続の変化の検出に応答して実施される。検出される変化は、記憶装置の接続解除又は記憶装置の付加とすることができる。特定の実施形態において、ダウンストリームポート接続の変化を検出するステップは、ポートマルチプライヤデバイスに接続されたポートマルチプライヤの識別情報の通知を受け取るステップを含み、ダウンストリームのポートマルチプライヤの識別情報は、ダウンストリームポート接続の変化に起因して以前に受け取ったものとは異なる。
【００１０】
特定の実施形態において、ダウンストリームポートに対して行われる新規のポート接続の検出に応答して、ポートマルチプライヤは、既存のダウンストリームポート接続に対して変化していないアドレススペース割り当てを維持し、新規のダウンストリームポート接続に新しいアドレススペースを割り当てることができる。
【００１１】
１つの実施形態において、ポートマルチプライヤは、ホスト装置に接続するアップストリームポートと、複数のダウンストリームデバイスに接続する複数のダウンストリームポートと、を含む。ポートマルチプライヤは、アップストリームポートを介してホスト装置にポートマルチプライヤの識別情報を報告するようになっており、該識別情報は、動的であり、ポートマルチプライヤによってサポートされるポート接続の数に基づいている。ポートマルチプライヤは更に、ダウンストリームポートに接続された各ダウンストリームデバイスのデバイス数に基づいてポートマルチプライヤによってサポートされるポート接続数を決定し、ダウンストリームデバイスのデバイス数に基づいて、ダウンストリームポートに接続された各ダウンストリームデバイスに記憶アドレススペースを割り振るためのポート構成モジュールを含む。
【００１２】
以下の説明は、本発明の実施形態の実施例の一例として示す図を有する図面の説明を含む。図面は、限定ではなく例示として理解すべきである。本明細書で使用する時、１つ又はそれよりも多くの「実施形態」への言及は、本発明の少なくとも１つの実施例に含まれる特定の特徴、構造、又は特性を説明するものとして理解されたい。すなわち、本明細書に記載される「一実施形態では」又は「代替的な実施形態では」のような語句は、本発明の様々な実施形態及び実施例を説明するものであり、必ずしも全てが同じ実施形態を指すわけではない。しかしながら、これらはまた、必ずしも互いに排他的であるというわけでもない。
【図面の簡単な説明】
【００１３】
【図１】ホスト装置に接続されたポートマルチプライヤの異なるレベルを備えたシステムの１つの実施形態のブロック図である。
【図２】ホスト装置に接続されたポートマルチプライヤの異なるレベルに対するアドレス割り振りを示す、システムの１つの実施形態のブロック図である。
【図３】ポート構成エンジンを備えたポートマルチプライヤの１つの実施形態のブロック図である。
【図４】動的ポートマルチプライヤ識別情報を決定する１つの実施形態のフロー図である。
【発明を実施するための形態】
【００１４】
以下に説明する実施形態の一部又は全てを表すことができる図の説明を含むと共に、本明細書に示す発明の概念の他の可能な実施形態又は実施例を説明する特定の詳細及び実施例の説明を次に行う。本発明の実施形態の概要を示した後、図面を参照したより詳細な説明を以下に提供する。
【００１５】
本明細書で使用されるように、ポート拡張は、サポートされるダウンストリームポート接続の数に基づいて識別情報を動的に決定し報告するポートマルチプライヤにより提供される。本明細書では、「ダウンストリーム」とは、記憶スペースを割り振って記憶機構を管理する最上位又はルートデバイスであるホスト装置から下流側にあるデバイスを指すことは理解されるであろう。「アップストリーム」とは、（ホスト装置に向かう）データパスの方向とは反対の方向を指すことは理解されるであろう。本明細書で記載される動的デバイスは、互いに接続されて、最大で指定接続数までの複数のレベルのポートマルチプリケーションを提供することができる。ＳＡＴＡ規格によれば、１つの実施形態において、ポートマルチプライヤのあらゆる構成においてサポートされる接続総数は１５である。
【００１６】
動的ポートマルチプライヤは、その識別情報を決定し、アップストリームデバイスに報告する。ホスト装置に直接接続されるポートマルチプライヤでは、ホスト装置がアップストリームデバイスである。別のポートマルチプライヤに直接接続されるポートマルチプライヤでは、アップストリームデバイスは、アップストリームのポートマルチプライヤである。各デバイスは、それらがどのレベルのデータパスに位置していようとも、そのポートからダウンストリームに幾つのポートが存在しているかを決定することに基づいて識別情報を決定し、次いで、その識別情報をアップストリームに報告する。次に、アップストリームのポートマルチプライヤは、この情報を用いて識別情報を決定し、以下、最上位のポートマルチプライヤがホスト装置に直接報告するまで継続する。ポートマルチプライヤは、その識別情報を動的に決定して報告するので、サポートされるダウンストリームポート接続数は、動的に変化する可能性がある。
【００１７】
記憶スペースの割り振りにおいて、最上位のポートマルチプライヤは、報告された識別情報に基づいて記憶スペース割り振りを受け取り、次いで、そのポートの各々からダウンストリームに幾つのポート接続が存在するかに関する報告に基づいてアドレス割り振りをダウンストリームに伝達する。各ポートマルチプライヤは、ホストコントローラによってサポートされるデバイスポートが幾つ必要となるかをアップストリームに宣言し、ホストコントローラは、ダウンストリームポートに接続されるデバイスのダウンストリームポート接続を含む。同様にあらゆるダウンストリームポートマルチプライヤは、そのダウンストリームポート接続の中から記憶スペースを割り振る。
【００１８】
図１は、ホスト装置に接続された異なるレベルのポートマルチプライヤを有するシステムの１つの実施形態のブロック図である。システム１００は、動的ポートマルチプライヤに基づくポート拡張を備えた記憶サブシステムに相当する。システム１００は、システム内の記憶アドレスポートを割り振り及び管理するコンピュータデバイス（例えば、ＳＡＴＡコントローラ）を含む。コンピュータシステムは、サーバ又はパーソナルコンピュータとすることができる。ホスト装置１１０は、コンピュータシステム又はコンピュータシステムの一部とすることができる。ホスト装置１１０は、コンピュータシステム及びそのオペレーティングシステム並びに他の構成要素をハードウェア又は物理的記憶機構にインタフェース接続するＳＡＴＡディスクコントローラであるか、又はこれを含むことができる。
【００１９】
ホスト装置１１０はポート１１２を含む。ポート１１２は、ホスト装置１１０のダウンストリームポートであり、ホスト装置１１０がシステム１００において記憶装置への情報アクセス（読み込み及び／又は書き込み）のデータパスの最上位デバイスであることが分かる。ホスト装置１１２は、追加のポート（図示せず）を含むことができることは、理解されるであろう。
【００２０】
システム１００のアーキテクチャを簡潔に参照すると、特定の構成は必ずしも実際の構成であるとは限らない点は理解されるであろう。実際には、構成の特定の態様（例えば、記憶装置が付随しないポートマルチプライヤが接続されたもの）は、不適切なシステム設計とみなされる場合がある。この構成の論点は、適正なシステム設計を検討することではなく、本発明の実施形態の動作を説明する目的で図示されている。従って、システム１００の構成は、理論上のシステムがどのように機能できるかに関する観点による純粋に研究的なものとみなすことができる。これに加えて、又は代替として、システム１００は、一時的に記憶装置が取り外された、又は後で更なる記憶装置を含める目的でポートマルチプライヤが付加された、或いは他の何れかの説明のような特定の動的な態様を有する実際のシステムの場合のスナップショットを提示することができる。
【００２１】
アーキテクチャの簡潔な説明を参照すると、ポートマルチプライヤ１２０は、ホスト装置１１０に接続（別のポートマルチプライヤを通して接続されないので、直接接続）される。従って、ポートマルチプライヤ１２０は、システム１００における最上位ポートマルチプライヤ（又はルートポートマルチプライヤ）である。ポートマルチプライヤ１２０は、ホスト装置１１０にアップストリームで接続される。
【００２２】
ポートマルチプライヤ１２０は、ポートマルチプライヤ１４０、ポートマルチプライヤ１３０、及び記憶装置１５０にそれぞれ接続された３つのダウンストリームポート１２４、１２６、及び１２８を有する。ポートマルチプライヤ１４０は、何らかの付随のダウンストリームデバイスを有して図示されていない。ポートマルチプライヤ１３０は、３つのダウンストリームポート１３４、１３６、及び１３８を含み、その２つ（１３４及び１３６）がダウンストリームデバイスに接続される。より詳細には、ポート１３４は、記憶装置１７０に接続され、ポート１３６は、ポートマルチプライヤ１６０に接続される。ポートマルチプライヤ１６０は、記憶装置１８０及び１９０にダウンストリームで接続される。
【００２３】
より詳細には、ポートマルチプライヤ１２０は、ホスト装置１１０のダウンストリームポート１１２にアップストリームで接続されたアップストリームポート１２１を含む。ダウンストリームポート接続１２２は、ポートマルチプライヤ１４０のアップストリームポート１４１に接続され、ダウンストリームポート１２４は、ポートマルチプライヤ１３０のアップストリームポート１３１に接続され、ダウンストリームポート１２８は、記憶装置１５０に接続される。ポート構成エンジン１２２は、ポートマルチプライヤ１２０の構成を管理する１つ又はそれ以上の構成要素に相当する。ポートマルチプライヤの構成の管理は、ポートマルチプライヤの識別情報（そのダウンストリームポート接続構成）の決定に関連する動作の実施、決定された識別情報の報告、記憶スペースの割り振り、及びディスクＩ／Ｏ（入力／出力）のデータ交換のような、ダウンストリームデバイスの構成及び管理に関連する動作の実施を指す。
【００２４】
ポート構成エンジン１２２は、ポートマルチプライヤ１２０に関連するデバイスＩＤを決定する。デバイスＩＤは、アップストリーム側に報告されるポートマルチプライヤ識別情報である。デバイスＩＤは、ダウンストリーム側に接続されたものが何であるか（存在する場合）に動的に基づいている。デバイスＩＤを決定するために、１つの実施形態において、ポート構成エンジン１２２は、全てのダウンストリームポートに対してそのポートに接続されたデバイスの識別情報を求めるリクエストを送信する。ポートマルチプライヤ１４０（ポート１２４からの）は、ＩＤ「１：２」（１から２のデバイス）を報告し、記憶装置１５０（ポート１２８からの）は、ＩＤ又はデバイス数「１」を報告し、ポートマルチプライヤ１３０（ポート１２６からの）は、ＩＤ「１：５」を報告することになる。ポートマルチプライヤ１２０のデバイスＩＤは、ダウンストリーム側に接続された全てのデバイスのＩＤを合計することにより決定することができる。すなわち、ポートマルチプライヤ１２０は、２＋１＋５＝８のデバイスＩＤを有し、アップストリーム側に報告されることになる。
【００２５】
１つの実施形態において、ポートマルチプライヤ１２０は、８つのダウンストリームポート接続を「サポート」しているといえる。何らかの所与のポートマルチプライヤによってサポートされる可能性のある最大接続数は、ポート拡張規格を規定することにより識別される最大数である。本明細書で使用されるように、ポートマルチプライヤは、ポート接続が存在するデバイス接続をサポートする。
【００２６】
実際には、ポートマルチプライヤ１２０との交換は、ポートマルチプライヤ１３０におけるものとは記憶装置１５０によって異なる可能性があることは理解されるであろう。例えば、メッセージ交換の実際のフォーマットは異なる可能性があり、記憶装置は、ポートマルチプライヤが１〜Ｎの識別情報を示す場合に幾つのドライブを含んでいるかを報告することができる。しかしながら、その結果、最終的にはポートマルチプライヤ１２０は、ダウンストリーム側への問い合わせ（クエリー）に基づいて適正な記憶スペース割り振りのために識別情報８（１〜８のマルチプライヤ）を報告すべきであると決定する。
【００２７】
ポートマルチプライヤ１２０に関する上述の検討において、ポートマルチプライヤ１３０はその識別情報を認識しており、適切に応答できるものとする。しかしながら、１つの実施形態において、問い合わせは、ポートマルチプライヤにその識別情報を決定するよう動作させる。すなわち、ポートマルチプライヤ１２０による問い合わせに応答して、ポートマルチプライヤ１３０は、ポートに問い合わせを行って識別情報を決定することができる。連続した問い合わせをポートマルチプライヤの最下位レベル（システム１００のポートマルチプライヤ１６０）まで連続して行い、記憶サブシステム全体の構造を動的に発見することができる。代替の実施形態において、問い合わせは、ポートマルチプライヤをその識別情報を発見するよう起動させることはできない。このような実施構成において、ポートマルチプライヤは、これらの識別情報を定期的に、或いはダウンストリームの変化（例えば、ダウンストリーム側のデバイスの取り外し又は接続）を検出したことにのみ応答して発見することができる。１つの実施形態において、ダウンストリームデバイスは、リクエスト又は問い合わせを待機するのではなく、識別情報をアップストリーム側にプッシュすることができる。従って、ポートマルチプライヤは、これらのデバイスＩＤを発見するために異なる手法を用いることができる。
【００２８】
全てのポートマルチプライヤは、これらの識別情報を決定するために同様の技法を用いることができる。ポートマルチプライヤ１４０は、ポート構成エンジン１４２を通じて、ポートマルチプライヤ１２０による問い合わせに応答するか、又はダウンストリーム接続への変化を識別するトリガーに応答して、或いはスケジュールに基づいてデバイスＩＤが「１：２」であると判定する。ポートマルチプライヤ１３０は、ポート構成エンジン１３２によりデバイスＩＤが「１：５」であると決定する。記憶装置１７０は、識別情報「１」をポートマルチプライヤ１３０に報告することになる。
【００２９】
ポートマルチプライヤ１６０は、アップストリームポート１６１を介してポートマルチプライヤ１３０のダウンストリームポート１３６に接続される。ポートマルチプライヤ１６０は、ポート構成エンジン１６２によりデバイスＩＤが「１：２」であると決定する。ポート１６４は、デバイス数１である記憶装置１８０に接続され、ポート１６６は、同様にデバイス数１である記憶装置１９０に接続される。従って、合計で「２」となるデバイス数は、ポートマルチプライヤ１６０のダウンストリームポートに接続される。ポートマルチプライヤ１６０は、記憶装置のみにダウンストリーム側に接続され、別のポートマルチプライヤには接続されないので、ポートマルチプライヤ１６０のＩＤは「１：２」となる。ポートマルチプライヤ１６０は、その識別情報をアップストリーム側のポートマルチプライヤ１３０に報告する。
【００３０】
システム１００を理解するための別の方法は、システム及びその接続部が多段で構築されていると仮定した、種々のスナップショットでのシステムの説明によるものである。最初に、ポートマルチプライヤ１２０がホスト装置１１０に接続されており、ポートマルチプライヤ１２０へのダウンストリーム接続が形成されていない場合について考えてみる。ポートマルチプライヤ１２０は、識別情報１：３をホスト装置１１０に報告することになる。記憶装置アドレス割り振りは、ポート１２４がアドレス「０」、ポート１２６がアドレス「１」、ポート１２８がアドレス「２」とすることができる。
【００３１】
次に、ポートマルチプライヤ１４０がポートマルチプライヤ１２０に接続されているが、追加の接続は形成されておらず、ポートマルチプライヤ１２０のポート１２４は、システム１００においてもはや唯一のポートである場合について考える。むしろ、ポートマルチプライヤ１２０がポートマルチプライヤ１４０に接続されており、ポートマルチプライヤ１４０はＩＤ「１：２」を有する（露出ポート１４４及び１４６を有するので）。そのため、ポートマルチプライヤ１２０は、デバイスＩＤ「１：４」を有することになる。加えて、記憶装置アドレス割り振りは、例えば、アドレス「０」をポートマルチプライヤ１４０のポート１４４に割り振り、ポート１２６及び１２８それぞれのアドレス「１」及び「２」を維持して、アドレス「３」をポート１４６に割り振ることにより変えることができる。全てのアドレスを再割り当てすることを含めて、他の割り振りも実施可能である。
【００３２】
次にポートマルチプライヤ１３０が接続された場合に、同様の変更が起こることになる。ポートマルチプライヤ１２０は、デバイスＩＤ１：６を報告し、ポート１２６のアドレス「１」は新しいポートに再割り当てされ、新しいアドレスが新規に利用可能なポートに付与されることになる（すなわち、２つ又はそれ以上のアドレスが割り振られることになる）。
【００３３】
システム１００の実施例を具体的に参照しながら上記で説明したが、本明細書で記載される技法は図１の実施例に限定されないことは理解されるであろう。一般に、動的ポートマルチプライヤが説明されている。動的ポートマルチプライヤは、ダウンストリームポート接続に基づいてその識別情報を動的に決定する。１つの実施形態において、ｗｗｗ＿ｓａｔａ−ｉｏ＿ｏｒｇ（ここでは意図しないハイパーリンク化を避けるため、ピリオドはアダーバーで置き換えられている）で利用可能なものなどの規格によって既定されたようなＳＡＴＡポート拡張が提供される。
【００３４】
上述のように、ポートマルチプライヤの識別情報は、動的に決定される。上記で示唆されているように、１つの実施形態において、ポートマルチプライヤは、ホスト装置によるリクエストに応答して識別情報を決定する。本明細書で明確にするために、システムにおける最上位ホスト装置は、記憶サブシステムが接続されるコンピュータシステムのコントローラ又はコンピュータシステム自体である。しかしながら、１つの実施形態において、サブシステムの下の各ポートマルチプライヤは、そのホスト装置に接続されるアップストリームデバイスとみなされる。従って、アップストリームからのリクエストは、そのホスト装置からのリクエストとして理解することができる。一般に、ポートマルチプライヤは、そのダウンストリームデバイスポートに直接接続されたあらゆるデバイスのホスト装置とみなすことができる。
【００３５】
１つの実施形態において、ポートマルチプライヤは、デバイスがシステムから接続又は接続解除されたことに応答してその識別情報を決定する。ポート接続への変更に応答して、新規に接続又は接続解除したデバイスをホストするアップストリーム側のデバイスに信号が送信される。ポート接続への変更により、接続／接続解除デバイスのホスト（及びサブシステムの最上位までの他のホスト）からのメモリ割り振りに対する変化が生じる結果となる場合がある。１つの実施形態において、新規に接続又は接続解除したデバイスのメモリ割り振りだけが変化し、接続が変化していないままのデバイスにおいてメモリスペース割り振りは変化しないままである。
【００３６】
ダウンストリーム接続の変化に応答して、ポートマルチプライヤは、その識別情報（変化されることなる）を決定し、全ての露出したデバイスポートを表す識別情報をアップストリーム側に報告することができる。変化は、引き続きアップストリーム側に伝搬することができる。１つの実施形態において、新しいデバイスをどの記憶スペースにも割り振ることができない場合には、最大デバイス数を超過していることに起因して、追加の記憶装置の接続が許可されない場合がある。従って、新しいデバイスを物理的に接続することはできるが、記憶機構を提供する目的ではシステムに接続されない。他の場合では、記憶スペースは、変化（デバイスポートの取り外し又は追加）に対して適切に調整することができる。
【００３７】
図２は、ホスト装置に接続された異なるレベルのポートマルチプライヤに対するアドレス割り振りを示すシステムの１つの実施形態のブロック図である。１つの実施形態において、システム２００は、図１のシステムによるシステムの１つの実施例である。従って、デバイスＩＤの動的決定は、上述のように実施することができる。システム２００において追加して表されるのは、各記憶装置の登録ＩＤと記憶スペースの割り振りである。
【００３８】
１つの実施形態において、ポートマルチプライヤの識別情報が変化すると、ポートマルチプライヤに割り振られる記憶スペースの量がこれに応じて修正される。システム２００は、特定の時点でシステム２００が見ることができるものの概略図を示す。また、システム構成に対する変化が図示の表現にどのような影響を及ぼすことになるかについて、以下で説明する。
【００３９】
ホスト装置２１０は、システム２００の記憶サブシステムが接続されたコンピュータシステムの１つ又はそれ以上の構成要素に相当する。ホスト装置２１０は、システムにおいて記憶機構を管理するディスクコントローラであるコントローラ２１４を含むように図示されている。１つの実施形態において、コントローラ２１４は、ホスト装置２１０とすることができる。アドレススペース２２０は、システム２００の種々の記憶装置の記憶機構に割り振ることができるアドレススペースに相当する。説明を簡単にするために、図示の各アドレススペース（２２１〜２２７）は、単一ドライブ用のスペースである。実際には、異なるサイズのアドレススペースを異なる記憶装置に割り振ることができる点は理解されるであろう。各記憶装置が同じサイズであるか、又は割り振られた記憶機構の同じ量を占有することは必要ではない。記憶機構の割り振りは、実施される特定のシステムのアーキテクチャに合わせて従来の手法で処理することができる。
【００４０】
ホスト装置２１０は、ダウンストリームポート２１２を含み、該ポート２１２は、ポートマルチプライヤ２３０のアップストリームポート２３２に接続される。ポートマルチプライヤ２３０は、本明細書で記載される何れかの実施形態による動的ポートマルチプライヤである。上記の検討に基づいて、ポートマルチプライヤ２３０のデバイスＩＤは「３」である点は理解されるであろう。上記で説明される簡易的な実施例によれば、ポートマルチプライヤ２３０は、ポート接続数に基づいてアドレススペース２２０のうちの３つ（具体的には２２１、２２２、及び２２４）が割り振られる。次いで、ポートマルチプライヤ２２０は、各ポートに接続されているものに基づいてそのダウンストリームポートのうちから記憶機構を割り振ることができる。
【００４１】
図示のように、ポートマルチプライヤ２３０は、記憶装置２４０に対するアドレススペース２２１を割り振る。アドレススペース２２２及び２２４は、ポートマルチプライヤ２５０に対して割り振られる。１つの実施形態において、デバイス（例えば、ポートマルチプライヤ２３０及び２５０）間の通信及びデータリクエストは、ホスト装置２１０によって割り振られた特定アドレススペースではなく、特定オフセットに対するアドレススペース参照を用いて実施することができる。従って、１つの実施形態において、割り振られた記憶アドレススペースを用いて、ホスト装置２１０のアドレススペース２２０に対するデバイス間で使用される記憶アドレス参照からマッピングすることができる。
【００４２】
ポートマルチプライヤ２５０は、記憶装置２６０及び２７０の間で割り当て記憶スペースを割り振る。システム２００に図示するように、アドレススペースを特定のデバイスに対して連続的に割り当てなければならない必要はない。
【００４３】
１つの実施形態において、各記憶装置は、システム内に登録され、ＩＤ（ｒｅｇＩＤで図示される）が与えられる。記憶装置２４０は、システムにおいて記憶装置０として登録され、記憶装置２６０及び２７０はそれぞれデバイス１及び２である。アドレススペースを連続的に割り振る必要はないと同時に、アドレススペースを記憶装置ＩＤに基づいて順番に割り振る特定の必要性もない。１つの実施形態において、記憶装置ＩＤは、より高レベルのポートマルチプライヤから低レベルのポートマルチプライヤに、及び低ＩＤポートから高ＩＤポートに順番に割り当てられる。しかしながら、このような割り当ては必須ではない。このような割り当て方式によれば、記憶装置２４０は、ポートマルチプライヤ２３０に接続されているものとして登録ＩＤ「０」を受け取る。記憶装置２６０及び記憶装置２７０は、共にポートマルチプライヤ２５０に接続されるので、これらが接続されるポートに基づいた登録ＩＤが割り当てられる。ポート２５４がポート２５６よりも低いＩＤを有するとすると、記憶装置２６０には登録ＩＤ「１」が割り当てられ、記憶装置２７０には、登録ＩＤ「２」が割り当てられる。
【００４４】
システム２００内の動的変化の場合、変化による影響を受ける各ポートマルチプライヤは、その識別情報を決定し、アドレススペースの割り振りを更新することができる。例えば、ポートマルチプライヤ２５０が別のポート（図示せず）に対する１〜３のマルチプライヤであるとする。追加の記憶装置（図示せず）が追加のポートに接続された場合、ポートマルチプライヤ２５０は、その識別情報を「２」から「３」に更新し、ポートマルチプライヤ２３０に報告される。ポートマルチプライヤ２３０は、その識別情報を「４」に更新し、ホスト装置２１０は、追加の記憶スペース（例えば、２２３、２２５、２２６、・・・のうちの１つ）を割り振ることができ、ポートマルチプライヤ２３０は、ポート２３６に割り振られることになる。１つの実施形態において、複数のメモリスペース割り振りは、他のデバイスの追加に応答して変わることができる。
【００４５】
従って、動的に変化するポートマルチプライヤのデバイス識別子を用いて、ポートマルチプライヤにどれ程のメモリスペースが割り振られるかを決定することができる。このようにして、ポートマルチプライヤに割り振られる記憶スペースの量は、ポートマルチプライヤによってサポートされる接続数に基づいて変更可能である。
【００４６】
逆の実施例において、ポートマルチプライヤ２５０（１〜２ポートマルチプライヤ）が１〜２ポートマルチプライヤに置き換わるとする（結果として、システムにおける露出デバイスポートが除去される）。１つの実施形態において、システム２００内のメモリスペース割り振りは、変更されたポート接続を除いて変化しない。従って、除去ポートに対するメモリスペースの割り振りを簡単に除去することができ、他のスペースの割り振りは影響を受けないままにすることができる。或いは、デバイスポートの除去により、システム２００内の記憶スペースの再割り振りが生じる場合があり、記憶装置は、異なるメモリスペースに割り当てられる場合がある。
【００４７】
メモリ位置の割り振りは、記憶スペースを割り当てるためにシステムにおいて使用される方法により影響を受ける可能性がある。例えば、１つの実施形態において、記憶アドレススペースは、ＪＢＯＤ（単純ディスク束）に従って割り振られる。ＪＢＯＤでは、最上位デバイス（ホスト装置２１０）の記憶アドレススペースへの直接アクセスが、アドレススペースの割り振りに基づいて各ポートマルチプライヤに認可される。従って、ポートマルチプライヤは、単純ディスク束（ＪＢＯＤ）通信交換を用いて、割り振られたメモリスペースに直接アクセスすることができる。
【００４８】
図３は、ポート構成エンジンを備えたポートマルチプライヤの１つの実施形態のブロック図である。ポートマルチプライヤ３１０は、本明細書で記載される何れかの実施形態によるポートマルチプライヤの一例である。ポートマルチプライヤ３１０は、ホスト装置とポートマルチプライヤが接続されるポートであるポートＵ０を含む。本明細書ではこのようなポートはアップストリームポートと呼ばれる。ホスト装置は、記憶サブシステムのより高レベルにあるポートマルチプライヤとすることができ、或いは、ホストコントローラ自体とすることができる。ポートＤ０からＤＮは、ポートマルチプライヤ３１０がより低レベルの記憶サブシステムの他のポートマルチプライヤに、及び／又は記憶装置に接続されるポートに相当する。本明細書におけるこのようなポートは、ダウンストリームポートと呼ばれる。
【００４９】
ポートマルチプライヤ３１０は、他のデバイスに接続するための物理ポートのようなハードウェア構成要素を含む。加えて、ロジック３１２は、ポートマルチプライヤ３１０が動作（その識別情報の決定のような）を実施するのを可能にするハードウェアロジックに相当する。動作は、リクエストの送受信、計算の実施、又はその実行に関連する他の機能の実施を含むことができる。メモリ３１４は、コード及び変数のハードウェア記憶機構に相当し、一時記憶機構（ランダムアクセスメモリ（ＲＡＭ））、レジスタ、又は不揮発性記憶機構（例えば、フラッシュ、ＮＶＲＡＭ、ＯＴＰ、又はリードオンリーメモリ（ＲＯＭ））を含むことができる。ポートマルチプライヤ３１０はまた、その動作に関連するソフトウェア構成要素を含むことができる。ソフトウェア構成要素は、デバイスの動作を指示するファームウェアとして実装してもよい。
【００５０】
ポートマルチプライヤ３１０は、ポート構成エンジン３２０を含み、該ポート構成エンジンは、ポートマルチプライヤ及び記憶サブシステムの構成に関連する動作を実施するための１つ又はそれ以上の構成要素に相当する。より詳細には、ポート構成エンジン３２０は、接続識別子３２２、報告モジュール３２４、及びアドレス割り当てモジュール３２６を含む。
【００５１】
接続識別子３２２は、デバイスがポートＤ０〜ＤＮに接続されているかどうかをポートマルチプライヤ３１０が判定できるようにする機構に相当する。ポートへの接続を検出する種々の回路は公知であり、詳細には検討しない。加えて、ポートをポーリングすること、又は通信ラインの割り込みを用いること、又は他の機構によってポート接続を決定することができる。１つの実施形態において、デバイスは、ポートマルチプライヤへの接続及び／又はポートマルチプライヤからの切断に関連してポートマルチプライヤ３１０と通信するよう構成される。従って、接続は、接続又は切断デバイスからの通信により検出することができる。加えて、又は代替として、接続識別子３２２（又はポートマルチプライヤ３１０の別の構成要素）は、接続デバイスに問い合わせを行い、各接続に帰属するデバイス数が何であるかを決定することができる。
【００５２】
報告モジュール３２４により、ポートマルチプライヤ３１０がアップストリーム側のホスト装置に決定された識別情報が何であるかを通信できるようになる。報告は、ポートマルチプライヤ３１０が何時どのように通信するかを定義する通信プロトコルに基づき実施することができる。従って、１つの実施形態において、報告ユニット３２４は、アップストリーム側に通信するのに用いるプロトコルスタックを含み、又はこれにアクセスすることができる。
【００５３】
アドレス割り当てモジュール３２６は、ポートマルチプライヤ３１０がそのポート接続に対して記憶スペースを割り振るのを可能にする。１つの実施形態において、ポート構成エンジン３２０は、各ダウンリンクポートを特定のデバイス数値又は記憶容量値、及びその値に基づく割り当てアドレススペースを有するものとみなす。このようにして、ポート構成エンジン３２０は、ダウンストリームポートに接続されているもののアーキテクチャに関して何も知る必要はなく、どれ程の記憶スペースがそれに割り当てられているかのみ知る必要がある。ポートへの全ての記憶アクセスリクエストは、ポートへの割り当てに基づいてポートマルチプライヤ３１０にて管理することができる。
【００５４】
図４は、動的ポートマルチプライヤ識別情報を決定する１つの実施形態のフロー図を示す。本明細書で示される流れ図は、種々のプロセス動作の配列の実施例を提供する。特定の配列又は順序で示されているが、別途記載のない限り、動作の順序は修正することができる。従って、図示の実施構成は、単に一例として理解すべきであり、本プロセスは、異なる順序で実施してもよく、一部の動作は並行して実施してもよい。加えて、１つ又はそれ以上の動作は、本発明の種々の実施形態において省略することができ、従って、全ての動作があらゆる実施構成において必須という訳ではない。他のプロセスも実施可能である。
【００５５】
１つの実施形態において、動的ポートマルチプライヤは、アップストリームからそのＩＤをリクエストする問い合わせを受ける（４０２）。代替の実施形態において、ポートマルチプライヤは、問い合わせに応答することなくその識別情報を決定することができ、ＩＤをリクエストする問い合わせを受けることなくＩＤを報告することができる。ポートマルチプライヤは、そのＩＤを決定する（４０４）。ＩＤは、ポートマルチプライヤからダウンストリーム側にどのデバイスが接続されているかに少なくとも部分的に基づいて決定される。従って、ポートマルチプライヤは、各ポートに接続されているものを決定し、そのポートの何れかがダウンストリーム側に拡張されているかどうかを判定する必要がある。
【００５６】
１つの実施形態において、ポートマルチプライヤは、ポートを選択し、デバイス接続用のポートを問い合わせる（４０６）。例えば、ある機構を用いてポートがデバイスに接続された時点を識別するシステムにおいて、代替の方法を用いることができ、ポートマルチプライヤは、接続用のポート全てを確認するのではなく、接続されるデバイスに対するポートだけを問い合わせることができる。また、特定のポートについての接続ＩＤの問い合わせ及び決定は、全てのポートについて順次的に問い合わせを実施するのではなく、別のポートについての問い合わせとは別個に実施することができる。
【００５７】
各ポートにおいて、ポートマルチプライヤは、ポートについてのデバイス接続を識別することができる（４０８）。１つの実施形態において、ポートマルチプライヤは、特定のポートの識別情報が動的デバイスＩＤであるかどうかを判定する（４１０）。１つの実施形態において、動的デバイスＩＤは、特定の識別子又はビットもしくはビット群によって識別することができる。接続されているデバイスがない場合、ポートは、ポートマルチプライヤのポート接続数に自己のみを帰属させる（４１２）。
【００５８】
ポートがデバイスに接続されているが、デバイスが動的ＩＤを有していない場合、デバイスは、静的ＩＤを有しているとみなされ、報告デバイスＩＤ値がポートマルチプライヤ４１４のポート接続数に付加される（４１４）。値が静的である場合、静的値を超えるそれ以上のレベルの拡張は実施可能ではない。ポートが、動的ＩＤを有する接続デバイスを有する場合、デバイスは、動的デバイスＩＤを決定し、ポートマルチプライヤに報告する（４１６）。動的ＩＤを備えたデバイスは別のポートマルチプライヤであり、よって、識別情報を決定するため、４０２から始まるプロセスをダウンストリームポートを介して反復することができる点は理解されるであろう。ＩＤが既知となると、ＩＤを報告し、動的デバイスＩＤがポート接続数に付加される（４１４）。問い合わされたポートが最後のポートであった場合（４１８）、ポートマルチプライヤは、問い合わせに応答して動的ＩＤを計算し、そのＩＤをアップストリーム側に報告する（又は一部の他の報告プロセスの一部として）（４２２）。
【００５９】
ポートが最後のポートではない場合（４１８）、ポートマルチプライヤは、各ルートポートの最大数まで次のポートを選択する（例えば、ポートを通じて最低ＩＤから最高ＩＤまで順序的に、又は一部の他の選択機構により問い合わせを行う）（４２０）。次のポートでは、ポートマルチプライヤは、問い合わせを行うポートがなくなるまで、デバイス接続に対して選択ポートを問い合わせることを繰り返す（４０６）。
【００６０】
１つの実施形態において、デバイスＩＤの問い合わせとポート接続とを同じシステムにおいて用いることができる。従って、１つの実施形態において、ポートマルチプライヤは、ダウンストリームポート接続の変化を検出し、変化の検出に応答してそのＩＤを決定する（４０４）。このような実施構成において、問い合わせに対して選択されるポート（４０６〜４１８）は、変化が検出されたポートのみとすることができ、或いは、全てのポートを問い合わせることもできる。変化が検出されたポートのみに問い合わせを行う実施構成では、変化が検出されたポートは、フロー図に従って問い合わせされる唯一のポート、すなわち最後のポートとすることができる（４１８）。
【００６１】
本明細書では種々の動作又は機能が説明されたが、これらは、ソフトウェアコード、命令、構成、及び／又はデータとして記述又は定義することができる。コンテンツは、直接的に実行可能な（「オブジェクト」又は「実行可能」形式の）ソースコード、又は異なるコード（「デルタ」又は「ピッチ」コード）とすることができる。本明細書で記載される実施形態のソフトウェアコンテンツは、コンテンツが格納された状態の製造物品を介して、又は通信インタフェースを介してデータを送信するよう通信インタフェースを作動させる方法を介して提供することができる。機械又はコンピュータ可読記憶媒体は、機械に本明細書で記載される機能又は動作を実施させることができ、記録可能／記録不能媒体（例えば、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、その他）のような、機械（例えば、コンピュータデバイス、電子システム、その他）によってアクセスできる形式の情報を格納するあらゆる機構を含む。通信インタフェースは、メモリバスインタフェース、プロセッサバスインタフェース、インターネット接続、ディスクコントローラ、その他などの別のデバイスに通信するためハードワイヤ、ワイヤレス、光、その他の媒体の何れかにインタフェース接続するあらゆる機構を含む。通信インタフェースは、ソフトウェアコンテンツを記述するデータ信号を提供するための通信インタフェースを準備する構成パラメータの提供及び／又は信号の送信により構成することができる。通信インタフェースは、該通信インタフェースに送信される１つ又はそれ以上のコマンド又は信号を介してアクセスすることができる。
【００６２】
本明細書で記載される種々の構成要素は、本明細書で記載される動作又は機能を実施する手段とすることができる。本明細書で記載される各構成要素は、ソフトウェア、ハードウェア、又はこれらの組み合わせを含む。構成要素は、コントローラ、ハードワイヤード回路、その他に組み込まれるソフトウェアモジュール、ハードウェアモジュール、専用ハーウェア（例えば、特殊用途向けハードウェア、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、その他）を含む。
【００６３】
本明細書で記載されるものの他に、本発明の範囲から逸脱することなく本発明の開示された実施形態及び実施構成に対して種々の修正を行うことができる。従って、本明細書の図及び実施例は、例証とみなされ、限定として解釈すべきではない。本発明の範囲は、添付の請求項を参照することによってのみ判断すべきである。
【符号の説明】
【００６４】
１１０  ホスト装置
１１２  ポート
１２０  ポートマルチプライヤ
１２１  ポート
１２２  ポート構成エンジン
１２４、１２６、１２８  ポート
１４０  ポートマルチプライヤ
１４１  ポート
１４２  ポート構成エンジン
１４４、１４６  ポート
１３０  ポートマルチプライヤ
１３１  ポート
１３２  ポート構成エンジン
１３４、１３６、１３８  ポート
１５０  記憶装置
１７０  記憶装置
１６０  ポートマルチプライヤ
１６１  ポート
１６２  ポート構成エンジン
１６４、１６６  ポート
１８０  記憶装置
１９０  記憶装置
【図１】
2013528868.tif 000003
【図２】
2013528868.tif 000004
【図３】
2013528868.tif 000005
【図４】
2013528868.tif 000006
【国際調査報告】
2013528868.tif 000007
2013528868.tif 000008