JP2011515748A - ポートマルチプライヤを拡張する方法、装置およびシステム - Google Patents

ポートマルチプライヤを拡張する方法、装置およびシステム Download PDF

Info

Publication number
JP2011515748A
JP2011515748A JP2010550878A JP2010550878A JP2011515748A JP 2011515748 A JP2011515748 A JP 2011515748A JP 2010550878 A JP2010550878 A JP 2010550878A JP 2010550878 A JP2010550878 A JP 2010550878A JP 2011515748 A JP2011515748 A JP 2011515748A
Authority
JP
Japan
Prior art keywords
port
port multiplier
multiplier
multipliers
network
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
JP2010550878A
Other languages
English (en)
Other versions
JP5581469B2 (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 JP2011515748A publication Critical patent/JP2011515748A/ja
Application granted granted Critical
Publication of JP5581469B2 publication Critical patent/JP5581469B2/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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)

Abstract

ポートマルチプライヤを拡張するための方法、装置およびシステムが提供される。1つの実施形態において、1つのポートマルチプライヤは、ネットワークホストを複数のポートマルチプライヤに連結するように構成される。この1つのポートマルチプライヤは、複数のポートマルチプライヤの各々との通信を確立、維持して、ネットワークホストと通信する最上位ポートマルチプライヤを含み、複数のポートマルチプライヤは中間ポートマルチプライヤおよび/または最下位ポートマルチプライヤを有する。さらに、ネットワークデバイスは複数のポートマルチプライヤ、1つのポートマルチプライヤおよびネットワークホストと通信する。

Description

本発明の実施形態は一般にネットワークの分野に関し、より詳しくは、ポートマルチプライヤを拡張するための方法、装置およびシステムに関する。
ネットワークにおいては、複数の個人的電子メディアデバイスを相互接続してもよい。データを共有し、利便性を増大させ、個々の要素をより十分に活用するために、各種のメディアデバイスを相互にネットワーク接続してもよい。しかしながら、従来のメカニズムでは、ユーザはさまざまな要素や構成要素、たとえばポートマルチプライヤの持ちうる恩恵を享受できず、これは、このようなポートマルチプライヤの高度な機能や動作が制限されているからである。たとえば、従来のメカニズムではポートマルチプライヤをカスケード方式で接続することができないため、標準的ポートマルチプライヤに接続できるデバイスは1段階しかない。図1に示される従来のメカニズムにおいて、ポートマルチプライヤ104をカスケード方式で接続できないため、ポートマルチプライヤ104には、1段階116のデバイス106、108のみが、ポートマルチプライヤ104の2つのデバイスポート112、114を介して接続できる。ポートマルチプライヤ104は、ホストポート110を介してホスト102に接続される。言い換えれば、図に示すような先行技術による方式では、ポートマルチプライヤ104を、このポートマルチプライヤ104に連結可能なもっと多くのデバイスにカスケード方式で接続することができない。1:2ポートマルチプライヤ104は、最大で2つのデバイス106、108という1段階116に限定され、その結果、ポートマルチプライヤ104およびポートマルチプライヤ104を利用した図のネットワーク100の高度な機能やいくつもの利点が制限されてしまう。
図1のポートマルチプライヤ104は、Serial Advanced Technology Attachment(「SATA」または「Serial ATA」)ポートマルチプライヤ、すなわちSATA−IO規格適合ポートマルチプライヤを備えていてもよい。SATA1.0仕様書とその後のSATAIIポートマルチプライヤ仕様書は、www.serialata.orgで入手できる。Serial ATA International Organization: Serial ATA Revision 2.5, 27 October 2005(www.serialata.orgで入手可能)は、それ以前のSATA仕様書の改訂版であり、たとえば第16章にSATAポートマルチプライヤに関する情報が記載されている。結局のところ、カスケード接続が不可能であるために、ハイエンドの機能や利点を提供できる、使いやすく、低コストのポートマルチプライヤを、消費者は手に入れることができない。
ポートマルチプライヤを拡張する方法、装置およびシステムが提供される。
1つの実施形態において、装置は、ネットワークホストを複数のポートマルチプライヤに連結するように構成された1つのポートマルチプライヤを備える。この1つのポートマルチプライヤには、複数のポートマルチプライヤの各々との通信を確立、維持し、ネットワークホストと通信する最上位ポートマルチプライヤが含まれ、複数のポートマルチプライヤは、複数の中間ポートマルチプライヤおよび/または最下位ポートマルチプライヤを有する。さらに、ネットワークデバイスは複数のポートマルチプライヤ、1つのポートマルチプライヤおよびネットワークホストと通信する。
1つの実施形態において、システムは、ネットワークホストを複数のネットワークデバイスに連結するように構成されたポート数拡張ネットワークを含む。ポート数拡張ネットワークには、ネットワークホストを複数のポートマルチプライヤに連結するように構成された1つのポートマルチプライヤが含まれる。この1つのポートマルチプライヤには、複数のポートマルチプライヤの各々との通信を確立、維持し、ネットワークホストと通信する最上位ポートマルチプライヤが含まれ、複数のポートマルチプライヤは、1つまたは複数の中間ポートマルチプライヤと最下位ポートマルチプライヤを有し、複数のネットワークデバイスは、複数のポートマルチプライヤと通信し、さらに、ポートマルチプライヤとネットワークホストとも通信する。
1つの実施形態において、方法は、ネットワークホストを、1つのポートマルチプライヤを介して複数のマルチプライヤに連結するステップを含む。この1つのポートマルチプライヤには、複数のポートマルチプライヤの各々との通信を確立、維持し、ネットワークホストと通信する最上位ポートマルチプライヤが含まれ、複数のポートマルチプライヤは、1つまたは複数の中間ポートマルチプライヤと最下位ポートマルチプライヤを有する。この方法はまた、複数のネットワークデバイスと複数のポートマルチプライヤ、1つのポートマルチプライヤおよびネットワークホストの間の通信を確立するステップを含む。
本発明の実施形態を限定のためではなく、例として添付の図面に示すが、図中、同様の要素には同様の参照番号が付与されている。
ポートマルチプライヤを利用する従来のメカニズムを示す図である。 ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワークのある実施形態を示す図である。 ポートマルチプライヤ拡張メカニズムのある実施形態を示す図である。 ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワークのある実施形態を示す図である。 ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワークのある実施形態を示す図である。 ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワークのある実施形態を示す図である。 ポートマルチプライヤのある実施形態を示す図である。 ポートマルチプライヤの拡張を実行する工程のある実施形態を示す図である。 電源投入後のルートマップレジスタをセトルする工程のある実施形態を示す図である。 ポートマルチプライヤ拡張メカニズムと、ルートマップレジスタをセトルするためのメカニズムを利用するネットワークのある実施形態を示す図である。 ポートマルチプライヤ用のルートマップレジスタのある実施形態を示す図である。 あるデバイスのためのデバイスポートに関するルートマップレジスタのある実施形態を示す図である。 ルートマップレジスタをセトルするトランザクションシーケンスのある実施形態を示す図である。
本発明の実施形態は一般に、ポートマルチプライヤの拡張に関する。
本明細書において、「ネットワーク」または「通信ネットワーク」とは、デバイス間でデジタルメディアコンテンツ(音楽、音声/映像、ゲーム、写真、その他)を供給するための相互接続ネットワークを意味する。ポートマルチプライヤを用いるネットワークは、たとえば、主としてSATAデータ、Frame Information Structure(FIS)データ等を、1つまたは複数のポートマルチプライヤを介して供給するために使用されるが、供給されるSATAやFISデータは、デジタルメディアの形態を含んでいてもよい。エンタテイメントネットワークとは、家庭内のネットワークのような個人的エンタテインメントネットワーク、ビジネス用ネットワーク、あるいはその他のデバイスおよび/または構成要素のネットワークであってもよい。1つのネットワークにおいて、特定のネットワークデバイスはメディアコンテンツのソースであってもよく、これらはたとえば、デジタルテレビチューナ、ケーブルセットトップボックス、映像記憶サーバ、およびその他のソースデバイスである。その他のデバイスはメディアコンテンツを表示または使用するものであってもよく、これらはたとえば、デジタルテレビ、ホームシアタシステム、オーディオシステム、ゲームシステム等である。さらに、あるデバイスは、メディアコンテンツの保存または転送用の、たとえば映像および音声記憶サーバであってもよい。あるデバイスは、複数のメディア機能を実行してもよい。いくつかの実施形態において、ネットワークデバイスは、1つのローカルエリアネットワーク上に共同設置されてもよい。他の実施形態において、ネットワークデバイスは、複数のローカルエリアネットワーク間のトンネリング等により、複数のネットワークセグメントにわたっていてもよい。エンタテイメントネットワークはまた、複数のデータ符号化および暗号化工程を含んでいてもよい。
以降の図面および本明細書を通じて、1:15という比率は、実際には2ポートのポートマルチプライヤ(たとえば、標準的SATAポートマルチプライヤ1:2)であるメインまたは最上位ポートマルチプライヤを介してネットワークホスト(たとえば、標準的SATAホスト)に連結することのできる段階の数(たとえば、ネットワークデバイスとポートマルチプライヤの数)の最大数の一例として使用されているにすぎない点に注意されたい。言い換えれば、1つの実施形態において、標準的な1:2ポートマルチプライヤは、カスケード接続されて、いくつのデバイスでも(たとえば、15台のデバイスと15のポートマルチプライヤ)受け入れられるようになることによって拡張1:15ポートマルチプライヤとして機能し、その一方で、ネットワークホストは欺かれて、標準的1:2ポートマルチプライヤを、(物理的には2つのポートしかないが)15のポートを有する拡張1:15ポートマルチプライヤと認識し、そのように扱う。
この技術を利用して、たとえば、ポートマルチプライヤの1つのポートを、ネットワークデバイス(たとえば、ディスクドライブ)を接続するための通常のデバイスポートとして使用し、第二のポートを、また別の標準的1:2ポートマルチプライヤを受けるための拡張ポートとして使用して、拡張1:15ポートマルチプライヤとして機能するようにし、これを次々に繰り返す。1つのポートマルチプライヤの両方のポートを拡張ポートとして使用することも想定でき、その場合はこのポートマルチプライヤに2つの別のポートマルチプライヤを接続できる。反対に、カスケード接続連鎖の中の複数のポートマルチプライヤのいずれかの2つのポートを標準的なデバイスポートとして使用して、最大2つのネットワークデバイスを受け入れるようにすることもでき、これは特に、カスケード接続を終了させたい場合に使用できる。いくつかの実施形態において、1つのポートマルチプライヤを拡張して、多数のポートを有するように機能させることや、ポートの数を15に限定せず、ホストを欺いて、そのポートマルチプライヤが前記の数のポートを有すると認識させることも想定される。本明細書においては、最上位のポートマルチプライヤのカスケード接続段階の最大数、または、最上位ポートマルチプライヤとのカスケード接続可能なデバイスおよび追加のポートマルチプライヤの数を15と記しているが、最大で15段階または15個のポートマルチプライヤまたは15台のデバイス(たとえば、拡張1:15ポートマルチプライヤ)というのは、簡潔性と明瞭性を期す上での例として使用したにすぎず、最大数はいくつでもよく(たとえば、SATAプロトコルについての最大数は15)、最小数は0でもよいと想定される。
ポートマルチプライヤとは、そのポートを複数のデバイス(たとえば、ハードドライバ)と通信できるようにするシリコンベースのデバイスを指す。ポートには、Serial ATAポートがある。ポートマルチプライヤは、エンクロージャのバックプレーンまたはマザーボードの上に設置してよく、またSATAドライブ等のデバイスに対して透過的であってもよい。1つの実施形態において、ポートマルチプライヤにより、1つの動作中のホストがデバイスと通信できるような比較的単純なメカニズムである記憶システムに対して、費用対効果の高い方法でドライブ数を増大できる拡張性を持たせることが可能である。さらに、ポートマルチプライヤにより、パーソナルコンピュータ(PC)またはサーバの内外両方の記憶容量をデバイスによって容易に、高い費用対効果で拡張することができ、記憶容量を拡大するための追加のコントローラは不要となる。追加のコントローラを持たないことによって、外付け記憶装置の性能は、他のUSB(Universal Serial Board)ハードドライブ(たとえば、USB1.1、2.0等)、Firewire(商標)等よりずっと高くなる。SATAホストには、ポートマルチプライヤを介してSATAハードドライブと通信するコンピュータシステムホストが含まれる。
図2は、ポートマルチプライヤ拡張メカニズムのある実施形態を利用するネットワーク200のある実施形態を示す。1つの実施形態において、標準的1:2ポートマルチプライヤ204(たとえば、標準的SATAポートマルチプライヤ)が、ホスト202(たとえばSATAホスト)と、標準通信信号(たとえば、標準的SATA通信信号)を使って通信する形態として使用される。1つの実施形態において、新規なポート拡張プロトコルを使い、標準ポートマルチプライヤ204(最上位ポートマルチプライヤ)を拡張して、拡張1:15ポートマルチプライヤとして機能させる。言い換えれば、ポートマルチプライヤ204は物理的ポートを2つだけ有し、物理的には変更されないが、ポートマルチプライヤ204は論理的に拡張されて、15のポートを有する拡張ポートマルチプライヤとして機能し、複数の段階222、224へとカスケード接続される。1つの実施形態において、ポート拡張プロトコルを用いたポートマルチプライヤ204の拡張に伴い、ホストに、ポートマルチプライヤ204を、(実際には、2つのポートしかないが)15のポートを有すると認識させる。
最上位ポートマルチプライヤ204は、ホスト側のホストポート212とポートマルチプライヤ側のホストポート226を通じてホスト202と連結される。ポートマルチプライヤ204の第一のデバイスポート214は、デバイスポートとして使用されてネットワークデバイス208を接続する。ポートマルチプライヤ204の第二のデバイスポートは拡張ポート218として使用されて、別のポートマルチプライヤ206に、そのホストポート228を通じてカスケード接続される。最上位ポートマルチプライヤ204と同様に、第二のポートマルチプライヤ206も標準的1:2ポートマルチプライヤを含むが、これは拡張されて、その拡張ポート220とデバイスポート216を介してさらにカスケード接続されるように、拡張1:15ポートマルチプライヤのように機能する。第二のデバイス210と、第二のポートマルチプライヤ206に接続された第三のポートマルチプライヤ(図示せず)はカスケード接続の第二の段階224を形成し、第二のポートマルチプライヤ206と第一のデバイス208はカスケード接続の第一の段階222を形成する。1つの実施形態において、このカスケード接続形態は、ポートマルチプライヤ204、206(および図に示されていないその他のポートマルチプライヤ)が物理的ポートを2つしか持たずに、また図の1つのホスト202にホストを一切追加せずに、15段階続けることができる。図3以降の図面には、ポートマルチプライヤ拡張ネットワーク200の多数の現実的な実装例(たとえば、デイジーチェーン方式、ピラミッドまたはハブ方式の実装等)が示されている。
図3は、ポートマルチプライヤ拡張メカニズム300のある実施形態を示す。1つの実施形態において、ポートマルチプライヤ拡張メカニズム300はポートマルチプライヤ拡張モジュール(拡張モジュール)306を利用しており、この拡張モジュール306は、2つの物理的ポート308を有する標準的1:2ポートマルチプライヤ302を、同じ2つの物理的ポート308を有する拡張1:15ポートマルチプライヤ304へと拡張するためのポートマルチプライヤ拡張プロトコル(拡張プロトコル)を有する。しかしながら、拡張1:15ポートマルチプライヤは、いくつかの段階でカスケード接続し、最大15の別のポートマルチプライヤとネットワークデバイスを受け入れることができる。ネットワークデバイスとしては、ATAパケットインタフェース(ATAPI)デバイス、ATAデバイス等がある。
1つの実施形態において、新規な拡張モジュール306の新規な拡張プロトコルには、パワーアップ列挙シーケンスからホットプラグ/ホットアンプラグのサポート、コントロールベースまたはFISベースの供給メカニズムまで、ホストとポートマルチプライヤとネットワークデバイス間の標準的な通信と、該当する場合は拡張された通信の両方を確立するのに必要な要素が含まれる。1つの実施形態において、Just a Bunch of Disks(JBOD)はJBODエンハンスト(JBOD−E)に改変されて、拡張モジュール306の新規な拡張プロトコルを形成し、これを使って、ポートマルチプライヤ302等のポートマルチプライヤが拡張される。コントローラは、各ドライブを独立したディスクとして扱うため、各ドライブは独立した論理ドライブである。JBODには、データ冗長機能がない。さらに、拡張ポートマルチプライヤ304を利用するネットワークとしては、JBOD−EベースまたはJBOD−E対応のネットワークがあり、その一方で、このネットワークの特定の標準的な要素や構成要素はJBOD対応であるが、他のJBOD−E対応の要素や構成要素と一緒に機能できる。JBODとは、Redundant Array of Independent(またはInexpensive)Disk(RAID)にしたがって構成されていないハードディクスを指す。RAIDは、性能と耐故障性を改善するための、ディスクドライブのサブシステムを指す。言い換えれば、RAIDは、性能と耐故障性のために、複数のドライブを組み合わせて利用するディスクドライブの種類である。RAIDは、性能を向上させ、冗長により信頼性を高め、および/または合算によってディスク容量の大きさを拡張することを目的として、2つ以上のハードディスクドライブをさまざまな構成で統合して使用することをサポートする技術を指す。
図4は、ポートマルチプライヤ拡張メカニズムのある実施形態を利用したネットワーク400のある実施形態を示す。1つの実施形態において、ネットワーク400は、ポートマルチプライヤ404をデイジーチェーン方式にカスケード接続した拡張方法を示している。図の実施形態において、ポートマルチプライヤ404はカスケード接続が可能になるように拡張され、別のポートマルチプライヤ406とデバイス434が追加される。同様に、ポートマルチプライヤ406はまた、カスケード接続可能に拡張され、また別のポートマルチプライヤ408と別のデバイス436が追加される。このようなカスケード接続工程は、ポートマルチプライヤ432とデバイス462が連鎖に追加されるまで繰り返される。ポートマルチプライヤ404からは、図4に示される15台のデバイス434−462より多い、または少ない、何台のデバイスでもカスケード接続によって分岐させることができると想定される。
1つの実施形態において、ポートマルチプライヤ404は、ホスト402に接続される。ホスト402と最上位の拡張ポートマルチプライヤ404の間の通信信号は、標準的SATA信号464とみなされる。しかしながら、最上位の拡張ポートマルチプライヤ404から後の通信信号は、拡張(enhanced)SATA信号466、468とみなされる。言い換えれば、標準的SATA信号464は、最上位の拡張ポートマルチプライヤ404とホスト402の間で維持されて、SATA仕様書と適合し、デバイス402、404の間の標準的な通信を維持する。しかしながら、ホスト402は欺かれて、最上位の拡張ポートマルチプライヤ404を、15のポートを有するものとして認識するようになり、これによって、最上位の拡張ポートマルチプライヤ404はカスケード接続が可能になり、拡張SATA信号466、468を使って、拡張ポートマルチプライヤ406−432とデバイス434−462を追加することができる。
拡張ポートマルチプライヤ404−432の各々はノードとみなされるが、ポートマルチプライヤ404は、SATAホスト402と接続される最上位ポートマルチプライヤとみなされ、最後のデバイス462と接続される最後のポートマルチプライヤ432は、最下位ノードとみなされる。さらに、第三者ポートマルチプライヤ(図示せず)に接続されたポートマルチプライヤもまた最下位ノードとみなされるが、これは、このポートマルチプライヤが最後のJBOD−またはJBOD−EベースのSATAポートマルチプライヤとしてみなされるからである。ただし、三者ポートマルチプライヤがJBOD対応であってもよいことも想定される。さらに、各ノードは、親ノードおよび/または子ノードと考えられる。着目中のノードのホストポートに取り付けられたノードは親とみなされ、着目中のノードのデバイスポートに取り付けられたノードは子とみなされる。たとえば、ポートマルチプライヤ408はポートマルチプライヤ410にとっては親ノードとして機能するが、ポートマルチプライヤ406にとっては子ノードとして機能する。したがって、ポートマルチプライヤ408は、そしてポートマルチプライヤ406、410−430も同様に、中間ノードとみなされ、各ノード408−430は親と子の両方として機能する。この方式を利用すると、最上位ポートマルチプライヤ404は、親ノードを持たないため、ポートマルチプライヤ406にとっての親としてのみ機能する。これに対して、最下位ポートマルチプライヤ432は、子ノードがないため、ポートマルチプライヤ430にとっての子としてのみ機能する。1つの実施形態において、ネットワーク400は、JBOD−Eプロトコルを利用するJBOD−E標準ネットワークであるが、他の形式のプロトコルも想定され、利用できる。
データルーティングに関して、ルートマップ(RouteMap)レジスタが各ノード404−432で使用され、他の作業のほかに、ノード404−432の間のデータ通信を円滑にしている。たとえば、各ノード404−432はレジスタ群を管理して、このJBOD−E標準ネットワーク400の中のポートをアドレス指定してもよい。ポートとは、1つのノードと他のノードとの接続を円滑にする接続点を指す。図4に示されるSATAポートマルチプライヤ403−432の各々は、たとえば、2つのポートを有するが、第三者マルチプライヤは違う数のポートを持っているかもしれない。各ポートマルチプライヤ404−432の2つのポートは、ポートマルチプライヤ404の場合のように、デバイス(たとえば、デバイス434)を接続するためのデバイスポート(たとえば、デバイスポート470)と、別のポートマルチプライヤ(たとえば、ポートマルチプライヤ406)を接続するためのホストポート468であってもよい。
1つの実施形態において、最下位ノード432は、何にも依存せずに、そのRouteMapレジスタを更新できる。最下位ノード432に対して、RouteMapレジスタを報告するように要求された場合、最下位ノード432は、RouteMapレジスタの内容をその親ノード(たとえば、上位ノード)430に供給する。すると、親ノード430のRouteMapレジスタは有効となり、したがって、その親ノード428に応答することができる。この工程を繰り返すと、最後に最上位ノード404はその子ノード406のRouteMapレジスタを読み出すことができる。最上位ノード404がその子ノード406のRouteMapレジスタを読み出すと、最上位ノード404は、Port Multiplier Port(PMP)をその子ノード406に割り当て、子ノード406はPMPをその子ノード408に分配し、これが繰り返されて、最後に最下位ノード432がその親ノード430からPMPを受け取り、すべてのノード404−432のRouteMapレジスタがセトルされる。
このJBOD−Eネットワーク400の接続形態を把握するために、ホスト402は各ノード404−432にアクセスして、各々のRouteMapレジスタを読み出す。しかしながら、ネットワーク400内の各ノード404−432は各自の識別番号を持たないかもしれないため、ホスト402から個別のノード404−432をアドレス指定することは簡単ではないかもしれない。この障害を克服するために、トークンを用いた方式の1つの実施形態が導入され、これによれば、トークンが属するノード404−432のRouteMapレジスタが、命令(たとえば、Read Port Multiplier命令)の応答として戻される。トークンは、対応するトークン情報レジスタ(たとえば、TokenInfoレジスタ)を更新することにより、前方または後方に移動させることができる。この方式/工程のいつくかの特徴としては、(1)JBOD−Eネットワーク400全体で1つのトークンが提供される点、(2)デフォルトでは、JBOD−Eネットワーク400の各ノード404−432の前方(たとえば、FWARD)と後方(たとえばBWARD)がゼロに設定される点、(3)特定のノード、たとえばノード406のFWARDがすべてゼロである場合、そのノード406がトークンを有する点、(4)上位ノード、たとえば最上位ノードであるポートマルチプライヤ404に接続された、下位ノード(たとえばノード406)のポートマルチプライヤのRouteMapレジスタにアクセスする場合、ホスト402はFWARDのbit0を1に更新する点、がある。すると、トークンは、上位ノードであるポートマルチプライヤ404に接続された下位ノードであるポートマルチプライヤ406に属することになる。さらに、ホスト402が、RouteMapレジスタを取得するためにポートマルチプライヤを読み出す命令(たとえば、Read Port Multiplier命令)を発行した場合、上位ノードであるポートマルチプライヤ404に連結された下位ノードであるポートマルチプライヤ406から応答を受け取る。すべてのノード404−432に到達するために、この工程を繰り返すことによってRouteMapレジスタが進められ、たとえば、さまざまなノード404−432の間のRouteMapレジスタを、最下位ノード432からのレジスタの内容がホスト402に到達するまで進められる。トークンを後方に移動させるには、ホスト420は、TokenInfoレジスタのBWARDビットにRouteMapを書き込む。簡潔性と明瞭性を期すために、単純化したネットワーク400を示したが、1つのネットワークで、拡張ポートマルチプライヤとして機能するポートマルチプライヤ、デバイスおよび/または第三者ポートマルチプライヤをいくつでも使用できる。
図5Aは、ポートマルチプライヤ拡張メカニズムのある実施形態を利用するネットワーク500のある実施形態を示す。図のネットワーク500は、ポートマルチプライヤ504のハブ方式またはピラミッド方式のカスケード接続による拡張を示している。図4のデイジーチェーンネットワークメカニズム400のポートマルチプライヤとデバイスが15段階であるのと異なり、図の実施形態では、ポートマルチプライヤ504−532が4段階572−578とネットワークデバイス534−560が1段階580ある。ポートマルチプライヤ532の最後のポート570は使用されないまま、あるいは割り当てられないままになっているが、これは、たとえば最大数である15台のデバイス534−562がすでに接続されているからである。前述のとおり、何台のデバイス(デバイスは15台より多くても、少なくてもよい)を割り当ててもよいことが想定されるが、本明細書では、簡潔性と明瞭性を期し、また一貫性を持たせるために、最大のデバイス数の例として15を用いる。
1つの実施形態において、ポートマルチプライヤ504は、標準的1:2SATAポートマルチプライヤを備えており、ホスト502はこれを、カスケード接続が可能で最大15台のデバイス534−562を割り当てられる拡張1:15SATAポートマルチプライヤであると信じ込む。これは、たとえば、最初にホストポートを使ってホスト502に最上位ポートマルチプライヤ504を接続し、標準的SATA通信信号582を使って通信させることによって行われる。次に、最上位マルチプライヤ504の2つのポートを使って最上位マルチプライヤ504に2つのポートマルチプライヤ506、508を接続し、拡張SATA通信信号584を使って通信させる。同様に、残りのポートマルチプライヤ510−532とデバイス534−562を接続して、拡張SATA通信信号を使って相互に通信させる。
図の実施形態では、15のポートマルチプライヤ504−532と15のネットワークデバイス534−562が使われているが、いくつのポートマルチプライヤやデバイスでも使用でき、これは15より少なくても、多くてもよいことが想定される。たとえば、図5Bは、ポートマルチプライヤ拡張メカニズムのある実施形態を利用するこのようなネットワーク590を示している。図5Bの実施形態において、ポートマルチプライヤ592はホスト591と通信する。しかしながら、図5Aのハブ方式のネットワークメカニズム500とは異なり、図5Bに描かれた実施形態では、最上位ポートマルチプライヤ592を拡張するために、ポートマルチプライヤ593、594の2つだけが追加されている。追加された2つのポートマルチプライヤ593、594はさらに拡張され、4つのネットワークデバイス595−598を利用しており、2つのポートマルチプライヤ593、594の各々が各自の2つのポートを使用している。
このようなハブ方式のネットワークメカニズム590に各種の変更を加えてもよいことが想定され、そうした変更版も形成され、実現可能である。たとえば、別のポートマルチプライヤ593の代わりに、また別のネットワークデバイスを使用するが、最上位ポートマルチプライヤ592の第一の(ホスト)ポートはポートマルチプライヤ594によって使用された状態にあるため、これを最上位ポートマルチプライヤ592の第二の(デバイス)ポートを使って通信させてもよい。他の図と同様に、SATAホスト591と最上位ポートマルチプライヤ592の間の通信信号は、標準的SATA通信信号586を使用しており、残りのポートマルチプライヤ593、594とデバイス595−598は、拡張SATA通信信号588を使って通信する。1つの実施形態において、ネットワーク500、590は、JBOD−Eプロトコルを採用したJBOD−E標準ネットワークであるが、他の形式のプロトコルも想定され、利用可能である。
図6は、ポートマルチプライヤ拡張メカニズムのある実施形態を利用するネットワーク600のある実施形態を示す。図の実施形態において、ネットワーク600は、異なる仕様が適用される、および/または異なる製造業者により作製される第三者ポートマルチプライヤ608、610を含むハブ方式のカスケード接続を利用し、さらに、これら2つのポートマルチプライヤ608、610は、拡張ポートマルチプライヤ技術とプロトコルを用いて、他の2つの標準的ポートマルチプライヤ604、606とともに使用されている。たとえば、2つの第三者マルチプライヤ608、610は、JBOD−Eプロトコルに対応していないかもしれず、またこれらは2つの標準的SATAポートを持っていないかもしれない(たとえば、ポートマルチプライヤ608は3つのポートを有する1:3であり、ポートマルチプライヤ610は4つのポートを有する1:4である等)が、それでも、拡張ポートマルチプライヤメカニズムを使って、1つの実施形態によれば、この2つの第三者ポートマルチプライヤ608、610が2つの1:2 SATAポートマルチプイライヤ604、606とともに動作するように構成される。
1つの実施形態において、最上位ポートマルチプライヤ604はホスト602のホストポートと通信し、さらに、JBOD−E適合SATAポートマルチプライヤ606および第三者ポートマルチプライヤ610とも通信する。第三者ポートマルチプライヤ610は4つのポートを有し、4台のネットワークデバイス620−626と接続される。ポートマルチプライヤ606は、デバイスポートを通じてネットワークデバイス630に接続され、さらに、ポートマルチプライヤ606のホストポートを通じて第三者ポートマルチプライヤ608とさらに接続される。第三者ポートマルチプライヤ608は3つのポートを有し、3台のネットワークデバイス614−616と接続される。本明細書に記載した他のカスケード接続ネットワークメカニズムと同様に、この第三者ハブカスケード接続ネットワーク600では、ホスト602と最上位ポートメカニズム604の間に標準的SATA通信信号628が用いられ、ホスト602は欺かれて、最上位ポートマルチプライヤ604を、15のポートを有する拡張1:15ポートマルチプライヤと認識する。しかしながら、ポートマルチプライヤ604−610とネットワークデバイス612−626の間の通信信号は、拡張SATA通信信号630である。
1つの実施形態において、電源投入時および/またはホットプラグ/ホットアンプラグのイベント中に列挙およびナンバリングが発生する。しかし、いずれの場合も、SATAホスト602は、列挙工程に気づかないかもしれない。最上位ポートマルチプライヤ604は、それが1:15 SATAポートマルチプライヤであるかのように機能するため、SATAホスト602は上位ポートマルチプライヤ604を1:15 SATAポートマルチプライヤとみなす、または認識する。たとえば、JBOD−E規格は、SATAポートマルチプライヤ仕様に適合する第三者ポートマルチプライヤ608、610をサポートする。第三者ポートマルチプライヤ608、610にアクセスするための命令が発せられると、第三者ポートマルチプライヤ608、610は、それぞれの親である拡張ポートマルチプライヤ606、604に露出される。
電源投入中、たとえばホスト602から「ソフトウェアリセット」の命令を受け取ると、最上位ポートマルチプライヤ604はソフトウェアリセット命令を、これに接続されている第三者ノード610および次の(子)ノードであるポートマルチプライヤ606に発し、ポートマルチプライヤ606は、もう一方の第三者ポートマルチプライヤ608にとっては親ノードとして機能し、第三者ポートマルチプライヤ608に上記の命令を送る。これは、命令がATA/ATAPIベースのネットワークドライブ612−626に到達するまで続けられる。SATAノード604、606、608、610の各々は、レジスタFISデバイス612−626をホスト602に送る前に、後続のソフトウェアリセット命令の完了を待機する必要がない。ソフトウェアリセット命令の署名がポートマルチプライヤ604、606のものである場合、ノード604、606のモデル番号とベンダ識別(ID)またはGlobal Status Control Register(GSCR)(たとえば、GSCR[0])が読み出されて、ノード604、606がJBOD−E適合か否かが判断される。ノード604、606がJBOD−E適合であると、着目中のノードはそのノード604、606のルートマップ(RouteMap)レジスタを読み出す。さらに、各ノード604、606は、そのルートマップレジスタに有効な情報が入るまで、応答しなくてよい。
図の実施形態において、最上位ポートマルチプライヤ604は、ポートマルチプライヤ606と第三者ポートマルチプライヤ610にとっては親ノードとして機能する。最上位ポートマルチプライヤ604は、その上に他のポートマルチプライヤノードがないため、最上位ノードとして機能するが、これはまた、ネットワーク600の中では、第三者ポートマルチプライヤ610にとっての最下位ノードとしても機能する。同様に、ポートマルチプライヤ606は、最上位ポートマルチプライヤ604の子ノードとして機能する一方で、ネットワーク600の中では、第三者ポートマルチプライヤ608の親ノードとしても機能する。ポートマルチプライヤ606は、ネットワーク600の中で、第三者ポートマルチプライヤ608にとって最下位ノードとして機能する。これに対して、ポートマルチプライヤ604は、親ノードも上位ノードも持たない最上位ノードとみなされる。
図7は、ポートマルチプライヤ700のある実施形態を示す。図のポートマルチプライヤ700は、本明細書に記載されるようなポートマルチプライヤ拡張メカニズムを有するネットワークに使用される拡張ポートマルチプライヤとして機能できる標準的SATAポートマルチプライヤを含む。ポートマルチプライヤ700は、2つの標準デバイスポート706、708(たとえば、SATAデバイスポート)を有し、最大2つのネットワークデバイスを使用できる。ポートマルチプライヤ拡張メカニズムの1つの実施形態を利用して、デバイスポート706、708の一方は、ポートマルチプライヤ700を他のポートマルチプライヤに接続するためのホストポートとして機能するように使用され、もう一方のデバイスポートはそのまま、デバイスに接続するためのデバイスポートとして機能するように使用できる。別の実施形態では、両方のデバイスポート706、708を、2つの他のポートマルチプライヤに接続するためのホストポートとして機能するように使用することができる。ポートマルチプライヤ700をカスケード接続できるようにするこのようなポートマルチプライヤ拡張メカニズムが、本明細書で説明される。
ポートマルチプライヤ700はさらに、ホストポート704(たとえば、SATAホストポート)を含み、これは、ポートマルチプライヤ700がネットワーク内の最上位ノードであるポートマルチプライヤとして機能する場合はネットワークホスト(たとえば、SATAホスト)に接続するために使用され、ポートマルチプライヤ700がネットワーク内の中間または最下位ノードであるポートマルチプライヤとして機能する場合は親ノードであるポートマルチプライヤに接続するために使用される。デバイスポート706、708とホストポート704は、バッファ710−714を通じてポートマルチプライヤコア702に接続される。
ポートマルチプライヤ700はさらに、状態表示用LED(発光ダイオード)ドライバ716、build−in−self−test(BIST)およびJoint Test Action Group(JTAG)メカニズム718、フェーズロックループ(PLL)724、シリアルEEPROM(ELectrically Erasable Programmable Read−Only Memory)722、SATA Enclosure Management Bridge(SEMB)720を含む。LEDは、一般的なLED回路のように、p−n接合の順方向に電気的にバイアスされると、インコヒーレントの狭スペクトルの光を放出する半導体ダイオードを指す。IC(集積回路)内のBISTメカニズム718は、そのICの内部機能の全部または一部を検証する機能である。たとえば、BISTメカニズム718は、機能の検証のために高度なfiledbusシステムの中に設置されてもよい。JTAG 718は、バウンダリスキャンを用いたプリント回路基板のテストに使用されるテストアクセスポートのためのStandard Test Access Port and Boundary Scan Architectureと題するIEEE 1149.1規格の代わりにしばしば用いられる名称である。
PLL 724は、「基準」信号の位相との関係が固定された信号を生成する電子制御システムを指す。これは、現代的なフェーズロックループの前身である。EEPROMとは、コンピュータおよびその他のデバイスの中で使用され、少量の揮発性データ、たとえば較正表またはデバイス形態を記憶する不揮発性記憶チップを指す。シリアルEEPROM 722は一般に、OP−コードフェーズ、アドレスフェーズ、データフェーズの3つのフェーズで動作する。OP−コードは通常、EEPROMデバイスのシリアル入力ピンへの最初の8ビット入力(または、ほとんどのInter−Integrated Circuit(I2C)デバイスの場合は暗黙)と、それに続く、デバイスの深さに応じた8から24ビットのアドレス指定、および、読み出され、または書き込まれるデータである。SEMB 720は、ホストコントローラとコンパニオンエンクロージャ管理デバイスとの間で、I2Cバスを通じてインバンドエンクロージャ管理データを受け渡す。
図8は、ポートマルチプライヤの拡張を実行する工程のある実施形態を示す。処理ブロック802で、ホスト(たとえば、SATAホスト)と標準的2ポート型ポートマルチプライヤ(たとえば、標準的1:2 SATAポートマルチプライヤ)が特定される。次に、処理ブロック804において、ホストはホストポートを使ってポートマルチプライヤと接続される。ホストとポートマルチプライヤの間の通信は、標準通信信号(たとえば、標準的SATA通信信号)を含む通信信号を通じて確立される。1つの実施形態において、処理ブロック806で、新規なポートマルチプライヤプロトコルを有する新規なポートマルチプライヤ拡張メカニズムが、ホストとポートマルチプライヤに導入される。処理ブロック808において、拡張メカニズムを使ってホストを欺き、標準的な2ポート型ポートマルチプライヤが2つより多いポート(たとえば、15のポート)を有すると認識させる。
処理ブロック810では、ホストが、ホストマルチプライヤが2つより多いポートを有すると認識しはじめると、このポートマルチプライヤは最上位ポートマルチプライヤとして機能し、カスケード接続によって、多数のポートマルチプライヤおよびネットワークデバイスと接続される。これまでの図面で説明したように、カスケード接続は、1つまたは複数のポートマルチプライヤとネットワークデバイスを最大数(たとえば、15台のデバイスと15のポートマルチプライヤ)に到達するまで追加することにより、さまざまな形式(たとえば、デイジーチェーン、ハブ方式、第三者ハブ方式等)で実行できる。この技術については、これまでの図面と本明細書の別の箇所でも説明されている。
図9は、電源投入後のルートマップレジスタをセトルする工程のある実施形態を示す。1つの実施形態において、処理ブロック902で電源投入され、次に、処理ブロック904でノードの識別がチェックされる。3つの識別は、処理ブロック906で親だけになりうる最上位ノードと、処理ブロック916で子だけになりうる最下位ノードと、処理ブロック926で親子の両方になりうる中間ノードである。ノードが最上位ノード(たとえば、最上位ポートマルチプライヤ)として識別されると、この最上位ノードは、処理ブロック908において、その子ノード(必ずしも最下位ノードとは限らない)からのRouteMapレジスタを待つ。処理ブロック910で、PMPが割り当てられる。処理ブロック912で、更新されたRouteMapレジスタが子ノードに送られ、処理ブロック914で最上位ノードが準備完了となる。
ノードが最下位ノードであると、処理ブロック918において、チャンネル数(CHNUM)が書き込まれる。処理ブロック920で、最下位ノードの親ノード(必ずしも最上位ノードとは限らない)は、RouteMapレジスタを読み出すように要求される。処理ブロック922で、最下位ノードは、親ノードがRouteMapフィールドへの書き込みを行うのを待ち、処理ブロック924で最下位ノードが準備完了となる。
処理ブロック926に戻り、ノードが中間ノード(たとえば、最上位ノードでも最下位ノードでもない)として識別されると、処理ブロック928において、この中間ノードはその子ノードからのRouteMapレジスタを待つ。処理ブロック930で、CHNUMが書き込まれる。処理ブロック932で、中間ノードの親ノードはRouteMapレジスタを読み出すように要求される。処理ブロック934で、中間ノードは親ノードがRouteMapフィールドを更新するのを持ち、処理ブロック936でPMPが割り当てられる。処理ブロック938で、親ノードは更新されたRouteJapレジスタを子ノードに送信する。処理ブロック940で、中間ノードは準備完了となる。
図10Aは、ポートマルチプライヤ拡張メカニズムと、ルートマップレジスタをセトルするためのメカニズムとを利用するネットワーク1000のある実施形態を示す。1つの実施形態において、ルートマップ(RouteMap)レジスタは電源投入後にセトルされ、ホスト1002からのFISの供給を開始できる状態となる。ノード1004−1008(たとえば、ポートマルチプライヤ1006)のRouteMapレジスタには、ノード1006のためのルートマップ(RouteMap)に関する情報が含まれる。CHNUM_NODEは、ノード1006の下の、つまりこれと直接通信するデバイス1020の数を指し、ROUTEMAP_NODEは、ノード1006に属するPMP(たとえば、PMP5)に対応するビットを指す。デバイス1010−1018(たとえば、第一のデバイスDev0、1012)のRouteMapレジスタには、ネットワーク1000の中の第一のデバイス、Dev0、1012のデバイスポートのためのルートマップ(RouteMap)に関する情報が含まれる。この場合、CHNUM_D0は、Dev0ポートの下のデバイス(たとえば、デバイス1012)の総数を指し、ROUTEMAP_D0は、Dev0ポートに属するPMP(たとえば、PMP0)に対応する各ビットを指す。他のデバイスDev1−Dev4、1014−1020(ある場合には、最大15台のデバイスDev1−DevE)に関するレジスタには、第一のデバイスDev0と同じ情報が含まれる。
RouteMapレジスタが更新されると、遠隔デバイスへのアクセスが次のように行われる。ホストからデバイスへのデータの伝送を実行するために、ノード1006−1010はFISヘッダからPMP番号(たとえば、PMP0−PMP5)を受け取り、RouteMapレジスタを参照し、どのデバイスポートがFISを送信するべきかを判断する。デバイスからホストへのデータの伝送を行う場合、最下位ノード1006−1008(たとえば、デバイス1012−1020に直接取り付けられるノードまたは第三者ポートマルチプライヤ1010)は、相応にPMPフィールドを更新し、最下位以外のノード(たとえば、第三者ポートマルチプライヤ1010)はFISを、一切変更せずに受け渡す。さらに、ホストからデバイスへのデータ伝送の場合、ターゲットPMPが存在しなければ、FISは、SATA仕様書に定められているように、SyncEscapeメカニズムを使って終了される。アクセスによりPSCRセクションが読み出され、ターゲットPMPが存在するのであれば、PortNumを使ってルート情報が入手される。最上位ノード1004に関して、アクセスによりPSCRセクションが読み出され、ターゲットPMPが存在しなければ、予め決定されたデフォルト値がホスト1002に戻される。再送信では解決できない衝突を回避するために、JBODEのすべてのポートがFIS全体を受信できる。ホスト1002のホストポートからのFISが目的地となるデバイス1012−1020のデバイスポートに確実に到達することができるように、バスの衝突(たとえば、SATA仕様書のXRDY−XRDY衝突)の可能性がある場合に親ノードを最優先するようにし、バスの衝突の可能性を回避し、データが自由に流れるようにする。
1つの実施形態において、JBOD−Eは、ネットワーク1000の中の第三者ポートマルチプライヤ1010を、これらの第三者ポートマルチプライヤ1010がSATAポートマルチプライヤ仕様書に適合しているかぎり、サポートする。たとえば、ノード1008は、第三者ポートマルチプライヤ1010にアクセスするための一連の命令を発行し、第三者ポートマルチプライヤ1010のポートをその親ノード1004に露出させ、この親ノードはこの例の場合、最上位ポートマルチプライヤ1004である。ノード1008は、第三者ポートマルチプライヤ1010へのPMPに命令(たとえば、ソフトウェアリセット命令)を発行する。ノード1008はGSCR[0]を読み出して、デバイス1012−1016のデバイス識別を取得して、第三者ポートマルチプライヤ1010がJBOD−E適合であったか否かを判断する。次に、ノード1008はGSCR[2]を読み出し、第三者ポートマルチプライヤ1010のデバイスポートの数を把握する。ノード1008はデバイスポートの数を、RouteMapレジスタを通じて、親1004に戻す。ノード1002には、RouteMap情報を第三者ポートマルチプライヤ1010の実際のPMPに変換する表が保持される。さらに、表の形式は実装方法によって異なっていてもよく、ホスト1002に露出する必要がない場合もある。
図10Bは、ポートマルチプライヤ1004−1008のためのルートマップレジスタ1050のある実施形態を示す。図に示されたポートマルチプライヤノード1004、1006、1008のためのルートマップ(RouteMap)レジスタ1050の実施形態には、ノード1004、1006、1008のためのルートマップに関する情報が含まれており、これには着目中のノードの下にあるデバイスの総数(たとえば、ノード1006の場合は1つのデバイス1020)を含むCHNUM_MODEのセクション1052と、着目中のノードに属するPMP(たとえば、デバイス1020に対応するノード1006のPMP5)に対応する各ビットを含むROUTEMAP_NODEのセクション1056がある。レジスタ1050にはさらに、他の関連情報を含めるための保留セクション1054も含まれる。
図10Cは、デバイス1012−1020のデバイスポートのためのルートマップレジスタ1060のある実施形態を示す。図に示されたデバイス1012−1020のデバイスポートのためのルートマップ(RouteMap)レジスタ1060の実施形態には、これらのデバイスポートのためのルートマップに関する情報が含まれており、これには、たとえばデバイス1012のD0等、特定のデバイスポートの下にあるデバイスの総数を含むCHNUM_D0のセクション1062と、その特定のデバイスポートに属するPMP(たとえば、第一のデバイスD0、1012に対応するデバイスポートのPMP0)に対応する各ビットを含むROUTEMAP_D0のセクション1066がある。レジスタ1060にはさらに、他の関連情報を含めるための保留セクション1064も含まれる。
図11A−11Fは、ルートマップレジスタをセトルするためのトランザクションシーケンスのある実施形態を示す。図11Aに示されるポートマルチプライヤ拡張ネットワーク1100には、SATAホスト1102と3つのJBOD−E適合SATAポートマルチプライヤ1104−1108、HDDドライブ1112−1120等のデバイスが含まれ、これらのうちドライブ1118−1120はSATAドライブであってもよい。他の3つのデバイス1112−1116は、第三者ポートマルチプライヤ1110と接続される。図の実施形態においては、3つのRouteMapレジスタがあり、その各々が、更新されるべきJBOD−E適合ポートマルチプライヤ1104−1108に対応する。
図11Bは、ポートマルチプライヤノード1104、1106、1008に関連付けられるRouteMapレジスタ1122、1124、1126を示す。RouteMapレジスタ1122、1124、1126は図のように、ゼロにクリアされるように設定される。図11Cは、最下位ノード1106、1108から始められたRouteMapレジスタ1122、1128、1130の読み出しを示している。たとえば、デバイスポート1154、1158(たとえば、ノード1106のデバイスポートB 1154とノード1108のデバイスポートB 1158)が1つのデバイス1120、1118に接続されている場合、各デバイスポートDB、1154、1158のCHNUM数1128、1130は1である。同様に、デバイスポートDA、1152がどのデバイスにも接続されていない場合、そのデバイスポートDB、1152のCHNUM 1128も1である。しかしながら、図のように、デバイスポート1156がポートマルチプライヤ1110に接続されている場合、そのデバイスポートDA、1156に関するCHNUM 1130は、ポートマルチプライヤ1110に接続されたデバイス1112、1114、1116の数であり、この場合、これは3つのデバイス1112,1114,1116を表す3である。この情報は、ポートマルチプライヤ1110のGSCR[2]を読み出すことによって得られる。ノード1110のノード数1130のためのRouteMapレジスタのCHNUM 1130は、デバイスポート1156、1158の各RouteMapレジスタのCHNUMを単に加算したものであり、この場合、これは4つの1112、1114、1116、1118を表す4である。
同様に、図11Dに示されるように、親、すなわち最上位ポートマルチプライヤノード1104のデバイスポートDA 1160とDB 1162に関するCHNUM 1132は、最下位、または子のポートマルチプライヤ1106、1108を介してそれぞれ接続されたデバイス1112、1114、1116と、1118、1120の総数である。この場合、デバイスポートDA 1160のCHNUM 1132は、子ポートマルチプライヤのデバイスポートDA 1152、1156については4であり、デバイスポートDB 1162については、この数は子ポートマルチプライヤのデバイスポートDB 1154、1158を表す2である。ポートマルチプライヤノード1104のノード数1132は6であり、これは、それぞれ4と2であるDAとDBの数1132の合算である。次に、最上位ポートマルチプライヤ1104は、デバイスポートDA 1152(デバイスが接続されていない1つのポートを表す)、DB 1154(1つのデバイス1120が接続されている1つのポートを表す)、DB 1158(1つのデバイス1118が接続されている1つのポートを表す)、DA 1156(第三者ポートマルチプライヤ1110を介して3つのデバイス1112、1114、1116が接続されている3つのポートを表す)の各々にPMPを割り当てる。
次に、図11Eを参照すると、PMP割当メカニズムのある実施形態が構成されている。1つの実施形態において、PMP割当メカニズムは、PMP割当アルゴリズムを含み、実装方式によって異なる。図の実施形態において、PMPは単純に低い番号から高い番号へと、デバイスポート1152、1154、1156、1158の各々に割り当てられる。したがって、最上位ポートマルチプライヤノード1104は、PMP0、PMP1、PMP2とPMP3をデバイスポートA 1152、1156に割り当て、PMP4、PMP5をデバイスポートB 1154、1158に割り当てる。最上位ポートマルチプライヤ1104は次に、RouteMapレジスタ1134、1136、1138のノード数(NODE)を更新し、その一方で、子ポートマルチプライヤ1106、1108は、RouteMapレジスタ1134、1136、1138のデバイスポート数(DA、DB)を更新する。次に、図11Fを参照すると、最上位ノード1104は、その子ノード1106、1108のRouteMapレジスタ(NODE)1136、1138を更新し、子ノード1106、1108は、そのデバイス1120、1112−1116、1118のRouteMapレジスタ(DA、DB)1136、1138を更新する。
1つの実施形態において、ネットワークデバイスは、クライアント/サーバネットワークシステム、たとえば、パーソナルエンタテイメントネットワークの中で相互接続される。これまでの図面のネットワークメカニズムは、各種のネットワークの一部である。ネットワークは、LAN(Local Area Network)、WAN(Wide Area Network)、MAN(Metropolitan Area Network)、イントラネット、インターネット等を含んでもよい。本明細書の他の箇所で述べているように、何台のネットワークデバイスでもカスケード接続でき、ポートマルチプライヤに接続して、あるネットワーク内のネットワークメカニズムを形成することもできる。ネットワーク1025を介して接続されるデバイスは何台でもよいと想定される。デバイスは、データストリーム、たとえば、ストリーミングメディアデータ等をネットワークシステム内の他のデバイスに、本明細書に記載したプロトコルを含む多くの標準および非標準プロトコルによって伝送してもよい。
上述のように、説明のために、本発明を十分に理解できるように数多くの具体的な詳細事項が示されている。しかしながら、当業者であれば、本発明はこのような具体的詳細事項のいくつかがなくても実践可能であることがわかるであろう。別の場合では、周知の構造やデバイスがブロック図の形で示される。図に示されている構成要素と構成要素の間には、介在する構造があってもよい。本願の説明文や図に示された構成要素には、図や説明にはない入力や出力があってもよい。
本発明の各種の実施形態は、各種のプロセスを含んでいてもよい。これらのプロセスは、ハードウェア構成要素によって遂行されるようにしても、あるいはコンピュータプログラムや機械実行可能な命令の中に具現化し、これを用いて、その命令を含めてプログラムされた汎用または特定用途プロセッサまたはロジック回路にプロセスを実行させるようにしてもよい。あるいは、プロセスは、ハードウェアとソフトウェアの組み合わせによって遂行されてもよい。
本明細書中に記した1つまたは複数のモジュール、構成要素または要素、たとえばポートマルチプライヤ改善メカニズムの実施形態の中に、またはこれに関連して示されるものは、ハードウェア、ソフトウェア、またはそれらの組み合わせを含んでいてもよい。あるモジュールにソフトウェアが含まれる場合、ソフトウェアデータ、命令および/またはコンフィギュレーションは、機械/電子機器/ハードウェアの製品を通じて提供されてもよい。製品とは、命令、データ等を提供するコンテンツが記憶された機械アクセス/読取可能な媒体であってもよい。コンテンツにより、電子機器、たとえば、本明細書に記載のファイラ、ディスクまたはディスクコントローラが、前述の各種の動作や実行項目を遂行することになってもよい。
本発明の各種の実施形態の一部をコンピュータプログラム製品として提供してもよく、これにはコンピュータプログラム命令が記録されたコンピュータ読取可能媒体も含まれ、このような製品は、コンピュータ(またはその他の電子デバイス)を、本発明の実施形態によるプロセスを実行するようにプログラムするのに用いられる。機械読取可能媒体としては、これらに限定されないが、フロッピーディスケット、光ディスク、CD−ROM(compact disk read−only memory)、光磁気ディスク、ROM(read−only memory)、RAM(random access memory)、EPROM(erasable programmable read−only memory)、EEPROM、磁気もしくは光カード、フラッシュメモリまたは、電子命令の保存に適した上記以外の種類の媒体/機械読取可能媒体がある。さらに、本発明はまた、コンピュータプログラム製品としてダウンロードされてもよく、この場合、プログラムは、リモートコンピュータからこれを要求したコンピュータへと転送される。
さまざまな方法を、その最も基本的な形態で説明したが、本発明の基本的範囲から逸脱することなく、これらの方法にプロセスを追加し、またそこから削ったり、上の記述内容に情報を追加し、またそこから削除したりすることができる。当業者であれば、さらにまた数多くの改変や適応化が可能であることが明らかであろう。個々の実施形態は、本発明を限定するためではなく、説明のために提供したものである。本発明の実施形態の範囲は、上述の具体例ではなく、以下の特許請求の範囲によってのみ決定されるものとする。
要素Aが要素Bに、または要素Bと連結されている、との記述がある場合、要素Aは直接Bに結合されていても、あるいはたとえば要素Cを通じて間接的に接続されていてもよい。明細書または特許請求範囲に、構成要素、特徴、構造、プロセスまたは特性Aが構成要素、特徴、構造、プロセスまたは特性Bの「基因となる」と記載されている場合、これは、AはBの少なくとも部分的基因であるが、Bの誘引を助ける構成要素、特徴、構造、プロセスまたは特性がその他に少なくとも1つあってもよいことを意味する。明細書に、ある構成要素、特徴、構造、プロセスまたは特性が「含まれていてもよい(may)」、「含まれるかもしれない(might)」または「含まれうる(could)」と記されている場合、この特定の構成要素、特徴、構造、プロセスまたは特性が含まれている必要はない。明細書または特許請求の範囲に、「1つの(a,an)」要素への言及がある場合、言及された当該の要素が1つしかないことを意味しない。
ある実施形態は、本発明の実現態様または例である。明細書における「ある実施形態」、「一実施形態」、「いくつかの実施形態」または「他の実施形態」という表現は、その実施形態に関連して説明された特定の特徴、構造または特性が少なくともいくつかの実施形態に含まれるが、必ずしもすべての実施形態に含まれるとは限らないことを意味する。「ある実施形態」、「一実施形態」または「いくつかの実施形態」の用語がさまざまな箇所で使用されていても、必ずしもすべてが同じ実施形態を指すというわけではない。本発明の例示的な実施形態に関する上記の説明においては、開示を簡素化し、本発明の多様な態様の1つまたは複数を理解しやすくするために、各種の特徴が1つの実施形態、図面またはこれに関する説明の中にまとめられている場合があることがわかるであろう。しかしながら、このような説明方法は、特許請求されている発明には各請求項に明記されているもの以外の特徴が必要となるという意図を反映したものと解釈すべきではない。むしろ、以下の特許請求の範囲に反映されているように、本発明の態様は、上述のある1つの実施形態に含まれる全特徴の中の一部を備える形態にある。したがって、特許請求の範囲をこの説明の中に明確に取り入れるものとし、各請求項は、それ自体が本発明の異なる実施形態として独立しているものとする。

Claims (15)

  1. ネットワークホストを複数のポートマルチプライヤに連結するように構成された1つのポートマルチプライヤであって、前記1つのポートマルチプライヤは、前記複数のポートマルチプライヤの各々との通信を確立、維持して、前記ネットワークホストと通信する最上位ポートマルチプライヤを備え、前記複数のポートマルチプライヤは1つまたは複数の中間ポートマルチプライヤおよび最下位ポートマルチプライヤを有する1つのポートマルチプライヤと、
    前記複数のポートマルチプライヤと通信し、さらに前記1つのポートマルチプライヤおよび前記ネットワークホストと通信する複数のネットワークデバイスと、
    を備える装置。
  2. 前記最上位ポートマルチプライヤは、前記ネットワークホストと、標準的Serial Advanced Technology Attachment(SATA)信号を通じて通信できるように構成される請求項1に記載の装置。
  3. 前記最上位ポートマルチプライヤは、前記中間および最下位ポートマルチプライヤと、拡張SATA信号を介して通信するように構成される請求項1に記載の装置。
  4. 前記最上部、中間および最下位ポートマルチプライヤの各々は、データのルーティングを管理するためのレジスタを備え、各レジスタには前記データのルートマップが含まれる請求項1に記載の装置。
  5. 前記ネットワークホストは、前記レジスタがセトルされると、前記ネットワークホストから前記最上位、中間および最下位ポートマルチプライヤに、Frame Information Structure(FIS)を送信するように構成される請求項1に記載の装置。
  6. 各ポートマルチプライヤは2つのポートを有するSATAポートマルチプライヤである請求項1に記載の装置。
  7. ネットワークホストを複数のネットワークデバイスに連結するように構成されたポート数拡張ネットワークを含み、前記ポート数拡張ネットワークは、
    前記ネットワークホストを複数のポートマルチプライヤに連結するように構成された1つのポートマルチプライヤであって、前記1つのポートマルチプライヤは、前記複数のポートマルチプライヤの各々との通信を確立、維持して、前記ネットワークホストと通信する最上位ポートマルチプライヤを含み、前記複数のポートマルチプライヤは1つまたは複数の中間ポートマルチプライヤおよび最下位ポートマルチプライヤを有する1つのポートマルチプライヤと、
    前記複数のポートマルチプライヤと通信し、さらに前記1つのポートマルチプライヤおよび前記ネットワークホストと通信する前記複数のネットワークデバイスと、
    を備えるシステム。
  8. 前記最上位ポートマルチプライヤは、前記ネットワークホストと、標準的なSerial Advanced Technology Attachment(SATA)信号を通じて通信するように構成される請求項7に記載のシステム。
  9. 前記最上位ポートマルチプライヤは、前記中間および前記最下位ポートマルチプライヤと、拡張SATA信号を通じて通信するように構成される請求項7に記載のシステム。
  10. 前記最上位、中間および最下位ポートマルチプライヤの各々は、データのルーティングを管理するためのレジスタを備え、各レジスタには前記データのルートマップが含まれる請求項7に記載のシステム。
  11. 前記ネットワークホストは、前記ネットワークホストから前記最上位、中間および最下位ポートマルチプライヤにFrame Information Structure(FIS)を送信するように構成される請求項7に記載のシステム。
  12. 各ポートマルチプライヤは2つのポートを有するSATAポートマルチプライヤを含む請求項7に記載のシステム。
  13. ネットワークホストを複数のポートマルチプライヤに、1つのポートマルチプライヤを介して連結するステップであって、前記1つのポートマルチプライヤは、前記複数のポートマルチプライヤの各々との通信を確立、維持して、前記ネットワークホストと通信する最上位ポートマルチプライヤを含み、前記複数のポートマルチプライヤは、1つまたは複数の中間ポートマルチプライヤと最下位ポートマルチプライヤを有するステップと、
    複数のネットワークデバイスと前記複数のポートマルチプライヤ、前記1つのポートマルチプライヤおよび前記ネットワークホストとの通信を確立するステップと、
    を含む方法。
  14. 前記最上位ポートマルチプライヤと前記ネットワークホストとの間の、標準的Serial Advanced Technology Attachment(SATA)信号を通じた通信を確立するステップをさらに含む請求項13に記載の方法。
  15. 前記最上位ポートマルチプライヤと前記中間および最下位ポートマルチプライヤとの間の、拡張SATA信号を通じた通信を確立するステップをさらに含む請求項13に記載の方法。
