JP2011509634A - クラスタリングネットワークトポロジ - Google Patents

クラスタリングネットワークトポロジ Download PDF

Info

Publication number
JP2011509634A
JP2011509634A JP2010542225A JP2010542225A JP2011509634A JP 2011509634 A JP2011509634 A JP 2011509634A JP 2010542225 A JP2010542225 A JP 2010542225A JP 2010542225 A JP2010542225 A JP 2010542225A JP 2011509634 A JP2011509634 A JP 2011509634A
Authority
JP
Japan
Prior art keywords
cluster
slave
devices
ring
segment
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.)
Pending
Application number
JP2010542225A
Other languages
English (en)
Inventor
スティーヴン・エー・プリジビルスキー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mosaid Technologies Inc
Original Assignee
Conversant Intellectual Property Management Inc
Mosaid Technologies Inc
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 Conversant Intellectual Property Management Inc, Mosaid Technologies Inc filed Critical Conversant Intellectual Property Management Inc
Publication of JP2011509634A publication Critical patent/JP2011509634A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4637Interconnected ring systems
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L2224/31Structure, shape, material or disposition of the layer connectors after the connecting process
    • H01L2224/32Structure, shape, material or disposition of the layer connectors after the connecting process of an individual layer connector
    • H01L2224/321Disposition
    • H01L2224/32135Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/32145Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48135Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/48145Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48151Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/48221Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/48225Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • H01L2224/48227Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation connecting the wire to a bond pad of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73251Location after the connecting process on different surfaces
    • H01L2224/73265Layer and wire connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

クラスタリングネットワークトポロジにおいて、スレーブデバイスのグループは並列アクセスされ、このため、リングに沿った待ち時間は、クラスタの個数に比例し、集積回路の個数には比例しない。クラスタのデバイスは、入力および出力リングセグメントを共有し、これにより、入力セグメントに到来するパケットは、クラスタ内のすべてのデバイスによって受信され、解釈される。すべての実施形態において、1つのクラスタにおけるスレーブ同士が、潜在的にはコントローラの指令に従って、それらのスレーブのうちの高々1つがいつでも出力セグメントをアクティブに駆動していることを確実にするように連携する。デバイスは、デバイスID、クラスタID、またはこれらの組み合わせを通じてアドレッシングされうる。本発明の実施形態は、マルチチップモジュール実装、および垂直回路積層の形態を利用するのに適している。

Description

