JP2013528868A - ポートマルチプライヤのためのマルチレベルポート拡張 - Google Patents

ポートマルチプライヤのためのマルチレベルポート拡張 Download PDF

Info

Publication number
JP2013528868A
JP2013528868A JP2013510123A JP2013510123A JP2013528868A JP 2013528868 A JP2013528868 A JP 2013528868A JP 2013510123 A JP2013510123 A JP 2013510123A JP 2013510123 A JP2013510123 A JP 2013510123A JP 2013528868 A JP2013528868 A JP 2013528868A
Authority
JP
Japan
Prior art keywords
port
downstream
port multiplier
multiplier
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013510123A
Other languages
English (en)
Other versions
JP5734415B2 (ja
Inventor
コンラッド マクスウェル
キュテグ オウ
Original Assignee
シリコン イメージ,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シリコン イメージ,インコーポレイテッド filed Critical シリコン イメージ,インコーポレイテッド
Publication of JP2013528868A publication Critical patent/JP2013528868A/ja
Application granted granted Critical
Publication of JP5734415B2 publication Critical patent/JP5734415B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Abstract

ポートマルチプライヤは、ダウンストリームポート接続の数に基づいてその識別情報を動的に決定して報告する。サポートされるポートダウンストリームポート接続の数は、動的に変化する可能性がある。ポートマルチプライヤは、記憶装置であるか又は他のポートマルチプライヤであるかに関わらず、ダウンストリームポートに接続されるデバイスを識別する。ダウンストリームポートの総数に基づいて、ポートマルチプライヤは、その識別情報をアップストリームに報告する。アップストリーム報告は、別のポートマルチプライヤに対するもの、又はホスト装置に直接接続されている場合にはホスト装置に対するものとすることができる。ポートマルチプライヤは、その報告された識別情報に基づいてアップストリームから記憶アドレススペース割り振りを受け取り、記憶アドレススペースをダウンストリームポートに割り振る。
【選択図】図1

Description

本発明の実施形態は、全体的に、ポートマルチプリケーションに関し、より詳細には、複数の拡張レベルによるポートマルチプリケーションに関する。
(著作権の通知/許諾)
本特許文書の開示の一部には著作権保護の対象となる内容が含まれる。著作権者は特許商標庁の特許ファイル又はレコード内に表される特許文書又は特許開示の複写複製に対する何人かによる複製することに関しては異議を有さないが、それ以外は全ての著作権を留保する。この著作権の通知は、以下に記載する全てのデータ及び本明細書に添付する図面における全てのデータ、並びに以下に記載するあらゆるソフトウェアに対して適用される。(著作権表示(登録)2010 Silicon Image, Inc.,転載禁止)
ポートマルチプライヤは、ホスト装置の単一のポートに多数の記憶装置を接続することを可能にする。ホスト装置の1つのポートは、SATA(Serial Advanced Technology Attachment)規格に従って、最大で15個の接続をサポートするよう拡張することができる。SATA規格の参照は、2009年5月29日発行のSATAリビジョン3.0仕様及びその前のバージョン又は派生物を指すことができる。SATAポートマルチプライヤ仕様によれば、ポートマルチプライヤは、単一の拡張レベルだけが許容され、高レベルのポートマルチプライヤに接続することができない。従って、低レベルのデバイスを配備することにより当該規格によるポートマルチプライヤで汎用ハブスタイルのシステムを実装することはできない。よって、全てのポートマルチプライヤ拡張は、ルートポートが占有されると拡張できず、単一の拡張レベル上で単一のポートマルチプライヤ装置を通じて行われると想定される。
加えて、従来のポートマルチプライヤは、固定の識別情報を有し、一定のデバイスポート数が割り振られ、この識別情報に基づいて記憶スペース容量が決定される(上述のように拡張が不能となる)。例えば、従来は、1〜3個のポートマルチプライヤは、必然的に1〜3個のポートエキスパンダであり、接続時には、常にホスト装置のポートのそれ以上でも以下でもない3つのポートを占有することになる。また、1:3デバイスを有するホストポートは、どのような追加の拡張も停止されることになる。
SATAポートマルチプライヤ仕様は、最大で15個の接続を可能にするが、様々な制約事項により、利用可能な拡張接続のうちのある割合を超えて利用することはできない。ポートマルチプライヤデバイスの製造コストは、含まれるポートが多くなる程高くなる。場合によっては、単一のポートマルチプライヤが、ホストへの接続に同じ帯域幅の量(例えば、3Gビット/s、又は6Gビット/s)しか有していないとすると、性能コストがより重要になる。従って、一般的にはポート拡張は、実際の制約事項によって1〜2、1〜4、1〜5、又は1〜8のデバイスの何れかを有するポートマルチプライヤに限定される。結果として、ホスト装置は、実際の実装において達成できるものよりも多くの記憶装置をサポートできる可能性がある。
本発明の実施形態は、一般に、ポートマルチプリケーションに関し、より詳細には複数の拡張レベルを介したポートマルチプリケーションに関する。
1つの実施形態において、SATAポートマルチプリケーションをサポートするシステムにおける方法は、ポートマルチプライヤデバイスのダウンストリームポートを動的に識別するステップと、該識別に基づいてポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の数を決定するステップを含む。本方法は更に、ポートマルチプライヤデバイスが、該デバイスのアップストリームポートに接続されたデバイスに識別情報を報告するステップを含み、該識別情報は、ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の決定された数に基づいており、各ポート接続により記憶装置へのダウンストリーム接続が可能になる。本方法は更に、報告された識別情報に基づいて記憶アドレススペースの動的割り振りを受け取るステップを含み、記憶アドレススペースは、ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の中から割り振られる(ホスト/コントローラポート当たりに15デバイスポートのように、規定規格によって指定されるデバイスポートの最大数まで)。
特定の実施形態において、記憶アドレススペースの動的割り振りは、ポートマルチプライヤデバイスに使用されるJBOD(単純ディスク束)拡張法に基づくことができ、これは、ポートマルチプライヤに対して最上位レベルのアップストリームデバイスの記憶アドレススペースへの直接アクセスが認可されるよう規定している。ポートマルチプライヤが最上位レベル又はルートアップストリームデバイスに直接接続されるときには、報告は最上位レベルのアップストリームデバイスに行われ、該最上位レベルアップストリームデバイスは、SATA規格に従ってアドレススペースを割り振るホスト装置である。
特定の実施形態において、ポートマルチプライヤデバイスの識別情報の決定及び報告は、ダウンストリームポート接続の変化の検出に応答して実施される。検出される変化は、記憶装置の接続解除又は記憶装置の付加とすることができる。特定の実施形態において、ダウンストリームポート接続の変化を検出するステップは、ポートマルチプライヤデバイスに接続されたポートマルチプライヤの識別情報の通知を受け取るステップを含み、ダウンストリームのポートマルチプライヤの識別情報は、ダウンストリームポート接続の変化に起因して以前に受け取ったものとは異なる。
特定の実施形態において、ダウンストリームポートに対して行われる新規のポート接続の検出に応答して、ポートマルチプライヤは、既存のダウンストリームポート接続に対して変化していないアドレススペース割り当てを維持し、新規のダウンストリームポート接続に新しいアドレススペースを割り当てることができる。
1つの実施形態において、ポートマルチプライヤは、ホスト装置に接続するアップストリームポートと、複数のダウンストリームデバイスに接続する複数のダウンストリームポートと、を含む。ポートマルチプライヤは、アップストリームポートを介してホスト装置にポートマルチプライヤの識別情報を報告するようになっており、該識別情報は、動的であり、ポートマルチプライヤによってサポートされるポート接続の数に基づいている。ポートマルチプライヤは更に、ダウンストリームポートに接続された各ダウンストリームデバイスのデバイス数に基づいてポートマルチプライヤによってサポートされるポート接続数を決定し、ダウンストリームデバイスのデバイス数に基づいて、ダウンストリームポートに接続された各ダウンストリームデバイスに記憶アドレススペースを割り振るためのポート構成モジュールを含む。
以下の説明は、本発明の実施形態の実施例の一例として示す図を有する図面の説明を含む。図面は、限定ではなく例示として理解すべきである。本明細書で使用する時、1つ又はそれよりも多くの「実施形態」への言及は、本発明の少なくとも1つの実施例に含まれる特定の特徴、構造、又は特性を説明するものとして理解されたい。すなわち、本明細書に記載される「一実施形態では」又は「代替的な実施形態では」のような語句は、本発明の様々な実施形態及び実施例を説明するものであり、必ずしも全てが同じ実施形態を指すわけではない。しかしながら、これらはまた、必ずしも互いに排他的であるというわけでもない。
ホスト装置に接続されたポートマルチプライヤの異なるレベルを備えたシステムの1つの実施形態のブロック図である。 ホスト装置に接続されたポートマルチプライヤの異なるレベルに対するアドレス割り振りを示す、システムの1つの実施形態のブロック図である。 ポート構成エンジンを備えたポートマルチプライヤの1つの実施形態のブロック図である。 動的ポートマルチプライヤ識別情報を決定する1つの実施形態のフロー図である。
以下に説明する実施形態の一部又は全てを表すことができる図の説明を含むと共に、本明細書に示す発明の概念の他の可能な実施形態又は実施例を説明する特定の詳細及び実施例の説明を次に行う。本発明の実施形態の概要を示した後、図面を参照したより詳細な説明を以下に提供する。
本明細書で使用されるように、ポート拡張は、サポートされるダウンストリームポート接続の数に基づいて識別情報を動的に決定し報告するポートマルチプライヤにより提供される。本明細書では、「ダウンストリーム」とは、記憶スペースを割り振って記憶機構を管理する最上位又はルートデバイスであるホスト装置から下流側にあるデバイスを指すことは理解されるであろう。「アップストリーム」とは、(ホスト装置に向かう)データパスの方向とは反対の方向を指すことは理解されるであろう。本明細書で記載される動的デバイスは、互いに接続されて、最大で指定接続数までの複数のレベルのポートマルチプリケーションを提供することができる。SATA規格によれば、1つの実施形態において、ポートマルチプライヤのあらゆる構成においてサポートされる接続総数は15である。
動的ポートマルチプライヤは、その識別情報を決定し、アップストリームデバイスに報告する。ホスト装置に直接接続されるポートマルチプライヤでは、ホスト装置がアップストリームデバイスである。別のポートマルチプライヤに直接接続されるポートマルチプライヤでは、アップストリームデバイスは、アップストリームのポートマルチプライヤである。各デバイスは、それらがどのレベルのデータパスに位置していようとも、そのポートからダウンストリームに幾つのポートが存在しているかを決定することに基づいて識別情報を決定し、次いで、その識別情報をアップストリームに報告する。次に、アップストリームのポートマルチプライヤは、この情報を用いて識別情報を決定し、以下、最上位のポートマルチプライヤがホスト装置に直接報告するまで継続する。ポートマルチプライヤは、その識別情報を動的に決定して報告するので、サポートされるダウンストリームポート接続数は、動的に変化する可能性がある。
記憶スペースの割り振りにおいて、最上位のポートマルチプライヤは、報告された識別情報に基づいて記憶スペース割り振りを受け取り、次いで、そのポートの各々からダウンストリームに幾つのポート接続が存在するかに関する報告に基づいてアドレス割り振りをダウンストリームに伝達する。各ポートマルチプライヤは、ホストコントローラによってサポートされるデバイスポートが幾つ必要となるかをアップストリームに宣言し、ホストコントローラは、ダウンストリームポートに接続されるデバイスのダウンストリームポート接続を含む。同様にあらゆるダウンストリームポートマルチプライヤは、そのダウンストリームポート接続の中から記憶スペースを割り振る。
図1は、ホスト装置に接続された異なるレベルのポートマルチプライヤを有するシステムの1つの実施形態のブロック図である。システム100は、動的ポートマルチプライヤに基づくポート拡張を備えた記憶サブシステムに相当する。システム100は、システム内の記憶アドレスポートを割り振り及び管理するコンピュータデバイス(例えば、SATAコントローラ)を含む。コンピュータシステムは、サーバ又はパーソナルコンピュータとすることができる。ホスト装置110は、コンピュータシステム又はコンピュータシステムの一部とすることができる。ホスト装置110は、コンピュータシステム及びそのオペレーティングシステム並びに他の構成要素をハードウェア又は物理的記憶機構にインタフェース接続するSATAディスクコントローラであるか、又はこれを含むことができる。
ホスト装置110はポート112を含む。ポート112は、ホスト装置110のダウンストリームポートであり、ホスト装置110がシステム100において記憶装置への情報アクセス(読み込み及び/又は書き込み)のデータパスの最上位デバイスであることが分かる。ホスト装置112は、追加のポート(図示せず)を含むことができることは、理解されるであろう。
システム100のアーキテクチャを簡潔に参照すると、特定の構成は必ずしも実際の構成であるとは限らない点は理解されるであろう。実際には、構成の特定の態様(例えば、記憶装置が付随しないポートマルチプライヤが接続されたもの)は、不適切なシステム設計とみなされる場合がある。この構成の論点は、適正なシステム設計を検討することではなく、本発明の実施形態の動作を説明する目的で図示されている。従って、システム100の構成は、理論上のシステムがどのように機能できるかに関する観点による純粋に研究的なものとみなすことができる。これに加えて、又は代替として、システム100は、一時的に記憶装置が取り外された、又は後で更なる記憶装置を含める目的でポートマルチプライヤが付加された、或いは他の何れかの説明のような特定の動的な態様を有する実際のシステムの場合のスナップショットを提示することができる。
アーキテクチャの簡潔な説明を参照すると、ポートマルチプライヤ120は、ホスト装置110に接続(別のポートマルチプライヤを通して接続されないので、直接接続)される。従って、ポートマルチプライヤ120は、システム100における最上位ポートマルチプライヤ(又はルートポートマルチプライヤ)である。ポートマルチプライヤ120は、ホスト装置110にアップストリームで接続される。
ポートマルチプライヤ120は、ポートマルチプライヤ140、ポートマルチプライヤ130、及び記憶装置150にそれぞれ接続された3つのダウンストリームポート124、126、及び128を有する。ポートマルチプライヤ140は、何らかの付随のダウンストリームデバイスを有して図示されていない。ポートマルチプライヤ130は、3つのダウンストリームポート134、136、及び138を含み、その2つ(134及び136)がダウンストリームデバイスに接続される。より詳細には、ポート134は、記憶装置170に接続され、ポート136は、ポートマルチプライヤ160に接続される。ポートマルチプライヤ160は、記憶装置180及び190にダウンストリームで接続される。
より詳細には、ポートマルチプライヤ120は、ホスト装置110のダウンストリームポート112にアップストリームで接続されたアップストリームポート121を含む。ダウンストリームポート接続122は、ポートマルチプライヤ140のアップストリームポート141に接続され、ダウンストリームポート124は、ポートマルチプライヤ130のアップストリームポート131に接続され、ダウンストリームポート128は、記憶装置150に接続される。ポート構成エンジン122は、ポートマルチプライヤ120の構成を管理する1つ又はそれ以上の構成要素に相当する。ポートマルチプライヤの構成の管理は、ポートマルチプライヤの識別情報(そのダウンストリームポート接続構成)の決定に関連する動作の実施、決定された識別情報の報告、記憶スペースの割り振り、及びディスクI/O(入力/出力)のデータ交換のような、ダウンストリームデバイスの構成及び管理に関連する動作の実施を指す。
ポート構成エンジン122は、ポートマルチプライヤ120に関連するデバイスIDを決定する。デバイスIDは、アップストリーム側に報告されるポートマルチプライヤ識別情報である。デバイスIDは、ダウンストリーム側に接続されたものが何であるか(存在する場合)に動的に基づいている。デバイスIDを決定するために、1つの実施形態において、ポート構成エンジン122は、全てのダウンストリームポートに対してそのポートに接続されたデバイスの識別情報を求めるリクエストを送信する。ポートマルチプライヤ140(ポート124からの)は、ID「1:2」(1から2のデバイス)を報告し、記憶装置150(ポート128からの)は、ID又はデバイス数「1」を報告し、ポートマルチプライヤ130(ポート126からの)は、ID「1:5」を報告することになる。ポートマルチプライヤ120のデバイスIDは、ダウンストリーム側に接続された全てのデバイスのIDを合計することにより決定することができる。すなわち、ポートマルチプライヤ120は、2+1+5=8のデバイスIDを有し、アップストリーム側に報告されることになる。
1つの実施形態において、ポートマルチプライヤ120は、8つのダウンストリームポート接続を「サポート」しているといえる。何らかの所与のポートマルチプライヤによってサポートされる可能性のある最大接続数は、ポート拡張規格を規定することにより識別される最大数である。本明細書で使用されるように、ポートマルチプライヤは、ポート接続が存在するデバイス接続をサポートする。
実際には、ポートマルチプライヤ120との交換は、ポートマルチプライヤ130におけるものとは記憶装置150によって異なる可能性があることは理解されるであろう。例えば、メッセージ交換の実際のフォーマットは異なる可能性があり、記憶装置は、ポートマルチプライヤが1〜Nの識別情報を示す場合に幾つのドライブを含んでいるかを報告することができる。しかしながら、その結果、最終的にはポートマルチプライヤ120は、ダウンストリーム側への問い合わせ(クエリー)に基づいて適正な記憶スペース割り振りのために識別情報8(1〜8のマルチプライヤ)を報告すべきであると決定する。
ポートマルチプライヤ120に関する上述の検討において、ポートマルチプライヤ130はその識別情報を認識しており、適切に応答できるものとする。しかしながら、1つの実施形態において、問い合わせは、ポートマルチプライヤにその識別情報を決定するよう動作させる。すなわち、ポートマルチプライヤ120による問い合わせに応答して、ポートマルチプライヤ130は、ポートに問い合わせを行って識別情報を決定することができる。連続した問い合わせをポートマルチプライヤの最下位レベル(システム100のポートマルチプライヤ160)まで連続して行い、記憶サブシステム全体の構造を動的に発見することができる。代替の実施形態において、問い合わせは、ポートマルチプライヤをその識別情報を発見するよう起動させることはできない。このような実施構成において、ポートマルチプライヤは、これらの識別情報を定期的に、或いはダウンストリームの変化(例えば、ダウンストリーム側のデバイスの取り外し又は接続)を検出したことにのみ応答して発見することができる。1つの実施形態において、ダウンストリームデバイスは、リクエスト又は問い合わせを待機するのではなく、識別情報をアップストリーム側にプッシュすることができる。従って、ポートマルチプライヤは、これらのデバイスIDを発見するために異なる手法を用いることができる。
全てのポートマルチプライヤは、これらの識別情報を決定するために同様の技法を用いることができる。ポートマルチプライヤ140は、ポート構成エンジン142を通じて、ポートマルチプライヤ120による問い合わせに応答するか、又はダウンストリーム接続への変化を識別するトリガーに応答して、或いはスケジュールに基づいてデバイスIDが「1:2」であると判定する。ポートマルチプライヤ130は、ポート構成エンジン132によりデバイスIDが「1:5」であると決定する。記憶装置170は、識別情報「1」をポートマルチプライヤ130に報告することになる。
ポートマルチプライヤ160は、アップストリームポート161を介してポートマルチプライヤ130のダウンストリームポート136に接続される。ポートマルチプライヤ160は、ポート構成エンジン162によりデバイスIDが「1:2」であると決定する。ポート164は、デバイス数1である記憶装置180に接続され、ポート166は、同様にデバイス数1である記憶装置190に接続される。従って、合計で「2」となるデバイス数は、ポートマルチプライヤ160のダウンストリームポートに接続される。ポートマルチプライヤ160は、記憶装置のみにダウンストリーム側に接続され、別のポートマルチプライヤには接続されないので、ポートマルチプライヤ160のIDは「1:2」となる。ポートマルチプライヤ160は、その識別情報をアップストリーム側のポートマルチプライヤ130に報告する。
システム100を理解するための別の方法は、システム及びその接続部が多段で構築されていると仮定した、種々のスナップショットでのシステムの説明によるものである。最初に、ポートマルチプライヤ120がホスト装置110に接続されており、ポートマルチプライヤ120へのダウンストリーム接続が形成されていない場合について考えてみる。ポートマルチプライヤ120は、識別情報1:3をホスト装置110に報告することになる。記憶装置アドレス割り振りは、ポート124がアドレス「0」、ポート126がアドレス「1」、ポート128がアドレス「2」とすることができる。
次に、ポートマルチプライヤ140がポートマルチプライヤ120に接続されているが、追加の接続は形成されておらず、ポートマルチプライヤ120のポート124は、システム100においてもはや唯一のポートである場合について考える。むしろ、ポートマルチプライヤ120がポートマルチプライヤ140に接続されており、ポートマルチプライヤ140はID「1:2」を有する(露出ポート144及び146を有するので)。そのため、ポートマルチプライヤ120は、デバイスID「1:4」を有することになる。加えて、記憶装置アドレス割り振りは、例えば、アドレス「0」をポートマルチプライヤ140のポート144に割り振り、ポート126及び128それぞれのアドレス「1」及び「2」を維持して、アドレス「3」をポート146に割り振ることにより変えることができる。全てのアドレスを再割り当てすることを含めて、他の割り振りも実施可能である。
次にポートマルチプライヤ130が接続された場合に、同様の変更が起こることになる。ポートマルチプライヤ120は、デバイスID1:6を報告し、ポート126のアドレス「1」は新しいポートに再割り当てされ、新しいアドレスが新規に利用可能なポートに付与されることになる(すなわち、2つ又はそれ以上のアドレスが割り振られることになる)。
システム100の実施例を具体的に参照しながら上記で説明したが、本明細書で記載される技法は図1の実施例に限定されないことは理解されるであろう。一般に、動的ポートマルチプライヤが説明されている。動的ポートマルチプライヤは、ダウンストリームポート接続に基づいてその識別情報を動的に決定する。1つの実施形態において、www_sata−io_org(ここでは意図しないハイパーリンク化を避けるため、ピリオドはアダーバーで置き換えられている)で利用可能なものなどの規格によって既定されたようなSATAポート拡張が提供される。
上述のように、ポートマルチプライヤの識別情報は、動的に決定される。上記で示唆されているように、1つの実施形態において、ポートマルチプライヤは、ホスト装置によるリクエストに応答して識別情報を決定する。本明細書で明確にするために、システムにおける最上位ホスト装置は、記憶サブシステムが接続されるコンピュータシステムのコントローラ又はコンピュータシステム自体である。しかしながら、1つの実施形態において、サブシステムの下の各ポートマルチプライヤは、そのホスト装置に接続されるアップストリームデバイスとみなされる。従って、アップストリームからのリクエストは、そのホスト装置からのリクエストとして理解することができる。一般に、ポートマルチプライヤは、そのダウンストリームデバイスポートに直接接続されたあらゆるデバイスのホスト装置とみなすことができる。
1つの実施形態において、ポートマルチプライヤは、デバイスがシステムから接続又は接続解除されたことに応答してその識別情報を決定する。ポート接続への変更に応答して、新規に接続又は接続解除したデバイスをホストするアップストリーム側のデバイスに信号が送信される。ポート接続への変更により、接続/接続解除デバイスのホスト(及びサブシステムの最上位までの他のホスト)からのメモリ割り振りに対する変化が生じる結果となる場合がある。1つの実施形態において、新規に接続又は接続解除したデバイスのメモリ割り振りだけが変化し、接続が変化していないままのデバイスにおいてメモリスペース割り振りは変化しないままである。
ダウンストリーム接続の変化に応答して、ポートマルチプライヤは、その識別情報(変化されることなる)を決定し、全ての露出したデバイスポートを表す識別情報をアップストリーム側に報告することができる。変化は、引き続きアップストリーム側に伝搬することができる。1つの実施形態において、新しいデバイスをどの記憶スペースにも割り振ることができない場合には、最大デバイス数を超過していることに起因して、追加の記憶装置の接続が許可されない場合がある。従って、新しいデバイスを物理的に接続することはできるが、記憶機構を提供する目的ではシステムに接続されない。他の場合では、記憶スペースは、変化(デバイスポートの取り外し又は追加)に対して適切に調整することができる。
図2は、ホスト装置に接続された異なるレベルのポートマルチプライヤに対するアドレス割り振りを示すシステムの1つの実施形態のブロック図である。1つの実施形態において、システム200は、図1のシステムによるシステムの1つの実施例である。従って、デバイスIDの動的決定は、上述のように実施することができる。システム200において追加して表されるのは、各記憶装置の登録IDと記憶スペースの割り振りである。
1つの実施形態において、ポートマルチプライヤの識別情報が変化すると、ポートマルチプライヤに割り振られる記憶スペースの量がこれに応じて修正される。システム200は、特定の時点でシステム200が見ることができるものの概略図を示す。また、システム構成に対する変化が図示の表現にどのような影響を及ぼすことになるかについて、以下で説明する。
ホスト装置210は、システム200の記憶サブシステムが接続されたコンピュータシステムの1つ又はそれ以上の構成要素に相当する。ホスト装置210は、システムにおいて記憶機構を管理するディスクコントローラであるコントローラ214を含むように図示されている。1つの実施形態において、コントローラ214は、ホスト装置210とすることができる。アドレススペース220は、システム200の種々の記憶装置の記憶機構に割り振ることができるアドレススペースに相当する。説明を簡単にするために、図示の各アドレススペース(221〜227)は、単一ドライブ用のスペースである。実際には、異なるサイズのアドレススペースを異なる記憶装置に割り振ることができる点は理解されるであろう。各記憶装置が同じサイズであるか、又は割り振られた記憶機構の同じ量を占有することは必要ではない。記憶機構の割り振りは、実施される特定のシステムのアーキテクチャに合わせて従来の手法で処理することができる。
ホスト装置210は、ダウンストリームポート212を含み、該ポート212は、ポートマルチプライヤ230のアップストリームポート232に接続される。ポートマルチプライヤ230は、本明細書で記載される何れかの実施形態による動的ポートマルチプライヤである。上記の検討に基づいて、ポートマルチプライヤ230のデバイスIDは「3」である点は理解されるであろう。上記で説明される簡易的な実施例によれば、ポートマルチプライヤ230は、ポート接続数に基づいてアドレススペース220のうちの3つ(具体的には221、222、及び224)が割り振られる。次いで、ポートマルチプライヤ220は、各ポートに接続されているものに基づいてそのダウンストリームポートのうちから記憶機構を割り振ることができる。
図示のように、ポートマルチプライヤ230は、記憶装置240に対するアドレススペース221を割り振る。アドレススペース222及び224は、ポートマルチプライヤ250に対して割り振られる。1つの実施形態において、デバイス(例えば、ポートマルチプライヤ230及び250)間の通信及びデータリクエストは、ホスト装置210によって割り振られた特定アドレススペースではなく、特定オフセットに対するアドレススペース参照を用いて実施することができる。従って、1つの実施形態において、割り振られた記憶アドレススペースを用いて、ホスト装置210のアドレススペース220に対するデバイス間で使用される記憶アドレス参照からマッピングすることができる。
ポートマルチプライヤ250は、記憶装置260及び270の間で割り当て記憶スペースを割り振る。システム200に図示するように、アドレススペースを特定のデバイスに対して連続的に割り当てなければならない必要はない。
1つの実施形態において、各記憶装置は、システム内に登録され、ID(regIDで図示される)が与えられる。記憶装置240は、システムにおいて記憶装置0として登録され、記憶装置260及び270はそれぞれデバイス1及び2である。アドレススペースを連続的に割り振る必要はないと同時に、アドレススペースを記憶装置IDに基づいて順番に割り振る特定の必要性もない。1つの実施形態において、記憶装置IDは、より高レベルのポートマルチプライヤから低レベルのポートマルチプライヤに、及び低IDポートから高IDポートに順番に割り当てられる。しかしながら、このような割り当ては必須ではない。このような割り当て方式によれば、記憶装置240は、ポートマルチプライヤ230に接続されているものとして登録ID「0」を受け取る。記憶装置260及び記憶装置270は、共にポートマルチプライヤ250に接続されるので、これらが接続されるポートに基づいた登録IDが割り当てられる。ポート254がポート256よりも低いIDを有するとすると、記憶装置260には登録ID「1」が割り当てられ、記憶装置270には、登録ID「2」が割り当てられる。
システム200内の動的変化の場合、変化による影響を受ける各ポートマルチプライヤは、その識別情報を決定し、アドレススペースの割り振りを更新することができる。例えば、ポートマルチプライヤ250が別のポート(図示せず)に対する1〜3のマルチプライヤであるとする。追加の記憶装置(図示せず)が追加のポートに接続された場合、ポートマルチプライヤ250は、その識別情報を「2」から「3」に更新し、ポートマルチプライヤ230に報告される。ポートマルチプライヤ230は、その識別情報を「4」に更新し、ホスト装置210は、追加の記憶スペース(例えば、223、225、226、・・・のうちの1つ)を割り振ることができ、ポートマルチプライヤ230は、ポート236に割り振られることになる。1つの実施形態において、複数のメモリスペース割り振りは、他のデバイスの追加に応答して変わることができる。
従って、動的に変化するポートマルチプライヤのデバイス識別子を用いて、ポートマルチプライヤにどれ程のメモリスペースが割り振られるかを決定することができる。このようにして、ポートマルチプライヤに割り振られる記憶スペースの量は、ポートマルチプライヤによってサポートされる接続数に基づいて変更可能である。
逆の実施例において、ポートマルチプライヤ250(1〜2ポートマルチプライヤ)が1〜2ポートマルチプライヤに置き換わるとする(結果として、システムにおける露出デバイスポートが除去される)。1つの実施形態において、システム200内のメモリスペース割り振りは、変更されたポート接続を除いて変化しない。従って、除去ポートに対するメモリスペースの割り振りを簡単に除去することができ、他のスペースの割り振りは影響を受けないままにすることができる。或いは、デバイスポートの除去により、システム200内の記憶スペースの再割り振りが生じる場合があり、記憶装置は、異なるメモリスペースに割り当てられる場合がある。
メモリ位置の割り振りは、記憶スペースを割り当てるためにシステムにおいて使用される方法により影響を受ける可能性がある。例えば、1つの実施形態において、記憶アドレススペースは、JBOD(単純ディスク束)に従って割り振られる。JBODでは、最上位デバイス(ホスト装置210)の記憶アドレススペースへの直接アクセスが、アドレススペースの割り振りに基づいて各ポートマルチプライヤに認可される。従って、ポートマルチプライヤは、単純ディスク束(JBOD)通信交換を用いて、割り振られたメモリスペースに直接アクセスすることができる。
図3は、ポート構成エンジンを備えたポートマルチプライヤの1つの実施形態のブロック図である。ポートマルチプライヤ310は、本明細書で記載される何れかの実施形態によるポートマルチプライヤの一例である。ポートマルチプライヤ310は、ホスト装置とポートマルチプライヤが接続されるポートであるポートU0を含む。本明細書ではこのようなポートはアップストリームポートと呼ばれる。ホスト装置は、記憶サブシステムのより高レベルにあるポートマルチプライヤとすることができ、或いは、ホストコントローラ自体とすることができる。ポートD0からDNは、ポートマルチプライヤ310がより低レベルの記憶サブシステムの他のポートマルチプライヤに、及び/又は記憶装置に接続されるポートに相当する。本明細書におけるこのようなポートは、ダウンストリームポートと呼ばれる。
ポートマルチプライヤ310は、他のデバイスに接続するための物理ポートのようなハードウェア構成要素を含む。加えて、ロジック312は、ポートマルチプライヤ310が動作(その識別情報の決定のような)を実施するのを可能にするハードウェアロジックに相当する。動作は、リクエストの送受信、計算の実施、又はその実行に関連する他の機能の実施を含むことができる。メモリ314は、コード及び変数のハードウェア記憶機構に相当し、一時記憶機構(ランダムアクセスメモリ(RAM))、レジスタ、又は不揮発性記憶機構(例えば、フラッシュ、NVRAM、OTP、又はリードオンリーメモリ(ROM))を含むことができる。ポートマルチプライヤ310はまた、その動作に関連するソフトウェア構成要素を含むことができる。ソフトウェア構成要素は、デバイスの動作を指示するファームウェアとして実装してもよい。
ポートマルチプライヤ310は、ポート構成エンジン320を含み、該ポート構成エンジンは、ポートマルチプライヤ及び記憶サブシステムの構成に関連する動作を実施するための1つ又はそれ以上の構成要素に相当する。より詳細には、ポート構成エンジン320は、接続識別子322、報告モジュール324、及びアドレス割り当てモジュール326を含む。
接続識別子322は、デバイスがポートD0〜DNに接続されているかどうかをポートマルチプライヤ310が判定できるようにする機構に相当する。ポートへの接続を検出する種々の回路は公知であり、詳細には検討しない。加えて、ポートをポーリングすること、又は通信ラインの割り込みを用いること、又は他の機構によってポート接続を決定することができる。1つの実施形態において、デバイスは、ポートマルチプライヤへの接続及び/又はポートマルチプライヤからの切断に関連してポートマルチプライヤ310と通信するよう構成される。従って、接続は、接続又は切断デバイスからの通信により検出することができる。加えて、又は代替として、接続識別子322(又はポートマルチプライヤ310の別の構成要素)は、接続デバイスに問い合わせを行い、各接続に帰属するデバイス数が何であるかを決定することができる。
報告モジュール324により、ポートマルチプライヤ310がアップストリーム側のホスト装置に決定された識別情報が何であるかを通信できるようになる。報告は、ポートマルチプライヤ310が何時どのように通信するかを定義する通信プロトコルに基づき実施することができる。従って、1つの実施形態において、報告ユニット324は、アップストリーム側に通信するのに用いるプロトコルスタックを含み、又はこれにアクセスすることができる。
アドレス割り当てモジュール326は、ポートマルチプライヤ310がそのポート接続に対して記憶スペースを割り振るのを可能にする。1つの実施形態において、ポート構成エンジン320は、各ダウンリンクポートを特定のデバイス数値又は記憶容量値、及びその値に基づく割り当てアドレススペースを有するものとみなす。このようにして、ポート構成エンジン320は、ダウンストリームポートに接続されているもののアーキテクチャに関して何も知る必要はなく、どれ程の記憶スペースがそれに割り当てられているかのみ知る必要がある。ポートへの全ての記憶アクセスリクエストは、ポートへの割り当てに基づいてポートマルチプライヤ310にて管理することができる。
図4は、動的ポートマルチプライヤ識別情報を決定する1つの実施形態のフロー図を示す。本明細書で示される流れ図は、種々のプロセス動作の配列の実施例を提供する。特定の配列又は順序で示されているが、別途記載のない限り、動作の順序は修正することができる。従って、図示の実施構成は、単に一例として理解すべきであり、本プロセスは、異なる順序で実施してもよく、一部の動作は並行して実施してもよい。加えて、1つ又はそれ以上の動作は、本発明の種々の実施形態において省略することができ、従って、全ての動作があらゆる実施構成において必須という訳ではない。他のプロセスも実施可能である。
1つの実施形態において、動的ポートマルチプライヤは、アップストリームからそのIDをリクエストする問い合わせを受ける(402)。代替の実施形態において、ポートマルチプライヤは、問い合わせに応答することなくその識別情報を決定することができ、IDをリクエストする問い合わせを受けることなくIDを報告することができる。ポートマルチプライヤは、そのIDを決定する(404)。IDは、ポートマルチプライヤからダウンストリーム側にどのデバイスが接続されているかに少なくとも部分的に基づいて決定される。従って、ポートマルチプライヤは、各ポートに接続されているものを決定し、そのポートの何れかがダウンストリーム側に拡張されているかどうかを判定する必要がある。
1つの実施形態において、ポートマルチプライヤは、ポートを選択し、デバイス接続用のポートを問い合わせる(406)。例えば、ある機構を用いてポートがデバイスに接続された時点を識別するシステムにおいて、代替の方法を用いることができ、ポートマルチプライヤは、接続用のポート全てを確認するのではなく、接続されるデバイスに対するポートだけを問い合わせることができる。また、特定のポートについての接続IDの問い合わせ及び決定は、全てのポートについて順次的に問い合わせを実施するのではなく、別のポートについての問い合わせとは別個に実施することができる。
各ポートにおいて、ポートマルチプライヤは、ポートについてのデバイス接続を識別することができる(408)。1つの実施形態において、ポートマルチプライヤは、特定のポートの識別情報が動的デバイスIDであるかどうかを判定する(410)。1つの実施形態において、動的デバイスIDは、特定の識別子又はビットもしくはビット群によって識別することができる。接続されているデバイスがない場合、ポートは、ポートマルチプライヤのポート接続数に自己のみを帰属させる(412)。
ポートがデバイスに接続されているが、デバイスが動的IDを有していない場合、デバイスは、静的IDを有しているとみなされ、報告デバイスID値がポートマルチプライヤ414のポート接続数に付加される(414)。値が静的である場合、静的値を超えるそれ以上のレベルの拡張は実施可能ではない。ポートが、動的IDを有する接続デバイスを有する場合、デバイスは、動的デバイスIDを決定し、ポートマルチプライヤに報告する(416)。動的IDを備えたデバイスは別のポートマルチプライヤであり、よって、識別情報を決定するため、402から始まるプロセスをダウンストリームポートを介して反復することができる点は理解されるであろう。IDが既知となると、IDを報告し、動的デバイスIDがポート接続数に付加される(414)。問い合わされたポートが最後のポートであった場合(418)、ポートマルチプライヤは、問い合わせに応答して動的IDを計算し、そのIDをアップストリーム側に報告する(又は一部の他の報告プロセスの一部として)(422)。
ポートが最後のポートではない場合(418)、ポートマルチプライヤは、各ルートポートの最大数まで次のポートを選択する(例えば、ポートを通じて最低IDから最高IDまで順序的に、又は一部の他の選択機構により問い合わせを行う)(420)。次のポートでは、ポートマルチプライヤは、問い合わせを行うポートがなくなるまで、デバイス接続に対して選択ポートを問い合わせることを繰り返す(406)。
1つの実施形態において、デバイスIDの問い合わせとポート接続とを同じシステムにおいて用いることができる。従って、1つの実施形態において、ポートマルチプライヤは、ダウンストリームポート接続の変化を検出し、変化の検出に応答してそのIDを決定する(404)。このような実施構成において、問い合わせに対して選択されるポート(406〜418)は、変化が検出されたポートのみとすることができ、或いは、全てのポートを問い合わせることもできる。変化が検出されたポートのみに問い合わせを行う実施構成では、変化が検出されたポートは、フロー図に従って問い合わせされる唯一のポート、すなわち最後のポートとすることができる(418)。
本明細書では種々の動作又は機能が説明されたが、これらは、ソフトウェアコード、命令、構成、及び/又はデータとして記述又は定義することができる。コンテンツは、直接的に実行可能な(「オブジェクト」又は「実行可能」形式の)ソースコード、又は異なるコード(「デルタ」又は「ピッチ」コード)とすることができる。本明細書で記載される実施形態のソフトウェアコンテンツは、コンテンツが格納された状態の製造物品を介して、又は通信インタフェースを介してデータを送信するよう通信インタフェースを作動させる方法を介して提供することができる。機械又はコンピュータ可読記憶媒体は、機械に本明細書で記載される機能又は動作を実施させることができ、記録可能/記録不能媒体(例えば、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、その他)のような、機械(例えば、コンピュータデバイス、電子システム、その他)によってアクセスできる形式の情報を格納するあらゆる機構を含む。通信インタフェースは、メモリバスインタフェース、プロセッサバスインタフェース、インターネット接続、ディスクコントローラ、その他などの別のデバイスに通信するためハードワイヤ、ワイヤレス、光、その他の媒体の何れかにインタフェース接続するあらゆる機構を含む。通信インタフェースは、ソフトウェアコンテンツを記述するデータ信号を提供するための通信インタフェースを準備する構成パラメータの提供及び/又は信号の送信により構成することができる。通信インタフェースは、該通信インタフェースに送信される1つ又はそれ以上のコマンド又は信号を介してアクセスすることができる。
本明細書で記載される種々の構成要素は、本明細書で記載される動作又は機能を実施する手段とすることができる。本明細書で記載される各構成要素は、ソフトウェア、ハードウェア、又はこれらの組み合わせを含む。構成要素は、コントローラ、ハードワイヤード回路、その他に組み込まれるソフトウェアモジュール、ハードウェアモジュール、専用ハーウェア(例えば、特殊用途向けハードウェア、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、その他)を含む。
本明細書で記載されるものの他に、本発明の範囲から逸脱することなく本発明の開示された実施形態及び実施構成に対して種々の修正を行うことができる。従って、本明細書の図及び実施例は、例証とみなされ、限定として解釈すべきではない。本発明の範囲は、添付の請求項を参照することによってのみ判断すべきである。
110 ホスト装置
112 ポート
120 ポートマルチプライヤ
121 ポート
122 ポート構成エンジン
124、126、128 ポート
140 ポートマルチプライヤ
141 ポート
142 ポート構成エンジン
144、146 ポート
130 ポートマルチプライヤ
131 ポート
132 ポート構成エンジン
134、136、138 ポート
150 記憶装置
170 記憶装置
160 ポートマルチプライヤ
161 ポート
162 ポート構成エンジン
164、166 ポート
180 記憶装置
190 記憶装置

Claims (19)

  1. SATA(Serial Advanced Technology Attachment)ポートマルチプリケーションをサポートするシステムにおいて、
    ポートマルチプライヤデバイスを用いて該ポートマルチプライヤデバイスのダウンストリームポートに接続されたデバイスを動的に識別するステップと、
    前記識別に基づいて、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の数を決定するステップと、
    前記ポートマルチプライヤデバイスのアップストリームポートに接続されたデバイスに、前記ポートマルチプライヤデバイスの識別情報を報告するステップと、
    を含む方法であって、前記識別情報が、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の決定された数に基づいており、各ポート接続により記憶装置へのダウンストリーム接続が可能になり、
    前記方法が更に、
    前記報告された識別情報に基づいて記憶アドレススペースの動的割り振りを受け取るステップを含み、
    該記憶アドレススペースが、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の中から割り振られる、方法。
  2. 前記記憶アドレススペースの動的割り振りを受け取るステップが、JBOD(単純ディスク束)拡張法に基づいて記憶アドレススペースの割り振りを受け取るステップを含み、前記ポートマルチプライヤに対して最上位レベルのアップストリームデバイスの記憶アドレススペースへの直接アクセスが認可される、請求項1に記載の方法。
  3. 前記ポートマルチプライヤデバイスのアップストリームポートに接続されたデバイスに報告するステップが、
    SATA規格に従ってアドレススペースを割り振るホスト装置である最上位レベルのアップストリームデバイスに報告するステップを含む、請求項1に記載の方法。
  4. 前記ポートマルチプライヤデバイスの識別情報を報告するステップが更に、
    前記ダウンストリームポート接続の変化を検出するステップと、
    前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの識別情報を決定するステップと、
    前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの決定された識別情報を報告するステップと、
    を含む、請求項1に記載の方法。
  5. 前記ダウンストリームポート接続の変化を検出するステップが、記憶装置の接続解除又は記憶装置の付加のうちの1つを検出するステップを含む、請求項4に記載の方法。
  6. 前記ダウンストリームポート接続の変化を検出するステップが、前記ポートマルチプライヤデバイスに接続されたポートマルチプライヤの識別情報の通知を受け取るステップを含み、ダウンストリームの前記ポートマルチプライヤの識別情報が、ダウンストリームポート接続の変化に起因して以前に受け取ったものとは異なる、請求項4に記載の方法。
  7. 前記ポートマルチプライヤデバイスによってサポートされる複数のダウンストリームポート接続の中から割り振られる前記記憶アドレススペースの割り振りを受け取るステップが更に、
    前記ポートマルチプライヤデバイスに行われた新規のダウンストリームポート接続を検出するステップと、
    既存のダウンストリームポート接続に対して変化していないアドレススペース割り当てを維持し、前記新規のダウンストリームポート接続に新しいアドレススペースを割り当てるステップと、
    を含む、請求項1に記載の方法。
  8. 命令を格納したコンピュータ可読記憶媒体を含む製造物品であって、前記命令が実行されたときに、
    ポートマルチプライヤデバイスを用いて該ポートマルチプライヤデバイスのダウンストリームポートに接続されたデバイスを動的に識別するステップと、
    前記識別に基づいて、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の数を決定するステップと、
    前記ポートマルチプライヤデバイスのアップストリームポートに接続されたデバイスに、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の決定された数に基づいて前記ポートマルチプライヤデバイスの識別情報を報告し、各ポート接続により記憶装置へのダウンストリーム接続を可能にするステップと、
    前記報告された識別情報に基づいて、前記ポートマルチプライヤデバイスによってサポートされるダウンストリームポート接続の中から割り振られる記憶アドレススペースの動的割り振りを受け取るステップと、
    を含む動作をデバイスに実施させるようにする、製造物品。
  9. 記憶アドレススペースの動的割り振りを受け取る命令を提供するコンテンツが、JBOD(単純ディスク束)拡張法に基づいて記憶アドレススペースの割り振りを受け取り、前記ポートマルチプライヤに対して最上位レベルのアップストリームデバイスの記憶アドレススペースへの直接アクセスが認可されるようにする命令を提供するコンテンツを含む、請求項8に記載の製造物品。
  10. 前記ポートマルチプライヤデバイスのアップストリームポートに接続されたデバイスに報告するための命令を提供するコンテンツが、SATA規格に従ってアドレススペースを割り振るホスト装置である最上位レベルのアップストリームデバイスに報告する命令を提供するコンテンツを含む、請求項8に記載の製造物品。
  11. 前記ポートマルチプライヤデバイスの識別情報を報告する命令を提供するコンテンツが更に、
    ダウンストリームポート接続の変化を検出し、
    前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの識別情報を決定し、
    前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの決定された識別情報を報告する、
    命令を提供するコンテンツを含む、請求項8に記載の製造物品。
  12. 前記ダウンストリームポート接続の変化を検出する命令を提供するコンテンツが、記憶装置の接続解除又は記憶装置の付加のうちの1つを検出する命令を提供するコンテンツを含む、請求項11に記載の製造物品。
  13. 前記ダウンストリームポート接続の変化を検出する命令を提供するコンテンツが、前記ポートマルチプライヤデバイスに接続されたポートマルチプライヤの識別情報の通知を受け取る命令を提供するコンテンツを含み、ダウンストリームの前記ポートマルチプライヤの識別情報がダウンストリームポート接続の変化に起因して以前に受け取ったものとは異なるようになる、請求項11に記載の製造物品。
  14. 前記ポートマルチプライヤデバイスによってサポートされる複数のダウンストリームポート接続の中から割り振られる前記記憶アドレススペースの割り振りを受け取る命令を提供するコンテンツが更に、
    前記ポートマルチプライヤデバイスに行われた新規のダウンストリームポート接続を検出し、
    既存のダウンストリームポート接続に対して変化していないアドレススペース割り当てを維持し、前記新規のダウンストリームポート接続に新しいアドレススペースを割り当てる、
    命令を提供するコンテンツを含む、請求項8に記載の製造物品。
  15. ポートマルチプライヤデバイスであって、
    ホスト装置に接続し且つ前記ポートマルチプライヤの識別情報を前記ホスト装置に報告するアップストリームポートを備え、
    前記識別情報が動的であり、前記ポートマルチプライヤによってサポートされるポート接続の数に基づいており、前記ポートマルチプライヤデバイスが更に、
    複数のダウンストリームデバイスへの接続を可能にする複数のダウンストリームポートと、
    前記ダウンストリームポートに接続された各ダウンストリームデバイスのデバイス数に基づいて前記ポートマルチプライヤによってサポートされるポート接続数を決定し、前記ダウンストリームポートに接続された前記ダウンストリームデバイスのデバイス数に基づいて、前記各ダウンストリームポートに記憶アドレススペースを割り振るためのポート構成モジュールと、
    を備え、前記各ダウンストリームデバイスのデバイス数が、前記ダウンストリームデバイスに関連するデバイスポート数に相当し、前記ポート構成モジュールが、前記ダウンストリームポート及び該ダウンストリームポートのデバイス数を動的に識別することにより前記ポート接続数を決定するようになっている、ポートマルチプライヤデバイス。
  16. 前記ポートマルチプライヤが、前記アップストリームポートを介して最上位レベルのアップストリームデバイスに報告するようになっており、該最上位レベルのアップストリームデバイスが、SATA規格に従ってアドレススペースを割り振るホスト装置である、請求項15に記載のポートマルチプライヤ。
  17. 前記ポート構成モジュールが、
    前記ダウンストリームポート接続の変化を検出し、
    前記ダウンストリームポート接続の変化の検出に応答して前記ポートマルチプライヤデバイスの識別情報を決定し、
    前記ダウンストリームポート接続の変化の検出に応答して前記アップストリームポートを介して前記ポートマルチプライヤデバイスの決定された識別情報を報告する、
    ようになっている、請求項15に記載のポートマルチプライヤ。
  18. 前記ポート構成モジュールが更に、記憶装置の接続解除又は記憶装置の付加のうちの1つを検出するようになっている、請求項17に記載のポートマルチプライヤ。
  19. 前記ポート構成モジュールが更に、前記ポートマルチプライヤデバイスに接続されたポートマルチプライヤの識別情報の通知を受け取るようになっており、ダウンストリームの前記ポートマルチプライヤの識別情報が、ダウンストリームポートマルチプライヤへの記憶装置の接続の変化に起因して以前に受け取ったものとは異なる、請求項17に記載のポートマルチプライヤ。
JP2013510123A 2010-05-12 2011-04-27 ポートマルチプライヤのためのマルチレベルポート拡張 Expired - Fee Related JP5734415B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/778,882 US9063655B2 (en) 2010-05-12 2010-05-12 Multi-level port expansion for port multipliers
US12/778,882 2010-05-12
PCT/US2011/034195 WO2011142973A2 (en) 2010-05-12 2011-04-27 Multi-level port expansion for port multipliers

Publications (2)

Publication Number Publication Date
JP2013528868A true JP2013528868A (ja) 2013-07-11
JP5734415B2 JP5734415B2 (ja) 2015-06-17

Family

ID=44912731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510123A Expired - Fee Related JP5734415B2 (ja) 2010-05-12 2011-04-27 ポートマルチプライヤのためのマルチレベルポート拡張

Country Status (7)

Country Link
US (1) US9063655B2 (ja)
EP (1) EP2569701A4 (ja)
JP (1) JP5734415B2 (ja)
KR (1) KR20130072220A (ja)
CN (1) CN102893267B (ja)
TW (1) TWI512483B (ja)
WO (1) WO2011142973A2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058184B2 (en) * 2012-09-13 2015-06-16 Vayavya Labs Private Limited Run time generation and functionality validation of device drivers
US9766674B2 (en) * 2014-06-27 2017-09-19 Intel Corporation USB power delivery controller sharing
CN104503701A (zh) * 2014-12-01 2015-04-08 北京同有飞骥科技股份有限公司 一种适用于多级扩展柜的磁盘命名方法和装置
KR102528557B1 (ko) * 2016-01-12 2023-05-04 삼성전자주식회사 다중 연결 포트를 갖는 반도체 장치, 메모리 시스템의 동작 방법 및 스토리지 시스템의 통신 방법
TWI595415B (zh) * 2016-05-30 2017-08-11 神雲科技股份有限公司 韌體更新控制方法
TWI631464B (zh) 2016-08-03 2018-08-01 祥碩科技股份有限公司 埠倍增系統及操作方法
KR102567971B1 (ko) 2016-11-10 2023-08-17 삼성전자주식회사 스토리지 어레이를 공유하는 다수의 서버 노드들을 포함하는 메모리 시스템 및 그 동작 방법
US10776298B2 (en) * 2016-12-22 2020-09-15 Seagate Technology, Llc Multi-device data storage module
JP2019159471A (ja) * 2018-03-08 2019-09-19 キヤノン株式会社 ストレージシステム、その制御方法およびプログラム
US11106616B1 (en) * 2019-11-21 2021-08-31 Xilinx, Inc. Virtualized peripheral component interconnect express (PCIe) device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090007155A1 (en) * 2007-06-29 2009-01-01 Emulex Design & Manufacturing Corporation Expander-based solution to the dynamic STP address problem
JP2009508192A (ja) * 2005-08-25 2009-02-26 シリコン イメージ,インコーポレイテッド スマートスケーラブル記憶スイッチアーキテクチャ
US20090234985A1 (en) * 2008-03-14 2009-09-17 Conrad Maxwell Method, apparatus, and system for employing an enhanced port multiplier
US20090234994A1 (en) * 2008-03-14 2009-09-17 Kyutaeg Oh Method, apparatus, and system for port multiplier enhancement

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7636804B2 (en) * 2003-04-28 2009-12-22 Quantum Corporation Data storage and protection apparatus and methods of data storage and protection
US7783802B1 (en) * 2004-02-09 2010-08-24 Lsi Corporation Serial advanced technology attachment (SATA) switch that toggles with power control to hard disk drive while avolding interruption to system
US7461192B2 (en) * 2004-12-15 2008-12-02 Rambus Inc. Interface for bridging out-of-band information and preventing false presence detection of terminating devices
US7584319B1 (en) * 2005-03-31 2009-09-01 Pmc-Sierra, Inc. Connection management in serial attached SCSI (SAS) expanders
US7970953B2 (en) * 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
US7571269B2 (en) * 2005-08-25 2009-08-04 Silicon Image, Inc. Covert channel for conveying supplemental messages in a protocol-defined link for a system of storage devices
TWI286690B (en) * 2005-08-29 2007-09-11 Via Tech Inc Expanded structure of peripheral storage device having a connector port multiplier
US7689736B2 (en) * 2005-11-07 2010-03-30 Dot Hill Systems Corporation Method and apparatus for a storage controller to dynamically determine the usage of onboard I/O ports
US20070156942A1 (en) * 2005-12-30 2007-07-05 Robert Gough Method and apparatus for independently managing a chipset-integrated bus controller
US7643410B2 (en) * 2006-03-29 2010-01-05 Intel Corporation Method and apparatus for managing a connection in a connection orientated environment
US20070294582A1 (en) * 2006-05-05 2007-12-20 Dell Products L.P. Reporting software RAID configuration to system BIOS
US8280982B2 (en) * 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US7761642B2 (en) * 2006-12-22 2010-07-20 Lsi Corporation Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging
US7539799B2 (en) * 2007-02-08 2009-05-26 Dot Hill Systems Corp. Method and apparatus for identifying enclosures and devices
US7797488B2 (en) * 2007-03-05 2010-09-14 Accusys, Inc. Method of creating a multiple of virtual SATA ports in a disk array controller
JP5149556B2 (ja) * 2007-07-30 2013-02-20 株式会社日立製作所 システム情報要素を移行するストレージシステム
US8005999B1 (en) * 2007-09-27 2011-08-23 Emc Corporation Data storage system with PCI-E extended reach capability
TW200919454A (en) * 2007-10-18 2009-05-01 Skymedi Corp SATA electronic device and its method of data transmission
US7917665B1 (en) * 2008-04-25 2011-03-29 Netapp, Inc. Method and system for minimizing unnecessary topology discovery operations by managing physical layer state change notifcations in storage systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009508192A (ja) * 2005-08-25 2009-02-26 シリコン イメージ,インコーポレイテッド スマートスケーラブル記憶スイッチアーキテクチャ
US20090007155A1 (en) * 2007-06-29 2009-01-01 Emulex Design & Manufacturing Corporation Expander-based solution to the dynamic STP address problem
US20090234985A1 (en) * 2008-03-14 2009-09-17 Conrad Maxwell Method, apparatus, and system for employing an enhanced port multiplier
US20090234994A1 (en) * 2008-03-14 2009-09-17 Kyutaeg Oh Method, apparatus, and system for port multiplier enhancement
WO2009154825A2 (en) * 2008-03-14 2009-12-23 Silicon Image, Inc. Method, apparatus, and system for port multiplier enhancement

Also Published As

Publication number Publication date
WO2011142973A2 (en) 2011-11-17
US20110283025A1 (en) 2011-11-17
EP2569701A2 (en) 2013-03-20
CN102893267B (zh) 2015-12-16
US9063655B2 (en) 2015-06-23
WO2011142973A3 (en) 2012-03-01
TW201202946A (en) 2012-01-16
TWI512483B (zh) 2015-12-11
KR20130072220A (ko) 2013-07-01
WO2011142973A8 (en) 2012-10-04
EP2569701A4 (en) 2014-06-18
JP5734415B2 (ja) 2015-06-17
CN102893267A (zh) 2013-01-23

Similar Documents

Publication Publication Date Title
JP5734415B2 (ja) ポートマルチプライヤのためのマルチレベルポート拡張
US7970974B2 (en) Method and system for adding or removing a logical unit of a USB mass storage device
JP5932043B2 (ja) 不揮発性記憶装置セットの揮発メモリ表現
WO2019144553A1 (zh) 数据存储方法、装置及存储介质
US7596637B2 (en) Storage apparatus and control method for the same, and computer program product
US8806169B1 (en) Memory management method, memory management apparatus and NUMA system
US8751547B2 (en) Multiple file system and/or multi-host single instance store techniques
JP6222227B2 (ja) ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
JP5767347B2 (ja) コンピュータ・ベース・システムにおける資源割当て方法
US8918571B2 (en) Exposing expanders in a data storage fabric
US7761540B2 (en) System and method for automated remote booting in a serial attached SCSI environment
US20070094395A1 (en) Computer system, storage area allocation method, and management computer
JP5195756B2 (ja) Pciデバイスのi/o空間要求抑止方法
JP2007072672A (ja) 計算機システムおよび記憶領域の割当て方法
JP4937362B2 (ja) ストレージ装置及び同ストレージ装置における記憶領域管理方法
JP5280342B2 (ja) 小型コンピューター用周辺機器インターフェース入出力リファラルのスケーリング
CN104426965A (zh) 自管理存储方法和系统
US9218131B2 (en) Method and apparatus to change tiers
CN116932451A (zh) 一种数据处理方法、主机及相关设备
US20130111126A1 (en) Expander to enable virtual storage units corresponding to subdivisions within a physical storage unit
TWI728571B (zh) 區塊鏈服務的資源管理方法及系統
JP2006003973A (ja) ストレージ装置とその論理記憶装置割り当て制御方法
CN116243860A (zh) 一种存储持久卷创建方法、计算设备及计算机集群
JPH08263231A (ja) 半導体ディスク制御装置及びその制御方法
CN113918092A (zh) 一种分配存储空间的方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140213

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150414

R150 Certificate of patent or registration of utility model

Ref document number: 5734415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees