(57)【特許請求の範囲】
【請求項１】
貫通ビアで接続して積層された複数のノード間のパケット交換システムであって、
貫通ビアは、ノードと同じ数又はそれ以上の数のノード専用バスを含むパケット交換用多重バスを構成し、
各ノード専用バスは、一つの制御用バスと該制御用バスにより制御される一つ以上のパケット転送用バスとを含み、
各ノード専用バスは、各々に割り当てられた一つのノード専用のパケット受信バスとして、また該一つのノード以外のノードのパケット送信バスとして使用され、該一つのノードは、送信ノードからの要求に応じて前記一つ以上のパケット転送用バスの使用権を該送信ノードに許可することによりパケット転送を行う、パケット交換システム。
【請求項２】
ノードｉ（又はｊ）は、
パケット処理回路と、
ノードｉの前記ノード専用バスに接続され、他のノードｊ（又はｉ）からのパケット入力を行う入力回路と、
他のノードｊの前記ノード専用バスに接続され、他のノードｊへのパケット出力を行う出力回路と
を備える、請求項１に記載のシステム。
【請求項３】
ノードｉの前記入力回路は、
ノードｉの前記ノード専用バスにおける前記制御用バスを制御するアービタ及びバス選択回路を有する入力制御回路と、
ノードｉの前記ノード専用バスにおける前記パケット転送用バスを通してノードｊから送られてくるデータを受信し前記パケット処理回路に送るシェイクハンド回路と
を備える、請求項２に記載のシステム。
【請求項４】
ノードｉの前記アービタ及びバス選択回路は、ノードｊと１対１に接続された前記制御用バスのパケット転送要求線Reqに応じて、ノードｉの空いている前記パケット転送用バスを探し、該パケット転送用バスの番号を、ノードｊと１対１に接続された前記制御用バスのGrant線の中で前記要求に対応したGrant線をオンにして転送要求元ノードｊに送る、請求項３に記載のシステム。
【請求項５】
ノードｊからパケット宛先であるノードｉへパケット転送する場合において、ノードｊは、ノードｊの前記ノード専用バスにおける前記制御用バスのうちの一本のパケット転送要求線Reqをオンにして、前記要求をノードｉに送り、前記制御用バスのGrant線がオンになるのを待ち、該Grant線がオンになりノードｉからバスの使用許可が出ると、前記パケット転送要求線Reqをオフにし、許可されたノードｉの前記パケット転送用バスと接続する、請求項１乃至４のいずれかに記載のシステム。
【請求項６】
ブロードキャスト／マルチキャスト通信を行うことのできる１対多専用バスをさらに備える、請求項１乃至５のいずれかに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重バス構成を持つ積層ノード間のパケット交換システムに関する。
【背景技術】
【０００２】
インターネットにおけるパケット通信のトラフィックの増加率は著しく、ルータやスイッチ等のパケット交換システムの能力増加を上回っている。また、インターネットに関連する情報機器の消費電力の増加も無視できない。このため、コンパクトな実装などによるパケット交換システムの高機能化と低消費電力化は重要な課題となっている。特に、使用個数の多いミドル級のパケット交換システムの低消費電力化が望まれている。
【０００３】
パケット交換システムにおいて、複数のノード（マルチプロセッサを構成するプロセッサモジュールや、ルータを構成するノードなど）間の通信をバックプレーンを通して実現する方法としては、古くは共有バスが使われてきた（図１ａ参照）。例えば、S100バス、マルチバス、EUROBUSなどが挙げられる。
【０００４】
しかしながら、これらは通信容量が限られてくるため、近年ではルータやマルチプロセッサのバックプレーンに見られるように、スイッチモジュール部分を介して、専用のバスで通信を行う方法が主流を占めている。
【０００５】
専用バスとすることにより、通信容量は増加したが、スイッチモジュールの故障に備えるため、専用バスを２重化するなどの方法がとられ（例えば特許文献１参照）、また、バスの本数やスイッチの入出力数が限られているため、並列のデータを直列データに変換して行う方法もとられている。
【０００６】
一つのモジュールから他の全てのモジュールに直接結ぶ完全網による方式も提案されているが（図１ｂ参照）（例えば非特許文献１参照）、バスの本数や必要バッファが著しく増加することから、あまり採用されていない。また、バックプレーンは数１０ｃｍになることから、通信のための電力消費も無視できない。更に専用バスがハードウェア上で固定されているため、使用されていない、または使用頻度の少ないモジュール用のバスが遊んでしまう。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平1-276243号公報
【非特許文献】
【０００８】
【非特許文献１】"PICMGR 3.0 Revision 2.0 AdvancedTCAR Base Specification", 6-5 Full Mesh (pp6-5), March 18, 2005, PICMG JAPAN
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、一つまたは複数のLSIによりノードを形成し、該ノードを高密度貫通ビア（Through Silicon Via、TSV）を使用して複数個積層し、該積層ノードを多重バスから成る超並列バスで結合し、各ノードへのパケット転送専用のバスを設けて並列転送を行うバス構成とすることにより、上記従来のパケット交換システムにおける各種バス方式の問題点を解消することのできる、パケット交換システムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明は、上記課題を解決するものとして、貫通ビアで接続して積層された複数のノード間のパケット交換システムであって、
貫通ビアは、ノードと同じ数又はそれ以上の数のノード専用バスを含むパケット交換用多重バスを構成し、
各ノード専用バスは、一つの制御用バスと該制御用バスにより制御される一つ以上のパケット転送用バスとを含み、
各ノード専用バスは、各々に割り当てられた一つのノード専用のパケット受信バスとして、また該一つのノード以外のノードのパケット送信バスとして使用され、該一つのノードは、送信ノードからの要求に応じて前記一つ以上のパケット転送用バスの使用権を該送信ノードに許可することによりパケット転送を行う、パケット交換システムを提供する。
【図面の簡単な説明】
【００１１】
【図１】従来のバス構成例を示す図である。
【図２】本発明の一実施形態を示す図である。
【図３】本発明の一実施形態を示す別の図である。
【図４】ノードの入力回路の一例を示す図である。
【図５】ノードの入力制御回路の一例を示す図である。
【図６】ノードの出力回路の一例を示す図である。
【図７】アービタの一例を示す図である。
【図８】１対多専用バスを付加した一実施形態を示す図である。
【図９】共有メモリを付加した一実施形態を示す別の図である。
【発明を実施するための形態】
【００１２】
［実施形態１］
本発明の一実施形態では、例えば図２に概念的に示したように、一つ以上のLSIチップからなる複数のノードが、貫通ビア（又は貫通電極）により接続されて積層されており、この貫通ビアが、ノードと同じ数又はそれ以上の数のノード専用バスを含むパケット交換用多重バスを構成している。図２では９個のノードに対して９個のノード専用バスを図示しているが、９個より多いノード専用バスが設けられていてもよい。各ノード専用バスは、一つの制御用バスと、この制御用バスにより制御される一つ以上のパケット転送用バスとを含む。各制御用バス及びパケット転送用バスは最終的には複数本の貫通ビアにより構成される。すなわち、多数本の高密度貫通ビアが、各ノード間で積層方向に共通する領域、本実施形態では中央部を貫通するように設けられて超並列バスを構成し、この超並列バスが、複数のノード専用バスグループに分けられ、各ノード専用バスにおいてさらに一つの制御用バスと一つ以上のパケット転送用バスに分けられた多重バス構成になっている。なお、図には示していないが、外部からの入出力線や電源線等のシステム構成に必要な線も、貫通ビアを通して接続されている。
【００１３】
各ノード専用バスは、全てのノードに接続されているが、その中で、図３に例示したように、各々に割り当てられた一つのノード専用のパケット受信バスとして、またその一つのノード以外のノードのパケット送信バスとして使用される。例えばノード専用バス１は、ノード１専用のパケット受信バスとして機能するとともに、ノード２，３，４のパケット送信バスとして機能する。同様にノード専用バス２，３，４はノード２，３，４専用の受信バス、及び受信専用に設定されたノード以外のノードの送信バスとなる。
【００１４】
そして、例えばノード１は、他の送信ノード２，３，４からの要求に応じて、ノード１に割り当てられたノード専用バス１中のパケット転送用バスの使用権を、送信ノード２，３，４に許可することにより、送信ノード２，３，４との間でパケット転送を行う。他のノード２，３，４についても同様にしてパケット転送が行われる。
【００１５】
ここで、各ノードの回路構成について説明すると、まず、各ノードは、外部ネットワークと接続され、信号の物理的変換やビット同期などを行う物理インタフェースＰＨＹ、パケットの入出力を処理するパケット処理回路、データ入力の制御を行う入力回路、パケット出力を行う出力回路１〜３を備える。
【００１６】
図４は、ノードｉの入力回路構成の一例を示す。ノードｉ（例えばノード１）の入力回路は、制御用バスに接続されている５本の線(Grant/Com線)と３本のReq線を制御するノード専用バス入力制御回路、バス１〜バス３を通じて他のノードｊ（例えばノード２，３，４）から転送されてくるデータを受信し、パケット処理回路（図３参照）に送るパケット受信回路としてのシェイクハンド回路を備える。図中PMはパケット処理回路中のパケットメモリを示す。
【００１７】
図５は、図４のノードｉの入力制御回路構成の一例を示す。ノードｉ（例えばノード１）の入力制御回路は、他のノードｊ（例えばノード２，３，４）と１対１に接続された３本のパケット転送要求線Reqに応じて、空いているバスを例えば番号の小さい順に探し、そのバス番号を２ビットに符号化して共通バスCinfに出力し、同時に他のノードｊと１対１接続された３本のGrant信号の中で転送要求に対応した線をオンにして要求元ノードに送る。
【００１８】
図６は、ノードｊ（例えばノード２）のノードｉ（例えばノード１，３，４）への出力回路構成の一例を示す。この出力回路は、各ノードに、相手先のノードの数（図３では３つ）だけ設けられている。ノードｊのパケット処理回路からノードｉへの送信はこの出力回路を通じて行われる。パケット処理回路は、パケットの宛先にノードｉが含まれると判断した場合、出力回路内の出力制御回路にノードｉへの送信要求を出す。出力制御回路は、バス要求回路により一本の要求線Reqをオンにして、制御用バスを介してノードｉの入力回路内のアービタ（図４，５参照）に送り、Grant線がオンとなるのを待つ。Grant線がオンとなり、ノードｉからバスの使用許可が下りた場合には、要求線Reqをオフにし、同時に送られてきたComからの信号をバス選択レジスタBSRで受け、デコーダによりデコードして、バススイッチを制御し、パケット処理回路からのパケット出力データ線PMOとデータの読み出し制御線を与えられたノードｉのパケット転送用バス（例えばノード専用バス１のもの）に接続する。この後は所定の転送回数だけ、パケットを送信し、送信を終了する。
【００１９】
入力回路中のアービタ回路（図４参照）には、あらかじめ優先順位をつける方式、要求権利を次々に受け渡すラウンドロビン方式、ポリシに従って要求権（トークン）を受け渡す方式などがあるが、図７では、パケット処理に適していると思われる先着順方式の例を示す。図７（ｂ）はNANDフリップフロップを使用した先着順４入力アービタの構成例を示す。この構成は図７（ａ）に示した２入力アービタの合成によるものである。３入力で使用する場合には、いずれかのReqをオフとしておく。この回路では要求信号R1〜R4の中で、先に到着した順に対応する許可線G１〜G4を、エネイブル信号Enがオンになった時点で、オンにする。Gjがオンになって要求を受け付けられたノードは、Rjをオフにする。要求が受け付けられるまで、Rjはオンにしておく。要求線Reqが５以上の場合は、これと同様に４入力アービタを階層構成に組合せて実現する。なお、NANDフリップフロップにおいて、入力が同時にオンになったときの動作が不安定になる可能性があるが、一方に遅延回路を入れるなどの手法により、回避できる。
【００２０】
ここで、以上の各回路構成を持ったノード間の転送の概要を説明する。ノードｊ（例えばノード２）において、外部ネットワークから、物理インタフェースPHYを通じて送られてきたノードｉへのパケットは、パケット処理回路において、必要な処理を行った後、パケットの宛先からどのノードに該パケットを送るべきかをパケット処理回路等に予め格納されている経路情報テーブルを参照して判断し、宛先ノードをｉ（例えばノード１）と判断する。
【００２１】
次に、出力回路１〜３のうち、宛先ノードｉのノード専用バスに接続された制御用バスを通じて転送を要求して、許可を得ると同時に、ノードｉの入力回路に接続されている３本のパケット転送用バスのうちどれを使用するかの情報をCom線を通じて得る。いずれのバスも使用中で許可が得られない場合は、要求を出し続ける。許可が得られた後、パケット転送を開始し、パケットがノードｊからノードｉに転送される。ノードｉにおいては、受信パケットは一旦パケットメモリPM（Packet Memory）に蓄えられ、ヘッダ情報から送付すべき外部ネットワークを判断して、送出される。
【００２２】
ノードｊからノードｉへの転送についてさらに説明すると、
ノードｊ：パケット処理回路により、外部ネットワークから到着したパケットをパケットメモリPMOに格納する。
ノードｊ：パケット処理回路により、PMOにおけるパケットの宛先（TAG情報、また、レイヤー２ではMACアドレス、レイヤー３ではIPアドレスとこれに対応したMACアドレス）とルーティングテーブルとから、パケットの転送先となる外部ネットワークを含むノードｉ及びこれに接続された出力回路ｋ（ｋ＝１〜３）を選択する。また、転送すべき回数をパケット処理回路内のレジスタ（図示なし）に格納する。レジスタのビット長はパケットの許容最大長に応じて予め決められる。
ノードｊ：パケット処理回路ではノードiへの出力回路ｋに転送要求を送り、出力回路kでは転送要求Req jを制御用バスに出力する。
ノードｉ：入力制御回路により、転送要求Req jに対して、バスのビジー状態レジスタBBRを調べ、空いているバス（BBR のｍビット目がオフのとき、これに対応するバスとする）があれば制御用バスを通じて許可信号Grant jと指定バス番号をノードｊにCinfで知らせ、BBR mをオンにする。
ノードｊ：出力回路の制御用バスにより、許可信号Grant jと指定バス番号を受領したら、Cinfの値をBSRに記憶し、Reqｊをオフにする。許可信号が得られないときは、得られるまで、Req j をオンに保つ。
ノードｊ：出力回路内のバススイッチにより、指定バス番号に応じてPMOのパケットデータ線を指定されたバスに接続する。
ノードｊ：出力回路のバスシェイクハンド回路により制御して、データを指定バスに送信する。最初のパケットのヘッダにはパケット長を示すレジスタTiの値を含める。送信毎にTiを１減ずる。
ノードｉ：入力回路のバスシェイクハンド回路により制御して、データを受信し、パケット処理回路の入力パケットバッファPMIに送る。
ノードｊ＆ノードｉ：以上の送受信をレジスタTjが０になるまで繰り返す。
ノードｉ：受信が完了したら、バス使用状況レジスタのｍビット目BBR m をオフにする。
【００２３】
以上のとおりの本発明のパケット交換システムと前述した従来のパケット交換システムと比較すると以下のことが言える。
【００２４】
まず、従来のパケット交換システムのバックプレーンシステムは、以下の問題点がある。
１．サイズと物理的構成：縦１０ｃｍ以上、横数１０ｃｍのPCB基板を使用
２．消費電力：このため、バス駆動のための消費電力が大きい
３．バスクロック：PCBやノードとバスを結合するコネクタの性質などから、伝送バスクロックが上げられない。
４．バスの本数：バスの本数に制限がある。例えば、ミドル級ルータの典型的な例で、２００本程度
５．バスの転送方式とバックプレーンの転送容量：ハブを介した直列転送方式が主流である。スイッチ部分の故障に対処する場合は２重化が必要であり、この場合は転送容量がバスの総転送容量の２分の１となる。一方、外部バスと接続したしたとき、バックプレーンの転送容量は接続したネットワークの総転送容量以上となる必要があるため、直列バスによる転送容量は大きな問題となる。また、直列転送に伴う直並列変換やビット同期などで回路が複雑化する。
【００２５】
これに対し、本発明の多重バスシステム若しくは該多重バスシステムを備えたパケット交換システムによれば、以下の効果を実現できる。
１．サイズと物理的構成：面積はLSI一枚と同じで、高さは数１００ミクロン程度と非常に小型である。
２．消費電力：ノード間の接続のための消費電力は内部のLSI回路間の接続とほぼ同じであり、特別のバッファを必要としないため、低消費電力である。
３．バスクロック：並列バス転送のため、転送クロックを上げる必要がない。ｎ本の並列バスの使用により、１本の場合と比較するとバスクロックはｎ分の１が可能となる。
４．バスの本数：例えば、２０μｍピッチの高密度のバスのトータルの本数は、１６００本以上も可能である。貫通電極間のピッチ等によって数百本から数千本のバス本数が選択可能である。
５．バスの転送方式とバックプレーンの転送容量：スイッチ部分がなく、分散制御のため、一つのモジュールの故障で全体が機能しなくなることはない。バスを複数本使用できるので一つのバスが故障しても残りのバスで通信ができ、信頼性が高く、２重化の必要性を低減できる。また、ノードは同一のＬＳＩ（群）を積層することによって容易に２重化も可能である。また、３の特徴により、低いクロック周波数でも、容易に必要な転送容量が実現でき、送受回路も簡単で、直並列変換やビット同期の必要性がない。
【００２６】
［実施形態２（１対多専用バス）］
パケット転送において、ARP(Address Resolution Protocol)のような問い合わせ等のルータ間の情報交換には、全ルータに同じ要求を出すブロードキャスト（放送型）の送信も多く行われ、また、映像や音声などのマルチメディアデータの配信には、あるグループに同じデータを送るマルチキャストも行われる。これらブロードキャスト及びマルチメディアは、従来の固定化された専用バスによる１対１通信方式では全てのノードにデータを転送するフラッディングを行って、多数のバスを占有してしまい、通常のパケット通信に支障を与える恐れがあることから、バスの使用権獲得と転送の面からみて、効率のよい通信の実現が困難であった。
【００２７】
これに対し、本発明では、図８に例示したように、貫通ビアによる超並列バス構成を用いているため、上述したノード専用バスに加えて、１対多の通信を行う共通バスを容易に設けることができる。つまり、多数本の高密度貫通ビアを、ノード専用バスと１対多専用バスとに割り振ればよく、これによって通常のパケット通信に支障を与えずに、ブロードキャスト通信及びマルチキャストによるマルチメディア通信を実現できる。
【００２８】
ここで、上記１対多専用バスの追加構成をイーザネットに適用させる場合の一例について説明する。IPアドレスにはクラスA〜Eがあり、このうち、マルチキャストIPアドレスを扱うクラスDとしては、224.0.0.0から239.255.255.255の間にIPアドレスが与えられている。マルチキャストを行うグループには、このうち一つのIPアドレスが与えられる。グループのメンバはあらかじめ、例えばアプリケーション層により設定されるため、各ノードは受信すべきマルチキャストIPアドレスのテーブルを作成できる。また、ブロードキャストアドレスは、ホスト部がすべて「１」のIPアドレスとなる。
【００２９】
パケット処理回路では、バスの出力回路を通じてバスの使用権を得て、例えばデータ線に含まれるパケットのヘッダ部の最初にブロードキャストとマルチキャストの区別ビットを含めて、これらのアドレスを送信する。他のノードでは、これらのアドレスを受信すると、ブロードキャストデータは必ず受信し、一方マルチキャストデータの場合には自ノードが受信すべきマルチキャストIPアドレスか否かを予め作成しておいたテーブルにより判断して受信することにより、パケット送信を実行できる。この場合、通常のクラスA〜Cのユニキャストの通信とは別の独立したバスを使用するため、通常の通信を妨げることはない。
【００３０】
［実施形態３（共有バスの付加）］
本発明ではまた、図９に例示したように、各ノード間で共有バスを介して共有のメモリを設けることも容易に可能であり、共有のルーティングテーブル情報やMIB情報などのうち、共有データ相当部分を必要に応じて共有メモリに収納することもできる。
【図１】
0005626763.tif 000002
【図２】
0005626763.tif 000003
【図３】
0005626763.tif 000004
【図４】
0005626763.tif 000005
【図５】
0005626763.tif 000006
【図６】
0005626763.tif 000007
【図７】
0005626763.tif 000008
【図８】
0005626763.tif 000009
【図９】
0005626763.tif 000010