関連出願の相互参照
本出願は、参照により本明細書に組み込まれている、2008年1月11日に出願した米国特許出願第12/013,148号の優先権を主張するものである。
本発明は、一般的にリング型のネットワークトポロジに関するものであり、具体的には、スレーブデバイスのグループに並列アクセスすることで待ち時間を短縮しつつフォールトトレランスおよび他の特性を改善する、クラスタリングトポロジと呼ばれる、修正リング型トポロジに関するものである。
リング型トポロジ相互接続ネットワークでは、サブシステム内のすべてのデバイスは、リングまたはループ型構成に配列され、典型的にはすべての通信は、このリングに沿って一方向である。その結果、リング内のそれぞれのデバイスは、すぐ「前」にちょうど1つの他のデバイスおよびそれのすぐ「後」にちょうど1つのデバイスを有する。
多くのリング型トポロジネットワークでは、リングは、物理的にも、また電気的にも、そのリングの中のそれぞれのデバイスによって切断される。これらのネットワークでは、リングそれ自体は、リング内のデバイス同士を接続する多数のリングセグメントで構成される。セグメントの個数は、リング内のデバイスの個数に等しい。それぞれのセグメント上の通信は、一方向であり、それぞれ、ちょうど1つのデバイスが情報をそのセグメント上に送るドライバ端とちょうど1つのデバイスが送り側デバイスから情報を受け取る1つのレシーバ端を有する。リング上のデバイスの観点からすると、デバイスが情報を受け取るリングのセグメントは、その入力セグメントと呼ばれ、デバイスが情報を送り出すセグメントは、その出力セグメントと呼ばれる。
リング内の1つのデバイスが、それがマスタデバイスであるという点で特別なデバイスであることは典型的である。これは、多くの場合、コントローラと同義語である。例えば、そのようなリングトポロジ相互接続部から構成されるメモリサブシステムでは、マスタまたはコントローラは、典型的には、リードコマンド、ライトコマンド、および他のコマンドをその制御下でリング上のメモリに発行することと、リングに沿ってデータ通信を調整することの両方の責任を有する。リング内の他のデバイスは、スレーブであり、典型的にはメモリであるが、これに限られるわけではない。これらのスレーブは、リング上でコントローラから送信されたコマンドに応答し、リードコマンドおよび他のコマンドの場合に、これもまたリングを介して、コントローラにデータを送り返す。一般的に、リング上の通信のタイミングは、コントローラによって決定され、スレーブ側で自由に開始することはできない。
リングトポロジは、概念的に単純であり、一般的に拡張性があり、デバイス1つ当たりの端子数が少なくて済むため普及している。また、2地点間通信のみが使用されるので、信号品位およびセグメント長の問題は、他の多くの相互接続トポロジの場合に比べてかなり扱いやすい。しかし、このクラスのリング型トポロジ相互接続には明白な著しい欠点が3つあり、これらは待ち時間、故障耐性、および消費電力に関係している。
待ち時間に関しては、このクラスのすべてのネットワークにおいて、コントローラからアクセスされるデバイスに向かい、そしてコントローラに戻る経路のみが、リング内の他のすべてのデバイスを通る。そのようなものとして、スレーブにアクセスし、スレーブにコマンドを送り、データをコントローラに送り返すことによって応答する場合、オペレーションの待ち時間は、スレーブ内のオペレーションの固有待ち時間とリングに沿った通信待ち時間の2つの主要要素に分けられる。リングは、デバイスのそれぞれを通るので、これらのデバイスはそれぞれ、リングに沿って流れるコマンドおよびデータに対しある程度のわずかな待ち時間を生じさせる。それに加えて、リングセグメントそれ自体も、非自明な量を通信待ち時間に加える可能性がある。
すると、このクラスのリング型トポロジ相互接続の固有特性は、リングに沿った総待ち時間がデバイスを通る際のすべての待ち時間とそれらのデバイスを接続するリングセグメントの待ち時間の総和であることである。リングに沿った総待ち時間が重要であるのは、コントローラからデバイスへ、そして戻る際の総スレーブリードアクセスタイムが総リング待ち時間とスレーブデバイスの内部リードアクセス待ち時間の総和であるからである。総リング待ち時間の短縮は、総アクセス待ち時間がシステムレベルの性能に関わる大きな要素である状況に対して重要な前提条件である。したがって、いくつかの知られている例では、リング型トポロジネットワークは、多数のデバイスをサポートすることができることがあるけれども、待ち時間だけをとってみれば、かなりの数のデバイスを伴うすべてのアプリケーションにとって実用的とは言えないことがある。
リング型トポロジネットワークの他の大きな問題として、これらのネットワークが非フォールトトレラントであることが挙げられる。リング上のデバイスまたはセグメントのどれかが故障した場合、そのリングに沿った通信は、他のデバイスがまだ完全に機能しているとしても不可能になる。リング型トポロジネットワークのこの特徴は、いくつかのシステム環境では重大であるが、他のシステム環境では重大でない。しかし、特にメモリシステムの場合、単一の不良デバイスが存在している場合でもメモリサブシステムは完璧に動作することができるという要求条件を課すシステムアプリケーションが数多くある。
リング型トポロジネットワークの第3の重大な問題は、リング内のすべてのデバイスがネットワーク上でそれぞれのパケットを通信するために電力を消費するという点である。信号伝達技術によっては、リング内のすべてのスレーブが、コマンドパケット毎に(レシーバに関係なく)、またリードデータパケット毎に(発信元に関係なく)電力を消費する。対照的に、いくつかの他のネットワーク技術では、スレーブデバイスは、コントローラにリードデータを送り返すときのみ電力を消費する。したがって、2地点間通信であるとして、送信されるビット毎にスレーブによって消費される電力が小さい場合があるとしても、リング型トポロジネットワークの総電力効率は、いくつかの非リング型トポロジの代替ネットワークに比べて著しく悪化する可能性がある。
リング型トポロジネットワークのネガティブな特性のいくつかを緩和または回避する試みがすでになされている。これらの努力は、4つのカテゴリに分けられる。第1のカテゴリでは、総待ち時間が、デバイス毎の待ち時間をできる限り小さく保つことによって最小にされる。これは、米国特許第5,778,419号で、またRamLinkメモリインターフェース(スケーラブルコヒーレントインターフェース(SCI)信号伝達(RamLink)に基づく高帯域メモリインターフェースのIEEE標準、IEEE標準1596.4-1996)において開示されているアプローチである。他のアプローチでは、リング内のデバイスの個数を人為的に制限することによってリングに沿った総待ち時間を制限する。これは、米国特許第5,778,419号において明らかにされており、リング内のデバイスの個数は、5(1つのマスタと4つのスレーブ)に制限されている。
第3の技術は、リングの階層を形成するものであり、一次リング(つまり、マスタ全体によって制御されるリング)上のデバイスのそれぞれは、スレーブのサブリングに対するマスタとして機能するエージェントである(図1を参照)。特定のスレーブをターゲットとするコマンドが、該当するエージェントによってインターセプトされ、ターゲットにされているスレーブを含む単一の特定のサブリング上でいくつかのコマンドに翻訳される。これらの欠点に対処する第4の方法は、同様に非リングベースデバイスを制御するエージェントのリングを備える方法である。例えば、図2では、それぞれのエージェントが、従来の並列メモリサブシステムを制御する。
これらの以前の解決策では、リング型トポロジの内在する利点を完全には活かすことができないか、または上述のリング型トポロジネットワークの問題を適切に解決することができない。例えば、n個のスレーブを備えるシステムに対する通信待ち時間を2×sqrt(n)にエージェント内の追加スケジューリング遅延を加えた値にまで短縮するためにリング型トポロジのリングを計算した。スレーブ毎の遅延を短縮することで、比例定数が小さくなるが、総通信待ち時間は、それでも、リング内のデバイスの数に比例する。リング内のデバイスの個数を小さな数値に制限することで、総通信待ち時間に上限が定められるが、より大きなシステムにおける相互接続の有用性も制限される。
リング型ネットワークの性能を改善するいくつかのアプローチでは、マルチチップモジュールを使用する必要がある。マルチチップモジュールは、マルチチップモジュールが実装されている基板またはキャリアへの一般的な一組の信号端子と一緒に複数の集積回路が収納されているパッケージング構造である。より正確な定義は、「発明を実施するための形態」の節で説明されている。リング型トポロジ相互接続へのマルチチップモジュール内の集積回路の直接的応用では、マルチチップモジュール内のすべてのデバイスをリングにシリアル接続する。この構成のトポロジおよび待ち時間は、あたかもそれぞれの集積回路がそれ専用のパッケージ内に収められ、パッケージはリングにシリアル接続されているかのようである。その結果が、図3に示されているものに相当するパッケージ断面であり、そこでは、リンクが金属線上の最下位デバイス内に入り、最下位デバイスを出て、一段上のデバイスに入り、というようにしてスタックを上り、金属線が一番上のデバイスをパッケージに接続してアウトバウンドリングセグメントを形成することで終わることがわかる。
図3の構成は、いくつかの理由から理想的なものとは言えない。第1に、これらのデバイスは単一パッケージのように見えるけれども、論理的には5つのデバイスとして存在し、待ち時間もデバイス5個分ある。第2に、デバイスの対向側での受信セグメントと送信セグメントのこのような特定の配列は、都合がよくない場合がある。一般に、n個のデバイスからなるマルチチップモジュールは、物理的には1つのデバイスとして存在するが、論理的にはn個のデバイスとして存在する。この構成では、マルチチップモジュールアプローチが利用されない大きなリングの制限のいくつかに対処するために、マルチチップパッケージ内の集積回路の近接性を適切に活かすことができない。
米国特許出願第12/013,148号明細書 米国特許第5,778,419号明細書 米国仮特許出願第60/902,003号明細書
IEEE標準1596.4-1996
本発明の実施形態は、スレーブデバイスのグループ(クラスタと称される)が並列アクセスされる、クラスタリングトポロジと称される修正されたリング型トポロジを対象とするものである。クラスタは、いくつかの点で、リング内の単一ノードとして振る舞う。この構成のおかげで、リングに沿った待ち時間は、クラスタの個数に比例し、集積回路の個数には比例しない。データ通信に関わる消費電力は、相当する従来のリング型ネットワークよりも小さく、実施形態は高度のフォールトトレランスに対応できる。トポロジ相互接続は、マルチチップモジュールおよび/または個別にパッケージングされた集積回路の使用にうまく適合される。
本発明の実施形態によれば、デバイスのグループは並列接続され、入力リングセグメントおよび出力リングセグメントを共有する。クラスタは、1つまたは複数のデバイスを含むが、実際には、1クラスタ当たりのデバイスの個数は、比較的少ない。多数の開示されている実施形態において、入力セグメントに到来するパケットは、クラスタ内のすべてのデバイスによって受信され、解釈される。他の実施形態では、受信パケットの入力および解釈を行わないように、1クラスタにつきどのスレーブもスリープ状態もしくは他の何らか形でのディセーブル状態でないか、いくつかのスレーブがスリープ状態もしくは他の何らか形でのディセーブル状態であるか、1つのスレーブを除くすべてのスレーブがスリープ状態もしくは他の何らか形でのディセーブル状態である。とにかく、すべての実施形態において、1つのクラスタにおけるスレーブ同士が、潜在的にはコントローラの指令に従って、それらのスレーブのうちの高々1つがいつでも出力セグメントをアクティブに駆動していることを確実にするように連携する。
本発明の実施形態によるクラスタリングネットワークトポロジは、リング構成をとる入力および出力セグメントに相互接続されている複数のスレーブデバイスとパケット通信を行うコントローラデバイスを備え、それらのスレーブデバイスのうちの少なくとも一部は並列接続され、同じ入力および出力セグメントを共有する1つのクラスタを形成する。少なくとも1つの実施形態において、クラスタIDとデバイスIDの組み合わせによってアドレッシングされるデバイスでは、これにより、必要なビットの個数および関連する待ち時間が劇的に低減される。
これらのクラスタのうちの少なくとも1つにおいて、クラスタマスタとして指定されたデバイスは、クラスタ内の高々1つのスレーブが出力セグメントを駆動しているようにそのクラスタのスレーブを調整する動作をすることが可能である。クラスタのスレーブは、特定のスレーブが入力セグメントから出力セグメントへのデータ転送についてプライミングされていることを単一線上でクラスタマスタに知らせることができる。例えば、クラスタのスレーブは、単一マルチソースシングルデスティネーション導線上でクラスタマスタと通信することができる。あるいは、クラスタマスタが、クラスタ内のすべてのスレーブをターゲットとするコマンドのすべてを解釈し、これにより、どのスレーブがプライミングされているかを、スレーブから情報を直接受信することなくクラスタマスタが判定することができる。いずれにせよ、クラスタマスタは、どのスレーブ(もしあれば)がプライミングされているかに関係なく入力セグメントから出力セグメントにコマンドパケットを回送するように動作可能である。
任意の適切な形態またはインテグレーションを利用することができるが、本発明のいくつかの実施形態は、マルチチップモジュール実装を活用することに適しており、その個別のクラスタ内における垂直積層の他の形態をそのスタック内の異なるレベルに割り当てることができる。これにより、入力セグメントはスタックの片側にあるすべてのデバイスに到来し、出力セグメントはスタックの他方の側から出ることができる。あるいは、金属線で、一方のデバイス上の入力セグメントボンディングパッドを縦方向に隣接するデバイス上のボンディングパッドに接続し、またスタックの出力セグメント側の相当する一組の接続部と接続することができる。本発明のネットワーク内のさまざまなデバイスは、メモリデバイスであってもよいが、本発明はこれに限定されるわけではない。
次に、例として、付属の図面を参照する。類似の、または同じ参照番号は、異なる図中で、類似のコンポーネントを示すために使用されている場合がある。
従来技術のトポロジによる複数のリングのうちの1つのリングの図である。 従来技術のネットワークトポロジによる複数のサブシステムからなるリングの図である。 従来技術によるリング型トポロジネットワークがそれぞれのデバイス内を通過するマルチチップモジュールの断面図である。 デバイスの1つがコントローラまたはマスタであるリング型トポロジ相互接続ネットワークの一例を示す図である。 入力および出力セグメントに関連付けられている信号を示す、リング型トポロジネットワークの他の図である。 図5のリング型ネットワークのスレーブデバイスに流れ込み、次いで流れ出るコマンドパケットおよびデータパケットのタイミング図である。 コマンドパケットの内部構造の図である。 例示的な一実施形態のネットワークトポロジによる複数のクラスタからなるリングの第1の例を示す図である。 図8のと異なるクラスタ内通信信号配列構成を有する複数のクラスタからなるリングの第2の例を示す図である。 一時的クラスタマスタステータスのアービトレーションを行うために使用されるクラスタ内リングを、デバイスIDの通信にどのように使用されるかを示す図である。 デバイスが垂直方向に積み重ねられ、スタック内のすべてのデバイスがクラスタリングネットワーク内の単一のクラスタを形成するマルチチップモジュールの断面図である。 デバイスが垂直方向に積み重ねられ、スタック内のすべてのデバイスがクラスタリングネットワーク内の単一のクラスタを形成する代替マルチチップモジュールの断面図である。 少なくとも1つの例によるクラスタリングトポロジ相互接続ネットワーク内のクラスタの図である。 すでに例示されているリング型ネットワークの単一スレーブの図である。 第1または第2の例と異なるクラスタ内通信信号配列構成を有する複数のクラスタからなるリングの第3の例を示す図である。
本発明の実施形態は、相互接続の有用性または有効性を制限しうる、多数のデバイスがリング内に含まれているときにリング型トポロジ相互接続だと長い待ち時間が生じる可能性があるという問題を解決する。本発明の実施形態は、既存のリング型ネットワークトポロジに関わる消費電力の多さおよびフォールトトレランスの低さに関連する問題も解決する。
本発明の実施形態は、リング内の1つのデバイスがコントローラであるリング型トポロジ電子回路相互接続に関係するが、本発明は、これに限定されず、リング型トポロジネットワークの他の変更形態ならびに他のシステムおよびサブシステムタイプにも等しく応用される。本明細書では、「マスタ」および「コントローラ」という用語は、同義語として使用される。同様に、スレーブおよびメモリも、本発明の実施形態をもっぱらメモリデバイスであるスレーブデバイスに限定することなく同義語として使用される。本発明は、すべての、または一部の非メモリスレーブを含むリングにも等しく応用されることは理解される。それに加えて、本明細書では、「相互接続」、「ネットワーク」、および「相互接続ネットワーク」も同義語として使用され、素線の任意の集合体(全体としてまたは部分的に1つまたは複数のバスにまとめられている)が電子回路または相当するデバイスの集合体を直接的にまたは間接的に接続することを意味する。
本発明の実施形態は、電子回路システムにおけるマルチチップモジュールの使用にも関係する。多くの場合において、複数のシリコン片を一緒にパッケージングして単一基板またはパッケージに仕上げる。これは、シリコン片が互いの上に置かれてスタックを形成する垂直方向、またはシリコン片同士が単一パッケージまたはモジュール内で横に並べて置かれる水平方向で、一般的になされる。変更形態は、複数のシリコン片(またはより一般的には、電子コンポーネントが少なくとも1つの表面上に製造された半導体材料の薄片)が、個別にパッケージングされ、次いで、パッケージが、スタック内で垂直方向に実装されるものである。少なくとも複数の例示的な実施形態は、これらすべての事例に適用されるが、開示されている実施形態は、一緒にパッケージングされたシリコン片のスタックに関して説明されている。
本開示では、「マルチチップモジュール」という表現は、すべてのそのようなパッケージングまたは実装技術に関して一般的な用語となるように定義されており、そのような構造の任意の1つのスタイルまたは種類に限定されない。また、本開示では、集積回路は、限定はしないが、素線、トランジスタ、ダイオード、およびセンサなどの電子コンポーネントが材料の1つまたは複数の表面内に、または1つまたは複数の表面上に組み立てられたシリコン片または他の半導体材料片であると定義される。デバイスおよび集積回路という用語は、本明細書では同義語として使用される。
「モジュール」という用語は、集積回路が上にまたは中に実装され、それらの集積回路をモジュールそれ自体が最終的に実装される媒体上の導線に接続しやすくするパッケージまたは基板または同様の構造物であると定義される。モジュールそれ自体は、相互接続以外の他の構造を含む場合も、含まない場合もあり、またそれに集積回路以外の他のコンポーネントが実装される場合も、実装されない場合もある。いくつかのマルチチップモジュールでは、金属線は、集積回路を互いに接続し、および/またはモジュールそれ自体に接続する。他の場合には、集積回路は、モジュールの一部である導線への直接接続を行う。例えば、マルチチップモジュールの1つの一般的な形態は、複数の集積回路が互いの上に実装されて垂直スタックを形成し、金属線が集積回路をモジュール内の導線に接続し、また集積回路同士を接続する1つのパッケージである。
次に、図4を参照すると、例示的なリング型トポロジ相互接続ネットワーク400の図が示されている。ネットワーク400内では、情報は一方向のリングに沿って伝えられ、デバイスからデバイスへと流れる。この場合、図は、デバイスのうちの1つのデバイスが、メモリまたは他のメモリまたは非メモリスレーブデバイス411〜415にアクセスするコントローラまたはマスタデバイス410であるリングを示している。アドレス、データ、および制御情報はすべて、リングに沿って同じ方向に流れ、典型的には同じタイミングを使用し、また典型的には一部は同じ導線上で流れる。図5は、そのような1つのリング型トポロジネットワーク500の信号を示している。示されている例では、デバイス510〜513同士を接続して1つのリングにするリングのセグメントは、4本の導線からなるデータ経路と2つのストローブ信号を含む。情報は、パケット単位でリングに沿って流れる。図4は、リング内のそれぞれのスレーブが一意的なアドレスを有することも示している。示されている事例では、スレーブアドレスは、0から始まり、第1のスレーブがコントローラからパケットを受信し、アドレスはそこから最後のスレーブまで連続的に増える。
例示されているネットワークの少なくともいくつかの場合において、パケットは、スレーブデバイスで発信しコントローラへと逆方向に流れるデータまたはコントローラで発信し、1つまたは複数のスレーブデバイスへと流れるコマンドパケットのいずれかを含む。これら2種類のパケットは、それぞれ、リードデータパケットおよびコマンドパケットと称される。コマンドパケットは、デバイスアドレスと1つまたは複数のスレーブが実行するコマンドとを含む。コマンドパケットのデバイスアドレス部分は、パケットの1バイト目であり、これは、どの1つまたは複数のデバイスがコマンドを実行すべきかを指定する。コマンドの意味に応じて、コマンドパケットの残り部分は、ターゲットデバイス内の何らかのデータストレージのアドレスおよび場合によっては何らかのデータも含むことができる。
例示されているネットワークの少なくともいくつかの場合において、データは、共通クロックのそれぞれのエッジで送信される。4本のデータ線があるので、クロック周期毎に1バイトが送信される。図6は、2つのストローブと単一スレーブ内へ流れ込み、単一スレーブから流れ出るコマンドまたはデータパケットとの間の関係を示している。コマンドパケットがスレーブによって受信されている場合、コマンドストローブ入力(CSI)信号がパケットの先頭と末尾を画定する。データパケットが受信されている場合、受信パケットは、データストローブ入力(DSI)によって画定される。
データパケットとコマンドパケットの両方について、それぞれのデバイスを通る際の待ち時間は、数クロックサイクルであり、デバイスの設計の一部として固定される可能性が高い-必ずしも固定されない-が、リング上の異なるデバイスは、異なるフロースルー待ち時間を有することがある。図6の例で暗示的に示されているスレーブは、コマンドおよびデータパケットが両方とも入力セグメント上にラッチされて1サイクルまるまる経過した後に出力セグメントデータライン(Q0..3)上に現れるので中を通る1サイクルの待ち時間を示している。出力セグメントでは、スレーブは、それに応じてコマンドストローブ出力およびデータストローブ出力を駆動することによって出力データライン上のパケットを画定する。
スレーブデバイスは、コマンドパケットでコマンドを送信される。図7は、図6に示されているコマンドパケットに応答することが可能であるコマンドパケットの構造を示している。1バイト目は、コマンドを実行すべきスレーブのデバイスアドレスを含む。2バイト目は、1バイトコマンドである。その後のバイトの個数と意味は、指定された実際のコマンドに依存する。コントローラが、その後のバイトが2バイト目で指定された特定のコマンドに依存すると判断するからである。特に、コントローラ側でデータをスレーブのストレージに書き込むことを望んでいる場合、その後のバイトは、そのストレージのスレーブローカルアドレスとライトデータを含む。図7に例示されているコマンドパケットは、最上位ニブル先頭で送信される。第1の立ち上がりエッジで、ビット4、5、6、および7である最上位ニブルが、データラインD0、D1、D2、およびD3上で送信される。第1のクロックサイクルの第2の半分において、ビット0、1、2、および3である1バイト目の最下位ニブルが、対応するデータライン上で送信される。同じパターンが、コマンドのその後のすべてのバイトについて続く。図7の3つのコマンド固有バイトに示されているような8ビットを超えるアドレスの場合、ニブルおよびバイトのシーケンスは、最下位バイト先頭および最上位ニブル先頭に対応する。
通信によりスレーブからコントローラにあらゆる種類のデータを送り返すために、データパケットが使用されうる。コントローラは、スレーブがデータを返すようにしたい場合、データパケットの到来に対してスレーブをプライミングするリードデータ転送コマンドを送信する。リードデータ転送コマンドは、コントローラがスレーブに返してもらいたいデータを示す。コントローラは、要求データを受信する用意ができたら、任意のデータを中に入れてリングの下りへデータパケットを送信する。データパケットの先頭および末尾は、データストローブ信号上の立ち上がりエッジおよび立ち下がりエッジで示される(それに対応してCSOおよびCSI)。プライミングされたスレーブは、リードデータパケットの到来を検出すると、パケットの受信データを無視し、それを出力セグメント上に複製するのではなく、代わりにデータによってすでに要求されているデータを駆動する。少なくともいくつかの例では、転送すべきデータの量は、リードデータ転送コマンドで指定されないが、代わりに、データストローブ入力/出力の立ち上がりエッジと立ち下がりエッジとの間のクロックサイクルの数によって指定される。
本発明の実施形態によるクラスタリングトポロジネットワークでは、デバイスは並列接続され、入力リングセグメントおよび出力リングセグメントを共有する。クラスタは、1つまたは複数のデバイスを含むが、実際には、1クラスタ当たりのデバイスの個数は、比較的少ない。多数の実施形態において、入力セグメントに到来するパケットは、クラスタ内のすべてのデバイスによって受信され、解釈される。他の実施形態では、受信パケットの入力および解釈を行わないように、1クラスタにつきどのスレーブもスリープ状態もしくは他の何らか形でのディセーブル状態でないか、いくつかのスレーブがスリープ状態もしくは他の何らか形でのディセーブル状態であるか、1つのスレーブを除くすべてのスレーブがスリープ状態もしくは他の何らか形でのディセーブル状態である。一般に、1つのクラスタにおけるスレーブ同士が、潜在的にはコントローラの指令に従って、それらのスレーブのうちの高々1つがいつでも出力セグメントをアクティブに駆動していることを確実にするように連携する。本明細書で開示されている本発明の実施形態の異なる例は、もっぱらクラスタのデバイスがこれを達成するためにどのように連携するかに応じて変わる。
図8は、1つのコントローラ810と4つのクラスタ811〜814のリングを示す例示的なクラスタリングネットワーク800の図である。クラスタは、中に、それぞれ4つのスレーブ820〜823、3つのスレーブ830〜832、1つのスレーブ840、および2つのスレーブ850〜815を有しているが、本発明は、特定の範囲のクラスタまたは1クラスタ当たりのスレーブに限定されない。少なくとも1つの実施形態では、クラスタには、一意的なクラスタIDが与えられる。図8の例において、第1のクラスタはクラスタID 0を有し、その後のクラスタは、1、2、および3のクラスタIDを有する。それぞれのクラスタ内において、デバイスにも一意的なデバイスIDが与えられる。再び、この例において、クラスタ内の第1のスレーブは、0のデバイスIDを与えられ、その後スレーブ(もしあれば)は、1、2、3などのデバイスIDを与えられる。本発明のすべての実施形態において、「デバイス」という単語は、「ディスクリート」であることを意味するものと解釈すべきではないことに留意されたい。さまざまな実施形態が、ディスクリートデバイスで実装されうるが、「デバイス」は、同じ集積回路上に組み込むこともできる。
リング内のそれぞれのデバイスは、これにより、そのクラスタIDとそのデバイスIDの合併によって一意に識別される。例えば、1クラスタ当たり最大16個までのスレーブからなる最大16個までのクラスタをサポートするネットワークは、4ビットクラスタIDフィールドと4ビットデバイスIDフィールドとで構成される1バイトデバイスアドレスフィールドを有することが可能であった。この例では、リング内のそれぞれのデバイスが、1サイクルのフロースルー待ち時間を有していた場合、完全に満たされているネットワークだと、通信待ち時間は16サイクルとなる。それとは対照的に、同じ個数のデバイスを含む、またフロースルー待ち時間が1である、図4のリング型トポロジネットワークだと、通信待ち時間は256サイクルとなる。このようにして、クラスタリングトポロジを使用すると、待ち時間を直線的に悪化させることなくさらに多くのデバイスをシステムに持たせることができる。
図8の実施形態において、デバイスIDが0であるそれぞれのクラスタ内のデバイスは、クラスタマスタと称される(クラスタマスタを識別するために、他の何らかのデバイスIDを使用することも可能であることは理解されるであろう)。クラスタマスタの役割は、クラスタ内の高々1つのスレーブがアウトバウンドセグメントを駆動しているようにそのクラスタのスレーブを調整することである。この目的のために、クラスタ内のそれぞれの非クラスタマスタスレーブからクラスタのクラスタマスタへの特別な線がありうる。この線は、特定のスレーブがプライミングされていることをクラスタマスタに伝えるために使用される。クラスタマスタは、データパケットが受信され、クラスタ内の他のスレーブがプライミングされている場合を除き出力セグメント(ストローブとさらには出力データバス)を駆動する責任を有する。この状況において、クラスタマスタは、データストローブ出力信号を駆動するが、プライミングされたスレーブがそのリードデータをデータパケット内に挿入できるようにデータ出力信号を放出する(つまり、その出力ドライバが高インピーダンス状態に入る)。
他の実施形態では、一芯導線でクラスタ内のすべてのスレーブを接続する。このような一実施形態では、リング全体の中の高々1つのスレーブを一度にプライミングすることができ、したがって1クラスタ当たり高々1つのプライミングされたスレーブがありうるという条件が成り立つ。したがって、単一のマルチソースシングルデスティネーション導線(n:1通信とも称される)を使用して、スレーブがプライミングされていることをマスタに指示することができる。
さらに他の実施形態では、クラスタマスタは、クラスタ内の他のスレーブがプライミングされる時期を知り、したがって、クラスタ内の他のスレーブから、それらが個別にプライミングされるかどうかの指示を受け取る必要がないように、そのクラスタ内のすべてのスレーブをターゲットとするコマンドのすべてを解釈する。この実施形態は、クラスタマスタデバイスがクラスタ内の他のすべてのスレーブのコマンドセットをアプリオリに知っている状況において有益である場合がある。これは、確かに、同種クラスタではそうであるが、一緒に結合されて1つのクラスタにされたデバイスが完全に異なる種類のもの、または同じ種類だが異なるバージョンのものである異種クラスタではあまりありえそうにない。
上述の実施形態のすべてにおいて、プライミングされたスレーブは、それがプライミングされ、データパケットが到来したときに、データストローブ出力信号だけでなくデータ出力信号をも駆動する責任を有するものとすることもできる。しかし、クラスタマスタは、どのスレーブ(もしあれば)がプライミングされるかに関係なくクラスタの入力セグメントからその出力セグメントにコマンドパケットを回送する責任を依然として有する。
実施形態の他の相当するグループにおいて、プライミングされたデバイスは、一時的マスタになり、リードデータをデータパケット内に現在挿入しているかどうかに関係なく、入力セグメントから出力セグメントにコマンドパケットだけでなくデータパケットも回送する責任を有することになる。クラスタマスタは、プライミングされたデバイスがもはやプライミングされなくなったときにクラスタのデバイス0に戻ることができる。ネットワークプロトコルの詳細に応じて、これは、データパケットの末尾にあるか、プライミングされたスレーブデバイスがリードデータを挿入したデータパケットの末尾の後の新しいコマンドパケットの先頭にあるか、または他の何らかの条件とすることが可能である。これが非プライミング状態に戻ることは、すでに説明されている方法のどれかによってクラスタマスタに伝えられるか、またはクラスタマスタによって暗黙のうちに理解されうる。
他の代替形態において、一時的マスタステータスは、プライミングされなくなった後でもプライミングされたデバイスに渡されたままであり、クラスタ内の他の何らかのスレーブがプライミングされるときが来るまでそのままである。そのときが来たら、一時的マスタステータスは、新規にプライミングされたデバイスに移され、クラスタ内の他の何らかのデバイスがプライミングされるまでそのデバイスに渡されたままになる。この一組の実施形態において、プライミングされたステータスの通信は、一芯導線のリングを使って、または共有線によって行うことができる。前者の場合には、新規にプライミングされたデバイスは、クラスタ内一芯導線リングを下って立ち上がりエッジを送る(図9を参照)。リンク内のそれぞれのデバイスは、その立ち上がりエッジをクラスタ内リング内の次のスレーブに回送する。その立ち上がりエッジが現在の一時的マスタに達したら、一時的クラスタマスタステータスを放棄し、その立ち上がりエッジをクラスタ内の次のスレーブに回送する。立ち上がりエッジが新規にプライミングされたスレーブに戻った場合、これは、現在では、一時的クラスタマスタステータスを有すること、および現在では、コマンドおよびデータパケットをクラスタの出力セグメントに回送する責任を有することは確実である。プライミングされたステータスおよび一時的クラスタマスタステータスの伝達およびアービトレーションを行うための他の信号伝達規約および相互接続トポロジは、当業者には明らかなものであろう。
少なくとも1つの実施形態では、1つのパケットの先頭は、その前のパケットの末尾に少なくとも1/2サイクルだけあけて続く。このギャップがあることで、データが転送されていない間にクラスタがクラスタの出力セグメントのいくつかの要素のすべてを駆動する責任を移す機会が必ず生じる。
あるいは、アウトバウンドセグメントで使用される信号伝達技術は、ワイヤードAND型である。この種類の信号伝達技術では、複数のデバイスが信号を駆動する場合、受信された値は2つの駆動値の論理ANDである。例えば、外部プルアップ抵抗を備えるオープンコレクタドライバは、ワイヤードAND信号伝達技術の一例であり、2つの駆動デバイスのいずれかが出力信号をLowレベルに引き下げた場合、受信値はLowレベルとなる。他のワイヤードANDおよびそれと対をなすワイヤードOR信号伝達技術は、当業者によく知られている。
これらの実施形態では、クラスタマスタは、出力セグメントを連続的に駆動し、図8のネットワークの場合とまったく同様に、受信コマンドおよびデータパケットを出力セグメントにコピーする。非クラスタマスタスレーブは、リードデータを送信セグメントのデータ出力ライン上に送り出し、コントローラによってそこに置かれたデータを上書きするだけである。コントローラは、データパケット内のデータとプライミングされたスレーブからのリードデータとの論理ANDをとったときに、コントローラに到達する結果データが、正確に、プライミングされたデバイスからのリードデータとなるようにすべての送信データパケットを1で埋める。スレーブは、クラスタ内の相手と通信する必要はない。それらがクラスタマスタであるかないかだけを認識すればよい。他のワイヤード型信号伝達技術を使用する相当する実施形態では、コントローラからのアウトバウンドデータパケットに挿入される初期値は、信号伝達技術によって実装される論理関数の恒等値で埋められる。
すべての実施形態において、リング内のそれぞれのデバイスは、アドレスによって一意に識別される。少なくとも1つの実施形態において、上述のように、スレーブは、それぞれのクラスタ内で一意的であるデバイスIDを有する。少なくとも1つの実施形態では、それぞれのスレーブは、専用のID入力ライン(本数はクラスタIDとデバイスIDの合併におけるビットの数に等しい)上の電圧を感知することによってそのクラスタIDおよびデバイスIDを決定する。
デバイスIDは、ディジーチェーンでクラスタ内のデバイスのそれぞれを通るリセット信号を利用することによってリセット後にセットできることに留意されたい。すべてのスレーブは、リセット入力信号およびリセット出力信号の両方を有する。クラスタマスタスレーブのリセット入力は、大域的システムリセットに接続することができる。それぞれのクラスタマスタのリセット出力信号は、1のデバイスIDで終わるそれらの各クラスタ内のスレーブのリセット入力信号に接続され、以下同様に接続することができる。リングサブシステムは、リセットの単純なHighからLowへの遷移でリセット状態から出る。それぞれのクラスタ内の第1のデバイスは、リセット入力上のその単純な単一遷移を、それが対応するクラスタマスタであること、およびそのデバイスIDが0であることの指標として認識する。次いで、それぞれのクラスタマスタは、HighからLowへ、LowからHighへ、そして再びHighからLowへの一連の3つの遷移でリセット出力をデアサートする。次のデバイスは、リセット上のその一連の3つの遷移を、それがクラスタ内の第2のデバイスであること、およびしたがってそのデバイスIDが1であることの指標として認識する。
このパターンは、続けられ、それぞれのデバイスがリセット入力における遷移の回数をカウントして、自デバイスIDを決定し、次いで、遷移の回数を2だけ増やして、必ず次のデバイスに1だけ大きいデバイスIDを割り当てるようにする。デバイスIDがすべてセットされた後、クラスタID値も、デバイスIDをセットすることができる同じ方法でセットすることができ、リングがリセットされた後、コントローラは、すべてゼロとともにリングの下りへ特別なパケットを送信する。ネットワーク全体の中のすべてのスレーブは、この値をそのクラスタIDとみなす。それぞれのクラスタのクラスタマスタは、その特別なパケット内の値を増分してから、そのパケットを次のクラスタへ送信する。あるいは、コントローラは、特別なパケットを他の何らかの値で埋めることができ、クラスタマスタは、次のクラスタのクラスタIDを生成するために特別なパケット内の値を増分するか、減分するか、または他の何らかの方法で操作することができる。当業者であれば、リセット信号の意味が発明にとって重要なことでないことを理解するであろう。
図10は、他の例示的な実施形態による他のクラスタリングネットワーク1000の図を示している。ネットワーク1000は、コントローラ1010および3つのクラスタ1011〜1013を備える。クラスタは、中に、それぞれ4つのスレーブ1020〜1023、3つのスレーブ1030〜1032、および2つのスレーブ1040〜1041を有しているが、ここでもまた、本発明は、特定の一連のクラスタまたは1クラスタ当たりのスレーブに限定されないことに留意されたい。図10の構成において、一時的クラスタマスタステータスのアービトレーションを行うために使用されるクラスタ内リングは、デバイスIDを伝達するために使用される。すべてのスレーブは、入力としてリセット入力を有する。クラスタマスタでないスレーブはすべて、これらの入力を接地している。クラスタマスタでは、そのリセット入力の入力端子が大域的リングリセットに接続されている。リセット入力がHighからLowに遷移したことを認識した後、クラスタマスタは、そのステータスをクラスタマスタとして認識し、そのデバイスIDをゼロにセットし、相当する増大パルスストリームをクラスタ内リングを下って送信し、クラスタ内の他のすべてのデバイスのクラスタIDを順次初期化して行く。
他の実施形態では、クラスタマスタ内のそれぞれのクラスタ内のどのデバイスがワードワイヤードデバイスであるかを専用信号を使用して示す。クラスタIDをセットすることについて上で説明されている手順を使用して、クラスタIDが最初にセットされ、その後、ここでもまた、デバイスIDをセットすることについて上で説明されている手順を使用して、デバイスIDがセットされる。他の実施形態では、当業者には明らかな技術により、デバイスIDを初期化するために、リセット信号および一時的クラスタマスタアービトレーション信号とは別の専用の一組の信号が使用される。
次に図11Aを参照すると、スタックとして垂直に積み重ねられたマルチチップモジュール1100が示されており、そこでは、スタック内すべてのデバイス1110〜1113は単一クラスタを構成する。入力セグメントは、片側のすべてのデバイスに到来し、出力セグメントは、モジュールの他方の側から出る。図11Bは、金属線が一方のデバイス上の入力セグメントボンディングパッドを縦方向に隣接するデバイス上のボンディングパッドに接続し、またスタックの出力セグメント側の相当する一組の接続部と接続するという点でモジュール1100と異なる代替モジュール1150内のデバイス1110〜1113の同じスタックを示している。このような実装において、スタックは、複数のクラスタ、1つまたは複数のクラスタ、およびコントローラなどを備えることができる。
少なくとも1つの知られているリング型ネットワークでは、どれかのデバイスが故障した場合に、コントローラとすべてのデバイスとの間の往復通信は途絶える。しかし、本発明の実施形態によれば、非クラスタマスタが完全に機能しなくなった場合でも、通信は妨げられることなく継続する。故障デバイスは、プライミングされたインジケータを決してアサートしない。故障デバイスがプライミングされたことを連続的にアサートするようにして機能しなくなった場合、そのクラスタのデバイスと通信する機能は禁止されうる。しかし、他のクラスタとの通信は影響を受けない。クラスタマスタが故障した場合、往復通信は中断される。
図12は、リング毎に1つのデバイスが故障しても機能できる代替実施形態を示している。その中のそれぞれのスレーブは、2つのクラスタ内出力(次出力およびスキップ出力と称される)ならびに次入力およびスキップ入力と称される2つのクラスタ内入力を有する。それぞれのデバイスの次出力は、クラスタ内の論理的に次のデバイスの次入力に接続され、最後のデバイスの次出力は、第1のデバイス-通常はクラスタマスタであるデバイス-の次入力に接続される。したがって、次信号は、単純なクラスタ内リングを形成する。
それぞれのデバイスのスキップ出力は、クラスタ内の1つおいて次のデバイスのスキップ入力に接続される。最後から1つ前のスレーブのスキップ出力は、クラスタ内の第1のスレーブのスキップ入力に接続され、クラスタ内の最後のスレーブのスキップ出力は、クラスタ内の第2のスレーブのスキップ入力に接続される。このフォールトトレラントの実施形態では、それぞれのフォールトトレラントクラスタは、少なくとも2つのスレーブをその中に有し、したがって、スキップ信号を介してどれが1つおいて次のスレーブであってそれがどれに接続するかが常に明確である。クラスタ内の第1の2つのスレーブのリセット入力信号は、一次リセットおよびバックアップリセットと称される2つのリング大域的な信号に接続される。
デバイスIDの初期化および割当ては以下のように進む。コントローラは、一次リセットをHighレベルにし、それぞれのクラスタ内の第1のスレーブによって認識される十分な時間の間、Highレベルに保つ。次いで、この第1のスレーブは、自分自身をクラスタマスタであるものとして割り当て、そのデバイスIDを0にセットする。次いで、次出力およびスキップ出力をHighレベルにし、クラスタ内の他のすべてのスレーブはスキップ入力または次入力上のHighレベルをスキップ出力と次出力の両方に伝搬し、それら自体をリセット状態にする。
一次リセットがLowレベルに下がると、クラスタマスタは、立ち下がりエッジを認識して、3つの遷移からなるパルス列を次出力で第2のデバイスに送り(HighレベルからLowレベルに、LowレベルからHighレベルに、次いで再びHighレベルからLowレベルにする)、スキップ出力で5つの遷移からなるパルス列を送る。クラスタ内の他のすべてのスレーブは、以下のルールに従う。次入力またはスキップ出力が長期間にわたってHighレベルのときにはリセット状態に入り、スレーブのデバイスIDおよびクラスタIDをクリアし、リセット状態に入っているときには、次入力とスキップ入力の両方で遷移列がないか監視する。遷移列が、いずれかの信号で入ってきた場合、遷移の数をカウントし、1を引いて、2で割って、デバイスIDを結果にセットする。いずれの入力でも、その後の遷移列を無視する。デバイスIDがセットされている場合、次出力上で2×デバイスID+3の長さの次出力上の遷移列を送り、スキップ出力上で2×デバイスID+遷移数5の長さの遷移列を送る。その後、通常オペレーションモードに入り、上述のようにクラスタIDをセットする特別なパケットが来ないかインバウンドセグメントを監視する。クラスタマスタは、クラスタ内のデバイスの個数を知るために次入力およびスキップ入力で遷移列を監視することができる。
これの後、コントローラが、パケットがリング上の行けるところまで行くことを確認できない場合、一次クラスタマスタの1つが、通常オペレーションを妨げる形でマスタが故障しているという意味で死んでいる可能性がある。どの場合も、バックアップセットを使用して再初期化すべきである。これは、それぞれのクラスタ内の第2のスレーブをデバイスID 0を持つクラスタマスタとなるようにセットする。
この実施形態を使用すると、リング毎に死んでいるスレーブが1つある場合のオペレーションが容易になる。クラスタ毎に最大1つのスレーブの故障があっても機能する関係する実施形態は、コントローラがクラスタ毎に一次リセットまたはバックアップリセットを使用できることを除いて同じである。そのようなものとして、第1のクラスタ上の第1のスレーブおよび第2のクラスタ内の第2のデバイスの両方に不具合があった場合、コントローラは、それに応じて2つのクラスタ内のクラスタマスタをそのまま別々に割り当てることができる。クラスタ毎に複数のデバイス故障が生じている場合のオペレーションを容易にする、この概念の拡張を用いた追加の実施形態も可能である。
図12のフォールトトレラントクラスタは、同じ前述のプロトコルによってリング内の前のクラスタ(またはコントローラ)および次のクラスタ(またはコントローラ)と通信するので、単一のリングが、フォールトトレラントクラスタと非フォールトトレラントクラスタの混合を含みうる。
図13は、例示的な実施形態によりネットワーク内で使用することができ、「Non-volatile Memory System」という表題の米国仮特許出願第60/902,003号においてさらに詳しく開示されているデバイス1300の図である。デバイス1300は、この場合は、入力データバスからなる1つの入力ポートと、入力データバス上に情報が流れているときにそのことを示すために使用される2つの入力ストローブ信号を有する。しかし、データバスセグメントは4ビット幅であることが示されているけれども、本発明はデータバス幅に関係なく動作可能であるため、データ幅は1ビット以上の任意の幅とすることができる。デバイスは、出力データバスからなる1つの出力ポートと、データがスレーブによって出力データバス上に送り出されているときにそのことを示す2つの出力ストローブ信号を有する。ここもまた、この図および他のすべての図における4ビットの出力データバス幅は、単なる例であり、本発明の範囲を示すものではない。入力ポート、出力ポートに加えて、この特定のデバイスは、少数の追加の非電力信号を有する。デバイスは、クロック入力(この場合、シングルエンド型であるが、潜在的には差動型でもある)、デバイスを知られている初期状態に初期化するリセット入力、および入力ポートおよび出力ポートをオンにし、それによりリングに沿って通信を可能にするために使用されるチップイネーブル入力も有する。
図14は、他の例示的な実施形態による他のクラスタリングネットワーク1400の図を示している。ネットワーク1400は、コントローラ1410および4つのクラスタ1411〜1414を備える。クラスタは、中に、それぞれ4つのスレーブ1420〜1423、3つのスレーブ1430〜1432、1つのスレーブ1440、および2つのスレーブ1450〜1451を有しているが、ここでもまた、本発明は、特定の一連のクラスタまたは1クラスタ当たりのスレーブに限定されないことに留意されたい。図14による例は、スレーブアドレッシングがリニアな割り当てであり、クラスタ番号およびクラスタ内デバイスIDで構成されていないことを特徴とする。この代替形態は、デバイスアドレスに利用できるビットの数が少なすぎて2つの異なる部分に分割するとクラスタの個数の最大値またはクラスタ毎のデバイスの最大数のいずれかを不当に制約することになる場合に好ましいものである。この場合、デバイスアドレスは、ディジーチェーンでリング内のすべてのデバイスを通る単一ビットシリアルスキャンを使ってリセット後にセットされるが、他のそのようなメカニズムも、当業者にとっては、過度の実験を行うことなく明らかであろう。この実施形態では、Highレベルに引き上げられた専用信号は、それぞれのクラスタ内のどのデバイスが初期または永久的クラスタマスタに対するものであるかを示す。コントローラは、このスキャンチェーンを使用して、デバイスアドレスを初期化し、次いで、すべてのデバイスに対し、それらがクラスタマスタであるかそうでないかを問い合わせて、正確なネットワークトポロジを決定する。適宜、トポロジが決定された後、コントローラは、クラスタ内のデバイスのデバイスアドレスをクラスタマスタに知らせることができ、したがって、クラスタマスタは応答する必要のあるデバイスアドレスを認識する。他の代替形態では、クラスタマスタは、クラスタ内の非マスタスレーブに問い合わせを行って、どのデバイスが各クラスタ内にあるかを判定することができる。他の代替形態では、クラスタマスタは、各クラスタ内のデバイスのデバイスアドレスを知る必要はなく、次のデータパケット上のデータ出力に対してプライミングされていることを示すそれらのスレーブからの指標に基づいてその挙動を変えるだけである。
説明されている実施形態のいくつかの適応形態および修正形態が形成されうる。したがって、上述の実施形態は、例示的であり、制限するものではないと考えられる。
400 リング型トポロジ相互接続ネットワーク
410 コントローラまたはマスタデバイス
411〜415 メモリまたは他のメモリまたは非メモリスレーブデバイス
500 リング型トポロジネットワーク
510〜513 デバイス
800 クラスタリングネットワーク
810 コントローラ
811〜814 クラスタ
820〜823 スレーブ
830〜832 スレーブ
840 スレーブ
850〜815 スレーブ
1000 クラスタリングネットワーク
1010 コントローラ
1011〜1013 クラスタ
1020〜1023 スレーブ
1030〜1032 スレーブ
1040〜1041 スレーブ
1100 マルチチップモジュール
1110〜1113 デバイス
1150 代替モジュール
1300 デバイス
1400 クラスタリングネットワーク
1410 コントローラ
1411〜1414 クラスタ
1420〜1423 スレーブ
1430〜1432 スレーブ
1440 スレーブ
1450〜1451 スレーブ