JP2010550878A 2008-03-14 2009-03-12 ポートマルチプライヤを拡張する方法、装置およびシステム Expired - Fee Related JP5581469B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/075,954 US7979589B2 (en) 2008-03-14 2008-03-14 Method, apparatus, and system for port multiplier enhancement
US12/075,954 2008-03-14
PCT/US2009/037031 WO2009154825A2 (en) 2008-03-14 2009-03-12 Method, apparatus, and system for port multiplier enhancement

Publications (2)

Publication Number Publication Date
JP2011515748A true JP2011515748A (ja) 2011-05-19
JP5581469B2 JP5581469B2 (ja) 2014-09-03

Family

ID=41064236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010550878A Expired - Fee Related JP5581469B2 (ja) 2008-03-14 2009-03-12 ポートマルチプライヤを拡張する方法、装置およびシステム

Country Status (7)

Country Link
US (1) US7979589B2 (ja)
EP (1) EP2266045A2 (ja)
JP (1) JP5581469B2 (ja)
KR (1) KR101580214B1 (ja)
CN (1) CN101971156B (ja)
TW (1) TWI453591B (ja)
WO (1) WO2009154825A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134475A (ja) * 2016-01-25 2017-08-03 株式会社東芝 コンピュータシステム、及びソフトウェアの初期インストール方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122298B2 (en) * 2008-06-12 2012-02-21 Lsi Corporation Methods and systems for capturing error information in a SATA communication system
US9063655B2 (en) 2010-05-12 2015-06-23 Silicon Image, Inc. Multi-level port expansion for port multipliers
CN102567252A (zh) * 2010-12-09 2012-07-11 北京华虹集成电路设计有限责任公司 一种硬盘和主机之间数据传输方法和系统
CN102521196B (zh) * 2011-11-30 2015-01-07 台达电子企业管理(上海)有限公司 Modbus数据采集器
US9626318B2 (en) 2012-01-26 2017-04-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for storage protocol compliance testing
US9582453B2 (en) 2013-08-15 2017-02-28 Western Digital Technologies, Inc. I/O card architecture based on a common controller
TWI631464B (zh) 2016-08-03 2018-08-01 祥碩科技股份有限公司 埠倍增系統及操作方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007014740A2 (en) * 2005-07-29 2007-02-08 Institut Pasteur Polynucleotides encoding mhc class i-restricted htert epitopes, analogues thereof or polyepitopes
JP2007179549A (ja) * 2005-12-20 2007-07-12 Silicon Image Inc 記憶装置システムのための、プロトコル定義されたリンクにおいて補足メッセージを伝達するための隠しチャネル
JP2008041050A (ja) * 2006-08-10 2008-02-21 Hitachi Ltd ストレージ装置およびこれを用いたデータの管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296094B2 (en) * 2004-08-20 2007-11-13 Lsi Corporation Circuit and method to provide configuration of serial ATA queue depth versus number of devices
US7604265B2 (en) * 2004-11-04 2009-10-20 Imperial Usa, Ltd. Latch assembly for sliding doors
US7805543B2 (en) * 2005-06-30 2010-09-28 Intel Corporation Hardware oriented host-side native command queuing tag management
US20070022228A1 (en) 2005-07-22 2007-01-25 Hicks Allison W Method to create expandable storage using serial ATA HDD
JP5155861B2 (ja) * 2005-08-25 2013-03-06 シリコン イメージ,インコーポレイテッド スマートスケーラブル記憶スイッチアーキテクチャ
WO2007135695A1 (en) 2006-05-18 2007-11-29 Roberto Ragazzi A control device for domotic applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007014740A2 (en) * 2005-07-29 2007-02-08 Institut Pasteur Polynucleotides encoding mhc class i-restricted htert epitopes, analogues thereof or polyepitopes
JP2007179549A (ja) * 2005-12-20 2007-07-12 Silicon Image Inc 記憶装置システムのための、プロトコル定義されたリンクにおいて補足メッセージを伝達するための隠しチャネル
JP2008041050A (ja) * 2006-08-10 2008-02-21 Hitachi Ltd ストレージ装置およびこれを用いたデータの管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017134475A (ja) * 2016-01-25 2017-08-03 株式会社東芝 コンピュータシステム、及びソフトウェアの初期インストール方法

