(58)【調査した分野】(Int.Cl.,DB名)
前記アービタ及びマルチプレクサが、該アービタ及びマルチプレクサに電子信号を送信することが許される受信機を決定するアービタを更に備えている、請求項1に記載の集積回路。
前記アドレスフィルタと前記アービタ及びマルチプレクサとに電子的に接続され、前記デジタル電子信号を受信するとともに、前記ノードを宛先とするデータを符号化し、かつ該データを一時的に記憶するパケットバッファを更に備えた請求項3に記載の集積回路。
前記パケットバッファに電子的に接続され、前記受信機におけるパケット到着レートが、前記パケットバッファから前記アービタ及びマルチプレクサに向けてパケットが電子信号として転送されるレートを超えた場合のバッファオーバフローを防止するフロー制御部を更に備えた請求項4に記載の集積回路。
前記電子信号が前記ノードのアドレスと一致する宛先アドレスを有する場合に、前記電子信号に符号化されたデータをバッファに一時的に記憶するステップを更に含む請求項11に記載の方法。
前記電子信号を送信する受信機を1つずつ選択するステップが、電子信号を送信することが許される受信機を決定するためにアービトレーションを行うステップを更に含む、請求項10に記載の方法。
【発明を実施するための形態】
【0004】
本開示内容は、少なくとも1つの光バスを用いて複数の光信号データストリームを送受信するために用いることのできる、光から電気への変換を行う(optical-to-electrical)受信機集積回路(「IC」)及び送受信機ICを対象としている。その詳細な説明は、次のように2つのサブセクションに編成されている。すなわち、第1のサブセクションでは、受信機集積回路及び送受信機集積回路が適用されるマルチバス型光システムの一例を示すために、マルチバス型光相互接続ファブリック(multibus optical interconnect fabric)を説明する。第2のサブセクションでは、受信機IC及び送受信機ICについて説明する。受信機IC及び送受信機ICは、マルチバス型光相互接続ファブリックの例を参照して説明するが、様々な受信機IC及び送受信機ICについて、これらの用途がそのように限定されることを意図しているわけではない。実際には、受信機IC及び送受信機ICは、光から電気への変換及び電気から光への変換を伴う相互接続(optical-to-electrical and electrical-to-optical interconnection)が用いられる多くの様々な種類の光システム及び電気システムに実装することができる。
【0005】
[マルチバス型光相互接続ファブリック]
マルチバス型光相互接続ファブリック(「光ファブリック」)は、光信号に符号化されたデータを送信する。光信号は、ある情報を、電磁放射のチャネルにおける振幅状態の高低、あるいは位相変化へと符号化する。チャネルとは、単一の波長若しくは周波数の電磁放射、又は特定の波長若しくは周波数を中心とした狭帯域の電磁放射を指し示す。例えば、光信号の振幅の高い部分は論理バイナリ値(「ビット」)「1」を表すものとし、同じく光信号の振幅の低い部分はビット「0」を表すものとすることができ、あるいはその逆でもよい。光ファブリックは、スケーラブルなデータセンタスイッチに見られる電子接続及び電子ファブリックスイッチに取って代わる損失の少ない導波路(waveguide)及びオプトエレクトロニクスを用いて実装された複数の光バスを利用することができる。光ファブリックは、信号の一貫性(あるいは信号の品質;signal integrity)という考慮すべき事項により受ける制約が比較的少なく、波長分割多重化(wavelength division multiplexing, 「WDM」)及び様々な変調方式を用いることによりスペクトル効率をより高くすることに適している。光信号を用いた光通信は、光チャネルの低損失特性に起因して、電子信号を用いた通信よりも電力効率を改善することもできる。
【0006】
図1は、一例に係るマルチバス型光相互接続ファブリック100の概略図である。この光ファブリック100は、点線で示した4つの光ブロードキャストバス(「ブロードキャストバス」)102〜105を備えている。これにより、0、1、2、3のラベルを有する4つのノードのそれぞれが、それ自体及びその他の3つのノードに対して光信号をブロードキャストすることができる。
図1の例に示しているように、各ブロードキャストバスは、一端がノード0、1、2、3のうちの1つに光学的に接続されている。ノードは、プロセッサと、メモリと、メモリコントローラと、電気から光への変換を行うエンジン(electrical-to-optical engine)と、光から電気への変換を行うエンジン(optical-to-electrical engine)と、マルチコア処理ユニットのクラスタと、回路基板と、外部ネットワーク接続と、その他の任意のデータ処理デバイス、記憶デバイス、若しくは送信デバイスとのうちの任意の組み合わせを備えることができる。例えば、ノード0〜3は、通信スイッチ内のラインカード(line card)とすることができる。
図1の例では、光ファブリック100は、分散された16個の光タップアレイを備えており、各ブロードキャストバスに沿って4個の光タップアレイが設けられている。光タップアレイの各々は、ブロードキャストバスにより搬送された光信号に関連する光パワーの一部を、対応するノードへと方向転換(divert)させるものである。例えば、4つの光タップアレイ106〜109は、ブロードキャストバス102に沿って分散して設けられている。ノード0がブロードキャストバス102により光信号をブロードキャストする場合、光タップアレイ106は、前記光信号に関連する光パワーの一部111を方向転換させてノード0へ戻し、光タップアレイ107は、前記光信号に関連する光パワーの一部112をノード1へと方向転換させ、光タップアレイ108は、光信号に関連する光パワーの一部113をノード2へと方向転換させ、光タップアレイ109は、光信号に関連する光パワーの一部114をノード3へと方向転換させる。その結果、ノード0、1、2、3はそれぞれ、ノード0からブロードキャストされた光信号に符号化された同じ情報を、ノード0から出力された光信号に関連する光パワーの一部として受信する。
【0007】
光ファブリック100、及び以下に説明する光ファブリックは、その用途が光信号をブロードキャストすることに限定されるものではないことに留意されたい。これらの光ファブリックは、マルチキャストにも、ブロードキャストにも、更にはユニキャストにも用いることができる。他の例では、マルチバス型光ファブリックのブロードキャストバスは、光タップアレイの数を削減するために束にすることができる。
【0008】
図2は、一例に係るマルチバス型光相互接続ファブリック200の概略図である。この光ファブリック200は、光ファブリック100に類似しているが、16個の光タップアレイを用いるのではなく、ブロードキャストバスが束ねられており、光タップアレイの数が半分に削減されている。特に、光ファブリック200は、光ファブリック100と同じ4つのブロードキャストバス102〜105を備えているが、ブロードキャストバス102及び103が束ねられて、束ねられたブロードキャストバス202が形成されており、ブロードキャストバス104及び105が束ねられて、束ねられたブロードキャストバス204が形成されている。光ファブリック200は、束ねられたブロードキャストバス202に分散されている4つの光タップアレイ206〜209と、束ねられたブロードキャストバス204に沿って分散されている4つの光タップアレイ210〜213とを備えている。光タップアレイの各々は、束ねられたブロードキャストバスにより搬送された光信号に関連する光パワーの一部を、対応するノードへと方向転換させるものである。例えば、ノード0がブロードキャストバス102を通して光信号の第1の組(set)をブロードキャストし、ノード1がブロードキャストバス103を通して光信号の第2の組をブロードキャストしていると仮定する。光タップアレイ206は、光信号の第1の組に関連する光パワーの一部214を方向転換させてノード0へと戻し、光信号の第2の組に関連する光パワーの一部216をノード0へと方向転換させるように構成されている。光タップアレイ207は、光信号の第1の組に関連する光パワーの一部218をノード1へと方向転換させ、光信号の第2の組に関連する光パワーの一部220をノード1へと方向転換させて戻すように構成されている。光タップアレイ208及び209は、光信号の第1の組及び光信号の第2の組に関連する光パワーの一部を、それぞれノード2及び3へと方向転換させる。その結果、ノード0、1、2、3はそれぞれ、ノード0及び1からブロードキャストされた光信号の第1の組及び光信号の第2の組に符号化された同じ情報を受信する。
【0009】
図2の例では、ブロードキャストバスは4つの導波路から構成されている。例えば、
図2に示したように、ブロードキャストバス102がノード0に接続されている箇所において、数字「4」を有するスラッシュ「/」は、ブロードキャストバス102が4つの導波路から構成されていることを示し、光タップアレイ206が、束ねられたブロードキャストバス202により搬送された光信号の光パワーの一部214及び216をノード0へと方向転換させる箇所は、8つの導波路からなる。
【0010】
図3Aは、ブロードキャストバス102及び103を含む導波路を示している。具体的には、ブロードキャストバス102は導波路301〜304からなり、ブロードキャストバス103は導波路305〜308からなる。ブロードキャストバスの各導波路は、ノードが生成した別々の光信号を送信することができる。例えば、ノード0は、4つの別々の光信号に符号化されたデータをブロードキャストすることができ、各光信号は、4つの導波路301〜304のうちの1つによって搬送される。光タップアレイの各々は、複数の光タップからなる。これらのタップのそれぞれは、導波路のうちの1つにより搬送された光信号に関連する光パワーの一部を方向転換させるように構成されている。例えば、光タップアレイ206は、8つの光タップ(不図示)からなり、各光タップは、導波路301〜308のうちの1つにより搬送された光信号の一部をノード0へと方向転換させるように構成されている。各チャネルは、別々の導波路により搬送されるため、チャネルは全て同じ周波数とすることもできるし、各チャネルは別々の周波数とすることもできる。
【0011】
図3Aはまた、光タップアレイが、どのようにして、ブロードキャストバスの束において送信された光信号に関連する光パワーの一部を部分反射(partial reflection)により方向転換させることができるのかも示している。ある例では、ブロードキャストバス又はブロードキャストバスの束に沿って分散して設けられている光タップアレイを、各ノードが各光信号に関連するほぼ同じ光パワーを受信できるように構成することができる。例えば、
図3Aの例に示しているように、導波路301〜308により搬送される各光信号に関連する光パワーをPによって表すとする。各ノードがほぼ同じ光パワーP/4を有する光信号を受信できるようにするために、光タップアレイ206は、導波路301〜308により搬送された各光信号の光パワーのほぼ1/4を反射させるとともにほぼ3/4を透過させるように構成されている。その結果として、ノード0へと反射した各光信号310の光パワーはほぼP/4であり、透過した各光信号の光パワーはほぼ3P/4である。光タップアレイ207は、導波路301〜308により搬送された各光信号の光パワーのほぼ1/3を反射させ、ほぼ2/3を透過させるように構成されている。その結果、ノード1へと反射した各光信号311の光パワーはほぼP/4(すなわち、1/3×3P/4)であり、透過した各光信号の光パワーはほぼP/2(すなわち、2/3×3P/4)である。光タップアレイ208は、導波路301〜308により搬送された光信号の光パワーのほぼ1/2を反射させ、そして透過させるように構成されている。その結果、ノード2へと反射した各光信号312の光パワーはほぼP/4(すなわち、1/2×P/2)であり、透過した各光信号の光パワーもほぼP/4(すなわち、1/2×P/2)である。光タップアレイ209は、残りの光パワーP/4を有する光信号をノード3へと反射させる全反射ミラーとすることができる。
【0012】
あるいは、ノードから出力された光信号を別々の導波路において送信するのではなく、各ノードから出力された光信号を波長分割多重化(wavelength division multiplex)し、単一の導波路により送信することができる。
図3Bは、波長分割多重化を用いて光信号を2つのブロードキャストバスにおいて送信する一例を示している。
図3Bでは、ブロードキャストバス320及び322が、それぞれノード0及び1に接続されている。ノード0は、波長分割多重化された4つの光信号の組をブロードキャストバス320へ出力し、ノード1は、同様に波長分割多重化された4つの光信号の組をブロードキャストバス322へ出力する。ブロードキャストバス320及び322は、光ファイバ又は中空導波路(hollow waveguide)とすることができる。光タップアレイ206〜208は、
図3Aを参照して述べたように、光信号に関連する光パワーを分割する。
図3Bの例では、光タップアレイ206は、導波路320により搬送された光信号のそれぞれに関連する光パワーのほぼ1/4を導波路324へと反射する光タップを有しているとともに、光タップアレイ206は、導波路322により搬送された光信号のそれぞれに関連する光パワーのほぼ1/4を導波路326へと反射する。デマルチプレクサ328及び330といったデマルチプレクサ(demultiplexer, 「DEMUX」)は、上述の光信号を別々の導波路へ分離させる。DEMUX328及び330から出力されたこれらの別々の光信号を、それぞれ破線332及び334により示している。例えば、導波路320により搬送された4つの光信号に関連する光パワーの1/4は、光タップアレイ206によって導波路324へと反射し、DEMUX334へと送信される。このDEMUXは、破線の方向矢印332により示しているように、各光信号が別々の導波路によりノード0へと搬送されるように、光信号を逆多重化(又は分離;demultiplex)する。各ノードは、異なる周波数の組をチャネルに用いることもできるし、少なくとも1つのノードは、同じ周波数の組をチャネルに用いることもできることに留意されたい。
【0013】
マルチバス型光相互接続ファブリックは、4つのノードを光学的に相互接続することに限定されるものではない。他の例では、光ファブリックは、わずか2つのノードを収容するように構成することもできるし、5つ、6つ、7つ、又は8つ以上もの多くのノードを収容するように構成することもできる。ノードの最大数は、
図6を参照して以下に説明するように、光信号の光パワーと、システムの全体的な損失と、各ノードに設けられている、光信号を検出するために用いられる受信機の最小感度とによって決定することができる。一般的に、ブロードキャストバス又はブロードキャストバスの束に沿って分散して設けられた光タップアレイは、あるノードが光信号をブロードキャストした場合に、その送信ノードを含めた各ノードがその光信号全体の光パワーPのほぼ1/nを受信するものとなるように構成される。ただし、nはノードの数である。
【0014】
図4は、n個のノードに接続されたブロードキャストバスの束402を用いて光通信を行うn個のノードの例を示している。これらのn個のノードのうちの2つを、ノード404及び406として示している。ブロードキャストバスの束402を構成するブロードキャストバス408及び410等のブロードキャストバスは、任意の好適な数の導波路からなるものとすることができる。この光ファブリックは、ブロードキャストバスの束402に沿って分散して設けられたn個の光タップアレイを備えている。これらの光タップアレイのうちのいくつかを、光タップアレイ411〜416として示している。ノード406は、ブロードキャストバス410において光信号を光パワーPで出力する。光タップアレイは、方向矢印418〜423により示しているように、各ノードが、P/nのほぼ同じ光パワーを有する、光信号のうちの反射した一部を受信するものとなるように構成されている。
【0015】
図4においてOT
mとして示している光タップアレイは、以下の式に従って、光信号のパワーの一部を、光学的に接続されたノードへと反射させる。
【数1】
さらに、以下の式に従って、光信号のパワーの一部を透過させる。
【数2】
ただし、mは、1〜nの範囲内の整数である。そして、光タップアレイOT
mは、光信号を受信し、光パワーPR
mを有する反射部分を光学的に接続されたノードに向けて出力するとともに、光パワーPT
mを有する透過部分を出力する。ここで、P=PR
m+PT
m+L
mである。L
mは、吸収、散乱、又は位置合わせ不良に起因した、光タップアレイOT
mにおける光パワーの損失を表す。光タップアレイ416すなわちOT
nは、ブロードキャストバス402において送信された光パワーの残りの部分をノード426へと反射させるミラーとすることができることに留意されたい。
【0016】
光ファブリックの例は、ノードが生成した光信号の一部を、同じ送信元ノードに方向転換させて戻すことを記載していることに留意されたい。これは、主として、2つの主な理由によって行われる。すなわち、(1)方向転換させて戻すことにより、ミラー反射率がタップアレイ内の全てのタップに関して同一であることと、タップ構造がタップアレイミラーの反射率の値を除いてバス上の各点において同一であることとが確保される。実際には、光タップアレイは、単一材料として製造することができ、
図2及び
図3に示したように、ブロードキャストバスの束の導波路の全てにわたって分散して設けられる。言い換えると、光信号を方向転換させない特定の導波路を区別した光タップアレイを用いて、束ごとに多数の導波路を有する光ファブリックを実装することは、実用的でない場合がある。(2)光信号を、当該光信号の発信源である送信元ノードに方向転換させて戻すことにより、送信元ノードは、当該光信号に関して、光信号の一貫性(あるいは光信号の品質;optical signal integrity)のテスト等の診断テストを行うことができる。
【0017】
他の例では、マルチバス型光相互接続ファブリックのブロードキャストバスは、スターカプラ(star coupler)を用いて実施することができる。例えば、
図1に戻り、1つの入力ポート及び4つの出力ポートを備えたスターカプラを、ブロードキャストバス1及び光タップアレイ106〜109に代えて用いることができる。この場合、入力ポートは、ブロードキャストバス102により搬送される光信号を搬送し、4つの出力ポートのそれぞれは、光信号111〜114のうちの1つを搬送する。各スターカプラは、入力ポートにおいて受信した光信号を出力対象の4つの光信号に分割し、各出力対象の光信号が入力された光信号の光パワーのほぼ1/4を搬送するものとなるように構成することができる。
【0018】
本明細書における方法及びシステムは、ノードが単一のマルチバス型光相互接続ファブリックにわたってブロードキャストを行うことに限定されるものではない。他の例では、ノードは、2つ以上のマルチバス型光相互接続ファブリックにわたって通信することができる。
図5は、8つのノードが光信号をブロードキャストすることを可能にする4つのマルチバス型光相互接続ファブリックの一例の概略図である。
図5の例に示しているように、ノード0〜3は上述したように、光ファブリック200にわたって互いに光信号をブロードキャストする。ノード0〜3と同様に、ノード4〜7は、ブロードキャストバスの束502及び504によって互いに光信号をブロードキャストする。
図5は、ノード0〜3がブロードキャストバスの束506及び508によりノード4〜7に対し光信号をブロードキャストすることと、ノード4〜7がブロードキャストバスの束510及び512によりノード0〜3に対し光信号をブロードキャストすることとをも示している。
【0019】
[受信機、送信機及び送受信機の集積回路]
ある実施形態において、各ノードは、複数のノードにより生成された光信号を受信する受信機集積回路(integrated circuit, 「IC」)を備えている。それらのノードによって生成された光信号を単一のノードが受信するプロセスを、「ファンイン(fan in)」と呼ぶ。例えば、
図1を参照して述べたように、4つのノード0〜3によって生成された光信号は、ノード0にファンインする。受信ノードは、光信号を他のノードに送信する別個の送信機ICも備えることができる。例えば、1つのノードから他の全てのノードへのブロードキャストを「ファンアウト(fan out)」と呼ぶ。
【0020】
図6は、受信機IC602と送信機IC604とを備えたノード600の一例を示している。受信機IC602は、
図1及び
図2を参照して述べたように、そのノード自体を含むノードのそれぞれから光信号を受信する。
図6の例では、点線の方向矢印606〜609のそれぞれが、受信機IC602に入力される4つの光信号の組を示している。光信号の各組606〜609は、ノード0〜3のうちの1つによって生成され、
図1及び
図2を参照して述べたファブリック100及び200等のマルチバス型光相互接続ファブリックにわたってブロードキャストされる。受信機IC602は、光信号の4つの組606〜609を受信し、電子信号610内に符号化されるデータストリームを生成する。このデータストリームは、受信機IC602から処理するノード600へと出力される。換言すれば、受信機IC602は、ファンイン型受信機ICである。なぜならば、4つの異なるノード0〜3によって生成された複数の光信号が、受信機602に入力されて電子信号へと変換されるからである。また、ノード600は、当該ノード600によって生成され電子信号612に符号化されたデータストリームを送信機IC604に送信する。この送信機ICは、電子信号612を4つの光信号の組614へと変換する。この4つの光信号の組614は、
図1及び
図2を参照して述べたように、マルチバス型光相互接続ファブリック内のブロードキャストバスによりノード0〜3のうちの少なくとも1つへと送信することができる。
【0021】
図7は、受信機IC602の概略を示している。受信機IC602は、4つの受信機701〜704と、アービタ及びマルチプレクサ(arbiter/multiplexer)(「MUX」)706とを備えている。各受信機は、ノードによって生成された光信号の4つの組606〜609のうちの1つを受信し、その光信号の組を、アービタ及びMUX706に送信される電子信号に符号化されたシリアルデータストリームへと変換する。例えば、受信機701は、ノード0によって生成された光信号の組606を受信し、そのデータをバッファに記憶し、同じデータを符号化した電子信号708をアービタ及びMUX706に対して出力する。受信機701〜704はそれぞれ、アービタ及びMUX706内のアービタ部の指示を受けて、順に電子信号をアービタ及びMUX706へと送信する。所与の時間帯にどの受信機が電子信号をアービタ及びMUX706に送信できるのかは、アービタ及びMUX706内のアービタ部により決定される。このアービタ部は、多くの異なる種類のよく知られたアービトレーションの方法のうちの任意の1つを用いることができる。例えば、アービタは、ラウンドロビン・アービトレーション(round-robin arbitration)を行うことができ、この場合、各受信機には、その受信機が電子信号をアービタ及びMUX706に対して送信することが許される時間帯が循環的に割り当てられる。アービタ及びMUX706は、受信機701〜704のそれぞれから順に受信された電子信号を、処理のために電子サイン610としてノード600に出力する。各受信機は、光信号に符号化されたデータを記憶するバッファを備えることができることに留意されたい。受信機がデータをアービタ及びMUX706に送信する順番になると、バッファに記憶されたデータが電子信号に符号化され、アービタ及びMUX706へと送信される。
【0022】
ファンイン型受信機ICは、4つの受信機を有するものに限定されるわけではない点に留意されたい。実際には、ファンイン型受信機ICは、拡張又は縮小することができ、任意の好適な数の受信機を用いて構成することができる。
【0023】
ノードに到着する光信号は、少なくとも1つのデータパケットを含んでいる。各パケットは、ヘッダ及びユーザデータを含む。ヘッダは、パケットを送信したノードを特定する情報及びパケットを受信する宛先となる1つ以上のノードを特定する情報などの制御情報を含む。各受信機は、上述したように、光ファブリックに接続されたノードのうちの1つから送信されたパケットを受信し、ヘッダ情報を調べる。その一方で、受信ノードがヘッダ内の宛先ノードとして特定できない場合、受信機は、パケット内に符号化されたデータを破棄する。他方で、受信ノードがヘッダ内の宛先ノードとして特定された場合、受信機は、パケットを受理し、データは当該ノードにより処理される。複数のパケットが、同じ宛先ノードに同時に到着する可能性があるため、宛先ノードに送信されたユーザデータを一時的に記憶するために、バッファリングを行うことができる。光ファブリックからのパケット到着レートが、パケットをアービタ及びMUXへと転送することができるレートを超えた場合のバッファオーバフローを防ぐために、フロー制御を行うことができる。
【0024】
図8は、受信機800の概略を示している。受信機800は、検出器アレイ802と、トランスインピーダンス増幅器(trans-impedance amplifier)(「TIA」)アレイ804と、サンプラアレイ806と、アドレスフィルタ808と、パケットバッファ810とを備えており、フロー制御部812を備えていてもよい。検出器アレイ802は、それぞれが光信号をアナログ電子信号に変換する複数の光検出器を有している。TIAアレイ804は、複数のTIA又は演算増幅器(operational amplifier)(「opアンプ」)を有している。TIAの各々は、対応する光検出器から出力された電子信号を増幅する。サンプラアレイ806は、複数のサンプラを有している。各サンプラは、アナログ電子信号を、同じ情報を符号化したデジタル電子信号へと変換する。アレイ802内の光検出器の数と、アレイ804内のTIAの数と、アレイ806内のサンプラの数とは等しく、1対1に対応するように設けられている。これにより、検出器アレイ802と、TIAアレイ804と、サンプラアレイ806とは、並行して光信号をデジタル電子信号へと変換できることに留意されたい。
【0025】
図8の例に示しているように、光信号821〜824を検出器アレイ802が別々にかつ同時に受信する。例えば、光信号821〜824のそれぞれを、
図1及び
図2を参照して述べたように、別々の光ファイバにおいて検出器アレイ802に送信することができる。各光信号は、検出器アレイ802の1つの光検出器によって検出され、その光検出器は、対応するアナログ電子信号を生成する。例えば、検出器アレイ802内の光検出器のうちの4つが、光信号821〜824を、対応するアナログ電子信号825〜828へと変換する。検出器アレイ802内の光検出器が出力した各アナログ電子信号は、対応する光信号のデータを符号化したものであり、TIAアレイ804内のTIAに入力される。TIAアレイ804内のTIAのうちの4つが、アナログ電子信号825〜828を受信し、それに対応する増幅されたアナログ電子信号830〜833をサンプラアレイ806に向けて出力する。増幅された各アナログ電子信号は、サンプラアレイ808内のサンプラのうちの1つによってサンプリングされ、対応するデジタル電子信号が生成される。
図8の例では、増幅されたアナログ電子信号830〜833に対応する4つのデジタル電子信号835〜838が、サンプラアレイ806内のサンプラから別々に出力される。増幅されたアナログ電子信号のサンプリングは、増幅された電子信号のうちの1つをクロック信号として用いることによって又はデータストリームからクロックを再生(recover)することによって行うことができる。サンプラアレイ806から出力されたデジタル電子信号835〜838は、対応する光信号821〜824と同じパケット情報を符号化したものである。デジタル電子信号835〜838が、アドレスフィルタ808に入力されると、各ヘッダの宛先アドレス部分が調べられる。ヘッダの宛先アドレスが、そのノードをパケットの宛先として特定していない場合は、アドレスフィルタ808は、そのパケットを破棄する。他方、ヘッダの宛先アドレスが、そのノードをパケットの宛先として特定している場合は、アドレスフィルタ808は、デジタル電子信号のデータ部分をパケットバッファ810に送信し、このパケットバッファは、そのデータを一時的に記憶する。受信機800へのパケット到着レートが、パケットバッファ810からアービタ及びMUX706にパケットを転送することのできるレートを超えた場合のバッファオーバフローを防止するために、フロー制御部812を利用することができる。例えば、フロー制御部812は、利用可能なバッファ空間を監視し、利用可能な記憶空間がパケットバッファ810にもはやない場合には、あるパケットを破棄することができる。
【0026】
図9Aは、受信機900の1つの実施態様の例を示している。受信機900は、検出器アレイ層902と、TIAアレイ層904と、サンプラとアドレスフィルタとパケットバッファとあるいはフロー制御部をも実装したCMOS回路部906とを備えている。層902及び904並びにCMOS回路部906は、
図8を参照して述べた受信機800の構成要素に対応しており、同じ動作をする。層902の各光検出器は、層904のTIAに電子的に接続されている。
図9Aの例では、検出器アレイ層902は、16個の別々に動作する光検出器912を有しており、TIAアレイ層904は、16個の別々に動作するTIA914を有している。例えば、光検出器912は、TIA914に電子的に接続されている。ある実施形態では、光検出器912はp−i−n接合フォトダイオードとすることができる。別の実施形態では、光検出器912はCMOS光検出器とすることができる。
【0027】
受信機は、16個の光検出器の正方形状の配置に限定されるものではない。受信機は、任意の好適な数の光検出器及び対応するTIAを有することもでき、任意の好適な配置とすることができる。
【0028】
ある実施形態では、検出器アレイ層902は、各光検出器とそれに対応するTIAとの間を可能な限り短いパスとするために、TIAアレイ層904に実装されたフリップチップとすることができる。
図9Bは、
図9Aに示すA−A線に沿った、TIAアレイ層904に実装された検出器アレイ層902のフリップチップの断面図の一例である。
図9Bの例では、各光検出器912のパッド916が、はんだ部920を介してTIA918のパッド918に電子的に接続されている。層902と層904との間の空間を誘電性接着剤(dielectric adhesive)922が実質的に満たしており、検出器アレイ層902を取り付けている。別の実施形態では、パッド912は、ゲルマニウムから構成することができる。
図9Bは、アレイ902の4つの光検出器に光学的に接続された4つの光ファイバ931〜934の端部をも示している。
図9Bの例では、各光ファイバは、ファイバコアから出力された光が、対応する光検出器に当たるように、対応する光検出器にバット・カップリング(butt couple)されている。
【0029】
図10は、CMOS回路部906に電子的に接続されたTIAアレイ層904の概略の一例を示している。
図10に示すように、各TIA914は、CMOS回路部906に電子的に接続されている。
【0030】
図11は、受信機1100の概略を示している。受信機1100は、検出器アレイ1102と、TIAアレイ1104と、サンプラアレイ1106と、アドレスフィルタ1108とを備えている。受信機1100は、受信機800のパケットバッファ810及びフロー制御部812が受信機1100においては省略されていることを除いて、受信機800とほぼ同一である。受信機800と同様、検出器アレイ1102は複数の光検出器を有しており、これらの光検出器のそれぞれは光信号をアナログ電子信号に変換する。TIAアレイ804は複数のTIAを有しており、これらのTIAのそれぞれは対応する光検出器から出力されたアナログ電子信号を増幅する。サンプラアレイ1106は複数のサンプラを有しており、これらのサンプラのそれぞれはアナログ電子信号をデジタル電子信号に変換する。アレイ1102内の光検出器の数と、アレイ1104内のTIAの数と、アレイ1106内のサンプラの数とは等しく、1対1に対応するように設けられており、これによって、検出器アレイ1102と、TIAアレイ1104と、サンプラアレイ1106とは、光信号に符号化された情報を並行して処理することが可能になる。アドレスフィルタ1108は、各ヘッダの宛先アドレス部分を調べ、データを破棄するか又はデータをアービタ及びMUXに送信するかを決定する。受信機1100はバッファを備えていないことに留意されたい。そのため、パケットが受信機1100に到着した場合において、受信機1100がデータをアービタ及びMUXに送信できない場合には、パケットに符号化されている情報は破棄される。
【0031】
追加的な入力ポート及び出力ポートをファンイン型受信機ICに設けることができ、これにより、ノードに送信されるより多くの光信号を受け入れるべく、2つ以上のファンイン型受信機ICをデイジーチェーン接続することができるようになる。例えば、
図1を参照して述べたノード0〜3を考えることにする。ノード0〜3のそれぞれは、
図8を参照して述べたファンイン型受信機IC800等のファンイン型受信機ICを備えることができ、これにより、各ノードは、ノード0〜3からの光信号を受信することができるようになる。次に、
図5を参照して述べたマルチバス型光相互接続ファブリックを考えることにする。ノード0〜3が4つのノード4〜7からの光信号をも受信できるようにするために、ノード0〜3のそれぞれは、ノード0〜3からの光信号を受信する第1のファンイン型受信機ICであって、ノード4〜7からの光信号を受信する第2のファンイン型受信機ICにデイジーチェーン接続されている第1のファンイン型受信機ICを備えることができる。
【0032】
図12は、デイジーチェーン接続された2つのファンイン型受信機IC1202及び1204を示している。受信機IC1202及び1204はそれぞれ、受信機IC800と同じように構成されているとともに動作するが、受信機IC1204が、受信機IC1202内のアービタ及びMUX1208に電子的に接続されているとともに受信機IC1204内のアービタ及びMUX1210にも電子的に接続されているMUX1206を備えている点で異なる。アービタ及びMUX1208と1210とは、電子信号をMUX1206に入力し、このMUX1206は、これらの電子信号を組み合わせて、処理のためにノードに送信される電子信号とする。
【0033】
図6に戻ると、ノード600は、該ノード600が別個に動作させる送信機IC604を備えている。送信機IC604は、ノード600が光信号を、相互接続ファブリックに接続された他のノードにマルチキャストすることを可能にする。
図13は、垂直共振器面発光レーザ(vertical-cavity surface-emitting lasers)(「VCSELs」)ドライバのアレイ1304に接続されたVCSELのアレイ1302を備えた送信機IC1300の一例に係る概略を示している。VCSELアレイ1302内の各VCSELは、ドライバアレイ1304内のドライバに電子的に接続されている。アレイ1304内の各VCSELドライバは、ノードから電子信号を受信し、この電子信号を増幅させたものを生成し、増幅された電子信号を、VCSELアレイ1302における電子的に接続されたVCSELへと印加する。
図11の例に示したように、電子信号1306〜1309は、ドライバアレイ1304に入力される。ドライバアレイ1304は、電子信号1306〜1309を受信し、対応する増幅された電子信号1311〜1314を生成する。これらの電子信号は、VCSELアレイ1302内の電子的に接続された4つのVCSELに印加される。VCSELアレイの各VCSELは、電子的に接続されたVCSELドライバにより直接的に調整(あるいは調節)(modulate)される。例えば、あるドライブから出力された電子信号の高い振幅部分が、電子的に接続されたVCSELに印加されると、光信号の高い振幅部分がVCSELから出力され、電子信号の低い振幅部分がドライバによりVCSELに印加されると、同じ光信号の低い振幅部分が放出される。その結果、VCSELアレイ1302の4つのVCSELは、対応する電子信号1306〜1309と同じ情報を符号化した光信号1316〜1319を生成する。送信機は、4つのVCSEL及びドライバに限定されるものではないことに留意されたい。送信機は、任意の好適な数のVCSEL及び対応するドライバを有することができる。
【0034】
図14Aは、送受信機1400の1つの可能な実施態様の一例を示している。送受信機1400は、VCSELアレイ層1402と、VCSELドライバアレイ層1404と、電子信号を受信するとともにこれらの電子信号を動作ドライバのドライバアレイ1404に印加するCMOS回路部1406とを備えている。
図14Bは、VCSELアレイ1402がVCSELドライバアレイ1404にフリップチップ実装された送信機1400の一例の、
図14Bに示したB−B線断面図を示している。
図14Bの例に示したように、各VCSEL1406のパッド1408が、はんだ部1414を介してドライバ1410のパッド1412へと電子的に接続されている。誘電性接着剤1416により、VCSELアレイ1402がVCSELドライバアレイ1404に取り付けられている。
図14Bは、4つのVCSELに光学的に接続された4つの光ファイバ1421〜1424の端部をも示している。4つの光ファイバ1421〜1424は、
図1及び
図2を参照して述べたように、光信号を他のノードに送信するためのブロードキャストバスの一部とすることができる。
図14Bの例では、光ファイバ1421〜1424はそれぞれ、対応するVCSELから出力された光を光ファイバのコア内に合焦させるレンズ素子1425等のレンズ素子を備えている。
図14Cは、CMOS回路部1406に電子的に接続されたドライバアレイ層1404内のドライバ1410の概略の一例を示している。
図14の例に示したように、CMOS回路部1406は、4つの電子信号1430を受信し、これらの電子信号のそれぞれをドライバ1410のうちの1つに送信する。
【0035】
送受信機は、VCSELを用いたものに限定されるわけではないことに留意されたい。送受信機は、端面発光レーザ(edge emitting laser)等の他のタイプの半導体レーザを用いて実施することもできる。
【0036】
別の実施形態では、他のノードから光信号を受信するとともに他のノードへ送信される光信号を生成するために、送受信機ICを用いることができる。
図15は、送受信機IC1502を備えたノード1500の一例を示している。
図15の例では、送受信機IC1502は、
図1及び
図2を参照して述べたように、自己のノードを含む4つのノードから光信号の4つの組1504〜1507を受信する。送受信機IC1502は、光信号の4つの組1504〜1507を受信し、ノード1500により処理されることになる、送受信機IC1502から出力される電子信号1510に符号化された単一のデータストリームを生成する。換言すれば、送受信機IC1502は、ファンイン型受信機ICとして動作する。なぜならば、4つのノード0〜3により生成された複数の光信号が送受信機IC1502へと入力され、処理のためにこのノードに出力される単一の電子信号へと変換されるためである。送受信機1502は、送信機も備えていてもよく、この送信機は、ノード1500が電子信号1512を、
図1及び
図2を参照して述べたように、マルチバス型光相互接続ファブリックのブロードキャストバスによってノード0〜3のうちの少なくとも1つに送信することができる4つの光信号の組1514へと変換することを可能にする。
【0037】
図16は、例示的な送受信機IC1502の概略を示している。送受信機IC1502は、4つの受信機1601〜1604とアービタ及びMUX1606とを備えている。
図7を参照して述べた受信機701〜704と同様に、受信機1601〜1604のそれぞれは、光信号の4つの組1504〜1507のうちの1つを受信し、光信号の1つの組を、アービタ及びMUX706に送信される電子信号に符号化されたシリアルデータストリームへと変換する。例えば、受信機1601は、ノード0によって生成された光信号の組1504を受信し、この光信号の組1504を、アービタ及びMUX1606に出力される電子信号1608へと変換する。受信機1601〜1604はそれぞれ、
図6を参照して述べたように、アービタ及びMUX1606内のアービタ部の指示を受けて、順に電子信号をアービタ及びMUX1606に送信する。アービタ及びMUX1606は、受信機1601〜1604によって生成された電子信号を1つずつ電子サイン1610として出力する。
図6の例に示したように、送受信機IC1502は、送信機1612と制御及びデータMUX(control/data MUX)1614とを備えている。送信機1612は、
図13及び
図14を参照して述べたように、電子信号をブロードキャストバスによって送信される光信号へと変換するように構成及び動作させることができる。制御及びデータMUX1614は、受信機1601〜1604のそれぞれと送信機1612とに電子的に接続されている。
【0038】
図17は、受信機1700の概略を示している。受信機1700は、検出器アレイ1702と、TIAアレイ1704と、サンプラアレイ1706と、アドレスフィルタ1708と、パケットバッファ1710と、フロー制御部1712とを備えている。アレイ1702、1704、1706と、フィルタ1708と、バッファ1710と、フロー制御部1712とは、
図8を参照して述べたように、受信機800の構成要素と同じように動作するが、パケットバッファ1710において利用可能な記憶容量に関するバッファステータス情報を定期的に生成するべくフロー制御部1712を用いることができる点で異なる。フロー制御部1712はステータス情報を、
図16に示した制御及びデータMUX1614に送信する。
【0039】
図16に戻ると、制御及びデータMUX1614は、ノードによって生成されたデータを受信するとともに、受信機1601〜1604のそれぞれから出力されたバッファステータス情報を受信する。受信機1601〜1604のそれぞれは、それらの受信機に付随したパケットバッファ内の利用可能な記憶空間の容量を定期的にチェックし、空間がどの程度利用可能であるのかを示すステータス情報を生成し、このバッファステータス情報を制御及びデータMUX1614へと送信する。制御及びデータMUX1614は、この情報を、ノードによって生成されたデータとともに送信機1612に転送する。システム内のノードのそれぞれにより生成されたステータス情報は、バッファステータス情報を全てのノードに定期的に配信することによってパケットバッファオーバフローを防止するために用いることができる。あらゆるノードが、ステータス情報を受信し、システム内の全てのバッファのステータスを把握する。ある実施形態では、ある受信機が受信したステータス情報が、そのノードの情報送信先のバッファがフルであることを示している場合は、その受信機は、適切な電子的停止信号を制御及びデータMUX1614に送信することにより、ブロードキャスト等の送信を停止することができる。他の実施形態では、ブロードキャストに適用されるフロー制御とは異なり、マルチキャストルーティング方式の下では、宛先ではないノードに付随したパケットバッファがフルであっても、ノードは、宛先ノードのうちの少なくとも1つのパケットバッファにデータを送信することができる。
【0040】
ファンイン型送受信機ICは、ノードに送信される光信号をより多く受け入れるために、当該ファンイン型送受信機ICを2つ以上の送受信機ICとデイジーチェーン接続できるようにする入力ポート及び出力ポートをも備えることができる。
図16に示した送受信機IC1502は、MUX1616をも備えている。アービタ及びMUX1606から出力された電子信号1610は、MUX1616に入力される。別の送受信機IC(不図示)によって生成された電子信号1618もMUX1616に入力することができる。このMUXは、電子信号1610及び1618を組み合わせて、処理のためにノードに送信される1つの電子信号1620とする。
【0041】
図18は、光信号をノードにファンインする方法をまとめたフロー図である。ステップ1801において、光信号の少なくとも1つの組が受信される。光信号の組のそれぞれは、
図6及び
図7を参照して述べたように、別々のブロードキャストバスにおいてノード内の受信機へと送信されたものである。ステップ1802において、
図7を参照して述べたように、各受信機において、光信号の組が、電子信号に符号化されたデータストリームへと変換される。ステップ1803において、
図7を参照して述べたように、電子信号をマルチプレクサに送信する受信機が1つずつ選択される。ステップ1804において、
図7を参照して述べたように、その電子信号が、処理のためにノードに送信される。
【0042】
本開示内容を十分に理解してもらうために、説明の便宜上、これまでの説明は具体的な用語を使用した。しかし、本明細書に記載されたシステム及び方法を実施するために、具体的詳細が不要であることは当業者には明らかであろう。具体的な実施形態のこれまでの説明は、例として示し、説明するために提示されたものである。それらの実施形態は、本開示を網羅することも、本開示を開示されたものと全く同じ形に限定することも意図していない。上記の教示に鑑みて、明らかに、数多くの変更及び変形が可能である。それらの実施形態は、本発明の原理及びその実用的な応用例を最もわかりやすく説明し、それにより、意図した特定の用途に相応しいように種々の変更を加えながら、当業者が本開示及び種々の実施形態を最大限に利用できるようにするために、図示及び説明されている。本開示の範囲は、添付の特許請求の範囲及びその均等物によって規定されることが意図されている。