Claims (28)

  1. クラスタリングネットワーク構成で接続された複数のデバイスを備えるシステムであって、
    入力および出力セグメントに相互接続されている複数のスレーブデバイスとパケット通信を行うコントローラデバイスを備え、
    前記の入力および出力セグメントはリング型構成で相互接続され、
    前記スレーブデバイスの少なくとも一部は、並列接続され、これにより、同じ入力セグメントおよび同じ出力セグメントを共有する複数のスレーブデバイスからなるクラスタを形成するシステム。
  2. 前記スレーブデバイスは、デバイスIDを使用して前記コントローラデバイスによってアドレッシングされる請求項1に記載のシステム。
  3. 前記デバイスIDは、動作中にリセットされうるか、または再割り当てされうる請求項2に記載のシステム。
  4. 前記スレーブデバイスは、クラスタIDとデバイスIDとの組み合わせを使用して前記コントローラデバイスによってアドレッシングされる請求項1に記載のシステム。
  5. 前記デバイスID、前記クラスタID、またはこれらの両方は、動作中にリセットされうるか、または再割り当てされうる請求項4に記載のシステム。
  6. 1つのデバイスが1つのクラスタマスタとして指定されている1つのクラスタを備え、前記クラスタマスタは前記クラスタ内の高々1つのスレーブが接続先の前記出力セグメントを駆動するようにそのクラスタの前記スレーブを調整する動作が可能である請求項1に記載のシステム。
  7. 前記クラスタの前記スレーブは、前記出力セグメントを駆動するように特定のスレーブがイネーブルされていることを前記クラスタマスタに単線で伝達する請求項6に記載のシステム。
  8. 前記クラスタの前記スレーブは、マルチソースシングルデスティネーション一芯導線上でクラスタマスタと通信する請求項6に記載のシステム。
  9. 前記クラスタマスタは、前記クラスタ内のすべてのスレーブをターゲットとするコマンドのすべてを解釈し、これにより、どのスレーブがプライミングされているかを、前記スレーブから情報を直接受信することなく前記クラスタマスタが判定することができる請求項6に記載のシステム。
  10. 前記クラスタマスタは、どのスレーブ(もしあれば)がイネーブルされているかに関係なく前記入力セグメントから前記出力セグメントにコマンドパケットを回送するように動作可能である請求項6に記載のシステム。
  11. 前記クラスタマスタは、どのスレーブ(もしあれば)がイネーブルされているかに関係なく前記入力セグメントから前記出力セグメントにコマンドパケットを回送するように動作可能である請求項6に記載のシステム。
  12. イネーブルされたデバイスは、一時的クラスタマスタになり、前記入力セグメントから前記出力セグメントへコマンドパケットだけでなくデータパケットも回送する責任を有することになる請求項6に記載のシステム。
  13. 前記一時的マスタステータスは、イネーブルされなくなった後でも前記クラスタ内の他の何らかのスレーブがイネーブルされるようなときが来るまでイネーブルされたデバイスに渡されたままである請求項12に記載のシステム。
  14. 1つのパケットの先頭は、前のパケットの末尾に少なくとも1/2サイクルだけあけて続き、これによりデータの転送が行われていない間にクラスタが前記クラスタの出力セグメントのいくつかの要素のうちのすべてを駆動する責任を移すことができる請求項1に記載のシステム。
  15. クラスタ内の前記デバイスは、ワイヤードAND型構成で前記出力セグメントに接続される請求項1に記載のシステム。
  16. クラスタ内の前記デバイスは、フォールトトレラントクラスタ内リングを形成する2つのクラスタ内出力および2つのクラスタ内入力を有する請求項1に記載のシステム。
  17. 前記スレーブデバイスのうちの1つまたは複数は、マルチチップモジュール(MCM)で物理的に実装される請求項1に記載のシステム。
  18. 前記MCMは、コントローラデバイスをさらに備える請求項17に記載のシステム。
  19. 前記MCMは、複数のレベルを持つ垂直方向に集積されたスタックとして実装され、
    それぞれのクラスタの前記デバイスは、異なるレベルに配置される
    請求項17に記載のシステム。
  20. 前記MCMは、複数のレベルを持つ垂直方向に集積されたスタックとして実装され、
    前記スタック内のすべての前記デバイスは、単一クラスタを構成する
    請求項17に記載のシステム。
  21. 前記スレーブデバイスのうちの少なくともいくつかは、メモリデバイスである請求項1に記載のシステム。
  22. ネットワーク通信の方法であって、
    共通入力セグメントおよび共通出力セグメントを共有してリング型ネットワーク内にスレーブデバイスのクラスタを形成するように並列接続された複数のスレーブデバイスを備えるステップと、
    デバイスID、クラスタID、またはこれらの組み合わせを使用して前記スレーブデバイスをアドレッシングし、前記リングに沿ってコマンドまたはデータパケットの経路指定を行うステップとを含む方法。
  23. 動作中にクラスタID、デバイスID、または両方をリセットまたは再割り当てするステップを含む請求項22に記載の方法。
  24. クラスタ内のデバイスを、そのクラスタの前記スレーブを調整して前記クラスタ内の高々1つのスレーブをそのクラスタによって共有される前記出力セグメントを駆動するようにイネーブルする動作が可能なクラスタマスタとして指定するステップを含む請求項22に記載の方法。
  25. 前記クラスタマスタは、どのスレーブ(もしあれば)がイネーブルされているかに関係なく前記入力セグメントから前記出力セグメントにコマンドパケットを回送するように動作可能である請求項24に記載の方法。
  26. クラスタ内の高々1つのスレーブが前記共有される出力セグメントを駆動していることを確実にするステップを含む請求項22に記載の方法。
  27. コントローラデバイスがリング型構成で入力および出力セグメントに相互接続されている複数のスレーブデバイスとパケット通信を行うタイプのネットワークトポロジにおいて、
    前記スレーブデバイスの少なくとも一部を並列接続し、これにより、同じ入力および出力セグメントを共有するクラスタを形成するステップと、
    前記コントローラデバイスを使用し、デバイスID、クラスタID、またはこれらの組み合わせを使用して前記スレーブデバイスをアドレッシングするステップとを含む改善。
  28. 半導体デバイスであって、
    入力ポートと、
    出力ポートと、
    メモリストレージとを備え、
    前記デバイスはクラスタ内の高々1つのデバイスが共有されている出力セグメントを一度に駆動しているようにクラスタ内の非マスタスレーブを調整することができるクラスタリングネットワーク内のクラスタマスタとして動作可能である
    半導体デバイス。
JP2010542225A 2008-01-11 2008-11-26 クラスタリングネットワークトポロジ Pending JP2011509634A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/013,148 US8594110B2 (en) 2008-01-11 2008-01-11 Ring-of-clusters network topologies
PCT/US2008/084869 WO2009088574A1 (en) 2008-01-11 2008-11-26 Ring-of-clusters network topologies

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013187109A Division JP5678310B2 (ja) 2008-01-11 2013-09-10 クラスタリングネットワークトポロジ

Publications (1)

Publication Number Publication Date
JP2011509634A true JP2011509634A (ja) 2011-03-24

Family

ID=40364475

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010542225A Pending JP2011509634A (ja) 2008-01-11 2008-11-26 クラスタリングネットワークトポロジ
JP2013187109A Expired - Fee Related JP5678310B2 (ja) 2008-01-11 2013-09-10 クラスタリングネットワークトポロジ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013187109A Expired - Fee Related JP5678310B2 (ja) 2008-01-11 2013-09-10 クラスタリングネットワークトポロジ

Country Status (7)

Country Link
US (2) US8594110B2 (ja)
EP (1) EP2243257A1 (ja)
JP (2) JP2011509634A (ja)
KR (1) KR101507196B1 (ja)
CN (1) CN101971574B (ja)
TW (1) TWI457765B (ja)
WO (1) WO2009088574A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017163683A1 (ja) * 2016-03-24 2017-09-28 株式会社神戸製鋼所 通信制御システム及び通信制御方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688652B2 (en) * 2007-07-18 2010-03-30 Mosaid Technologies Incorporated Storage of data in memory via packet strobing
US8392614B2 (en) 2009-07-27 2013-03-05 Sandisk Il Ltd. Device identifier selection
US8312088B2 (en) * 2009-07-27 2012-11-13 Sandisk Il Ltd. Device identifier selection
KR101476112B1 (ko) * 2009-12-17 2014-12-23 가부시끼가이샤 도시바 호스트 컨트롤러 및 반도체 디바이스
DE102010041427A1 (de) * 2010-09-27 2012-03-29 Robert Bosch Gmbh Verfahren zum Übertragen von Daten
CN102346726A (zh) * 2011-09-20 2012-02-08 四川卫士通信息安全平台技术有限公司 板载多芯片高速环形互联方法
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
JP2014048979A (ja) * 2012-08-31 2014-03-17 Fujitsu Ltd 情報処理システム、識別情報決定装置、識別情報決定方法、及びプログラム
US9740178B2 (en) * 2013-03-14 2017-08-22 GM Global Technology Operations LLC Primary controller designation in fault tolerant systems
KR101816944B1 (ko) * 2013-10-02 2018-01-09 엘에스산전 주식회사 UART Ring 통신의 ID 자동 설정방법
US9672182B2 (en) * 2014-08-21 2017-06-06 Infineon Technologies Ag High-speed serial ring
KR102023534B1 (ko) * 2015-04-17 2019-09-23 엘에스산전 주식회사 슬레이브 디바이스 및 이의 제어 방법
US10567195B2 (en) 2015-09-30 2020-02-18 Hewlett Packard Enterprise Development Lp Network nodes in a ring network
WO2017066642A1 (en) * 2015-10-16 2017-04-20 Hubbell Incorporated Modular bay luminaire
KR102134801B1 (ko) 2016-02-26 2020-07-16 마이크로 모우션, 인코포레이티드 2개 또는 그 초과의 슬레이브들과의 통신
DE102017208836A1 (de) * 2017-05-24 2018-11-29 Wago Verwaltungsgesellschaft Mbh Statussignalausgabe
US10488892B1 (en) * 2017-10-20 2019-11-26 Smart Modular Technologies, Inc. Portable module system
US10585689B1 (en) * 2017-12-20 2020-03-10 Cisco Technology, Inc. Shared memory interface for application processes
US10872291B2 (en) * 2017-12-22 2020-12-22 Alibaba Group Holding Limited On-chip communication system for neural network processors
DE102021105919A1 (de) * 2021-03-11 2022-09-15 Ebm-Papst Mulfingen Gmbh & Co. Kg Adressierbares Master-Slave-System sowie Verfahren zum Adressieren von Slave-Einheiten

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006202280A (ja) * 2004-12-30 2006-08-03 Nokia Inc 状態の同期化を有するクラスタのための仮想マルチキャスト経路指定

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4014A (en) * 1845-04-26 Improvement in machines for skimming liquids
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4617566A (en) * 1983-12-15 1986-10-14 Teleplex Corporation Addressable-port, daisy chain telemetry system with self-test capability
US5243703A (en) 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
US5204669A (en) * 1990-08-30 1993-04-20 Datacard Corporation Automatic station identification where function modules automatically initialize
US5319598A (en) * 1990-12-10 1994-06-07 Hughes Aircraft Company Nonvolatile serially programmable devices
US5132635A (en) * 1991-03-05 1992-07-21 Ast Research, Inc. Serial testing of removable circuit boards on a backplane bus
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5422435A (en) 1992-05-22 1995-06-06 National Semiconductor Corporation Stacked multi-chip modules and method of manufacturing
US5379291A (en) 1992-12-29 1995-01-03 International Business Machines Corporation Apparatus for fiber distributed data interface dynamic station bypass via skipping and hopping
US5502817A (en) * 1993-04-02 1996-03-26 University Research Foundation, Inc. Ultra high speed data collection, processing and distribution ring with parallel data paths between nodes
US5323060A (en) 1993-06-02 1994-06-21 Micron Semiconductor, Inc. Multichip module having a stacked chip arrangement
US5602780A (en) * 1993-10-20 1997-02-11 Texas Instruments Incorporated Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
US5452259A (en) 1993-11-15 1995-09-19 Micron Technology Inc. Multiport memory with pipelined serial input
US5404460A (en) * 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
US5475854A (en) * 1994-01-28 1995-12-12 Vlsi Technology, Inc. Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system
DE4429433C1 (de) * 1994-08-19 1995-10-26 Siemens Ag Adreßzuordnungsverfahren
KR0142367B1 (ko) 1995-02-04 1998-07-15 김광호 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
JPH0991197A (ja) 1995-09-22 1997-04-04 Sharp Corp データ転送制御装置
US5777345A (en) 1996-01-03 1998-07-07 Intel Corporation Multi-chip integrated circuit package
US5828899A (en) 1996-01-04 1998-10-27 Compaq Computer Corporation System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port
US5941974A (en) * 1996-11-29 1999-08-24 Motorola, Inc. Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits
KR100243335B1 (ko) * 1996-12-31 2000-02-01 김영환 독립적인 리프레쉬 수단을 가지는 데이지 체인 구조의 반도체 장치
EP0891056A3 (en) * 1997-07-08 2005-06-29 Canon Kabushiki Kaisha Communication network, node apparatus and method for controlling the same
US6148364A (en) 1997-12-30 2000-11-14 Netlogic Microsystems, Inc. Method and apparatus for cascading content addressable memory devices
JPH11145996A (ja) * 1997-11-12 1999-05-28 Canon Inc 通信ネットワーク及びそこで用いる伝送制御方法
US6002638A (en) 1998-01-20 1999-12-14 Microchip Technology Incorporated Memory device having a switchable clock output and method therefor
US6144576A (en) * 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
US6304921B1 (en) 1998-12-07 2001-10-16 Motorola Inc. System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices
US7130958B2 (en) 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US6680904B1 (en) 1999-12-27 2004-01-20 Orckit Communications Ltd. Bi-directional chaining of network access ports
US6816933B1 (en) 2000-05-17 2004-11-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6317350B1 (en) 2000-06-16 2001-11-13 Netlogic Microsystems, Inc. Hierarchical depth cascading of content addressable memory devices
US6779072B1 (en) * 2000-07-20 2004-08-17 Silicon Graphics, Inc. Method and apparatus for accessing MMR registers distributed across a large asic
US6317352B1 (en) 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6853557B1 (en) 2000-09-20 2005-02-08 Rambus, Inc. Multi-channel memory architecture
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US6996644B2 (en) 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
US7043727B2 (en) * 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
US6900528B2 (en) 2001-06-21 2005-05-31 Micron Technology, Inc. Stacked mass storage flash memory package
US7280549B2 (en) 2001-07-09 2007-10-09 Micron Technology, Inc. High speed ring/bus
JP2003030993A (ja) 2001-07-17 2003-01-31 Toshiba Corp 半導体記憶装置
TW532011B (en) * 2001-09-21 2003-05-11 Jiun-Sheng Chen Network topology structure on board of computer cluster
US6928501B2 (en) 2001-10-15 2005-08-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6763426B1 (en) 2001-12-27 2004-07-13 Cypress Semiconductor Corporation Cascadable content addressable memory (CAM) device and architecture
US7062601B2 (en) 2002-06-28 2006-06-13 Mosaid Technologies Incorporated Method and apparatus for interconnecting content addressable memory devices
CA2396632A1 (en) 2002-07-31 2004-01-31 Mosaid Technologies Incorporated Cam diamond cascade architecture
KR100487539B1 (ko) 2002-09-02 2005-05-03 삼성전자주식회사 직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치
US7032039B2 (en) 2002-10-30 2006-04-18 Atmel Corporation Method for identification of SPI compatible serial memory devices
US7308524B2 (en) 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US6988173B2 (en) * 2003-05-12 2006-01-17 International Business Machines Corporation Bus protocol for a switchless distributed shared memory computer system
KR101095025B1 (ko) 2003-05-13 2011-12-20 어드밴스드 마이크로 디바이시즈, 인코포레이티드 직렬 메모리 상호접속부를 통해 복수의 메모리 모듈에결합된 호스트를 포함하는 시스템
US7309923B2 (en) 2003-06-16 2007-12-18 Sandisk Corporation Integrated circuit package having stacked integrated circuits and method therefor
KR100557068B1 (ko) 2003-08-06 2006-03-03 삼성전자주식회사 실내 백본망을 위한 ieee 1394 기반의 단방향 링 시스템
US7031221B2 (en) 2003-12-30 2006-04-18 Intel Corporation Fixed phase clock and strobe signals in daisy chained chips
TWI264956B (en) * 2004-03-12 2006-10-21 Univ Nat Chiao Tung Method for performing access point handoff for mobile node
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7664994B2 (en) * 2004-09-08 2010-02-16 Hewlett-Packard Development Company, L.P. High-availability cluster node removal and communication
US6950325B1 (en) 2004-10-07 2005-09-27 Winbond Electronics Corporation Cascade-connected ROM
US7738871B2 (en) * 2004-11-05 2010-06-15 Interdigital Technology Corporation Wireless communication method and system for implementing media independent handover between technologically diversified access networks
US20060104270A1 (en) * 2004-11-16 2006-05-18 Inching Chen Method and apparatus for communicating within a segmented network
US7340618B2 (en) * 2005-03-16 2008-03-04 International Business Machines Corporation System and method for regulating system power by controlling memory usage based on an overall system power measurement
TWI283978B (en) * 2005-09-27 2007-07-11 Alpha Networks Inc A dynamic wireless meshing networks supporting load balance and flow control
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US8069328B2 (en) 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US8364861B2 (en) 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US7498991B2 (en) 2007-07-02 2009-03-03 Cirocomm Technology Corp. Miniature combo built-in antenna structure
US8397011B2 (en) * 2007-10-05 2013-03-12 Joseph Ashwood Scalable mass data storage device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006202280A (ja) * 2004-12-30 2006-08-03 Nokia Inc 状態の同期化を有するクラスタのための仮想マルチキャスト経路指定

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017163683A1 (ja) * 2016-03-24 2017-09-28 株式会社神戸製鋼所 通信制御システム及び通信制御方法

Also Published As

Publication number Publication date
JP2014014160A (ja) 2014-01-23
CN101971574A (zh) 2011-02-09
EP2243257A1 (en) 2010-10-27
US8594110B2 (en) 2013-11-26
WO2009088574A1 (en) 2009-07-16
KR20100126665A (ko) 2010-12-02
WO2009088574A9 (en) 2009-10-08
TW200939036A (en) 2009-09-16
JP5678310B2 (ja) 2015-03-04
US8902910B2 (en) 2014-12-02
KR101507196B1 (ko) 2015-03-31
CN101971574B (zh) 2015-01-21
US20140115190A1 (en) 2014-04-24
TWI457765B (zh) 2014-10-21
US20090180483A1 (en) 2009-07-16

Similar Documents

Publication Publication Date Title
JP5678310B2 (ja) クラスタリングネットワークトポロジ
US7409491B2 (en) System memory board subsystem using DRAM with stacked dedicated high speed point to point links
US9443561B1 (en) Ring networks for intra- and inter-memory I/O including 3D-stacked memories
US9043526B2 (en) Versatile lane configuration using a PCIe PIe-8 interface
US9838017B2 (en) Methods and systems for high bandwidth chip-to-chip communcations interface
JP2022023108A (ja) 改善された二次相互接続ネットワークを備えたマルチプロセッサシステム
US7952944B2 (en) System for providing on-die termination of a control signal bus
US9049124B2 (en) Zero-latency network on chip (NoC)
EP1716474B1 (en) Adaptive-allocation of i/o bandwidth using a configurable interconnect topology
US7593288B2 (en) System for providing read clock sharing between memory devices
JP4704050B2 (ja) データ転送システム及び電子機器
CN112703488B (zh) 用于半导体封装的串行接口
JP2013192265A (ja) システムおよび情報通信方法
WO2010000622A1 (en) Enhancing bus efficiency in a memory system
CN112513827A (zh) 使用hbm物理接口的高带宽芯片到芯片接口
US7533212B1 (en) System memory board subsystem using DRAM with integrated high speed point to point links
KR20050118754A (ko) 데이터 헤더 오류 체크를 통한 버스 사용 효율 향상 방법
US11115147B2 (en) Multichip fault management
US7426596B2 (en) Integrated circuit with a scalable high-bandwidth architecture
WO2024102915A1 (en) Pcie retimer providing failover to redundant endpoint using inter-die data interface
US20160147696A1 (en) Configuring a communication interconnect for electronic devices
WO2013185293A1 (zh) 一种串行总线存储器、串行总线传输系统及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130418

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130514