Also Published As

Publication number Publication date
WO2009154825A2 (en) 2009-12-23
TWI453591B (zh) 2014-09-21
US7979589B2 (en) 2011-07-12
KR20100126500A (ko) 2010-12-01
EP2266045A2 (en) 2010-12-29
TW200939028A (en) 2009-09-16
CN101971156B (zh) 2013-09-11
US20090234994A1 (en) 2009-09-17
WO2009154825A3 (en) 2010-05-06
KR101580214B1 (ko) 2015-12-24
CN101971156A (zh) 2011-02-09
JP5581469B2 (ja) 2014-09-03

Similar Documents

Publication Publication Date Title
JP5576804B2 (ja) 拡張ポートマルチプライヤを利用する方法、装置およびシステム
JP5581469B2 (ja) ポートマルチプライヤを拡張する方法、装置およびシステム
US7412544B2 (en) Reconfigurable USB I/O device persona
US7334075B2 (en) Managing transmissions between devices
US8756345B2 (en) Methods and structure for managing protection information with a serial attached SCSI expander
JP2021530813A (ja) 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間
US9734106B2 (en) Systems and methods for providing connections to an information handling system
US6973516B1 (en) Method and apparatus for a controller capable of supporting multiple protocols
US8140724B1 (en) SATA pass through port
US20040088455A1 (en) Methods and structure for SCSI/IDE translation for non-SCSI enclosures in a storage subsystem
JPWO2009001454A1 (ja) メモリ共有システムおよびメモリ共有装置
US7596652B2 (en) Integrated circuit having processor and bridging capabilities
US8086795B2 (en) Onboard computer data storage, access, and caching system
WO2007077514A2 (en) Transparent intellectual network storage device
KR102518287B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
JP2013041606A (ja) 記憶制御装置用にメタ・ディスク集合モデルを実装するシステム及び方法
JP2010191583A (ja) ストレージシステム,ストレージ制御装置,受信制御装置および制御方法
TWI474190B (zh) 伺服器系統之虛擬媒體裝置和其資料存取方法
JP2008517369A (ja) 単一のusb−ideアダプタを用いて複数のide装置をusb装置に接続する方法及びシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130403

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131002

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: 20140305

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140317

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140314

R150 Certificate of patent or registration of utility model

Ref document number: 5581469

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees