(57)【要約】高性能ネットワーク・スイッチ用のエラー制御および冗長ファブリックを有するバックプレーン・インタフェース・アダプタを提供する。バックプレーン・インタフェース・アダプタの冗長ファブリック・トランシーバは、データ・パケットを転送するナロー入力セルを適切にかつ確実に受信し、ワイド・ストライプ化セルを切替えファブリックに出力するアダプタの能力を向上させる。
2004537871.tif 000002
【特許請求の範囲】
【請求項１】
切替えファブリックと、
シリアル・パイプを介して該切替えファブリックに結合された複数のブレードとを含み、
各ブレードが、シリアル・データ・ストリームをインバンド制御情報と共に複数のストライプで該切替えファブリックに出力する、デジタル・スイッチ。
【請求項２】
切替えファブリックが、複数のストライプに対応する複数のクロス・ポイントを含む、請求項1記載のデジタル・スイッチ。
【請求項３】
各クロス・ポイントが、複数のブレードに結合された複数のポート・スライスを含む、請求項2に記載のデジタル・スイッチ。
【請求項４】
複数のストライプが5つのストライプを含み、インバンド制御情報を有するシリアル・データ・ストリームが、データ・パケットを転送するワイド・ストライプ化セルの5つのシリアル・データ・ストリームを含み、ワイド・ストライプ化セルが、インバンド制御情報を含む、請求項2記載のデジタル・スイッチ。
【請求項５】
複数のクロス・ポイントが5つのクロス・ポイントを含み、各ブレードが、該5つのクロス・ポイントのそれぞれに結合された5つのシリアル・リンクを有する、請求項4記載のデジタル・スイッチ。
【請求項６】
各ブレードが、各ブロックがそれぞれの複数のストライプに対応する複数のサブブロックからなる複数のストライプにわたるブロックを有するワイド・ストライプ化セルを生成し、インバンド制御情報を有するシリアル・データ・ストリームが、それぞれの複数のストライプに対応する該サブブロックを含む、請求項1記載のデジタル・スイッチ。
【請求項７】
ワイド・ストライプ化セルが、160バイト以下のサイズを有し、148バイト以下のデータのペイロードを転送する、請求項6記載のデジタル・スイッチ。
【請求項８】
各ブレードが、バックプレーン・インタフェース・アダプタおよび少なくとも1つのパケット・プロセッサを含む、請求項1記載のデジタル・スイッチ。
【請求項９】
各ブレードが、バックプレーン・インタフェース・アダプタ、統合バス・トランスレータ、および少なくとも1つのパケット・プロセッサを含む、請求項1記載のデジタル・スイッチ。
【請求項１０】
各ブレードによって出力されるシリアル・データ・ストリームが、物理ポートを介してそれぞれのブレードに供給される入力シリアル・データ・ストリームの集合を表す、請求項1記載のデジタル・スイッチ。
【請求項１１】
切替えファブリックと、
シリアル・パイプを介して該切替えファブリックに結合された複数のブレードとを含み、
各ブレードが、ポートを介してそれぞれのブレードに供給される入力シリアル・データ・ストリームの集合を表すシリアル・データ・ストリームを、インバンド制御情報と共に複数のストライプで出力し、
該切替えファブリックが、複数のストライプとして出力された集合的なシリアル・データを切り替える、デジタル・スイッチ。
【請求項１２】
データ・パケットを転送するナロー入力セルを受信する少なくとも1つの受信機と、
ナロー入力セルからのデータ・パケットを含むワイド・ストライプ化セルを生成する少なくとも1つのワイド・セル生成装置と、
生成されたワイド・ストライプ化セルを複数のストライプで切替えファブリックに送信する少なくとも1つの送信機とを含む、バックプレーン・インタフェース・アダプタ。
【請求項１３】
各ナロー入力セルがそれぞれのナロー入力セルが送信される切替えファブリックのスロットを識別する宛先スロット識別子を含む、バックプレーン・インタフェース・アダプタであって、
少なくとも1つの受信機と少なくとも1つのワイド・セル生成装置との間に結合されたトラフィック・ソータをさらに含み、該トラフィック・ソータが宛先スロット識別子に基づく受信されたナロー入力セルをソートする、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項１４】
トラフィック・ソータが、切替えファブリックにわたるグローバル宛先スロットを識別する宛先スロット識別子を有する受信されたナロー入力セルからローカル宛先スロットを識別する宛先スロット識別子を有する該受信されたナロー入力セルをソートするグローバル／トラフィック・ソータを含む、請求項13記載のバックプレーン・インタフェース・アダプタ。
【請求項１５】
トラフィック・ソータが、グローバル／トラフィック・ソータに結合されたバックプレーン・ソータをさらに含み、該バックプレーン・ソータが、グローバル宛先スロットを宛先スロット識別子に基づく群として識別する宛先スロット識別子を有する該受信されたナロー入力セルをソートする、請求項14記載のバックプレーン・インタフェース・アダプタ。
【請求項１６】
少なくとも1つのワイド・セル生成装置と少なくとも1つの送信機との間に結合された複数のストライプ送信キューをさらに含み、該少なくとも1つのワイド・セル生成装置が、生成されたワイド・ストライプ化セルを該複数のストライプ送信キューに格納する、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項１７】
ストライプ送信キューに格納されているデータが少なくとも1つの送信機によって切替えファブリックに送信される順序を調停する切替えファブリック送信アービトレータをさらに含む、請求項16記載のバックプレーン・インタフェース・アダプタ。
【請求項１８】
各ストライプ送信キューが、それぞれの送信元パケット・プロセッサおよび宛先スロット識別子に対応するそれぞれの一群のワイド・ストライプ化セルを格納する、請求項17記載のバックプレーン・インタフェース・アダプタ。
【請求項１９】
各ワイド・ストライプ化セルが、複数のストライプにわたる1つまたは複数のブロックを有し、サイクル中に、切替えファブリック送信アービトレータが、ストライプ送信キューを選択し、次の利用可能なブロックを少なくとも1つの送信機にプッシュする、請求項18記載のバックプレーン・インタフェース・アダプタ。
【請求項２０】
各ワイド・ストライプ化セルが、複数のストライプにわたる1つまたは複数のブロックを有し、サイクル中に、切替えファブリック送信アービトレータが、ストライプ送信キューを選択し、次の利用可能なブロックを少なくとも1つの送信機にプッシュする、請求項18記載のバックプレーン・インタフェース・アダプタ。
【請求項２１】
少なくとも1つの受信機が、4つのシリアル・データ・ストリームでデータ・パケットを転送するナロー入力セルを4つの対応する入力シリアル・パイプから受信する4つのデシリアライザ受信機を含み、
複数のストライプが5つのストライプを含み、
少なくとも1つの送信機が5つのシリアライザ送信機を含み、
各入力シリアライザ送信機が、生成されたワイド・ストライプ化セルのブロックのデータのそれぞれのストライプをバックプレーン・シリアル・パイプ上で切替えファブリック内のそれぞれのクロス・ポイント・スイッチに送信する、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項２２】
各シリアル・パイプが10ギガビット／秒シリアル・パイプを含み、バックプレーン・シリアル・パイプが50ギガビット／秒シリアル・パイプを含む、請求項21記載のバックプレーン・インタフェース・アダプタ。
【請求項２３】
各ワイド・セル生成装置が、各ナロー入力セルを解析し、パケットの始めを示す制御情報についてチェックし、パケットのすべてのナロー入力セルのデータが1つまたは複数の新しいワイド・ストライプ化セルに分散されるまで1つまたは複数の新しいワイド・ストライプ化セルを符号化し、1つまたは複数の新しいワイド・ストライプ化セルを複数の送信キューに書き込む、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項２４】
各ワイド・セル生成装置が1つまたは複数の新しいワイド・ストライプ化セルを符号化する、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項２５】
各ワイド・セル生成装置が、開始ワイド・ストライプ化セルの初期ブロックを初期セル符号化情報で符号化する、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項２６】
初期セル符号化情報が、制御情報および状態情報を含み、開始ワイド・ストライプ化セルの初期ブロックが、5つのストライプに対応する5つのサブブロックを含み、各サブブロックが、同一の制御情報および同一の状態情報を含む、請求項25記載のバックプレーン・インタフェース・アダプタ。
【請求項２７】
各ワイド・セル生成装置が、第1のワイド・ストライプ化セルの初期ブロック内の利用可能な空間にパケット・データの初期バイトをさらに分散させる、請求項25記載のバックプレーン・インタフェース・アダプタ。
【請求項２８】
各ワイド・セル生成装置が、パケットの終り条件に達するか、または最大セル・サイズに達するまで、パケット・データの残りのバイトを第1のワイド・ストライプ化セル内の1つまたは複数のブロックにわたって分散させる、請求項27記載のバックプレーン・インタフェース・アダプタ。
【請求項２９】
各ワイド・セル生成装置が、パケットの終りが初期ブロックの終りで生じるか、後続のブロック内で生じるか、ブロック境界で生じるか、またはセル境界で生じるかを含む、1組のパケットの終り条件に応じて異なるパケットの終り情報で終了ワイド・ストライプ化セルをさらに符号化する、請求項28記載のバックプレーン・インタフェース・アダプタ。
【請求項３０】
各ワイド・セル生成装置が、パケットの始めで、以下のように5つのストライプにわたって分散された20バイトのデータを有する開始ワイド・ストライプ化セルの初期20バイト・ブロックを符号化し、
2004537871.tif 000006
ここで、K0はセルの始めを示す特殊制御文字を表す1バイトであり、状態は1バイトの状態情報であり、データ0〜データ7は8バイトのペイロード・データを表し、予約は1予約バイトである、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項３１】
各ワイド・セル生成装置が、図15Cに記載のワイド・ストライプ化セルにデータが充填されている度合いに応じて異なるパケットの終り情報で終了ワイド・ストライプ化セルをさらに符号化する、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項３２】
各ワイド・セル生成装置が、148バイト以下のペイロード・データを転送するワイド・ストライプ化セルを生成する、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項３３】
データ・パケットを転送するワイド・ストライプ化セルを複数のストライプで切替えファブリックから受信する少なくとも1つの受信機と、
受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換するトランスレータと、
該ナロー入力セルを対応する送信元パケット・プロセッサに送信する少なくとも1つの送信機とをさらに含む、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項３４】
ワイド・ストライプ化セルが、複数のストライプにわたるデータ・パケットを転送し、送信元パケット・プロセッサ識別子および送信元スロット識別子情報を含むワイド・ストライプ化セルのサブブロックを、複数のストライプで切替えファブリックから受信する少なくとも1つのワイド・ストライプ化セル受信機と、
該少なくとも1つのワイド・ストライプ化セル受信機に結合されたストライプ・インタフェースと、
該ストライプ・インタフェースに結合された複数のストライプ受信同期キューとをさらに含み、該ストライプ・インタフェースが、各ストライプ内の該受信されたサブブロックを送信元スロット識別子情報に基づいてソートし、該ソート済みの受信されたサブブロックを該ストライプ受信同期キューに格納する、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項３５】
アービトレータと、
ストライプ受信同期キューに記憶されているデータがストライプ・ベースのワイド・セル・アセンブラに送信される順序を調停する該アービトレータに結合され、該受信されたデータ・サブブロックに基づいてワイド・ストライプ化セルをアセンブルする、ストライプ・ベースのワイド・セル・アセンブラと、
該ストライプ・ベースのワイド・セル・アセンブラに結合され、調停済みの受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換するトランスレータと、
ローカル・トラフィック・ソータによって送信されたナロー・セル、および該トランスレータによって変換された該ナロー・セルを格納する複数の宛先キューと、
該複数の宛先キューに格納されているデータが少なくとも1つの送信機に送信される順序を調停するローカル宛先送信アービトレータと、
該ナロー入力セルを対応する送信元パケット・プロセッサに送信する少なくとも1つの送信機とをさらに含む、請求項34記載のバックプレーン・インタフェース・アダプタ。
【請求項３６】
少なくとも1つの受信機が少なくとも1つのデシリアライザ受信機を含み、少なくとも1つの送信機が少なくとも1つのシリアライザ送信機を含む、請求項12記載のバックプレーン・インタフェース・アダプタ。
【請求項３７】
ワイド・ストライプ化セルが、複数のストライプにわたるデータ・パケットを転送し、送信元パケット・プロセッサ識別子および送信元スロット識別子情報を含むワイド・ストライプ化セルのサブブロックを、複数のストライプで切替えファブリックから受信する少なくとも1つの受信機と、
該少なくとも1つの受信機に結合されたストライプ・インタフェースと、
各ストライプ内の該受信されたサブブロックを送信元パケット・プロセッサ識別子および送信元スロット識別子情報に基づいてソートし、該ソート済みの受信されたサブブロックを該ストライプ受信同期キューに格納するストライプ・インタフェースに結合された複数のストライプ受信同期キューを含む、バックプレーン・インタフェース・アダプタ。
【請求項３８】
アービトレータと、
該アービトレータに結合されるストライプ・ベースのワイド・セル・アセンブラとをさらに含み、
該アービトレータが、ストライプ受信同期キューに記憶されているデータがストライプ・ベースのワイド・セル・アセンブラに送信される順序を調停し、該ストライプ・ベースのワイド・セル・アセンブラが、受信されたデータ・サブブロックに基づいてワイド・ストライプ化セルをアセンブルする、請求項37記載のバックプレーン・インタフェース・アダプタ。
【請求項３９】
ストライプ・ベースのワイド・セル・アセンブラに結合され、調停済みの受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換するトランスレータと、
該ナロー入力セルを対応する送信元パケット・プロセッサに送信する少なくとも1つの送信機とをさらに含む、請求項38記載のバックプレーン・インタフェース・アダプタ。
【請求項４０】
ローカル・トラフィック・ソータによって送信されたナロー・セル、およびトランスレータによって変換されたナロー・セルを格納する複数の宛先キューと、
該複数の宛先キューに格納されているデータが少なくとも1つの送信機に送信される順序を調停するローカル宛先送信アービトレータとをさらに含む、請求項39記載のバックプレーン・インタフェース・アダプタ。
【請求項４１】
少なくとも1つの受信機が少なくとも1つのデシリアライザ受信機を含み、少なくとも1つの送信機が少なくとも1つのシリアライザ送信機を含む、請求項37記載のバックプレーン・インタフェース・アダプタ。
【請求項４２】
データ・パケットを転送するナロー入力セルを受信する少なくとも1つのデシリアライザ受信機と、
ナロー入力セルのデータ・パケットを含むワイド・ストライプ化セルを生成する少なくとも1つのワイド・セル生成装置と、
生成されたワイド・ストライプ化セルを複数のストライプで切替えファブリックに送信する少なくとも1つのシリアライザ送信機と、
データ・パケットを転送するワイド・ストライプ化セルを複数のストライプで切替えファブリックから受信する少なくとも1つのデシリアライザ受信機と、
受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー・セルに変換するトランスレータと、
ナロー入力セルを対応する送信元パケット・プロセッサに送信する少なくとも1つのナロー・セル・シリアライザ送信機とを含む、バックプレーン・インタフェース・アダプタ。
【請求項４３】
ナロー入力セルでデータ・パケットを転送するシリアル・パイプとワイド・ストライプ化セルでデータ・パケットを転送するシリアル・パイプとのインタフェースをとる方法であって、
ナロー入力セルを受信する段階と、
ワイド・ストライプ化セルを生成する段階と、
複数のストライプにわたるワイド・ストライプ化セルのブロックを送信する段階とを含む方法。
【請求項４４】
生成段階の前に、受信されたナロー入力セルを宛先スロット識別子に基づいてソートする段階をさらに含む、請求項43記載の方法。
【請求項４５】
生成されたワイド・ストライプ化セルを、宛先スロット識別子および送信元パケット・プロセッサに基づいて、対応するストライプおよびキューに格納する段階をさらに含む、請求項43記載の方法。
【請求項４６】
格納されたワイド・ストライプ化セルが送信段階で送信のために選択される順序を調停する段階をさらに含む、請求項45記載の方法。
【請求項４７】
複数のストライプが5つのストライプを含み、
受信段階が、4つのシリアル・データ・ストリームでデータ・パケットを転送するナロー入力セルを4つの対応する入力シリアル・パイプから受信し、
送信段階が、生成されたワイド・ストライプ化セルのブロックをバックプレーン・シリアル・パイプ上で5つのストライプで送信する、請求項43記載の方法。
【請求項４８】
生成段階が、
各ナロー入力セルを解析する段階と、
パケットの始めを示す制御情報についてチェックする段階と、
パケットを転送するすべてのナロー入力セルのデータが1つまたは複数の新しいワイド・ストライプ化セルに分散されるまで1つまたは複数の新しいワイド・ストライプ化セルを符号化する段階と、
1つまたは複数の新しいワイド・ストライプ化セルを複数の送信キューに書き込む段階とを含む、請求項43記載の方法。
【請求項４９】
符号化段階が、開始ワイド・ストライプ化セルの初期ブロックを初期セル符号化情報で符号化する段階を含む、請求項48記載の方法。
【請求項５０】
初期セル符号化情報が制御情報および状態情報を含み、開始ワイド・ストライプ化セルの初期ブロックが、5つのストライプに対応する5つのサブブロックを含み、各サブブロックが同一の制御情報および同一の状態情報を含む、請求項49記載の方法。
【請求項５１】
符号化段階が、パケット・データの初期バイトを第1のワイド・ストライプ化セルの初期ブロック内の利用可能な空間に分散させる段階と、第1のワイド・ストライプ化セルの初期ブロックの終りの利用可能なバイトに予約情報を追加する段階とを含む、請求項49記載の方法。
【請求項５２】
符号化段階が、パケットの終り条件に達するか、または最大セル・サイズに達するまで、パケット・データの残りのバイトを、第1のワイド・ストライプ化セル中の1つまたは複数のブロックにわたって分散させる段階を含む、請求項51記載の方法。
【請求項５３】
符号化段階が、パケットの終りが初期ブロックの終りで生じるか、後続のブロック内で生じるか、ブロック境界で生じるか、またはセル境界で生じるかを含む、1組のパケットの終り条件に応じて異なるパケットの終り情報で、終了ワイド・ストライプ化セルを符号化する段階をさらに含む、請求項52記載の方法。
【請求項５４】
符号化段階が、パケットの始めで、以下のように5つのストライプにわたって分散された20バイトのデータを有する開始ワイド・ストライプ化セルの初期20バイト・ブロックを符号化し、
2004537871.tif 000007
ここで、K0はセルの始めを示す特殊制御文字を表す1バイトであり、状態は1バイトの状態情報であり、データ0〜データ7は8バイトのペイロード・データを表し、予約は1予約バイトである、請求項53記載の方法。
【請求項５５】
符号化段階が、パケットの始めで、ワイド・ストライプ化セルにデータが充填されている度合いに応じて異なるパケットの終り情報で終了ワイド・ストライプ化セルをさらに符号化する、請求項53記載の方法。
【請求項５６】
データ・パケットを転送するワイド・ストライプ化セルを複数のストライプで切替えファブリックから受信する段階と、
受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する段階と、
ナロー入力セルを対応する送信元パケット・プロセッサに送信する段階とをさらに含む、請求項43記載の方法。
【請求項５７】
複数のストライプにわたるデータ・パケットを転送し、宛先スロット識別子情報を含むワイド・ストライプ化セルのサブブロックを、複数のストライプで切替えファブリックから受信する段階と、
各ストライプ中の受信されたサブブロックを、宛先スロット識別子情報に基づいてソートする段階と、
ソート済みの受信されたサブブロックをストライプ受信同期キューに格納する段階とをさらに含む、請求項56記載の方法。
【請求項５８】
ストライプ受信同期キューに格納されているデータがアセンブルされる順序を調停する段階と、
受信されたデータ・サブブロックに基づいて調停段階の順序でワイド・ストライプ化セルをアセンブルする段階と、
調停済みの受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する段階とをさらに含む、請求項57記載の方法。
【請求項５９】
ナロー・セルを複数の宛先キューに格納する段階と、
複数の宛先キューに格納されているデータが送信される順序をさらに調停する段階と、
ナロー入力セルを、さらなる調停段階の順序で、対応する送信元パケット・プロセッサに送信する段階とをさらに含む、請求項58記載の方法。
【請求項６０】
各受信段階がデータの直列化を解除する段階を含み、各送信段階がデータを直列化する段階を含む、請求項53記載の方法。
【請求項６１】
ストライプにわたるデータ・パケットを転送するワイド・ストライプ化セルを符号化する方法であって、
（a）第1のワイド・ストライプ化セルの初期ブロックを初期セル符号化情報で符号化する段階と、
（b）第1のワイド・ストライプ化セルの初期ブロック内の利用可能な空間内でパケット・データの初期バイトを分散させる段階とを含む方法。
【請求項６２】
初期セル符号化情報が制御情報および状態情報を含み、第1のワイド・ストライプ化セルの初期ブロックが、5つのストライプに対応する5つのサブブロックを含み、各サブブロックが同一の制御情報および同一の状態情報を含む、請求項61記載の方法。
【請求項６３】
第1のワイド・ストライプ化セルの初期ブロックの終りの利用可能なバイトに予約情報を追加する段階をさらに含む、請求項61記載の方法。
【請求項６４】
パケットの終り条件に達するか、または最大セル・サイズに達するまで、パケット・データの残りのバイトを、第1のワイド・ストライプ化セル中の1つまたは複数のブロックにわたって分散させる段階をさらに含む、請求項61記載の方法。
【請求項６５】
（c）パケットの終りが初期ブロックの終りで生じるか、後続のブロック内で生じるか、ブロック境界で生じるか、またはセル境界で生じるかを含む、1組のパケットの終り条件に応じて異なるパケットの終り情報で、第1のワイド・ストライプ化セルまたは他のワイド・ストライプ化セルを符号化する段階をさらに含む、請求項61記載の方法。
【請求項６６】
初期ブロック符号化段階（a）が、パケットの始めで、以下のように5つのストライプにわたって分散された20バイトのデータを有する開始ワイド・ストライプ化セルの初期20バイト・ブロックを符号化し、
2004537871.tif 000008
ここで、K0はセルの始めを示す特殊制御文字を表す1バイトであり、状態は1バイトの状態情報であり、データ0〜データ7は8バイトのペイロード・データを表し、予約は1予約バイトである、請求項61記載の方法。
【請求項６７】
符号化段階（c）が、ワイド・ストライプ化セルにデータが充填されている度合いに応じて異なるパケットの終り情報で第1のワイド・ストライプ化セルまたは他のワイド・ストライプ化セルを符号化する、請求項61記載の方法。
【請求項６８】
ストライプにわたるデータ・パケットを転送するワイド・ストライプ化セルを符号化するシステムであって、
（a）第1のワイド・ストライプ化セルの初期ブロックを初期セル符号化情報で符号化する手段と、
（b）第1のワイド・ストライプ化セルの初期ブロック内の利用可能な空間内でパケット・データの初期バイトを分散させる手段とを含むシステム。
【請求項６９】
初期セル符号化情報が制御情報および状態情報を含み、第1のワイド・ストライプ化セルの初期ブロックが、5つのストライプに対応する5つのサブブロックを含み、各サブブロックが同一の制御情報および同一の状態情報を含む、請求項68記載のシステム。
【請求項７０】
第1のワイド・ストライプ化セルの初期ブロックの終りの利用可能なバイトに予約情報を追加する段階をさらに含む、請求項68記載のシステム。
【請求項７１】
パケットの終り条件に達するか、または最大セル・サイズに達するまで、パケット・データの残りのバイトを、第1のワイド・ストライプ化セル中の1つまたは複数のブロックにわたって分散させる手段をさらに含む、請求項68記載のシステム。
【請求項７２】
（c）パケットの終りが初期ブロックの終りで生じるか、後続のブロック内で生じるか、ブロック境界で生じるか、またはセル境界で生じるかを含む、1組のパケットの終り条件に応じて異なるパケットの終り情報で、第1のワイド・ストライプ化セルまたは他のワイド・ストライプ化セルを符号化する手段をさらに含む、請求項68記載のシステム。
【請求項７３】
初期ブロック符号化手段（a）が、パケットの始めで、以下のように5つのストライプにわたって分散された20バイトのデータを有する開始ワイド・ストライプ化セルの初期20バイト・ブロックを符号化し、
2004537871.tif 000009
ここで、K0はセルの始めを示す特殊制御文字を表す1バイトであり、状態は1バイトの状態情報であり、データ0〜データ7は8バイトのペイロード・データを表し、予約は1予約バイトである、請求項68記載のシステム。
【請求項７４】
符号化手段（c）が、ワイド・ストライプ化セルにデータが充填されている度合いに応じて異なるパケットの終り情報で第1のワイド・ストライプ化セルまたは他のワイド・ストライプ化セルを符号化する、請求項68記載のシステム。
【請求項７５】
パケットを変換するシステムであって、
パケットを解析してナロー・セルを得るトランスレータと、
第1群の1つまたは複数のトランシーバと、
第2群の1つまたは複数のトランシーバとを含み、該トランスレータが、該第1群の1つまたは複数のトランシーバおよび第2群の1つまたは複数のトランシーバに結合されるシステム。
【請求項７６】
トランスレータが、ナロー・セルをさらに解析してパケットを得る、請求項75記載のシステム。
【請求項７７】
1つまたは複数のパケットおよびナロー・セルを格納する1つまたは複数のメモリ・プールと、
トランスレータの1つまたは複数の動作を同期させる1つまたは複数の基準クロックとをさらに含む、請求項75記載のシステム。
【請求項７８】
ユーザがトランスレータの1つまたは複数の動作を制御できるようにする管理モジュールをさらに含む、請求項75記載のシステム。
【請求項７９】
トランスレータが、
1つまたは複数のパケットを解析して情報フィールドを得る1つまたは複数のパケット・デコーダと、
該情報フィールドから1つまたは複数のナロー・セルを構築する1つまたは複数のセル・エンコーダとを含む、請求項75記載のシステム。
【請求項８０】
トランスレータが、
1つまたは複数のナロー・セルを解析して情報フィールドを得る1つまたは複数のセル・デコーダと、
該情報フィールドから1つまたは複数のパケットを構築する1つまたは複数のパケット・エンコーダとを含む、請求項75記載のシステム。
【請求項８１】
トランスレータが、パラレル構成のパケットおよびシリアル構成のナロー・セルを用いて動作する、請求項75記載のシステム。
【請求項８２】
特殊文字および制御情報を含むヘッダと、
データを含むペイロードとを含む、ナロー・セル・フォーマット。
【請求項８３】
制御情報が、ペイロード用の経路指定アドレスを含む、請求項82記載のナロー・セル・フォーマット。
【請求項８４】
ヘッダが4バイトであり、ペイロードが32バイトである、請求項82記載のナロー・セル・フォーマット。
【請求項８５】
ヘッダが、1つまたは複数のバイトを追加の情報用に予約する、請求項82記載のセル・フォーマット。
【請求項８６】
バス・トランスレータにおいて、
セルの始めを示す特殊文字と、
該セル内のスロット情報および状態情報を含む制御情報と、
データを含むペイロードとを含む、セル・フォーマット。
【請求項８７】
パケットをセルに変換する方法であって、
パケット処理構成要素の構成を含むポート・タイプを判定する段階と、
該ポート・タイプに依存するセル・フォーマットを選択する段階と、
ポートから1つまたは複数のパケットを受信する段階と、
1つまたは複数のパケットを解析して情報を得る段階と、
該情報を1つまたは複数のセルにフォーマットする段階と、
該1つまたは複数のセルをインタフェースに転送する段階とを含む方法。
【請求項８８】
フォーマッティング段階の前に情報を格納する段階をさらに含む、請求項87記載の方法。
【請求項８９】
受信段階がパラレル構成のパケットを含む、請求項87記載の方法。
【請求項９０】
転送段階がシリアル構成のセルを含む、請求項87記載の方法。
【請求項９１】
セルをパケットに変換する方法であって、
1つまたは複数のセルを受信する段階と、
該1つまたは複数のセルを解析して情報を得る段階と、
該情報を1つまたは複数のパケットに格納する段階と、
該1つまたは複数のパケットを転送する段階とを含む方法。
【請求項９２】
1つまたは複数のセルをキューに格納する段階と、
該1つまたは複数のセルを同期させる段階とを含み、該キュー格納段階と該同期段階が解析段階の前に行われる、請求項91記載の方法。
【請求項９３】
受信段階がシリアル構成のセルを含む、請求項91記載の方法。
【請求項９４】
転送段階がパラレル構成のパケットを含む、請求項91記載の方法。
【請求項９５】
シリアル・データの複数のストライプを処理する複数のクロス・ポイントを含む切替えファブリックであって、
各クロス・ポイントが複数のポート・スライスを含む切替えファブリック。
【請求項９６】
複数のクロス・ポイントが5つのクロス・ポイントを含む、請求項95記載の切替えファブリック。
【請求項９７】
各クロス・ポイントが、
複数のポートと、
それぞれ該ポートに結合された複数のポート・スライスとを含む、請求項95記載の切替えファブリック。
【請求項９８】
各ポート・スライスが、
該ポート・スライスのうちの他のポート・スライスに結合された複数のFIFOと、
各FIFOに結合され、該FIFOによって送信された読取り要求を調停するFIFO読取りアービトレータとを含む、請求項95記載の切替えファブリック。
【請求項９９】
各ポート・スライスが、
FIFOおよびFIFO読取りアービトレータに結合されたマルチプレクサと、
該マルチプレクサの出力に結合されたディスパッチャとをさらに含む、請求項98記載の切替えファブリック。
【請求項１００】
各ポート・スライスが、
受信されたデータを異なるポート・スライス内の適切なFIFOに書き込む累算器を含む、請求項95記載の切替えファブリック。
【請求項１０１】
各クロス・ポイントが8つのポートおよび8つのポート・スライスを含む、請求項95記載の切替えファブリック。
【請求項１０２】
シリアル・データのストライプを有するクロス・ポイントであって、
複数のポートと、
それぞれ該ポートに結合された複数のポート・スライスとを含む、クロス・ポイント。
【請求項１０３】
各ポート・スライスが、
該ポート・スライスのうちの他のポート・スライスに結合された複数のFIFOと、
各FIFOに結合され、該FIFOによって送信された読取り要求を調停するFIFO読取りアービトレータとを含む、請求項102記載のクロス・ポイント。
【請求項１０４】
各ポート・スライスが、
FIFOおよびFIFO読取りアービトレータに結合されたマルチプレクサと、
該マルチプレクサの出力に結合されたディスパッチャとをさらに含む、請求項103記載のクロス・ポイント。
【請求項１０５】
各ポート・スライスが、
受信されたデータを異なるポート・スライス内の適切なFIFOに書き込む累算器を含む、請求項103記載のクロス・ポイント。
【請求項１０６】
各クロス・ポイントが8つのポートおよび8つのポート・スライスを含む、請求項102記載のクロス・ポイント。
【請求項１０７】
クロス・ポイントでデータのストライプを処理する方法であって、
あるポート・スライスにおいて、
他のポート・スライスから受信されたデータを複数のFIFOに格納する段階と、
格納されたデータの読取りを調停する段階とを含む方法。
【請求項１０８】
ポート・スライスにポートから受信されたデータを異なるポート・スライス内の適切なFIFOに書き込む段階をさらに含む、請求項107記載の方法。
【請求項１０９】
ワイド・セル符号化および外部フロー制御コマンドに基づいてポート・スライス内のデータを処理する方法であって、
受信同期FIFO内の64ビット・エントリを管理する段階と、
受信同期FIFOから2つの32ビット・データ・チャンクを受信する段階と、
受信された2つの32ビット・データ・チャンクの第1のバイト内のK0を検出する段階と、
K0が検出された場合に、セル・ヘッダ内の状態フィールドから宛先スロットを抽出する段階とを含む方法。
【請求項１１０】
セル・ヘッダが下位整列しているか、または上位整列しているかを判定する段階と、
セル・ヘッダが下位整列または上位整列している場合に、宛先スロットに対応するデータFIFOに64ビット・データを書き込む段階と、
セル・ヘッダが下位整列または上位整列している場合に、2つの宛先スロットに対応する2つのデータFIFOに2つの64ビット・データを書き込む段階と、
セルが64ビット境界で終わっておらず、後続のセルが異なるスロット宛である場合に、第2の32ビット・データ・チャンクにアイドル文字を充填する段階とをさらに含む、請求項109記載の方法。
【請求項１１１】
エラー条件が検出された場合に、K0およびABORT状態情報をデータに挿入する早期終了をセルに対して実行する段階をさらに含む、請求項110記載の方法。
【請求項１１２】
フロー制御条件が検出された場合に、現在のセルがFIFO RAMから完全に読み取られた後にFIFO読取りアービトレータへの要求を停止する段階をさらに含む、請求項110記載の方法。
【請求項１１３】
FIFO読取りアービトレータから非アイドル・データが受信された場合に、SERDES同期FIFOモジュールおよび送信機に64ビット・データを供給する段階と、
複数のFIFO RAMが空であることをFIFO読取りアービトレータが示した場合に、SERDES同期FIFOモジュールおよび送信機に送信すべき第1の整列シーケンスを挿入する段階と、
現在の事前にスケジューリングされた整列シーケンスが完全に終了するまで要求側の要求を満たすのを一時的に停止するようFIFO読取りアービトレータに指示する段階とをさらに含む、請求項110記載の方法。
【請求項１１４】
デジタル・スイッチが、切替えファブリックに結合される複数のブレードを含み、各ブレードが、シリアル・データ・ストリームをインバンド制御情報と共に複数のストライプで該切替えファブリックに出力する、デジタル・スイッチで使用される管理モジュールであって、
受信側ブレードで受信されるデータを監視するレベル・モニタと、
該レベル・モニタによって監視されるデータの量に基づいてストライプ同期エラーを検出するストライプ同期エラー検出器とを含む、管理モジュール。
【請求項１１５】
受信側ブレードで受信されたデータが、ストライプ・送信元情報に基づいてソートされ、且つ1組のデータ構造に格納される、請求項114記載の管理モジュールであって、
レベル・モニタが、各データ構造受信側ブレードに格納されているデータのレベルを監視し、
ストライプ同期エラー検出器が、特定の送信元からのそれぞれのストライプ上で受信されたデータの量におけるオーバフロー条件およびアンダーフロー条件の少なくとも一方を検出する、管理モジュール。
【請求項１１６】
ストライプ同期エラーが検出されたことに応答してストライプにわたるデータを再同期させる回復ルーチンを開始するフロー・コントローラをさらに含む、請求項114記載の管理モジュール。
【請求項１１７】
回復ルーチンが、1つまたは複数のストライプに流れるデータを減速させる段階を含む、請求項116記載の管理モジュール。
【請求項１１８】
回復ルーチン中にK2文字の存在を識別する制御文字存在トラッカをさらに含む、請求項114記載の管理モジュール。
【請求項１１９】
ストライプ同期エラー検出器が、着信リンク・エラー、クロス・ポイント障害、および発信リンク・エラーの各エラー条件のうちの1つまたは複数に応答してストライプ同期エラーを検出する、請求項114記載の管理モジュール。
【請求項１２０】
ネットワーク・スイッチ内のストライプ同期エラーを検出する方法であって、
（a）受信側スロットで受信されたデータを、ストライプ・送信元情報に基づいてソートする段階と、
（b）ソートされたデータを1組のデータ構造に格納する段階と、
（c）各データ構造に格納されているデータのレベルを監視する段階と、
（d）特定の送信元からのそれぞれのストライプ上で受信されたデータの量におけるオーバフロー条件およびアンダーフロー条件の少なくとも一方を検出する段階とを含む方法。
【請求項１２１】
送信元情報が、データをネットワーク・スイッチの切替えファブリックを横切って送信したスロットを識別する、請求項120記載の方法。
【請求項１２２】
送信元情報が、データをスロットからネットワーク・スイッチの切替えファブリックを横切って送信した送信元パケット・プロセッサを識別する、請求項120記載の方法。
【請求項１２３】
ストライプ化セル・トラフィックの同期を維持する方法であって、
（a）共通の文字をストライプ化セルで、すべてのレーンにおいて所定のサイクル数にわたって送信する段階と、
（b）ストライプ受信同期キューで受信された共通の制御文字を評価する段階と、
（c）ストライプ受信同期キューがクリアされたことを示す同期条件が存在する場合にそれを検出する段階とを含む方法。
【請求項１２４】
切替えファブリック内のクロス・ポイント・スイッチを介して非同期トラフィック・フローを管理する方法であって、
（a）ストライプ受信同期キューのレベルを監視する段階と、
（b）非同期条件が存在するかどうかを判定する段階と、
（c）該非同期条件が存在する場合に、再同期ルーチンを開始する段階とを含む方法。
【請求項１２５】
開始段階（c）の後に、
（d）共通の文字をストライプ化セルで、すべてのレーンにおいて所定のサイクル数にわたって送信する段階と、
（e）ストライプ受信同期キューで受信された共通の制御文字を評価する段階と、
（f）ストライプ受信同期キューがクリアされたことを示す同期条件が存在する場合にそれを検出する段階とをさらに含む、請求項124記載の方法。
【請求項１２６】
シリアル・データ・ストリームのそれぞれのストライプに対応する複数のクロス・ポイントを各々が有する、2つの切替えブレードと、
バックプレーン接続によって各切替えブレードに結合された少なくとも1つのブレードとを含む、冗長切替えシステムであって、
該少なくとも1つのブレードが、該2つの切替えブレード上のクロス・ポイント間でトラフィックを切り替え可能な複数の冗長切替えトランシーバを含む、冗長切替えシステム。
【請求項１２７】
バス・インタフェース・アダプタに結合された冗長ファブリック・トランシーバであって、
少なくとも1つより多い切替えファブリック・モジュールに結合され、同様のデータを実質的に同時に送信する、1つまたは複数の第1のポートと、
通信データの1つのバージョンを含むことが可能な同様のデータから、送信される通信データを選択するマルチプレクサと、
該通信データを受信し、条件付けし、且つ送信するダウンリンク・トランシーバと、
該マルチプレクサから送信された該通信データを受信し、該通信データをバス・インタフェース・アダプタに転送する1つまたは複数の第2のポートとを含む、冗長ファブリック・トランシーバ。
【請求項１２８】
通信データを受信し、条件付けし、且つ送信するアップリンク・トランシーバをさらに含み、1つまたは複数の第2のポートが、バス・インタフェース・アダプタから該通信データを受信し、1つまたは複数の第2のポートが、該通信データを該アップリンク・トランシーバに転送し、該アップリンク・トランシーバが、該通信データを条件付けして該マルチプレクサに転送し、該マルチプレクサが、1つまたは複数の第1のポートに転送される1つまたは複数の同様のデータを生成する、請求項127記載の冗長ファブリック・トランシーバ。
【請求項１２９】
マルチプレクサに結合され、データをバッファリングする1つまたは複数の第1のキューをさらに含む、請求項128記載の冗長ファブリック・トランシーバ。
【請求項１３０】
ダウンリンク・トランシーバおよびアップリンク・トランシーバの少なくとも一方に結合され、データをバッファリングする1つまたは複数の第2のキューをさらに含む、請求項128記載の冗長ファブリック・トランシーバ。
【請求項１３１】
ダウンリンク・トランシーバとアップリンク・トランシーバの少なくとも一方の動作を示す条件情報を含むレジスタ・モジュールをさらに含み、該条件情報には、受信データおよび送信データに関する構成設定およびパラメータ設定が含まれる、請求項128記載の冗長ファブリック・トランシーバ。
【請求項１３２】
1つまたは複数の第1のポートがシリアライザ／デシリアライザである、請求項128記載の冗長ファブリック・トランシーバ。
【請求項１３３】
1つまたは複数の第2のポートがシリアライザ／デシリアライザである、請求項128記載の冗長ファブリック・トランシーバ。
【請求項１３４】
ダウンリンク・トランシーバが、受信機、ランダム・アクセス・メモリ・モジュール、および送信機を含む、請求項128記載の冗長ファブリック・トランシーバ。
【請求項１３５】
アップリンク・トランシーバが、受信機、ランダム・アクセス・メモリ・モジュール、および送信機を含む、請求項128記載の冗長ファブリック・トランシーバ。
【請求項１３６】
1つまたは複数の第1のポートが、該1つまたは複数の第1のポートに影響を与えるエラー条件の場合に個々に停止することができる、請求項128記載の冗長ファブリック・トランシーバ。
【請求項１３７】
1つまたは複数の第1のポートをデータを失わずに切り替えることができる、請求項128記載の冗長ファブリック・トランシーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、概してネットワーク・スイッチに関する。
【背景技術】
【０００２】
関連技術
ネットワーク・スイッチは、通信網において切替え機能を実行する（物理経路を決定する）装置である。切替えでは、デジタル・データ・パケットやフレームなどの情報がネットワークのエンティティ間で転送される。通常、スイッチは、バックプレーンに結合された複数の回路カードを有するコンピュータである。回路カードは、切替え技術では、通常「ブレード」と呼ばれる。ブレードは、「スイッチ・ファブリック」によって相互接続されている。各ブレードは、イーサネット、FDDI（Fiber Distributed Data Interface）、トークン・リング接続のような様々な種類の媒体上でスイッチを他のネットワーク・エンティティに結合するいくつかの物理ポートを含む。ネットワーク・エンティティは、このような媒体上でデータを送受信する任意の装置を含む。
【０００３】
スイッチによって実行される切替え機能は通常、送信元ポートにおいてネットワーク・エンティティからデータを受信する段階と、このデータを宛先ポートに転送する段階を含む。送信元ポートと宛先ポートは同じブレード上に配置しても、それぞれの異なるブレード上に配置してもよい。「ローカル」切替えの場合、送信元ポートと宛先ポートは同じブレード上にある。そうでない場合、送信元ポートと宛先ポートはそれぞれの異なるブレード上にあり、切替えでは、データをスイッチ・ファブリックを通して送信元ブレードから宛先ブレードに転送する必要がある。場合によっては、データがスイッチの複数の宛先ポートに与えられる。このことをマルチキャスト・データ転送と呼ぶ。
【０００４】
スイッチは、データ・フレーム内でデータに伴うヘッダ情報を調べることによって動作する。ヘッダ情報は、国際標準機関（ISO）7階層OSI（開放型システム間相互接続）を含む。OSIモデルでは、スイッチは一般に、レイヤー2またはレイヤー3のようなより低いレベルのプロトコルに基づいてデータ・フレームを経路指定する。これに対して、ルータは一般に、より高いレベルのプロトコルに基づき、テーブル参照に基づいてデータ・フレームの物理経路を決定するか、または物理経路を決定するように構成された他の転送ルーチンまたは管理ルーチンによって経路指定する。
【０００５】
イーサネットは、ブロードキャスト技術を使用する広く利用されている低階層ネットワーク・プロトコルである。イーサネットは6つのフィールドを有する。これらのフィールドには、プリアンブル、宛先アドレス、送信元アドレス、種類、データ、およびフレーム・チェック・シーケンスが含まれる。イーサネット・フレームの場合、デジタル・スイッチは、送信元アドレスおよび宛先アドレスに基づいてフレームの物理経路を決定する。標準イーサネットは10Mbpsデータ信号速度で動作する。「高速イーサネット」（FE）と呼ばれるイーサネットの他の実現態様のデータ信号速度は100Mbpsである。FEの他の実現態様は10Gbpsで動作する。
【０００６】
デジタル・スイッチは通常、それぞれの異なるデータ信号速度の様々なプロトコルを用いてイ通信するように構成された物理ポートを有する。たとえば、スイッチ内のブレードは、10Mbpsポートまたは100Mbpsポートである何らかのポートを有してよい。ブレードは、SONETなどの光学標準に準拠し、10Gbpsなどのデータ信号速度が可能な他のポートを有してもよい。
【０００７】
デジタル・スイッチの性能は、存在する物理ポートの数や、データ・トラフィックを遮断することも減速することもなしに切り替えることのできる物理ポートの数などの基準に基づいて評価されることが多い。多数のスイッチのビット転送容量の制限因子はスイッチ・ファブリックである。たとえば、ある従来のスイッチ・ファブリックは、ブレード当たり毎秒8ギガビットに制限されていた。8ブレードの例では、これはトラフィック1秒当たり64ギガビットに等しい。特定のブレードのデータ信号速度を毎秒8ギガビットを超える速度に高めることが可能である。しかし、スイッチ・ファブリックは、この高められたトラフィックを処理することができない。
【０００８】
新規の光学技術を利用し、ブレード上のポート密度を高くすると共にデータ信号速度を速くすることが望ましい。しかし、より高いビット・レートを扱い、従来のスイッチをかなり上回る最大総ビット転送容量をもたらすスイッチおよびスイッチ・ファブリックが必要である。
【発明の開示】
【０００９】
発明の概要
本発明は、高性能ネットワーク・スイッチを提供する。切替えファブリックではシリアル・リンク技術が使用される。切替えファブリックでは、パラレル・データ・ストリームではなくシリアル・データ・ストリームが切り替えられる。ブレードは、シリアル・パイプにおいてシリアル・データ・ストリームを出力する。シリアル・パイプは、切替えファブリックにブレードを結合するいくつかのシリアル・リンクであってよい。シリアル・データ・ストリームは、物理ポートを通してそれぞれのブレードに供給される入力されたシリアル・データ・ストリームの集合を表す。各ブレードは、帯域内制御情報を有するシリアル・データ・ストリームを複数のストライプで切替えファブリックに出力する。
【００１０】
一態様では、シリアル・データ・ストリームは、複数のストライプにわたるワイド・ストライプ化セルでデータのパケットを転送する。ワイド・ストライプ化セルは符号化される。帯域内制御情報は、ワイド・セルの1つまたは複数のブロックで転送される。たとえば、ワイド・セルの初期ブロックは、制御情報および状態情報を含む。さらに、制御情報および状態情報は各ストライプで転送される。特に、制御情報および状態情報は、ワイド・セルの初期ブロックの各サブブロックで転送される。このように、制御情報および状態情報は、インバンドでシリアル・データ・ストリーム（ストライプとも呼ばれる）で得られる。制御情報は、インバンドで与えられ、セルの始め、パケットの終り、アボート、その他のエラー条件などのトラフィック・フロー条件を示す。
【００１１】
ワイド・セルは1つまたは複数のブロックを有する。各ブロックは、5つのストライプにわたって延びる。各ブロックは、各々のサイズが4バイトである5つのサブブロックで構成された20バイトのサイズを有する。一例では、ワイド・セルは148バイトのペイロード・データおよび12バイトのインバンド制御情報を転送することのできる8ブロック（160バイト）の最大サイズを有する。全二重トラフィック用のデータのパケットは、ワイド・セルにおいてデジタル・スイッチの1つのスロットを通して各方向に50Gbpsの速度で転送することができる。一特徴によれば、本発明者によって決定された160バイトの最大ワイド・セル・ブロック・サイズを選択すると、バックプレーン・インタフェース・アダプタを通して4x10Gbpsイーサネット（4X10GEとも呼ばれる）回線速度を維持することができる。この回線速度は、84バイトから254バイトの間のパケット・サイズを含むがそれに限定されない、イーサネットで許容されるサイズの範囲を有するイーサネット・パケットに対して維持される。
【００１２】
一態様では、デジタル・スイッチは、シリアル・パイプを介して切替えファブリックに結合された複数のブレードを有する。切替えファブリックは、バックプレーンおよび／または1つまたは複数のブレード上に設けることができる。各ブレードは、シリアル・データ・ストリームをインバンド制御情報と共に複数のストライプで切替えファブリックに出力する。切替えファブリックは、複数のストライプに対応する複数のクロス・ポイントを含む。各クロス・ポイントは、複数のブレードに結合された複数のポート・スライスを有する。一態様では、5つのストライプおよび5つのクロス・ポイント使用される。各ブレードは、それぞれ、5つのクロス・ポイントの各々に結合された5つのシリアル・リンクを有する。実現態様の一例では、ブレードを切替えファブリックに結合するシリアル・パイプは、5つの10Gbpsシリアル・リンクで構成された50Gbpsシリアル・パイプである。各10Gbpsシリアル・リンクは、それぞれのクロス・ポイントに結合され、シリアル・データ・ストリームを転送する。シリアル・データ・ストリームは、1つのストライプに対応するワイド・セルのデータ・スライスを含む。
【００１３】
本発明の一態様では、各ブレードはバックプレーン・インタフェース・アダプタ（BIA）を有する。BIAは3つのトラフィック処理フロー・パスを有する。第1のトラフィック処理フロー・パスは、ローカル・パケット・プロセッサから切替えファブリックの方に向かうトラフィック・フロー方向に延びる。第2のトラフィック処理フロー・パスは、切替えファブリックからローカル・パケット・プロセッサの方に向かうトラフィック・フロー方向に延びる。第3のトラフィック処理フロー・パスはローカル・トラフィックを第1のトラフィック処理フロー・パスから転送する。このローカル・トラフィックはソートされ、切替えファブリックを通過する必要なしにBIAでローカルに経路指定される。
【００１４】
BIAは、第1のパスに沿って1つまたは複数の受信機、ワイド・セル生成装置、送信機を含む。受信機は、データ・パケットを転送するナロー入力セルを受信する。このようなナロー入力セルは、パケット・プロセッサおよび／またはパケット・プロセッサに結合されたIBT（統合バス・トランスレータ（Integrated Bus Translator））から出力される。ワイド・セル生成装置は、BIAによってナロー入力セルで受信されたデータ・パケットを転送するワイド・ストライプ化セルを生成する。送信機は、ワイド・ストライプ化セルを複数のストライプで切替えファブリックに送信する。
【００１５】
本発明によれば、ワイド・セルは、複数のストライプにわたって延び、各ストライプにインバンド制御情報を含む。一態様では、各ワイド・セル生成装置は、各ナロー入力セルを解析し、パケットの始めを示す制御情報についてチェックし、パケットのすべてのナロー入力セルが1つまたは複数の新しいワイド・ストライプ化セルに分散されるまで1つまたは複数の新しいワイド・ストライプ化セルを符号化し、1つまたは複数の新しいワイド・ストライプ化セルを複数の送信キューに書き込む。
【００１６】
一例では、BIAは4つのデシリアライザ受信機、56個のワイド・セル生成装置、および5つのシリアライザ送信機を有する。4つのデシリアライザ受信機は、最大で8つの送信元（すなわち、デシリアライザ受信機当たり最大2つのIBTまたはパケット・プロセッサ）から出力されたナロー入力セルを受信する。56個のワイド・セル生成装置は、宛先スロット識別子および送信元に基づいてソートされた数群の受信されたナロー入力セルを受信する。5つのシリアライザは、ストライプに対応するワイド・セルのデータ・スライスを送信する。
【００１７】
他の特徴によれば、BIAは、受信された入力セルを宛先スロット識別子に基づいてソートするトラフィック・ソータを含んでもよい。一例では、トラフィック・ソータは、グローバル／トラフィック・ソータとバックプレーン・ソータの両方を含む。グローバル／トラフィック・ソータは、切替えファブリックにわたるグローバル宛先スロットを識別する宛先スロット識別子を有する受信されたナロー入力セルからローカル宛先スロットを識別する宛先スロット識別子を有する受信されたナロー入力セルをソートする。バックプレーン・ソータは、グローバル宛先スロットを識別する宛先スロット識別子を有する受信されたナロー入力セルを、宛先スロット識別子に基づく群としてさらにソートする。
【００１８】
一態様では、BIAは複数のストライプ送信キューおよび切替えファブリック送信アービトレータも含む。切替えファブリック送信アービトレータは、ストライプ送信キューに格納されているデータが送信機によって切替えファブリックに送信される順序を調停する。一例では、調停はラウンドロビン式に進行する。各ストライプおよびキューは、それぞれの送信元パケット・プロセッサおよび宛先スロット識別子に対応するそれぞれのワイド・ストライプ化セル群を格納する。各ワイド・ストライプ化セルは、複数のストライプにわたる1つまたは複数のブロックを有する。処理サイクル中に、切替えファブリック送信アービトレータは、ストライプおよびキューを選択し、次の利用可能なセルを（場合によってはセルの1つまたは複数のブロックを一度に）送信機にプッシュする。ワイド・セルの各ストライプは、そのストライプ用のそれぞれの送信機にプッシュされる。
【００１９】
BIAは、第2のパスに沿って1つまたは複数の受信機、ワイド／ナロー・セル・トランスレータ、および送信機を含む。受信機は、ワイド・ストライプ化セルを切替えファブリックから複数のストライプで受信する。ワイド・ストライプ化セルはデータ・パケットを転送する。トランスレータは、受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する。送信機は次いで、ナロー入力セルを対応する宛先パケット・プロセスさまたはIBTに送信する。一例では、5つのデシリアライザ受信機はワイド・ストライプ化セルの5つのサブブロックを複数のストライプで受信する。ワイド・ストライプセルは、複数のストライプにわたるデータ・パケットを転送し、宛先スロット識別子情報を含む。
【００２０】
一態様では、BIAはストライプ・インタフェースおよびストライプ受信同期キューを含む。各ストライプインタフェースは、送信元スロット識別子情報に基づいて各ストライプ内の受信されたサブブロックをソートし、ソート済みの受信されたサブブロックをストライプ受信同期キューに格納する。
【００２１】
BIAは、第2のトラフィック・フロー処理パスに沿って、アービトレータ、ストライプ・ベースのワイド・セル・アセンブラ、およびナロー／ワイド・セル・トランスレータを含む。アービトレータは、ストライプ受信同期キューに格納されているデータがストライプ・ベースのワイド・セル・アセンブラに送信される順序を調停する。ストライプ・ベースのワイド・セル・アセンブラは、受信されたデータ・サブブロックに基づいてワイド・ストライプ化セルをアセンブルする。ナロー／ワイド・セル・トランスレータは次いで、調停済みの受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する。
【００２２】
本発明の態様によれば第2レベルの調停も行われる。BIAは、第2のパスに宛先キューおよびローカル宛先送信アービトレータをさらに含む。宛先キューは、ローカル・トラフィック・ソータによって（第1のパスから）送信されたナロー・セルおよびトランスレータによって（第2のパスから）変換されたナロー・セルを含む。ローカル宛先送信アービトレータは、宛先キューに格納されているナロー入力セルがシリアライザ送信機に送信される順序を調停する。最後に、シリアライザ送信機は次いで、ナロー入力セルを対応するIBTおよび／または送信元パケット・プロセッサに（最終的には物理ポートを通してブレードから）送信する。
【００２３】
本発明の他の特徴によれば、ワイド・ストライプ化セルを符号化するシステムおよび方法が提供される。ワイド・セルは、複数のストライプにわたって延び、各ストライプにインバンド制御情報を含む。各ストライプに状態情報、予約された情報、ペイロード・データを含めてもよい。一態様では、ワイド・セル生成装置は1つまたは複数のワイド・ストライプ化セルを符号化する。
【００２４】
ワイド・セル生成装置は、開始ワイド・ストライプ化セルの初期ブロックを初期セル符号化情報で符号化する。初期セル符号化情報は、ワイド・セルの初期ブロックの各サブブロックに与えられる制御情報（特殊K0文字など）および状態情報を含む。ワイド・セル生成装置は、さらにパケット・データの初期バイトを初期ブロック内の利用可能な空間に分散させる。パケット・データの残りのバイトは、パケットの終り条件に達するか、または最大セル・サイズに達するまで第1のワイド・ストライプ化セル（および後続のワイド・セル）内の1つまたは複数のブロックにわたって分散される。最後に、ワイド・セル生成装置は、さらに、ワイド・ストライプ化セルにデータを充填する度合いに応じて異なるパケットの終り情報で終了ワイド・ストライプ化セルを符号化する。一符号化方式では、パケットの終り情報は、パケットの終りが初期ブロックの終りで生じるか、初期ブロックの後のブロック内で生じるか、ブロック境界で生じるか、またはセル境界で生じるかを含む、1組のパケットの終り条件に応じて異なる。
【００２５】
本発明の他の態様によれば、ナロー入力セルでデータ・パケットを転送するシリアル・パイプとワイド・ストライプ化セルでデータ・パケットを転送するシリアル・パイプとのインタフェースをとる方法は、ナロー入力セルを受信する段階と、ワイド・ストライプ化セルを生成する段階と、複数のストライプにわたるワイド・ストライプ化セルのブロックを送信する段階とを含む。この方法は、受信されたナロー入力セルを宛先スロット識別子に基づいてソートする段階と、生成されたワイド・ストライプ化セルを、宛先スロット識別子および送信元パケット・プロセッサに基づいて、対応するストライプおよびキューに格納する段階と、格納されたワイド・ストライプ化セルが送信のために選択される順序を調停する段階とを含む。
【００２６】
一例では、生成段階は、各ナロー入力セルを解析する段階と、パケットの始めを示す制御情報についてチェックする段階と、パケットを転送するすべてのナロー入力セルのデータが1つまたは複数の新しいワイド・ストライプ化セルに分散されるまで1つまたは複数の新しいワイド・ストライプ化セルを符号化する段階と、1つまたは複数の新しいワイド・ストライプ化セルを複数の送信キューに書き込む段階とを含む。符号化段階は、開始ワイド・ストライプ化セルの初期ブロックを、制御情報や状態情報などの初期セル符号化情報で符号化する段階を含む。符号化は、パケット・データの初期バイトを第1のワイド・ストライプ化セルの初期ブロック内の利用可能な空間に分散させる段階と、第1のワイド・ストライプ化セルの初期ブロックの終りの利用可能なバイトに予約情報を追加する段階と、パケットの終り条件に達するか、または最大セル・サイズに達するまで、パケット・データの残りのバイトを、第1のワイド・ストライプ化セル中の1つまたは複数のブロックにわたって分散させる段階と、終了ワイド・ストライプ化セルをパケットの終り情報で符号化する段階とをさらに含んでよい。パケットの終り情報は、パケットの終りが初期ブロックの終りで生じるか、初期ブロックの後の任意のブロック内で生じるか、ブロック境界で生じるか、またはセル境界で生じるかを含む、1組のパケットの終り条件に応じて異なる。
【００２７】
この方法は、データ・パケットを転送するワイド・ストライプ化セルを切替えファブリックから複数のストライプで受信する段階と、受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する段階と、ナロー入力セルを対応する送信元パケット・プロセッサに送信する段階も含む。この方法は、各ストライプ中の受信されたサブブロックを、送信側スロット識別子情報に基づいてソートする段階と、ソート済みの受信されたサブブロックをストライプ受信同期キューに格納する段階と、ストライプ受信同期キューに格納されているデータがアセンブルされる順序を調停する段階とをさらに含む。他の段階は、受信されたデータ・サブブロックに基づいて調停段階の順序でワイド・ストライプ化セルをアセンブルする段階と、調停済みの受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する段階と、ナロー・セルを複数の宛先キューに格納する段階である。一態様では、宛先キューに格納されているデータが送信される順序を調停する段階と、ナロー入力セルを、さらなる調停段階の順序で、対応する送信元パケット・プロセッサおよび／またはIBTに送信する段階とを含む他の調停が行われる。
【００２８】
本発明は、エラー検出および回復をさらに行う。このようなエラーは、ストライプ同期エラーを含んでよい。一態様では、管理モジュールは、レベル・モニタ、ストライプ同期エラー検出器、フロー・コントローラ、および制御文字存在トラッカを含む。レベル・モニタは、受信側ブレードで受信されるデータを監視するストライプ同期エラー検出器は、レベル・モニタによって監視されたデータの量に基づいてストライプ同期エラーを検出する。ストライプ同期エラーの例には、着信リンク・エラー、クロス・ポイント障害、および発信リンク・エラーが含まれる。一例では、受信側ブレードで受信されたデータは、ストライプ・送信元情報に基づいてソートされ、1組のデータ構造（たとえば、FIFO）に格納される。レベル・モニタは、各データ構造に格納されているデータのレベルを監視する。ストライプ同期エラー検出器は、特定の送信元からのそれぞれのストライプ上で受信されたデータの量におけるオーバフロー条件およびアンダーフロー条件の少なくとも一方を検出する。
【００２９】
フロー・コントローラは、ストライプ同期エラーが検出されたことに応答して各ストライプ間でデータを再同期させる回復ルーチンを開始する。制御文字存在トラッカは、回復ルーチン中のK2文字の存在を識別する。
【００３０】
本発明は、ネットワーク・スイッチにおけるストライプ同期エラーを検出する方法であって、受信側スロットで受信されたデータを、ストライプ・送信元情報に基づいてソートする段階と、ソートされたデータを1組のデータ構造に格納する段階と、各データ構造に格納されているデータのレベルを監視する段階と、特定の送信元からのそれぞれのストライプ上で受信されたデータの量におけるオーバフロー条件およびアンダーフロー条件の少なくとも一方を検出する段階とを含む方法をさらに提供する。送信元情報は、データをネットワーク・スイッチの切替えファブリックを横切って送信したスロットを識別するか、またはデータをスロットから ネットワーク・スイッチの切替えファブリックを横切って送信した送信元パケット・プロセッサを識別することができる。
【００３１】
本発明は、ストライプ化セル・トラフィックの同期を維持する方法であって、共通の文字をストライプ化セルで、すべてのレーンにおいて所定のサイクル数にわたって送信する段階と、ストライプ受信同期キューで受信された共通の制御文字を評価する段階と、ストライプ受信同期キューがクリアされたことを示す同期条件が存在する場合にそれを検出する段階とを含む方法をさらに含む。
【００３２】
本発明は、切替えファブリック内のクロス・ポイント・スイッチを通して非同期トラフィック・フローを管理する方法であって、ストライプ受信同期キューのレベルを監視する段階と、非同期条件が存在するかどうかを判定する段階と、非同期条件が存在する場合に再同期ルーチンを開始する段階とを含む方法をさらに含む。再同期ルーチンは、共通の文字をストライプ化セルで、すべてのレーンにおいて所定のサイクル数にわたって送信する段階と、ストライプ受信同期キューで受信された共通の制御文字を評価する段階と、ストライプ受信同期キューがクリアされたことを示す同期条件が存在する場合にそれを検出する段階とを含んでよい。
【００３３】
本発明の他の態様によれば、冗長切替えシステムが提供される。冗長切替えシステムは、2つの切替えブレードと少なくとも1つの入出ブレード（またはスレーブ・ブレード）とを含む。各切替えブレードは、シリアル・データ・ストリームのそれぞれのストライプに対応する複数のクロス・ポイントを有する。各入出ブレードは、バックプレーン接続によって各切替えブレードに結合される。各入出ブレードは複数の冗長ファブリック・トランシーバ（redundant fabric transceiver：RFT）も含む。RFTは、2つの切替えブレード上のクロス・ポイント間でトラフィックを切り替えることができる。これによって冗長性が確保される。
【００３４】
一態様では、冗長ファブリック・トランシーバは、バス・インタフェース・アダプタに結合され、1つまたは複数の第1および第2のポート、マルチプレクサ、ダウンリンク・トランシーバ、およびアップリンク・トランシーバを含む。マルチプレクサは、送信すべき通信データを同様のデータから選択する。ダウンリンク・トランシーバは、この通信データを受信し、条件付けし、且つ送信する。アップリンク・トランシーバも通信データを受信し、条件付けし、且つ送信する。ダウンリンク・トランシーバとアップリンク・トランシーバの少なくとも一方の動作を示す条件情報を含むレジスタ・モジュールを使用することができ、この場合、条件情報には、受信データおよび送信データに関する構成設定およびパラメータ設定が含まれる。
【００３５】
本発明の他の態様、特徴、および利点と、本発明の様々な態様の構造および動作について、以下に添付の図面を参照して説明する。
【００３６】
本明細書に組み入れられ、本明細書の一部を形成する添付の図面は、本発明を例示し、さらに、説明と共に、本発明の原則について説明し、当業者が本発明を作製して使用するのを可能にする働きをする。
【００３７】
次に、本発明について添付の図面を参照して説明する。図面では、同一の参照符号は、同一の要素または機能的に類似した要素を示す。さらに、参照符号の1番左側の数字は、その参照符号が初めて現れる図面を示す。
【００３８】
発明の詳細な説明
目次
I．概要および考察
II．用語
III．デジタル・スイッチ・アーキテクチャ
A．クロス・ポイント・アーキテクチャ
B．ワイド・セル符号化およびフロー制御を含むポートスライス動作
C．バックプレーン・インタフェース・アダプタ
D．バックプレーン・インタフェース・アダプタの全体的な動作
E．第1のトラフィック処理パス
F．ナロー・セル・フォーマット
G．トラフィックのソート
H．ワイド・ストライプ化セルの生成
I．ワイド・ストライプ化セルの符号化
J．初期ブロック符号化
K．パケットの終り符号化
L．切替えファブリック送信調停
M．ストライプのクロス・ポイント処理
N．第2のトラフィック処理パス
O．セル境界整列
P．パケット整列
Q．回線速度におけるワイド・ストライプ化セル・サイズ
R．IBTおよびパケット処理
S．ナロー・セル符号化プロセスおよびパケット符号化プロセス
T．管理プロセスおよびエラー制御
U．リセット手順および回復手順
IV．制御論理
V．結論
【００３９】
I．概要および考察
本発明は高性能デジタル・スイッチである。各ブレードはシリアル・パイプを通して切替えファブリックに結合されている。切替えファブリックではシリアル・リンク技術が使用される。疎にストライピングされた切替えファブリックによって、パラレル・データ・ストリームではなくシリアル・データ・ストリームが切り替えられる。各ブレードは、シリアル・パイプでシリアル・データ・ストリームを出力する。シリアル・パイプは、ブレードを切替えファブリックに結合するいくつかのシリアル・リンクである。シリアル・データ・ストリームは、物理ポートを通してそれぞれのブレードに供給される入力シリアル・データ・ストリームの集合を表す。各ブレードは、インバンド制御情報を有するシリアル・データ・ストリームを複数のストライプで切替えファブリックに出力する。一態様では、シリアル・データ・ストリームは、データ・パケットを、ワイド・ストライプ化セルで、複数の疎に結合されたストライプを横切って転送する。ワイド・ストライプ化セルは符号化されている。インバンド制御情報は、ワイド・ストライプ化セルの1つまたは複数のブロックで転送される。
【００４０】
一実現態様では、スイッチの各ブレードは、毎秒50ギガビットの全二重トラフィックをバックプレーンにわたって送受信する。これは、すべてのパケット・サイズにわたって回線速度、ワイヤ・スピード、および非ブロッキングを確保するために行われる。
【００４１】
本発明による高性能スイッチは、インタネット、エンタプライズ・システム、インタネット・サービス・プロバイダ、および任意のプロトコル階層切替え（レイヤー2、レイヤー3、レイヤー4〜7切替えなど）を含むがそれらに限定されない任意の切替え環境で使用することができる。
【００４２】
本発明をこの環境例に関して説明する。この環境例は説明の都合上用いられるのに過ぎない。本発明は、このような環境例への適用に限定されるものではない。そればかりでなく、当業者には、以下の説明を読んだ後で、現在知られているかまたは将来開発される他の環境で本発明を実施する方法が明らかになろう。
【００４３】
II．用語
本発明をより明確に説明するために、明細書全体にわたって、以下の用語定義をできるだけ一貫して遵守する。
【００４４】
用語「スイッチ・ファブリック」または「切替えファブリック」は、ブレード間の切替え可能な相互接続を指す。スイッチ・ファブリックは、バックプレーン、ブレード、複数のブレード、ブレードから分離されたユニット、またはそれらの任意の組合せ上に位置することができる。
【００４５】
用語「パケット・プロセッサ」は、イーサネット・パケット・プロセッサを含むがそれに限定されない任意の種類のパケット・プロセッサを指す。パケット・プロセッサは、パケットをどこに送信するかを解析し判定する。
【００４６】
用語「シリアル・パイプ」は1つまたは複数のシリアル・リンクを指す。本発明を制限するものではない一態様では、シリアル・パイプは、10Gbpsシリアル・パイプであり、4つの2.5 Gbpsシリアル・リンクを含む。
【００４７】
用語「シリアル・リンク」は、デジタル・データをポイント間で直列に転送するデータ・リンクまたはバスを指す。比較的高いビット・レートのシリアル・リンクを、より低いビット・レートのシリアル・リンクを組み合わせることによって形成することもできる。
【００４８】
用語「ストライプ」は、ワイド・セルの1つのデータ・スライスを指す。用語「疎に結合された」ストライプは、各ストライプ内の、他のストライプに対して自律したデータ・フローを指す。必ずしもデータ・フローを各ストライプにおいて完全に同期させる必要はなく、データ・フローは、各ストライプで独立に進行し、他のストライプに対してスキューさせることができる。
【００４９】
III．デジタル・スイッチ・アーキテクチャ
本発明のスイッチ100のアーキテクチャの概要を図1に示す。スイッチ100は、スイッチ・ファブリック102（切替えファブリックまたは切替えファブリック・モジュールとも呼ばれる）および複数のブレード104を含んでいる。本発明の一態様では、スイッチ100は8つのブレード104a〜104hを含んでいる。各ブレード104はシリアル・パイプ106を介してスイッチ・ファブリック102と通信する。各ブレード104は、1つまたは複数のネットワーク接続から様々な種類のデジタル・データを受信する複数の物理ポート108をさらに含んでいる。
【００５０】
本発明の好ましい態様では、8つのブレードを有するスイッチ100は、毎秒400ギガビット（Gbps）の全二重トラフィックを切り替えることができる。本明細書では、すべてのデータ信号速度は、特に明示しないかぎり全二重である。各ブレード104は、シリアル・パイプ106上で50 Gbpsの速度でデータを通信する。
【００５１】
スイッチ100は図2にさらに詳しく示されている。図示のように、スイッチ・ファブリック102は5つのクロス・ポイント202を含んでいる。各ブレードとスイッチ・ファブリック102との間で送受信されるデータは、5つのクロス・ポイント・チップ202A〜202Eを横切ってストライピングされる。各クロス・ポイント202A〜202Eは次いで、1つのストライプまたはスイッチ・ファブリック102を通過するデータの5分の1を受信する。図2に示されているように、ブレード104の各シリアル・パイプ106は5つのシリアル・リンク204で構成されている。各ブレード104の5つのシリアル・リンク204は5つの対応するクロス・ポイント202に結合される。一例では、各シリアル・リンク204は、4つの2.5 Gbpsシリアル・リンクで構成された10Gシリアル・リンクなどの10Gシリアル・リンクである。このようにして、シリアル・リンク技術を用いてデータがバックプレーン102にわたって送信される。
【００５２】
各クロス・ポイント202A〜202Eは8ポート・クロス・ポイントである。一例では、各クロス・ポイント2202A〜Eは8つの10Gデータ・ストリームを受信する。各データ・ストリームは特定のストライプに対応する。ストライプは、特に宛先ポート番号（宛先スロット番号とも呼ばれる）および特殊インバンド制御情報を含むワイド・セル・フォーマットのデータを有している。インバンド制御情報は、K0文字やK1文字のようなK個の特殊文字を含んでいる。K0文字はストライプ内の新しいセルの始まりを区切る。K1文字はストライプ内のパケットの終りを区切る。各ストライプ内のこのような符号化によって、各クロス・ポイント202A〜202Eは他のクロス・ポイントに対して自立的にまたは独立に動作することができる。このようにして、クロス・ポイント202A〜202Eおよびそれらに関連するストライプは疎に結合されている。
【００５３】
各クロス・ポイント202には、データFIFO（先入れ先出しデータ構造）などの1組のデータ構造がある。これらのデータ構造は、送信元ポートおよび宛先ポートに基づくデータを格納する。一態様では、8ポート・クロス・ポイントの場合、56個のデータFIFOが使用される。各データFIFOは、それぞれの送信元ポートおよび宛先ポートに関連するデータを格納する。各送信元ポートに着信したパケットは、それに関連する送信元ポートおよび宛先ポートに対応するデータFIFOに書き込まれる。送信元ポートは、パケットが受信されるポート（およびポート・スライス）に関連付けされる。宛先ポートは、あるポートにストライプとして送信されるデータ中にインバンドで見出される宛先ポートまたはスロット番号に関連付けされる。
【００５４】
本発明の態様では、スイッチ・サイズは1つのセルとして定義され、セル・サイズは8バイト、28バイト、48バイト、68バイト、88バイト、108バイト、128バイト、148バイトのいずれかとして定義される。各ポート（またはポート・スライス）は、それぞれのシリアル・リンクに対して10 Gbpsの速度でシリアル・データを送受信する。各クロス・ポイント202A〜202Eは160 Gbps切替え容量（160 Gbps = 10 Gbps*8ポート*2方向全二重）を有している。このようなセル・サイズ、シリアル・リンク・データ信号速度、および切替え容量は、例示的なものであり、本発明を制限するものではない。クロス・ポイント・アーキテクチャおよび動作について以下に詳しく説明する。
【００５５】
従来技術では、スイッチのスループットを高めるために、データ・バスの幅を大きくしてスイッチの「並列処理」機能を向上させ、クロック・レートを高くすることが行われている。しかし、どちらの手法も得られる利点が小さくなっている。たとえば、非常に幅の広いデータ・バスは回路板の物理的な制限によって制約される。同様に、非常に高いクロック・レートはプリント回路基板の特性によって制限される。本発明者は、シリアル・リンク技術をバックプレーンで用いることにより、従来の技術と比べて切替え帯域幅が著しく大きくなることを発見した。
【００５６】
好ましい態様では、各シリアル・パイプ106は50 Gbpsで全二重トラフィックを転送することができ、各シリアル・リンク204は10 Gbpsで全二重トラフィックを転送することができる。このアーキテクチャの結果として、5つのクロス・ポイント202の各々は、毎秒10ギガビットの5つのシリアル・リンクを組み合わせて各シリアル・パイプ106ごとに毎秒50ギガビットの総データ信号速度を実現する。したがって、8つのブレードについてのバックプレーン102にわたる全切替え容量は、毎秒50ギガビットx8x2（二重の場合）、すなわち毎秒800ギガビットである。このような切替え容量は、同期させたパラレル・データ・バスを切替えファブリック内で用いる従来の技術では不可能である。
【００５７】
ブレード104からバックプレーン102までの50 Gbpsシリアル・パイプを有するこのようなスイッチの利点は、各ブレード104が、一連のパケット・サイズにわたって、4つの10 Gbpsイーサネット・パケット・プロセッサを回線速度でサポートするか、4つのオプティカル・チャンネル（Optical Channel）OC-192Cを回線速度でサポートするか、または1つのOC-768Cを回線速度でサポートできることである。本発明はこれらの例に制限されない。この説明で与えられる技術分野の当業者なら、他の構成および種類のパケット・プロセッサを本発明のスイッチと共に使用することができる。
【００５８】
次に図3Aを参照すると、ブレード104のアーキテクチャがさらに詳しく示されている。ブレード104は、バックプレーン・インタフェース・アダプタ（backplane interface adapter：BIA）302（「スーパー・バックプレーン・インタフェース・アダプタ」またはSBIAとも呼ばれる）、複数の統合バス・トランスレータ（IBT）304、および複数のパケット・プロセッサ306を含んでいる。BIA 302は、バックプレーン102の5つのクロス・ポイント202を横切ってデータをストライピングする責任を負う。好ましい態様では、BIA302はアプリケーション・スペシフィック・サーキット（application-specific circuit：ASIC）として実施される。BIA302はIBT304を通してパケット・プロセッサ306からデータを受信する（または互換性のあるパケット・プロセッサから直接受信する）。BIA302は、バックプレーン102にデータを渡すことも、ブレード104上のローカル・ポート間のローカル切替えを実行することもできる。好ましい態様では、BIA302は4つのシリアル・リンク308に結合されている。各シリアル・リンク308はIBT304に結合されている。
【００５９】
各パケット・プロセッサ306は1つまたは複数の物理ポートを含んでいる。各パケット・プロセッサ306は、1つまたは複数の物理ポートからインバウンド・パケットを受信し、制御情報に基づいてインバウンド・パケットの宛先を判定し、パケット・プロセッサが接続されている物理ポート宛のローカル・パケットに対してローカル切替えを行い、パラレル・データを作成するようにリモート・ポート宛のパケットをフォーマットし、このパラレル・データをIBT304に切り替える。各IBT304は、各パケット・プロセッサ306からパラレル・データを受信する。IBT304は次いで、パラレル・データを少なくとも1つのシリアル・ビット・ストリームに変換する。IBT304は、本明細書で1つまたは複数のシリアル・リンクとして説明するパイプ308を介してBIA302にシリアル・ビット・ストリームを供給する。好ましい態様では、各パイプ308は10Gb/s XAUIインタフェースである。
【００６０】
図3Aに示されている例では、パケット・プロセッサ306Cおよび306Dは、毎秒10メガビットまたは100メガビットの24個のイーサネット・ポートと、毎秒1000メガビット、すなわち1Gbpsの2個のイーサネット・ポートとを含んでいる。データが変換される前に、4Gbpsのデータ信号速度を実現するように、入力データ・パケットが32ビット・パラレル・データ・クロック・データ133MHzに変換される。データはセル（「ナロー・セル」とも呼ばれる）に入れられ、各セルは制御信号をインバンドでデータ・ストリームと併合するヘッダを含んでいる。パケットは、セル境界によってそれぞれの異なる宛先スロット32個ごとにインタリーブされる。
【００６１】
図3Aの例でも、IBT304Cは、パケット・プロセッサ306Cおよび306Dに接続されている。これはたとえば、毎秒10ギガビットのOC-192パケット・プロセッサであってよい。これらの例では、各IBT304は、156.25MHzでクロッキングされる64ビット幅のデータ・ストリームをその入力として受信する。各IBT304は次いで、毎秒10ギガビットのシリアル・データ・ストリームをBIA302に出力する。あるナロー・セル・フォーマットによれば、各セルは4バイト・ヘッダと、その後に続く32バイトのデータとを含んでいる。4バイト・ヘッダは4つのXAUIレーン上で1サイクルを占有する。各データ・バイトは1つのXAUIレーン上で直列化される。
【００６２】
BIA302はIBT304A〜304Dの出力を受信する。したがって、BIA302は4x10Gbpsのデータを受信する。あるいは毎秒8x5ギガビットのデータを受信する。BIA302は156.25MHzのクロック速度で動作する。BIA302は、管理オーバヘッドおよびストライピングを加えることによって、毎秒5x10ギガビットのデータ・ストリームをバックプレーン102内の5つのクロス・ポイント202に出力する。
【００６３】
BIA302は、IBT304からシリアル・ビット・ストリームを受信し、パケット・ヘッダ情報に基づいて各インバウンド・パケットの宛先を判定し、ローカルIBT304間のローカル切替えを行い、リモート・ポート宛のデータをフォーマットし、IBT304からのシリアル・ビット・ストリームを集計し、総ビット・ストリームを作成する。集計されたビット・ストリームは次いで、5つのクロス・ポイント202A〜202Eを横切ってストライピングされる。
【００６４】
図3Bは、本発明の他の態様によるブレード104の構成を示している。この構成では、BIA302は、10Gbpsパケット・プロセッサ316A、IBT304C、およびオプティカル・チャンネルOC-192Cパケット・プロセッサ316Bからの出力をシリアル・リンク上で受信する。IBT304はさらに、上述のようにパケット・プロセッサ306C、306Dに結合されている。10Gbpsパケット・プロセッサ316Aは、データ・パケットをシリアル・リンク318A上でをBIA302に転送するナロー入力セルのシリアル・データ・ストリームを出力する。IBT304Cは、データ・パケットをシリアル・リンク308C上でBIA302に転送するナロー入力セルのシリアル・データ・ストリームを出力する。オプティカル・チャンネルOC-192Cパケット・プロセッサ316Bは、データ・パケットを2つのシリアル・リンク318B、318C上でBIA302に転送するナロー入力セルの2つのシリアル・データ・ストリームを出力する。
【００６５】
A．クロス・ポイント・アーキテクチャ
図4は、クロス・ポイント202のアーキテクチャを示している。クロス・ポイント202は、8つのポート・スライス402A〜402Hに結合された8つのポート401A〜401Hを含んでいる。図示のように、各ポート・スライス402は、他の7つのポート・スライス402の各々にワイヤ404（または他の接続媒体）によって接続されている。各ポート・スライス402は、ポート401を通してそれぞれのブレード104にも結合されている。このことを例示するために、図4はポート401Fおよびポート・スライス402F（ポート＿スライス5とも呼ばれる）の接続を示している。たとえば、ポート401Fはシリアル・リンク410を介してブレード104Fに結合されている。シリアル・リンク410は10G全二重シリアル・リンクであってよい。
【００６６】
ポート・スライス402Fは、回線420〜426を通して他の7つのポート・スライス402A〜402Eおよび402G〜402Hの各々に結合されている。リンク420〜426は、ポート・スライス402Fのポート（すなわち、宛先ポート番号5）に関連する宛先ポート番号（宛先スロット識別子とも呼ばれる）を有する、他のポート・スライス402A〜402Eおよび402G〜402Hで受信されたデータを経路指定する。最後に、ポート・スライス402Fは、ポート・スライス402Fに関連するポートを他の7つのポート・スライスに結合するリンク430を含んでいる。リンク430は、ポート・スライス402Fのポートで受信されたデータを他の7つのポート・スライスに送信するのを可能にする。一態様では、ポート・スライス間の各リンク420〜426および430は、クロス・ポイント202内でデータを並列に転送するバスである。他のポート・スライス402A〜402E、402Gおよび402Hの各々にも同様の接続（図を明確にするために示されていない）が設けられている。
【００６７】
図5は、ポート401Fおよびポート・スライス402Fのアーキテクチャをさらに詳しく示している。他のポート401A〜401E、401G、および401Hならびにポート・スライス402A〜402E、402G、および402Hのアーキテクチャは、ポート401Fおよびポート・スライス402Fに類似している。したがって、ポート401Fおよびポート・スライス402Fについてのみ詳しく説明すればよい。ポート401Fは1つまたは複数のデシリアライザ受信機510およびシリアライザ送信機580を含んでいる。一態様では、デシリアライザ受信機510およびシリアライザ送信機580は、データをシリアル・データ・ストリームとパラレル・データ・ストリームとに変換するシリアライザ／デシリアライザ回路（SERDES）として実施される。本発明の態様では、ポート401Fは、共通のチップ上、または別々のチップ上、または別々のユニット内の、ポート・スライス402Fの一部であってよい。
【００６８】
ポート・スライス402Fは、デシリアライザ受信機510と累算器520との間に結合された受信同期FIFOモジュール515を含んでいる。受信同期FIFOモジュール515は、ポート・スライス402Fに対応するデシリアライザ受信機510から出力されたデータを格納する。累算器520は、受信されたデータのヘッダ内の宛先スロットまたはポート番号に基づいて他のポート・スライス402A〜402E、402G、および402H内の適切なデータFIFO（図示せず）にデータを書き込む。
【００６９】
ポート・スライス402Fは他のポート・スライス402A〜402E、402G、および402Hからもデータを受信する。このデータは、ポート・スライス402A〜402E、402G、および402Hの他の7つのポートで受信され、ポート・スライス402Fに対応する宛先スロット番号を有するデータに対応する。ポート・スライス402Fは、対応するポート・スライス402A〜402E、402G、および402Hからのデータを格納する7つのデータFIFO530を含んでいる。7つのポート・スライス402A〜402E、402G、および402H内の累算器（図示せず）は、ポート・スライス402Fに関連する宛先スロット番号を抽出し、ポート・スライス402Fの7つのデータFIFO530のそれぞれに対応するデータを書き込む。図5に示されているように、各データFIFO530はFIFOコントローラおよびFIFOランダム・アクセス・メモリ（RAM）を含んでいる。FIFOコントローラはFIFO読取りアービトレータ540に結合されている。FIFO RAMはマルチプレクサ550に結合されている。FIFO読取りアービトレータ540はさらにマルチプレクサ550に結合されている。マルチプレクサ550は、ディスパッチャ560に結合された出力を有している。ディスパッチャ560は、送信同期FIFOモジュール570に結合された出力を有している。送信同期FIFOモジュール570は、シリアライザ送信機580に結合された出力を有している。
【００７０】
動作時に、FIFO RAMはデータを累積する。データFIFO RAMが1セル分のデータを累積した後、それに対応するFIFOコントローラがFIFO読取りアービトレータ540に対する読取り要求を生成する。FIFO読取りアービトレータ540は、ラウンド・ロビン順のような所望の順序でそれぞれの異なるFIFOコントローラからの読取り要求を処理する。1つのFIFO RAMから1セル分のデータが読み取られた後、FIFO読取りアービトレータ540は次の要求側FIFOコントローラの処理に移る。このようにして、それぞれの異なる要求側FIFOコントローラに対して調停が行われ、それぞれの異なる送信元ポートで受信されたデータが転送される。これによって、クロス・ポイント202を通した比較的均一であるが疎に結合されたデータ・フローが維持される。
【００７１】
FIFO読取りアービトレータ540は、読取り要求を処理するために、マルチプレクサ550を切り替え、1セル分のデータを、読取り要求に関連するデータFIFO RAMからディスパッチャ560に転送する。ディスパッチャ560は、データを送信同期FIFO 570に出力する。送信同期FIFO 570は、データを格納し、このデータがシリアライザ送信機580によってシリアル・データ・ストリームでブレード104Fに送信されるまで格納し続ける。
【００７２】
B．ワイド・セル符号化およびフロー制御によるポート・スライス動作
他の態様によれば、ポート・スライスは、ワイド・セル符号化およびフロー制御条件に関して動作する。図27A〜27Eは、ワイド・セル符号化およびフロー制御条件に基づいてポート・スライス内のデータを処理するルーチン2700を示している（段階2710〜2790）。説明を簡潔にするために、クロス・ポイント202および例示ポート・スライス402Fの実施例に関してルーチン2700を説明する。他のポート・スライス402A〜402E、402G、および402Hの動作は類似している。
【００７３】
段階2710で、受信同期FIFO 515内のエントリが管理される。一例では、受信同期FIFOモジュール515は、書込みポインタおよび読取りポインタが3エントリ離れるように初期設定される8エントリFIFOである。受信同期FIFOモジュール515は、SERDESデシリアライザ受信機510からの64ビット・データを書き込み、クロック信号によってFIFOから64ビット・データを読み取り、データを累算器520に供給し、離隔距離が1以下になった場合に読取りポインタを調整することによって読取りポインタ・書込みポインタ間の3エントリ離隔距離を維持する。
【００７４】
段階2720で、累算器520は、受信同期FIFO 515から受信された2つの32ビット・データ・チャンクを受信する。累算器520は第1のチャンクおよび第2のチャンクの第1のバイト中の特殊文字K0を検出する（段階2722）。累算器520は次いで、K0が検出された場合、ヘッダ内の状態フィールドから宛先スロット番号を抽出する（段階2724）。
【００７５】
図27Bに示されているように、累算器520は、セル・ヘッダが下位整列しているかまたは上位整列しているかをさらに判定する（段階2726）。累算器520は、セル・ヘッダが下位整列または上位整列しているが、下位整列すると共に上位整列しているわけではない場合、宛先スロットに対応するデータFIFOに64ビット・データを書き込む（段階2728）。段階2730で、累算器520は、セル・ヘッダがデータの第1のチャンクおよび第2のチャンクに現れている場合（下位整列すると共に上位整列している）、2つの宛先スロット（またはポート）に対応する2つのデータFIFOに2つの64ビット・データを書き込む。累算器520は次いで、セルが64ビット境界で終わらず、後続のセルの宛先が異なるスロットである場合、32ビット・データの第2のチャンクにアイドル文字を埋める（段階2732）。累算器520は、データにK0およびアボート（ABORT）状態情報を挿入することによってエラー条件が検出された場合、セルの早期終了を実行する（段階2734）。累算器520は、データ_l（第1のチャンク）およびデータ_h（第2のチャンク）の第1のバイトにK1文字を検出すると（段階2736）、累算器520は後続の64ビット・データをすべての宛先データFIFOに書き込む（段階2738）。
【００７６】
図27Cに示されているように、2つの32ビット・データ・チャンクが有効である場合、それらのチャンクは、一方のデータFIFO 530内のデータFIFO RAMに書き込まれる。段階2742で、一方の32ビット・チャンクのみが有効である場合、FIFO深さが所定のレベルよりも低くなっていない場合にはこのチャンクが一時レジスタに保存される。保存された32ビット・データと後続の32ビット・データは組み合わされFIFO RAMに書き込まれる。一方の32ビット・チャンクのみが有効であり、FIFO深さが4エントリよりも低くなっている場合、有効な32ビット・チャンクは、32ビット・アイドル・データと組み合わされ、FIFO RAMに書き込まれる（段階2744）。
【００７７】
段階2746で、それぞれのFIFOコントローラは、K0が読み取られたか、またはFIFO RAMが空である場合にそれをFIFO読取りアービトレータ540に示す。この表示は、調停のための読取り要求である。段階2748で、それぞれのFIFOコントローラは、K0が第1の32ビット・チャンクに整列しているかまたは第2の32ビット・チャンクに整列しているかをFIFO読取りアービトレータ540に示す。出力ポートからのフロー制御検出されると（1つまたは複数の文字の所定のフロー制御シーケンスが検出された場合など）、FIFOコントローラは、現在のセルがFIFO RAMから完全に読み取られた後FIFO読取りアービトレータ540への要求を停止する（段階2750）。
【００７８】
図27Dに示されているように、段階2760で、FIFO読取りアービトレータ540は、7つのFIFOコントローラからの7つの要求を調停し、セル（K0）境界で切り替える。現在のセルの終りが64ビット整列している場合、FIFO読取りアービトレータ540は、次の要求側に切り替え、64ビット・データを要求側FIFOコントローラのFIFO RAMからディスパッチャ560に供給する（段階2762）。現在のセルの終りが32ビット整列している場合、FIFO読取りアービトレータ540は、現在のデータの下位32ビットを次の要求側FIFOコントローラからの下位32ビットと組み合わせ、組み合わされた64ビット・データをディスパッチャ560に供給する（段階2764）。さらに、段階2766で、FIFO読取りアービトレータ540は、すべての7つのFIFO RAMが空である場合にそれをディスパッチャ560に示す。
【００７９】
図27Eに示されているように、段階2770で、FIFO読取りアービトレータ540から非アイドル・データが受信された場合、ディスパッチャ560は、64ビット・データをSERDES同期FIFOモジュール570に供給し、さらにシリアライザ送信機580に供給する。FIFO読取りアービトレータ540が、すべての7つのFIFO RAMが空であることを示すと、ディスパッチャ560は、SERDES同期FIFOモジュール570に送信しさらに送信機580に送信すべき第1の整列シーケンスを挿入する（段階2772）。プログラム可能なタイマが満了し、前の呼出しが完全に送信されると、ディスパッチャ560は、SERDES同期FIFOモジュール570に送信しさらに送信機580に送信すべき第2の整列シーケンスを挿入する（段階2774）。ディスパッチャ560は、事前にスケジューリングされた現在の整列シーケンスが完全に送信されるまで要求側のための処理を一時的に停止するようFIFO読取りアービトレータ540に指示する（段階2776）。制御は終了する（段階2790）。
【００８０】
C．バックプレーン・インタフェース・アダプタ
バックプレーン・インタフェース・アダプタの構造および動作について説明するために、図6〜9に示されている構成要素を参照する。図6は、本発明の態様によるバックプレーン・インタフェース・アダプタ（BIA）600の図である。BIA600は2つのトラフィック処理パス603、604を含んでいる。図7は、本発明の態様による、BIA600で受信されるローカル・シリアル・トラフィック用の第1のトラフィック処理パス603を示す図である。図8は、本発明の態様による、例示の切替えファブリック645をさらに詳しく示す図である。図9は、本発明の態様による、BIA600で受信されるバックプレーン・シリアル・トラフィック用の第2のトラフィック処理パス604を示す図である。都合上、図7および9に示されているパス603、604に沿った要素のより詳しい態様、および図8に示されている例示の切替えファブリック645を参照して図6のBIA600についても説明する。図11〜16に示されているワイド・ストライプ化セル符号化方式に関するルーチンおよび例示の図に関してバックプレーン・インタフェース・アダプタの動作についても説明する。
【００８１】
D．バックプレーン・インタフェース・アダプタの全体的な動作
図10は、ナロー入力セルでデータ・パケットを転送するシリアル・パイプとワイド・ストライプ化セルでデータ・パケットを転送するシリアル・パイプとのインタフェースをとるルーチン1000（段階1010〜1060）のフローチャートである。ルーチン1000は、ナロー入力セルを受信する段階（段階1010）と、受信された入力セルを宛先スロット識別子に基づいてソートする段階（1020）と、ワイド・ストライプ化セルを生成する段階（段階1030）と、生成されたワイド・ストライプ化セルを宛先スロット識別子および送信元パケット・プロセッサに基づいて対応するストライプ送信キューに格納する段階（段階1040）と、格納されているワイド・ストライプ化セルが送信のために選択される順序を調停する段階（段階1050）と、複数のストライプにわたるワイド・セルのブロックを表すデータ・スライスを送信する段階（段階1060）とを含む。説明を簡潔にするために、これらの段階の各々について、さらに、以下の図6および図7の態様におけるBIA600内の第1のトラフィック処理パスの動作に関して説明する。
【００８２】
図11は、ワイド・ストライプ化セルでデータ・パケットを転送するシリアル・パイプとナロー入力セルでデータ・パケットを転送するシリアル・パイプとのインタフェースをとるルーチン1100（段階1110〜1180）のフローチャートである。ルーチン1100は、データ・パケットを複数のストライプで転送するワイド・ストライプ化セルを切替えファブリックから受信する段階（段階1110）と、各ストライプ内の受信されたサブブロックを送信元パケット・プロセッサ識別子および送信元スロット識別子情報に基づいてソートする段階（段階1120）と、ソート済みの受信されたサブブロックをストライプ受信同期キューに格納する段階（段階1130）と、受信されたデータ・サブブロックに基づいて調停段階の順序でワイド・ストライプ化セルをアセンブルする段階（段階1140）と、受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する段階（段階1150）と、ナロー・セルを複数の宛先キューに格納する段階（段階1160）と、ストライプ受信同期キューに格納されているデータがアセンブルされる順序を調停する段階（段階1170）と、ナロー出力セルを対応する送信元パケット・プロセッサに送信する段階（段階1180）とを含む。ある他の態様では、宛先キューに格納されているデータが送信される順序を調停する段階と、ナロー入力セルをこの調停段階の順序で、対応する送信元パケット・プロセッサおよび／またはIBTに送信する段階とを含む他の調停が行われる。説明を簡潔にするために、これらの段階の各々について、さらに、以下の図6および図7の態様におけるBIA600内の第2のトラフィック処理パスの動作に関して説明する。
【００８３】
図6に示されているように、トラフィック処理フロー・パス603は、トラフィック・フロー方向にローカル・パケット・プロセッサから切替えファブリック645の方へ延びている。トラフィック処理フロー・パス604は、トラフィック・フロー方向に切替えファブリック645からローカル・パケット・プロセッサの方へ延びている。BIA600は、パス603に沿って結合された、デシリアライザ受信機602、トラフィック・ソータ610、ワイド・セル生成装置620、ストライプ送信キュー625、切替えファブリック送信アービトレータ630、およびシリアライザ送信機640を含んでいる。BIA600は、パス604に沿って結合された、デシリアライザ受信機650、ストライプ・インタフェース・モジュール660、ストライプ受信同期キュー685、コントローラ670（アービトレータ672、ストライプ・ベースのワイド・セル・アセンブラ674、および管理モジュール676を含む）、ワイド・セル・トランスレータ680、宛先キュー615、ローカル宛先送信アービトレータ690、およびシリアライザ送信機692を含んでいる。
【００８４】
E．第1のトラフィック処理パス
デシリアライザ受信機602は、データ・パケットを転送するナロー入力セルを受信する。これらのナロー入力セルは、パケット・プロセッサおよび／またはパケット・プロセッサに結合された統合バス・トランスレータ（IBT）からデシリアライザ受信機602に出力される。一例では、4つのデシリアライザ受信機602が4つのシリアル・リンク（上記に図3A〜3Bで説明したリンク308A〜308D、318A〜318Cなど）に結合されている。図7の例に示されているように、各デシリアライザ受信機602は、クロス・クロック・ドメイン・シンクロナイザ703に結合されたデシリアライザ受信機702を含んでいる。たとえば、クロス・クロック・ドメイン・シンクロナイザ703に結合された各デシリアライザ受信機702は、1組の4つのSERDESデシリアライザ受信機およびナロー入力セルの4つのレーンでデータ・バイトを転送するドメイン・シンクロナイザであってよい。一態様では、各デシリアライザ受信機702は、2つの送信元に結合された2つのシリアル・リンクから、インタリーブされたデータ・ストリームを受信することができる。図7は、4つのデシリアライザ受信機702（q=4）が合計で8つのシリアル・リンク（k=8）の2つの送信元（j=2）に結合される一例を示している。一例では、各デシリアライザ受信機702は、容量が10Gb/sのシリアル・データを受信する。
【００８５】
F．ナロー・セル・フォーマット
図13は、データ・パケットをナロー入力セルで転送するのに用いられる例示のナロー・セル1300のフォーマットを示している。このようなフォーマットは、XAUIインタフェースから受信されるデータ・セル・フォーマットを含んでよいが、それに限定されない。ナロー・セル1300は4つのレーン（レーン0〜3）を含んでいる。各レーン0〜3はシリアル・リンク上で1データ・バイトを転送する。セルの始めの部分はヘッダを含み、その次にペイロード・データがある。ヘッダは、レーン0における制御情報の1バイトと、レーン1における状態情報の1バイトとを含んでいる。レーン2および3のそれぞれに1バイトが予約されている。表1310は、使用可能な状態情報の例を示している。この状態情報は、スロット番号、ペイロード状態、および送信元または宛先パケット・プロセッサ識別子のうちの1つまたは複数を含む状態情報の任意の組合せを含んでよい。スロット番号は、00、01などの符号化された数、またはナロー・セルが送信されるブレード（スロットとも呼ばれる）を識別する他の識別子（たとえば、英数字やASCII値）である。ペイロード状態は、任意の符号化された数、または予約（reserved）（データを有さない予約されたセルを意味する）、SOP（パケット・セルの始めを意味する）、データ（data）（パケットのペイロード・データを転送するセルを意味する）、アボート（abort）（パケット転送が中断されることを意味する）のような、送信中のセル内のデータの特定の状態を示す他の識別子であってよい。
【００８６】
G．トラフィック・ソーティング
トラフィック・ソータ610は、受信されたナロー入力セルを宛先スロット番号に基づいてソートする。トラフィック・ソータ610は、BIA600と同じブレード宛のナロー・セル（ローカル・トラフィックとも呼ばれる）を宛先キュー615に経路指定する。切替えファブリックを越えたスイッチ内の他のブレード宛のナロー・セル（グローバル・トラフィックとも呼ばれる）は、ワイド・セル生成装置620に経路指定される。
【００８７】
図7は、トラフィック・ソータ610が、バックプレーン・ソータ714に結合されたグローバル／トラフィック・ソータ712を含む他の態様を示している。グローバル／トラフィック・ソータ712は、受信されたナロー入力セルを宛先スロット識別子に基づいてソートする。トラフィック・ソータ712は、BIA600と同じブレード宛のナロー・セルを宛先キュー615に経路指定する。切替えファブリックを越えたスイッチ内の他のブレード宛のナロー・セル（グローバル・トラフィックまたはバックプレーン・トラフィックとも呼ばれる）はバックプレーン・トラフィック・ソータ714に経路指定される。バックプレーン・トラフィック・ソータ714は、宛先スロット識別子に基づくグループのグローバル宛先スロットを識別する宛先スロット識別子を有する受信されたナロー入力セルをさらにソートする。このようにして、ナロー・セルは、それが転送されるブレードによってグループ分けされる。バックプレーン・トラフィック・ソータ714は次いで、バックプレーン・トラフィックのナロー入力セルのソートされたグループを対応するワイド・セル生成装置720に経路指定する。各ワイド・セル生成装置720は次いで、対応するナロー入力セルグループを処理する。各ナロー入力セル・グループは、パケットの、2つの対応するインタリーブされた送信元（j=2）から送信され、それぞれのブレードを宛先とする部分を表す。一例では、4つのバックプレーン・トラフィック・ソータ714の出力に56個のワイド・セル生成装置720が結合される。合計で56個のワイド・セル生成装置720は56=q*j*l-1によって与えられ、この場合、j = 2つの送信元、l = 8つのブレード、q = 4つのシリアル入力パイプおよび4つのデシリアライザ受信機720である。
【００８８】
H．ワイド・ストライプ化セル生成
ワイド・セル生成装置620はワイド・ストライプ化セルを生成する。ワイド・ストライプ化セルは、BIA600によって受信されたデータ・パケットをナロー入力セルで転送する。ワイド・セルは、複数のストライプにわたって延び、各ストライプにインバンド制御情報を含んでいる。説明を簡潔にするために、ワイド・セル生成装置620、720の動作について、さらに、図12のルーチン1200に関して説明する。しかし、ルーチン1200は、ワイド・セル生成装置620、720での使用に限定されるものではなく、他の構造および用途で使用することができる。
【００８９】
図12は、本発明による、ワイド・ストライプ化セルを生成するルーチン1200（段階1210〜1240）を示している。一態様では、各ワイド・セル生成装置620、720は段階1210〜1240を実行する。段階1210で、ワイド・セル生成装置620、720は各ナロー入力セルを解析してヘッダを識別する。ヘッダ内に制御情報が見つかると、制御情報がパケットの始めを示しているかどうかを判定するためのチェックが行われる（段階1220）。たとえば、ワイド・セル生成装置620、720は、段階1210および1220を実行するために、ナロー・セル1300のレーン0を読み取り、パケットの始めが存在することを示す制御情報を判定する。一例では、パケットの始め制御情報は特殊制御文字K0である。
【００９０】
パケットが検出されるたびに（段階1225）、段階1230〜1240が実行される。段階1230で、ワイド・セル生成装置620、720は、パケットのすべてのナロー入力セルのデータが1つまたは複数の新しいワイド・ストライプ化セルに分散されるまで1つまたは複数の新しいワイド・ストライプ化セルを符号化する。以下に、この符号化について、さらに、ルーチン1400ならびに図15A〜15Dおよび図16に関して説明する。
【００９１】
次いで段階1230で、ワイド・セル生成装置620は、1つまたは複数の新しいワイド・ストライプ化セルを複数の送信キュー625に書き込む。図7の例では、56個のストライプ送信キュー725に合計で56個のワイド・セル生成装置720が結合されている。この例では、56個のワイド・セル生成装置720はそれぞれ、新たに生成されたワイド・ストライプ化セルを56個のストライプ送信キューのそれぞれに書き込む。
【００９２】
I．ワイド・ストライプ化セルの符号化
本発明の他の特徴によれば、ワイド・ストライプ化セルを符号化するシステムおよび方法が提供される。一態様では、ワイド・セル生成装置620、720はそれぞれ、符号化されるワイド・ストライプ化セルを生成する（段階1230）。図14は、本発明の態様によるワイド・ストライプ化セルを符号化するルーチン1400（段階1410〜1460）のフローチャートである。
【００９３】
J．初期ブロック符号化
段階1410で、ワイド・セル生成装置620、720は開始ワイド・ストライプ化セルの初期ブロックを初期セル符号化情報で符号化する。初期セル符号化情報は、ワイド・ストライプ化セルの初期ブロックの各サブブロックに与えられる制御情報（特殊K0文字など）および状態情報を含んでいる。図15Aは、本発明の態様によるワイド・ストライプ化セル1500内の初期ブロックの符号化を示している。初期ブロックをサイクル1と呼ぶ。初期ブロックは、5つのストライプ1〜5にわたって延びる20バイトを有する。各ストライプは4バイトのサブブロックを有する。サブブロックの4バイトは4つの1バイト・レーンに対応する。このように、ストライプはワイド・セルのサブブロックのデータ・スライスである。レーンとは、サブブロックの1バイトのデータ・スライスである。次いで段階1410で、ストライプ1〜5の各レーン0に制御情報（K0）が与えられる。ストライプ1〜5の各レーン1に状態情報が与えられる。さらに、ストライプ5のレーン2および3に2バイトが予約される。
【００９４】
図15Bは、本発明の態様によるワイド・ストライプ化セルで用いられる状態情報を示す図である。図15Bに示されているように、ワイド・ストライプ化セルに関する状態情報は、スロット番号、ペイロード状態、および予約ビットのうちの1つまたは複数を含む状態情報の任意の組合せを含んでよい。スロット番号は、00、01などの符号化された数、またはワイド・ストライプ化セルが送信されるブレード（スロットとも呼ばれる）を識別する他の識別子（たとえば、英数字やASCII値）である。ペイロード状態は、任意の符号化された数、または予約（データを有さない予約されたセルを意味する）、SOP（パケット・セルの始めを意味する）、データ（パケットのペイロード・データを転送するセルを意味する）、アボート（パケット転送が中断されることを意味する）のような、送信中のセル内のデータの特定の状態を示す他の識別子であってよい。予約ビットも与えられる。
【００９５】
段階1420で、ワイド・セル生成装置620、720は、パケット・データの初期バイトを初期ブロック内の利用可能な空間に分散させる。図15Aに示されている例示のワイド・ストライプ化セル1500では、ストライプ1のレーン2および3に2バイトのデータD0、D1が与えられ、ストライプ2のレーン2および3に2バイトのデータD2、D3が与えられ、ストライプ3のレーン2および3に2バイトのデータD4、D5が与えられ、ストライプ4のレーン2および3に2バイトのデータD6、D7が与えられる。
【００９６】
段階1430で、ワイド・セル生成装置620、720は、パケット・データの残りのバイトを第1のワイド・ストライプ化セル（および後続のワイド・セル）の1つまたは複数のブロックにわたって分散させる。例示のワイド・ストライプ化セル1500では、ワイド・ストライプ化セルの最大サイズは、最大で148バイトのデータに相当する160バイト（8ブロック）である。ワイド・ストライプ化セル1500は、初期ブロック内のデータ・バイトD0〜D7だけでなく、7つのブロック（図15Aではブロック2〜8と呼ばれる）に分散したデータ・バイトD8〜D147をさらに有する。
【００９７】
一般に、パケット・データは、パケットの終り条件に達するか、または最大セル・サイズに達するまで引き続き分散される。したがって、最大セル・サイズに達したかどうかについてのチェック（段階1440）と、パケットの終りに達したかどうかについてのチェック（段階1450）が行われる。段階1440で最大セル・サイズに達し、かつさらにパケット・データを分散させる必要がある場合、制御は段階1410に戻り、残りのパケット・データを転送する追加のワイド・ストライプ化セルが作成される。段階1440で最大セル・サイズに達しない場合、パケットの終りチェックが行われる（段階1450）。パケットの終りに達した場合、現在パケット・データを充填されているワイド・ストライプ化セルが終了ワイド・ストライプ化セルになる。148バイトよりも小さいパケットの場合、必要なワイド・ストライプ化セルは1つだけであることに留意されたい。それ以外の場合、複数のストライプにわたるデータ・パケットを転送するのに複数のワイド・ストライプ化セルが用いられる。段階1450でパケットの終りに達すると、制御は段階1460に進む。
【００９８】
K．パケットの終り符号化
段階1460で、ワイド・セル生成装置620、720は、ワイド・ストライプ化セルにデータが充填された度合いに応じて異なるパケットの終り情報でワイド・ストライプ化セルをさらに符号化する。ある符号化方式では、パケットの終り情報は、パケットの終りが初期サイクルまたは後続のサイクルで起こるか、ブロック境界で起こるか、またはセル境界で起こるかを含む、1組のパケットの終り情報に応じて異なる。
【００９９】
図15Cは、本発明の態様による、終了ワイド・ストライプ化セルで使用されるパケットの終り符号化情報を示す図である。パケットの終りを示すのに特殊文字バイトK1が用いられる。1組の4つのパケットの終り条件が示されている（項目1〜4）。4つのパケットの終り条件は、パケットの終りが初期ブロック中に起こるか（項目1）、または後続のブロック中に起こるか（項目2〜4）である。後続のブロックのパケットの終り条件は、パケットの終りがブロック内で起こるか（項目2）、ブロック境界で起こるか（項目3）、またはセル境界で起こるか（項目4）をさらに含む。図15Cの項目1に示されているように、パケットの終りが初期ブロック中に起こると、制御情報および状態情報（K0、状態）ならびに予約情報が他の初期ブロック送信の場合と同様に保存される。残りのデータ・バイト内のデータとしてK1バイトが与えられる。
【０１００】
図15Cの項目2に示されているように、（ブロック境界やセル境界ではなく）後続のブロック中にパケットの終りが起こると、ブロックの終りに達するまで残りのデータ・バイト内のデータにK1バイトが付加される。図15Cの項目2では、データ・バイトD33（サイクル3のブロック中のストライプ2、レーン1）でパケットの終りに達する。ブロックの残りの部分について各レーンごとにK1バイトが付加される。後続のブロックのブロック境界でパケットの終りが起こると（項目3）、後続のブロック全体のデータとしてK1バイトが付加される。図15Cの項目3では、データ・バイトD27（ブロック2のブロックの終り）でパケットの終りに達する。ブロック全体（ブロック3）について各レーンごとにK1バイトが付加される。後続のブロック中のセル境界でパケットの終りが起こると（項目4）、K1バイトがデータとして付加された初期ブロックを有する1つのワイド・ストライプ化セルが生成される。図15Dの項目4では、データ・バイトD147（セルの終りおよびブロック8のブロックの終り）でパケットの終りに達する。通常の制御情報、状態情報、および予約情報を有し、K1バイトが付加された初期ブロックのみから成る1つのワイド・ストライプ化セルが生成される。図15Dに示されているように、K1バイトを有するこのような初期ブロックは、ストライプ1（K0、状態、K1,K1）、ストライプ2（K0、状態、K1,K1）、ストライプ3（K0、状態、K1,K1）、ストライプ4（K0、状態、K1,K1）、ストライプ（K0、状態、予約、予約）のようにバイトを有するストライプ1〜5から成る。
【０１０１】
L．切替えファブリック送信調停
一態様では、BIA600は切替えファブリック送信アービトレータ630も含んでいる。切替えファブリック送信アービトレータ630は、ストライプ送信キュー625、725に格納されているデータが送信機640、740によって切替えファブリックに送信される順序を調停する。各ストライプ送信キュー625、725は、それぞれの送信元パケット・プロセッサおよび宛先スロット識別子に対応するそれぞれの一群のワイド・ストライプ化セルを格納する。各ワイド・ストライプ化セルは、複数のストライプにわたる1つまたは複数のブロックを有する。動作時に、切替えファブリック送信アービトレータ630は、ストライプ送信キュー625、725を選択し、次の利用可能なセルを送信機640、740にプッシュする。このようにして、一度に1つの完全なセルが送信される。（あるいはセルの一部を送信することができる。）ワイド・セルの各ストライプはそのストライプのそれぞれの送信機640、740にプッシュされる。一例では、通常の動作時には、特定のパケット・プロセッサから任意の特定のスロットまたはブレードに完全なパケットが送信され、その後それぞれの異なるパケット・プロセッサからそのスロットに新しいパケットが送信される。しかし、それぞれの異なるスロットに対するパケットは調停サイクル中に送信される。他の態様では、次いで他のブレードまたはスロットがランド・ロビン式に選択される。
【０１０２】
M．ワイド・セル符号化を含むストライプのクロス・ポイント処理
一態様では、切替えファブリック645は、各ストライプに対応するいくつかのクロス・ポイント・スイッチ202を含んでいる。各クロス・ポイント・スイッチ202（本明細書では、クロス・ポイントまたはクロス・ポイント・チップとも呼ばれる）は、1つのそれぞれのストライプに対応するワイド・セルの1つのデータ・スライスを扱う。一例では、5つのストライプに対応する5つのクロス・ポイント・スイッチ202A〜202Eが設けられている。説明を明確にするために、図8には、ストライプ1および5に対応する、5つのクロス・ポイント・スイッチのうちの2つしか示していない。上記で図2に関して説明したように、スイッチのすべてのブレードの送信機と受信機の間に5つのクロス・ポイント・スイッチ202が結合されている。たとえば、図8は、あるブレードのストライプ用の1組の送信機740と異なるブレード上の他の1組の受信機850との間に結合されたクロス・ポイント・スイッチ202を示している。
【０１０３】
次に、クロス・ポイント202、特にポート・スライス402Fの動作について、ストライプがさらにワイド・セル符号化およびフロー制御条件を含む態様に関して説明する。
【０１０４】
ポート・スライス402Fは、他のポート・スライス402A〜402E、402G、および402Hからもデータを受信する。このデータは、ポート・スライス402Fに対応する宛先スロット番号を有するポート・スライス402A〜402E、402G、および402Hの他の7つのポートで受信されるデータに対応する。ポート・スライス402Fは、対応するポート・スライス402A〜402E、402G、および402Hからのデータを格納する7つのデータFIFOを含んでいる。7つのポート・スライス402A〜402E、402G、および402H内の累算器（図示せず）は、ポート・スライス402Fに関連する宛先スロット番号を抽出し、ポート・スライス402F用の7つのデータFIFO530のそれぞれに対応するデータを書き込む。図5に占めされているように、各データFIFO530はFIFOコントローラおよびFIFOランダム・アクセス・メモリ（RAM）を含んでいる。FIFOコントローラはFIFO読取りアービトレータ540に結合されている。FIFO RAMはマルチプレクサ550に結合されている。FIFO読取りアービトレータ540はさらにマルチプレクサ550に結合されている。マルチプレクサ550は、ディスパッチャ560に結合された出力を有している。ディスパッチャ560は送信同期FIFOモジュール570に結合された出力を有している。送信同期FIFOモジュール570はシリアライザ送信機580に結合された出力を有している。
【０１０５】
動作時に、FIFO RAMはデータを累積する。データFIFO RAMが1セル分のデータを累積した後、それに対応するFIFOコントローラがFIFO読取りアービトレータ540に対する読取り要求を生成する。FIFO読取りアービトレータ540は、ラウンド・ロビン順のような所望の順序でそれぞれの異なるFIFOコントローラからの読取り要求を処理する。1つのFIFO RAMから1セル分のデータが読み取られた後、FIFO読取りアービトレータ540は次の要求側FIFOコントローラの処理に移る。このようにして、それぞれの異なる要求側FIFOコントローラに対して調停が行われ、それぞれの異なる送信元ポートで受信されたデータが転送される。これによって、クロス・ポイント202を通した比較的均一であるが疎に結合されたデータ・フローが維持される。
【０１０６】
FIFO読取りアービトレータ540は、読取り要求を処理するために、マルチプレクサ550を切り替え、1セル分のデータを、読取り要求に関連するデータFIFO RAMからディスパッチャ560に転送する。ディスパッチャ560は、データを送信同期FIFO 570に出力する。送信同期FIFO 570は、データを格納し、このデータがシリアライザ送信機580によってシリアル・データ・ストリームでブレード104Fに送信されるまで格納し続ける。
【０１０７】
以下に、本発明によるクロス・ポイント動作について、さらに、ワイド・セル符号化およびフロー制御を伴う他の態様に関して説明する。
【０１０８】
N．第2のトラフィック処理パス
図6は、本発明の態様によるバックプレーン・インタフェース・アダプタ600で受信されるバックプレーン・シリアル・トラフィック用のトラフィック処理パスも示している。図9は、第2のトラフィック処理パスをさらに詳しく示している。
【０１０９】
図6に示されているように、BIA600は、第2のパスに沿って、1つまたは複数のデシリアライザ受信機650、ワイド／ナロー・セル・トランスレータ680、およびシリアライザ送信機692を含んでいる。受信機650は、切替えファブリック645から複数のストライプでワイド・ストライプ化セルを受信する。ワイド・ストライプ化セルはデータ・パケットを転送する。一例では、5つのデシリアライザ受信機650はワイド・ストライプ化セルの5つのサブブロックを複数のストライプで受信する。ワイド・ストライプ化セルは、複数のストライプにわたるデータ・パケットを転送し、送信元スロット識別子情報を含んでいる。一デジタル・スイッチ態様では、上記に図8に関して説明したようにワイド・ストライプ化セルが切替えファブリック内のクロス・ポイントを通過する際にワイド・ストライプ化セルに送信元スロット識別子情報が書き込まれる。
【０１１０】
トラスンスレータ680は、受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する。シリアライザ送信機692はナロー入力セルを対応する送信元パケット・プロセッサまたはIBTに送信する。
【０１１１】
BIA600は、デシリアライザ受信機650とコントローラ670の間に結合されたストライプ・インタフェース660（ストライプ・インタフェース・モジュールとも呼ばれる）、ストライプ受信同期キュー（685）、およびコントローラ670をさらに含んでいる。各ストライプ・インタフェース660は、各ストライプ内の受信されたサブブロックを送信元パケット・プロセッサ識別子および送信元スロット識別子情報に基づいてソートし、ソート済みの受信されたサブブロックをストライプ受信同期キュー685に格納する。
【０１１２】
コントローラ670は、アービトレータ672、ストライプ・ベースのワイド・セル・アセンブラ674、および管理モジュール676を含んでいる。アービトレータ672は、ストライプ受信同期キュー685に格納されているデータがストライプ・ベースのワイド・セル・アセンブラ674に送信される順序を調停する。ストライプ・ベースのワイド・セル・アセンブラ674は、受信されたデータ・サブブロックに基づいてワイド・ストライプ化セルをアセンブルする。ナロー／ワイド・セル・トランスレータ680は次いで、調停済みの受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する。管理モジュール676は、フロー制御、キューしきい値レベル検出、およびエラー検出（ストライプ同期エラー検出など）、または他の所望の管理機能を実行するように設けられている。
【０１１３】
本発明の態様によれば第2のレベルの調停も行われる。BIA600はさらに、宛先キュー615およびローカル宛先送信アービトレータ690を第2のパスに含んでいる。宛先キュー615は、（第1のパスから）トラフィック・センサ610によって送信されたナロー・セルおよび（第2のパスから）トランスレータ680によって変換されたナロー・セルを格納する。ローカル宛先送信アービトレータ690は、宛先キュー690に格納されているナロー入力セルがシリアライザ送信機692に送信される順序を調停する。最後に、シリアライザ送信機692は次いで、ナロー入力セルを対応するIBTおよび／または送信元パケット・プロセッサに送信する（最終的には物理ポートを介してブレードから送出する）。
【０１１４】
図9は、第2のトラフィック処理をさらに詳しく示している。BIA600は、5つのスライスからのデータ・スライスを処理する5つの構成要素群を含んでいる。図9には、説明を明確にするために2つの群900および901しか示されておらず、群900について1つのストライプに関して詳しく説明するだけでよい。これは、他の4つのストライプに対する他の群の動作は同様であるからである。
【０１１５】
第2のトラフィック・パスにおいて、デシリアライザ受信機950はクロス・クロック・ドメイン・シンクロナイザ952に結合されている。デシリアライザ受信機950はストライプのデータ・スライス（たとえば、サブブロック）をパラレル・データに変換する。クロス・クロック・ドメイン・シンクロナイザ952はパラレル・データを同期させる。
【０１１６】
ストライプ・インタフェース960は、送信元パケット・プロセッサ識別子および送信元スロット識別子情報に基づいて各ストライプ内の受信されたサブブロックを復号しソートするためのデコーダ962およびソータ964を有する。ソータ964は次いで、ソート済みの受信されたサブブロックをストライプ受信同期キュー965に格納する。合計で、それぞれ56個のストライプ受信同期キュー965の5つの群が設けられている。このため、1グローバル・ブレード当たりに特定の送信元から受信された各サブブロック群専用に1つのキューを使用することができる（現在のブレードを含まない7つのブレードについて1ブレード当たり最大8つの送信元パケット・プロセッサ）。
【０１１７】
アービトレータ672は、ストライプ受信同期キュー685に格納されているデータがストライプ・ベースのワイド・セル・アセンブラ674に送信される順序を調停する。ストライプ・ベースのワイド・セル・アセンブラ674は、受信されたデータ・サブブロックに基づいてワイド・ストライプ化セルをアセンブルする。ナロー／ワイド・セル・トランスレータ680は次いで、上記に図6で説明したように、調停済みの受信されたワイド・ストライプ化セルを、データ・パケットを転送するナロー入力セルに変換する。
【０１１８】
宛先キューには、ローカル宛先キュー982およびバックプレーン・トラフィック・キュー984が含まれる。ローカル宛先キュー982は、ローカル・トラフィック・ソータ716によって送信されたナロー・セルを格納する。バックプレーン・トラフィック・キュー984は、トランスレータ680によって変換されたナロー・セルを格納する。ローカル宛先送信アービトレータ690は、宛先キュー982、984に格納されているナロー入力セルがシリアライザ送信機992に送信される順序を調停する。最後に、シリアライザ送信機992は次いで、ナロー入力セルを対応するIBTおよび／または送信元パケット・プロセッサに送信する（最終的には物理ポートを介してブレードから送出する）。
【０１１９】
O．セル境界整列
図15Dは、本発明の態様による、ワイド・ストライプ化セルが複数のストライプで送信される際のセル境界整列条件の例を示す図である。符号化およびワイド・ストライプ化セル生成によって、任意の所与のストライプについて8ブロックごとにK0文字が存在するようになっている。ストライプ自体間のセル境界は位置ずれする可能性がある。しかし、この位置ずれは、BIA600内の第2のトラフィック処理フロー・パスによって補償され対処される。
【０１２０】
P．パケット整列
図16は、本発明の態様による、ワイド・ストライプ化セルが複数のストライプで送信される際のパケット境界整列条件の例を示す図である。セルはストライプごとに異なることがあるが、すべてのストライプは基本的に、同じパケットまたは互いに近いパケットを送信する。各クロス・ポイントはその送信元を独立に調停するので、セル境界にスキューが生じる可能性があるだけでなく、あるシリアル・リンク上のパケットの送信と任意の他のリンク上のパケットの送信との間に7セル・タイム・ユニット（セルを送信する時間）分ものスキューが生じる恐れがある。このことは、複数のストライプを切替えファブリック上で送信する際に各パケットが他のパケットとインタレースされる可能性があることを意味している。
【０１２１】
Q．回線速度でのワイド・ストライプ化セル・サイズ
一例では、ワイド・セルの最大サイズは、148バイトのペイロード・データおよび12バイトのインバンド制御情報を転送することのできる8ブロック（160バイト）である。全二重トラフィック用のデータ・パケットは、ワイド・セルで、デジタル・スイッチを介して50Gbpsで転送することができる。
【０１２２】
R．IBTおよびパケット処理
統合パケットコントローラ（Integrated Packet Controller：IPC）および統合ギガコントローラ（Integrated Giga Controller：IGC）機能は、上記にIPC/IGCバストランスレータ（Bus Translator）（IBT）304として説明したバス・トランスレータを備えている。一態様では、IBTは、1つまたは複数のIPC/IC ASICを繋ぐASICである。このような態様では、IBTは2つの4/5ギガ・パラレル・ストリームを1つの10Gbpsシリアル・ストリームに変換する。パラレル・インタフェースはIPC/IGC ASICのバックプレーン・インタフェースであってよい。たとえば、本明細書でインタフェース・アダプタおよびストライピングについて説明したように、さらに1つの10Gbpsシリアル・ストリームを処理することができる。
【０１２３】
さらに、IBT304は、当業者には少なくとも本明細書の開示に基づいて明らかになる他のアーキテクチャと共に動作するように構成することができる。たとえば、IBT304は、10GE構成およびOC-192構成を用いてパケット・プロセッサにおいて実施することができる。IBT304の機能は、既存のパケット・プロセッサに組み込むことも、システムのアドオン構成要素として取り付けることもできる。
【０１２４】
図17で、ブロック図1700は、本発明の一態様によるバス・トランスレータ1702の構成要素を示している。前述のIBT304は、図17のトランスレータ1702として構成することができる。たとえば、IBT304は、バス・トランスレータ1702の機能を含むように実施することができる。
【０１２５】
具体的には、バス・トランスレータ1702は、データ1704をデータ1706にデータ1706をデータ104に変換する。データ1706は、トランシーバ1710によって受信され、トランスレータ1712に転送される。トランスレータ1712はデータ1706を解析し、所望のフォーマットに符号化する。
【０１２６】
この場合、トランスレータ1712は、データ1706をデータ1704のフォーマットに変換する。トランスレータ1712は管理モジュール1718によって管理される。1つまたは複数のプール1716がデータ1706およびデータ1704の情報を格納する。1つまたは複数のクロック1714は、トランスレータ1712の変換動作に対するタイミング情報を与える。トランスレータ1712は、データ1706の変換を終了すると、新たにフォーマットされた情報をデータ1704としてトランシーバ1708に転送する。トランシーバ1708はデータ1704を転送する。
【０１２７】
当業者には本明細書に記載された開示に基づいて認識されるように、バス・トランスレータ1702の動作方向を逆転し、データ1704をバス・トランスレータ1702によって受信し、変換後にデータ1706を転送することができる。
【０１２８】
制限なしに例示を容易にするために、データ1706をデータ1704に変換するプロセスを本明細書では、受信などとして説明する。さらに、制限なしに例示を容易にするために、データ1704をデータ1706に変換するプロセスを本明細書では、送信などとして説明する。
【０１２９】
図18は、本発明の一態様による受信構成要素のブロック図である。一態様では、バス・トランスレータ1802は、インタフェース接続部1804a〜1804nからパケットの形態のデータを受信する。インタフェース接続部1804a〜1804nはバス・トランスレータ1802の1つまたは複数の受信機1808に結合されている。受信機1808は、受信されたパケットを1つまたは複数のパケット・デコーダ1810に転送する。一態様では、受信機1808は1つまたは複数の物理ポートを含んでいる。他の態様では、各受信機1808は1つまたは複数の論理ポートを含んでいる。ある特定の態様では、受信機1808は4つの論理ポートから成っている。
【０１３０】
パケット・デコーダ1810は受信機1808からパケットを受信する。パケット・デコーダ1810はパケットの情報を解析する。一態様では、以下に詳しく説明するように、パケット・デコーダ1810は、各パケットのペイロード情報と、作成時間や作成場所のようなパケットに関する他の情報を、パケットのパケットの始め（SOP）の部分からパケットの終り（EOP）の部分までコピーする。パケット・デコーダ1810は、解析によって得られた情報をメモリ・プール1812に転送する。一態様では、バス・トランスレータ1802は複数のメモリ・プール1812を含んでいる。他の態様では、他のメモリ・プール1818に情報を送信することができる。他の態様では、パケット・デコーダ1810は、ペイロード、送信時間、作成元などの様々な種類の情報をプール1812および1818のそれぞれの異なるメモリ・プールに転送することができる。
【０１３１】
基準クロック1820は、パケット・デコーダ1810にタイミング情報を供給する。一態様では、基準クロック1820は、接続部1804a〜1804nを介してパケットを送信するIPC/IGC構成要素に結合されている。他の態様では、基準クロック1820はバス・トランスレータ1802のすべてのパラレル構成要素に基準およびタイミング情報を供給する。
【０１３２】
セル・エンコーダ1814はメモリ・プール1812から情報を受信する。他の態様では、セル・エンコーダ1814は他のメモリ・プール1818から情報を受信する。セル・エンコーダ1814は情報をセルにフォーマットする。
【０１３３】
以下の説明では、これらのセルをナロー・セルとも呼ぶ。さらに、セル・エンコーダ1814は情報を1つまたは複数のセル・タイプにフォーマットするように構成することができる。一態様では、セル・フォーマットは一定のサイズである。他の態様では、セル・フォーマットは可変サイズである。
【０１３４】
セル・フォーマットについて以下に、図22、23A〜23B、24、および25A〜25Bのセル符号化プロセスおよび解読プロセスに関して説明syry。
【０１３５】
セル・エンコーダ1814はセルを送信機1816に転送する。送信機1816はセルを受信し、インタフェース接続部1806a〜1806nを介して送信する。
【０１３６】
基準クロック1828は、タイミング情報をセル・エンコーダ1814に供給する。一態様では、基準クロック1828は、接続部1806a〜1806nを介してセルを受信するインタフェース・アダプタ構成要素に結合される。他の態様では、基準クロック1828は、バス・トランスレータ1802のすべてのシリアル構成要素に基準およびタイミング情報を供給する。
【０１３７】
フロー・コントローラ1822は、バス・トランスレータ1802の構成要素のステータスおよびバス・トランスレータ1802に接続された構成要素のステータスを判定することによって着信パケットおよび発信パケットを測定し制御する。このような構成要素については、本明細書ですでに説明してあり、本発明のインタフェース・アダプタに関して詳しく説明する。
【０１３８】
一態様では、フロー・コントローラ1822は、準備完了信号をアサートし、バス・トランスレータ1802またはさらに接続されているIPC/IGC構成要素でオーバフローが起こった場合に準備完了信号をアサート解除することによって、接続部1806を介してトラフィックを制御する。
【０１３９】
管理モジュール1824はバス・トランスレータ1802に対する制御機能を実行する。一態様では、管理モジュール1824は、バス・トランスレータ1802に対するエラー制御および電源オン・リセット機能を実行する。
【０１４０】
図19は、本発明の一態様による送信構成要素のブロック図である。一態様では、バス・トランスレータ1902はインタフェース接続部1904a〜1904nからセルの形態のデータを受信する。インタフェース接続部1904a〜1904nはバス・トランスレータ1902の1つまたは複数の受信機1908に結合されている。一態様では、受信機908は1つまたは複数の物理ポートを含んでいる。他の態様では、各受信機1908は1つまたは複数の論理ポートを含んでいる。ある特定の態様では、受信機1908は4つの論理ポートから成っている。受信機1908は、受信された信号を同期モジュール1910に送信する。一態様では、同期モジュール1910は、着信セルを基準クロック1922と同期させるのに用いられるFIFOである。基準クロック1922から同期モジュール1910までの直接的な矢印は図19には示されていないが、同期モジュールが着信セル同士を同期させることができるように2つのモジュールが通信できることに留意されたい。同期モジュール1910は1つまたは複数のセル・デコーダ1912にデータを転送する。
【０１４１】
セル・デコーダ1912は同期モジュール1910からセルを受信する。セル・デコーダ1912はセルの情報を解析する。一態様では、以下に詳しく説明するように、セル・デコーダ1912は、各セルのペイロード情報と、作成場所のようなセルに関する他の情報を、セルのスロット・状態情報部分からコピーする。
【０１４２】
一態様では、セル・フォーマットを固定することができる。他の態様では、セル・フォーマットは可変であってよい。他の態様では、バス・トランスレータ1902によって受信されるセルは複数のセル・フォーマットのセルであってよい。バス・トランスレータ1902は、当業者には本明細書の開示に基づいて認識されるように、これらのセル・フォーマットを解読するように構成することができる。セル・フォーマットについては、本発明のセル符号化プロセスに関して詳しく説明する。
【０１４３】
セル・デコーダ1912は、解析によって得られた情報をメモリ・プール1914に転送する。一態様では、バス・トランスレータ1902は複数のメモリ・プール1914を含んでいる。他の態様では、他のメモリ・プール1916に情報を送信することができる。他の態様では、セル・デコーダ1912は、ペイロード、送信時間、作成元などの様々な種類の情報をプール1914および1916のそれぞれの異なるメモリ・プールに転送することができる。
【０１４４】
基準クロック1922は、セル・デコーダ1912にタイミング情報を供給する。一態様では、基準クロック1922は、接続部1904a〜1904nを介してセルを送信するインタフェース・アダプタ構成要素に結合されている。他の態様では、基準クロック1922はバス・トランスレータ1902のすべてのシリアル構成要素に基準およびタイミング情報を供給する。
【０１４５】
パケット・エンコーダ1918はメモリ・プール1914から情報を受信する。他の態様では、パケット・エンコーダ1918は他のメモリ・プール1916から情報を受信する。パケット・エンコーダ1918は情報をパケットにフォーマットする。
【０１４６】
パケット・フォーマットは、IPC/IGC構成要素の構成およびシステムの要件によって決定される。
【０１４７】
パケット・エンコーダ1918はパケットを送信機1920に転送する。送信機1920は、パケットを受信し、インタフェース接続部1906a〜1906nを介してこのパケットを送信する。
【０１４８】
基準クロック1928は、パケット・デコーダ1918にタイミング情報を供給する。一態様では、基準クロック1928は、接続部1906a〜1906nを介してパケットを送信するIPC/IGC構成要素に結合されている。他の態様では、基準クロック1928はバス・トランスレータ1902のすべてのパラレル構成要素に基準およびタイミング情報を供給する。
【０１４９】
フロー・コントローラ1926は、バス・トランスレータ1902の構成要素のステータスおよびバス・トランスレータ1902に接続された構成要素のステータスを判定することによって着信パケットおよび発信パケットを測定し制御する。このような構成要素については、本明細書ですでに説明してあり、本発明のインタフェース・アダプタに関して詳しく説明する。
【０１５０】
一態様では、フロー・コントローラ1926は、準備完了信号をアサートし、バス・トランスレータ1902またはさらに接続されているIPC/IGC構成要素でオーバフローが起こった場合に準備完了信号をアサート解除することによって、接続部1906を介してトラフィックを制御する。
【０１５１】
管理モジュール1924はバス・トランスレータ1902に対する制御機能を実行する。一態様では、管理モジュール1924は、バス・トランスレータ1902に対するエラー制御および電源オン・リセット機能を実行する。
【０１５２】
図20には、一態様によるバス・トランスレータの詳細ブロック図が示されている。バス・トランスレータ2202はバス・トランスレータ1802および1902の機能を組み込んでいる。
【０１５３】
パケット処理に関しては、パケットは、バス・トランスレータ2002により受信機2012によって受信される。パケットはセルとして処理されシリアライザ／デシリアライザ（SERDES）2026に転送される。SERDES2026は、バス・トランスレータ2002によって処理されるセル用のトランシーバとして働く。SERDES2026はセルをインタフェース接続部2006を介して送信する。
【０１５４】
セル処理に関しては、SERDES2026とのインタフェース接続2008を介してバス・トランスレータ2002によって受信される。セルはパケットとして処理され送信機2036に転送される。送信機2036は、パケットをインタフェース接続部2010a〜2010nを介してIPC/IGC構成要素に転送する。
【０１５５】
基準クロック2040および2048は、すでに図18および図19で説明した基準クロック2040に類似している。基準クロック2040はバス・トランスレータ2002のシリアル構成要素にタイミング情報を供給する。図示のように、基準クロック2040はセル・エンコーダ2020、セル・デコーダ2030、およびSERDES2026にタイミング情報を供給する。基準クロック2048はバス・トランスレータ2002のパラレル構成要素にタイミング情報を供給する。図示のように、基準クロック2048はパケット・デコーダ2016およびパケット・エンコーダ2034にタイミング情報を供給する。
【０１５６】
上述のようにシリアル動作とパラレル動作を分離することは、本発明の態様の特徴である。このような態様では、それぞれポート2014a〜2014nおよび2038a〜2038bにおける着信パケットおよび発信パケットのパラレル・フォーマットは、SERDES2026でシリアル・セル・フォーマットに再マップされる。
【０１５７】
さらに、本発明の態様によれば、ポート2014a〜2014nの回線速度の共用度は出力2006の回線速度によってのみ制限される。ポート2038a〜2038nおよび入力2008についても同様である。
【０１５８】
パラレル・パケットのシリアル・セルへの再マッピングについては本明細書で詳しく、特に図21Eに関して説明する。
【０１５９】
図21Aには、本発明の他の態様によるバス・トランスレータの詳細ブロック図が示されている。図18、図19、および図20の受信機および送信機は、すでに説明したのと同じ機能を実行することのできるCMOS I/O2112で置き換えられている。CMOS I/O2112は、データを受信し送信する様々な数の物理ポートおよび論理ポートに対処するように構成することができる。
【０１６０】
管理モジュール2140は前述のように動作する。図示のように、管理モジュール2140は管理制御要素および管理レジスタを含んでいる。管理制御要素は、バス・トランスレータ2102の動作を管理し、すでに図18、図19、および図20に関して説明したようにリセット・電源オン機能を実行する。管理レジスタは動作パラメータを取り込み、取り込んだパラメータとの比較またはこれらのパラメータの参照に基づいてバス・トランスレータ2102の状態を判定することができる。
【０１６１】
基準クロック2134および2136は、すでに図18、図19、および図20で説明した基準クロック2134および2136に類似している。基準クロック2136はバス・トランスレータ2102のシリアル構成要素にタイミング情報を供給する。図示のように、基準クロック2136はセル・エンコーダ2118、セル・デコーダ2128、およびSERDES2124にタイミング情報を供給する。基準クロック2134はバス・トランスレータ2102のパラレル構成要素にタイミング情報を供給する。図示のように、基準クロック2134はパケット・デコーダ2114およびパケット・エンコーダ2132にタイミング情報を供給する。
【０１６２】
図21Aに示されているように、メモリプール2116は2対のFIFOを含んでいる。各FIFOはヘッダ・キューと対をなしている。メモリ・プール2116は、すでに図18および図20で説明したメモリ・プールと同様に動作する。一態様では、解読されたパケットのペイロードまたは情報部分は1つまたは複数のFIFOに格納され、タイミング、作成場所、宛先、および同様の情報は、対応するヘッダ・キューに格納される。
【０１６３】
さらに、メモリ・プール2130は2対のFIFOを含んでいる。メモリ・プール2130は、すでに図19および図20で説明したメモリ・プールと同様に動作する。一態様では、解読されたセル情報は、対応するタイミング、作成場所、宛先、および同様の情報と共に1つまたは複数のFIFOに格納される。
【０１６４】
インタフェース接続部2106および2108は、SERDES2124を介して前述のインタフェース・アダプタをバス・トランスレータ2102に接続する。一態様では、接続部2106および2108はシリアル・リンクである。他の態様では、シリアル・リンクは4つのレーンに分割される。
【０１６５】
一態様では、バス・トランスレータ2102は、1つまたは複数の4GbpsパラレルIPC/IGC構成要素を4つの3.125GbpsシリアルXAUIインタフェース・リンクまたはレーンに変換するIBT304である。一態様では、バックプレーンはIPC/IGCインタフェース接続である。バス・トランスレータ2102は着信データを1つまたは複数のセル・フォーマットに変換する。
【０１６６】
一態様では、セル・フォーマットは4バイト・ヘッダおよび32バイト・データ・ペイロードであってよい。他の態様では、特殊K文字によって各セルのヘッダが分離される。他の態様では、パケットの最後のセルが1つまたは複数の特殊K1文字によって示される。
【０１６７】
セル・フォーマットは一定長のセルと可変長のセルとの両方を含んでよい。36バイト（4バイト・ヘッダと32バイト・ペイロード）符号化は一定長セル・フォーマットの一例である。他の態様では、セル長が前述の36バイト（4バイト＋32バイト）を超えるセル・フォーマットを実施することができる。
【０１６８】
図21Bで、機能ブロック図は、バス・トランスレータの受信構成要素を有するデータ・パスを示している。パケット・デコーダ2150a〜2150bは、対としてのFIFOおよびヘッダにパケット・データを転送する。たとえば、パケット・デコーダ2150aはFIFO2152a〜2152bにパケット・データを転送し、ヘッダ2154に側波帯情報を転送する。パケット・デコーダ2150bにも同様にプロセスが実行される。パケット・デコーダ2150bは、FIFO2156a〜2156bにパケット・データを転送し、ヘッダ2158に側波帯情報を転送する。セル・エンコーダ2160はデータおよび制御情報を受信し、シリアライザ／デシリアライザ（SERDES）回路の機能要素、SERDES特殊文字2162およびSERDESデータ2164a〜2164bとして示されている、シリアライザ／デシリアライザ（SERDES）回路へのセルを作成する。SERDES特殊文字2162は、セルのデータ・ペイロードの始めおよび終りを示すのに用いられる文字を含んでいる。SERDESデータ2164a〜2164bは、各セルごとのデータ・ペイロードと、セルの制御受信を含んでいる。セル構造については、以下に図21Eに関して詳しく説明する。
【０１６９】
バス・トランスレータ2102は、パイプライン呼出し時間に対処する内部データ・バッファとして働くメモリ・プール2116を有している。各IPC/IGC構成要素について、バス・トランスレータ2102は、図21Aにメモリ・プール2116のFIFOとして示され、図21Bに要素2152a〜2152b、2154、2156a〜2156b、および2158として示されているように、2つのデータFIFOおよび1つのヘッダFIFOを有している。一態様では、側帯波情報はヘッダAまたはBのそれぞれに格納される。32バイトのデータが2つのデータFIFO A1、A2またはB1、B2の一方または両方にピンポン式に格納される。ピンポン方式は、当技術分野で公知であり、交番方式を含む。
【０１７０】
一態様では、セル・エンコーダ2160は、各パケット・デコーダ2150a〜2150bからのデータをインタフェース・アダプタへの1つの10Gbpsデータ・ストリームに併合する。セル・エンコーダ2160は、データを、各セル境界でインタリーブすることによって併合する。各セル境界は特殊K文字によって決定される。
【０１７１】
一態様によれば、受信されたパケットは32ビット整列され、一方、SERDES要素のパラレル・インタフェースは64ビット幅である。
【０１７２】
実際には、任意のパケット長用の回線速度を実現することが困難である場合がある。回線速度とは、パケットが受信される速度と同じ、セル内の出力速度を維持することを意味する。パケットは4バイト・ヘッダ・オーバヘッド（SOP）および4バイト・テール・オーバヘッド（EOP）を有してよい。したがって、バス・トランスレータ2102は、典型的な解析構成要素および経路指定構成要素の遅延なしにパケットを解析しなければならない。具体的には、バス・トランスレータ2102は、以下に詳しく説明するように、特殊K文字を用いてパラレル・データ入力セル・フォーマットに変換し、状態情報およびスロット情報を（制御情報と共に）インバンドでデータ・ストリームと併合する。したがって、一態様では、セル・データの各32バイトに4バイト・ヘッダが伴う。
【０１７３】
図21Cは、本発明の一態様によるバス・トランスレータの送信構成要素を有するデータ・パスの機能ブロック図である。セル・デコーダ2174はSERDES回路からセルを受信する。SERDES回路の機能構成要素には要素2170および2172a〜2172bが含まれる。制御情報およびデータは、セルの解析によって得られメモリ・プールに転送される。一態様では、FIFOは、要素2176a〜2176bおよび2176c〜2176dとして示されている対として維持される。各対は制御情報およびデータをパケット・エンコーダ2178a〜2178bに転送する。
【０１７４】
図21Dは、本発明の一態様によるバス・トランスレータのネイティブ・モード受信構成要素を有するデータ・パスの機能ブロック図である。一態様では、バス・トランスレータ2102はネイティブ・モードに構成することができる。ネイティブ・モードは、合計で10Gbpsの接続がバス・トランスレータ2102のパラレル・エンド（CMOS I/O 2112によって示されている）に維持されるときを含むことができる。一態様では、帯域幅要件の増大のために（8Gbpsから10Gbps）、 セル・フォーマット長はもはや32バイトに固定されない。10Gbpsトラフィックがバス・トランスレータ2102を介して送られる態様では、バス・トランスレータ2102が10Gbpsリンク上の装置からSOPを受信したときに制御情報が付加される。他の態様では、バス・トランスレータ2102は、まずデータ転送を検出し、したがって、アイドル状態から動作状態になったときに、制御情報を付加する。
【０１７５】
他の態様では、図21Dに示されているように、2つの別々のデータFIFOを用いてアップリンキング・データが一時的にバッファリングされ、したがって、既存のタイミング・パスが不要になる。
【０１７６】
セル−パケット変換のための別個のネイティブ・モード・データ・パスは示されていないが、当業者には、少なくとも本明細書に記載されている開示に基づいて、これを実現するにはどうすべきかが認識されよう。たとえば、2つのFIFOを10Gbpsリンク情報の格納専用に構成することが可能である。しかし、一態様では、バス・トランスレータ2102は、図19、図20、および図21に示されているように、ネイティブ・モード・データ・パスおよび非ネイティブ・モード・データ・パスを共用動作で処理する。ヘッダおよびアイドル・バイトは、デコーダ2103およびデコーダ2174などのセル・デコーダによってデータ・ストリームから除去される。有効なデータは、前述のように解析され、格納され、パラレル・インタフェースに転送される。
【０１７７】
インタフェース・アダプタまたはBIAによって零ボディ・セル・フォーマットが受信される他の態様では、IBT304は各送信元スロットごとに直前の1回のデータ転送を保持する。IBT304が零ボディ・セル・フォーマットを有するEOPを受信すると、直前の1回または2回の転送が解放され、パラレル・インタフェースから送信される。
【０１７８】
S．ナロー・セルおよびパケット符号プロセス
図21Eは、本発明の一態様によるセル・フォーマットのブロック図である。図21Eは、本明細書で説明する態様によるパケットの例とセルの両方を示している。パケットの例は、パケットの始め2190a、データを含むペイロード2190b、パケットの終り2190c、およびパケット間ギャップ2190cを示している。
【０１７９】
本発明の一態様によれば、セルは特殊文字K0 2190および制御情報2194を含み、任意に1つまたは複数の予約ビット2196a〜2196bを含み、最後にデータ2198a〜2198nを含む。他の態様では、データ2198a〜2198nはD0〜D31よりも多くのデータを含んでよい。
【０１８０】
一態様では、図21Eに示されている4つの行すなわちスロットは、セルが送信されかつ／または受信されるシリアル・リンクの4つのレーンを示している。
【０１８１】
本明細書ですでに説明したように、IBT304はXAUIインタフェースを介してBIA302との間でセルを送受信する。IBT304は、パラレル・インタフェースを介してIPC/IGC構成要素および他のコントローラ構成要素（すなわち、10GEパケット・プロセッサ）との間でパケットを送受信する。パケットは、4バイトとその後に続く32バイトのデータから成るセルにセグメント化される。パケットの終りは、4バイトの転送内の任意の無効なデータ上のK1特殊文字またはすべてのXAUIレーン上の4つのK1によって示される。一態様では、各バイトは1つのXAUIレーン上に直列化される。以下の表は、本発明の一態様によるセルのバイト表現の右左の構成を示したものである。
【０１８２】
2004537871.tif 000003
【０１８３】
パケットは、ヘッダとデータ・ペイロードから成るセルにフォーマットされる。4バイトのヘッダは、4つのXAUIレーン上の1サイクルすなわち1行を必要とする。ヘッダは、現在ヘッダが転送されていることを示すK0特殊文字をレーン0上に有している。制御情報はヘッダのレーン1上で開始する。
【０１８４】
一態様では、IBT304は、2つのIPC/IGCバックプレーン・バスを受け入れ、1つの10Gbpsシリアル・ストリームに変換する。
【０１８５】
図22には、本発明の一態様によるバス・トランスレータの符号化プロセスの流れ図が示されている。プロセスは段階2202から開始し、ただちに段階2204に進む。
【０１８６】
段階2204で、IBT304は、それがパケットを受信するポートの種類を判定する。一態様では、各ポートはIPC/IGC構成要素からの4Gpsトラフィック向けに構成されている。プロセスはただちに段階2206に進む。
【０１８７】
段階2206で、IBT304は、それが処理するトラフィックの種類に基づいてセル・フォーマット・タイプを選択する。一態様では、IBT304は、部分的に段階2204でのポートの種類の判定に基づいて、セル・フォーマットの種類を選択する。プロセスはただちに段階2208に進む。
【０１８８】
段階2208で、IBT304は、前述のように、そのポートを介してインタフェース接続部から1つまたは複数のパケットを受信する。パケットが供給される速度は、パケットを送信する構成要素に依存する。プロセスはただちに段階2210に進む。
【０１８９】
段階2210で、IBT304は、段階2208で受信された1つまたは複数のパケットを解析し、それに含まれている情報を得る。一態様では、IBT304のパケット・デコーダは、パケットを解析し、パケットのペイロード部内に含まれている情報と、それぞれの所与のパケットのヘッダと共に含まれている制御または経路指定情報とを得る。プロセスはただちに段階2212に進む。
【０１９０】
段階2212で、IBT304は、段階2210の解析によって得られた情報を任意に格納する。一態様では、IBT304のメモリ・プールを用いて情報が格納される。プロセスはただちに段階2214に進む。
【０１９１】
段階2214で、IBT304は情報を1つまたは複数のセルにフォーマットする。一態様では、IBT304のセル・エンコーダは、1つまたは複数のパケットの解析によって得られた情報にアクセスする。この情報は、送信中のデータと、データがどこに送信されているかに関するスロット・状態情報（すなわち、制御情報）を含む。前述のように、セル・フォーマットは、情報に付加される特殊文字を含む。プロセスはただちに段階2216に進む。
【０１９２】
段階2216で、IBT304は、フォーマットされたセルを転送する。一態様では、IBT304のSERDESは、フォーマットされたセルを受信し、本発明のBIA302に転送できるように直列化する。プロセスは、特に指示がないかぎり先へ進む。
【０１９３】
図23A〜23Bにおいて、詳細流れ図は、本発明の一態様によるバス・トランスレータの符号化プロセスを示している。図23A〜23Bのプロセスは段階2302から開始し、ただちに段階2304に進む。
【０１９４】
段階2304で、IBT304は、それがパケットを受信するポートの種類を判定する。プロセスはただちに段階2306に進む。
【０１９５】
段階2306で、IBT304は、ポートの種類が、個々の種類であるか、またはいくつかの種類の組合せであるかにかかわらず、維持できるしきい値を超えているかどうかを判定する。言い換えれば、IBT304は、それが内部速度最大値に達することなく着信パケットの回線速度に一致させることができるかどうかをチェックする。一致させることができる場合、プロセスは段階2310に進む。一致させることができない場合、プロセスは段階2308に進む。
【０１９６】
段階2308で、IBT304がその最高レベルで動作することになると判定したと仮定すると、IBT304は、プロセスの後の段階でフォーマットされ転送されるセルの数をIBT304が減らすのを可能にする可変セル・サイズを選択する。一態様では、セル・フォーマットにより、受信された1つまたは複数のパケットの各々の整数倍数のセルが与えられる。他の態様では、IBT304は、パケットが完成するまで最大長のセルを供給できるようにする可変セル・サイズを与えるセル・フォーマットを選択する。たとえば、所与のパケットが2.3セル長である場合、3つのセルがフォーマットされるが、第3のセルは前の2つのセルのサイズの3分の1である。プロセスはただちに段階2312に進む。
【０１９７】
IBT304は、段階2310で、その最高レベルでは動作しないと判定した場合、IBT304がより低い処理オーバヘッドで情報を処理できるようになる一定のセル・サイズを選択する。プロセスはただちに段階2312に進む。
【０１９８】
段階2312で、IBT304は1つまたは複数のパケットを受信する。プロセスはただちに段階2314に進む。
【０１９９】
段階2314で、IBT304は1つまたは複数のパケットの各パケットの制御情報を解析する。プロセスはただちに段階2316に進む。
【０２００】
段階2316で、IBT304は、1つまたは複数のパケットの各々に関するスロット・状態情報を判定する。一態様では、スロット・状態情報は、部分的に制御情報、すなわち、1つまたは複数のパケットの各々の解析によって得られた制御情報から判定される。プロセスはただちに段階2318に進む。
【０２０１】
段階2318で、IBT304は、スロット・状態情報を格納する。プロセスはただちに段階2320に進む。
【０２０２】
段階2320で、IBT304は、1つまたは複数のパケットの各パケットのペイロードを解析し、それに含まれているデータを得る。プロセスはただちに段階2322に進む。
【０２０３】
段階2322で、IBT304は、1つまたは複数のパケットの各々の解析によって得られたデータを格納する。プロセスはただちに段階2324に進む。
【０２０４】
段階2324で、IBT304は制御情報にアクセスする。一態様では、IBT304のセル・エンコーダは、IBT304のメモリ・プールにアクセスして制御情報を得る。プロセスはただちに段階2326に進む。
【０２０５】
段階2326で、IBT304は1つまたは複数のパケットの各々の解析によって得られたデータにアクセスする。一態様では、IBT304のセル・エンコーダは、IBT304のメモリ・プールにアクセスしてこの情報を得る。プロセスはただちに段階2328に進む。
【０２０６】
段階2328で、IBT304は、現在構築されているセルの始めに特殊文字を挿入することによって各セルを構築する。一態様では、特殊文字はK0である。プロセスはただちに段階2330に進む。
【０２０７】
段階2330で、IBT304はスロット情報を挿入する。一態様では、IBT304は、スペース2194のような次のレーンにスロット情報を挿入する。プロセスはただちに段階2332に進む。
【０２０８】
段階2332で、IBT304は状態情報を挿入する。一態様では、IBT304は、予約ビット2196aのような、スロット情報に使用されるレーンの次のレーンに状態情報を挿入する。プロセスはただちに段階2334に進む。
【０２０９】
段階2334で、IBT304はデータを挿入する。プロセスはただちに段階2336に進む。
【０２１０】
段階2336で、IBT304は、フォーマットすべき追加のデータがあるかどうかを判定する。たとえば、所与のパケットに残りのデータがあるものとする。この場合、プロセスは段階2328に戻る。残りのデータがない場合、プロセスはただちに段階2338に進む。
【０２１１】
段階2338で、IBT304は（1つまたは複数のセルの）セル送信の終りを示す特殊文字を挿入する。一態様では、最後のセルが送信されたときの特殊文字はK1である。プロセスはただちに段階2340に進む。
【０２１２】
段階2340で、IBT304はセルを転送する。プロセスは、特に指示がないかぎり先へ進む。
【０２１３】
図24において、流れ図は、本発明の一態様によるバス・トランスレータの解読プロセスを示している。図24のプロセスは段階2402から始まり、ただちに段階2404に進む。
【０２１４】
段階2404で、IBT304は1つまたは複数のセルを受信する。一態様では、セルは、IBT304のSERDESによって受信され、IBT304のセル・デコーダに転送される。他の態様では、IBT304のSERDESは、セルの適切な順序を維持できるようにセルを一時保持する同期バッファまたはキューにセルを転送する。これらの段階については以下に、段階2406および2408に関して説明する。プロセスはただちに段階2406に進む。
【０２１５】
段階2406で、IBT304は1つまたは複数のセルを適切な順序に同期させる。プロセスはただちに段階2408に進む。
【０２１６】
段階2408で、IBT304は、任意に1つまたは複数のセルをチェックし、これらのセルがその適切な順序にあるかどうかを判定する。
【０２１７】
一態様では、段階2506、2508、および2510は同期FIFOによって実行される。プロセスはただちに段階2410に進む。
【０２１８】
段階2410で、IBT304は1つまたは複数のセルを解析して制御情報およびペイロード・データを得るプロセスはただちに段階2412に進む。
【０２１９】
段階2412で、IBT304は制御情報およびペイロード・データを格納する。プロセスはただちに段階2414に進む。
【０２２０】
段階2414で、IBT304は情報を1つまたは複数のパケットにフォーマットする。プロセスはただちに段階2416に進む。
【０２２１】
段階2416で、IBT304は1つまたは複数のパケットを転送する。プロセスは、特に指示がないかぎり先へ進む。
【０２２２】
図25A〜25Bには、本発明の一態様によるバス・トランスレータの解読プロセスの詳細流れ図が示されている。図25A〜25Bのプロセスは段階2502から始まり、ただちに段階2504に進む。
【０２２３】
段階2504で、IBT304は1つまたは複数のセルを受信する。プロセスはただちに段階2506に進む。
【０２２４】
段階2506で、IBT304は任意に1つまたは複数のセルをキューに格納する。プロセスはただちに段階2508に進む。
【０２２５】
段階2508で、IBT304は、セルが適切な順序で到着しているかを任意に判定する。適切な順序で到着している場合、プロセスはただちに段階2512に進む。適切な順序で到着していない場合、プロセスはただちに段階2510に進む。
【０２２６】
段階2510で、IBT304は、適切な順序が回復されるまで1つまたは複数のセルのうちの1つまたは複数を保持する。一態様では、セルが失われた場合、IBT304は、本明細書で説明するようにエラー制御機能を実行し、転送を中断し、かつ／または転送を再開させる。プロセスはただちに段階2514に進む。
【０２２７】
段階2512で、IBT304はセルを解析して制御情報を得る。プロセスはただちに段階2514に進む。
【０２２８】
段階2514で、IBT304はスロット・状態情報を判定する。プロセスはただちに段階2516に進む。
【０２２９】
段階2516で、IBT304はスロット・状態情報を格納する。プロセスはただちに段階2518に進む。
【０２３０】
一態様では、状態・スロット情報は、以下の表に示されているように構成情報を含む。
2004537871.tif 000004
【０２３１】
一態様では、IBT304は構成レジスタを有している。構成レジスタは、バックプレーンおよびIPC/IGC宛先スロットをイネーブルするのに用いられる。
【０２３２】
段階2518で、IBT304はセルを解析してデータを得る。プロセスはただちに段階2520に進む。
【０２３３】
段階2520で、IBT304は、1つまたは複数のセルの各々の解析によって得られたデータを格納する。プロセスはただちに段階2522に進む。
【０２３４】
段階2522で、IBT304は制御情報にアクセスする。プロセスはただちに段階2524に進む。
【０２３５】
段階2524で、IBT304はデータにアクセスする。プロセスはただちに段階2526に進む。
【０２３６】
段階2526で、IBT304は1つまたは複数のパケットを形成する。プロセスはただちに段階2528に進む。
【０２３７】
段階2528で、IBT304は1つまたは複数のパケットを転送する。プロセスは、特に指示がないかぎり先へ進む。
【０２３８】
T．管理プロセスおよびエラー制御
この節では、バックプレーン内のシリアル・リンクおよびクロス・ポイント・スイッチで起こる可能性のあるエラー状態と、本発明の様々なエラー制御態様について説明する。本発明の様々な回復ルーチンおよびリセット・ルーチンについても説明する。
【０２３９】
本明細書で説明するルーチンは一般に、以下の性質を有するエラーを検出し、防止し、そのようなエラーから回復するように構成される。
【０２４０】
1）リンク・エラー：リンク・エラーは、SERDES内のビット・エラーまたはバイト整列問題の結果として起こる。クロックがデータ・ストリームから回復されるので、十分なデータ遷移がない場合にバイト整列問題が起こる可能性がある。ビット・エラーは回線上の外部ノイズの結果として起こる可能性がある。SERDESは、レーン1のSOP文字などの例外条件を検出することもでき、そのような条件をリンク・エラーとしてマークすることができる。
【０２４１】
2）レーン同期エラー：レーンは、10Gbps SERDESを構成する4つのシリアル・リンク間の1つのシリアル・リンクとして定義される。本明細書の他の個所で説明するように、統合された10Gbpsストリームがコア論理に与えられるように伝送線スキューを補償して各レーンを同期させるように、SERDESコア内に4つの深いFIFOがある。FIFOがオーバフローまたはアンダーフローし、その結果レーン同期エラーが起こる可能性がある。レーン同期シーケンスが整列問題を引き起こす場合もある。
【０２４２】
3）ストライプ同期エラー：ストライプ同期エラーとは、本発明による切替えファブリックを介して複数のストライプにわたって送信されるデータのワイド・セルのフローにおけるエラーを指す。このようなストライプ同期エラー（ストライプ同期エラー状態または単にエラー状態とも呼ばれる）は、クロス・ポイントに至るシリアル・パイプまたはクロス・ポイントからのシリアル・パイプのリンク・エラーまたはクロス・ポイント自体のエラーによって起こる可能性がある。
【０２４３】
一態様では、受信側BIAは、送信元およびストライプに応じてソートされる深いFIFO（56個のFIFOや64個のFIFOなど）を含む。ストライプ同期エラーは、FIFOを監視し、ストライプ化データ・パス内の1つまたは複数のFIFOのオーバフローおよび／またはアンダーフローを検出することによって検出することができる。他の状況では、各ストライプの同期がまったくとれなくなることがある。一回復態様では、いくつかまたはすべてのXPNTモジュールが独立に調停を行い、すなわち、各XPNTモジュールが、本明細書の他の個所で説明するように独立に動作し、影響を受けるFIFOをクリアして、既知の状態から回復する。
【０２４４】
当業者には少なくとも本明細書の開示に基づいて明らかになるように、他のエラー状態およびエラー状態の組合せが可能である。
【０２４５】
これらのエラー状態を検出するルーチンおよび防止するルーチンについて、以下に概略的に説明し、その後、本発明の詳細な態様に関して説明する。
【０２４６】
一般に、本発明は、図26に示されているようにバス・トランスレータを管理することができる。図26において、流れ図は、本発明の一態様によるバス・トランスレータの管理プロセスを示している。図26のプロセスは段階2602から始まり、ただちに段階2604に進む。
【０２４７】
段階2604で、IBT304は内部構成要素のステータスを判定する。プロセスはただちに段階2606に進む。
【０２４８】
段階2606で、IBT304は、その外部構成要素とのリンクのステータスを判定する。プロセスはただちに段階2608に進む。
【０２４９】
段階2608で、IBT304は、内部構成要素と外部構成要素の動作を監視する。プロセスはただちに段階2610に進む。
【０２５０】
段階2610で、IBT304は、管理コマンド用のレジスタを監視する。プロセスはただちに段階2612に進む。
【０２５１】
段階2612で、IBT304は、指示に応じて所与の構成要素のリセットを実行する。プロセスはただちに段階2614に進む。
【０２５２】
段階2614で、IBT304は所与の構成要素の動作を構成する。プロセスは、特に指示がないかぎり先へ進む。
【０２５３】
一態様では、BIA302の受信側で検出されたあらゆるエラーが、BIA302からXPNT202上で受信されるエラーに関して本明細書で説明するエラー制御方法と同一の方法で処理される。ある条件の下ではBIA302が宛先スロットを知ることができない動作態様では、BIA302によって以下のプロセスが実行される。
【０２５４】
a．パケットのアボート（AOP）信号をすべてのスロットに送信する。
【０２５５】
b．エラーが解消され、すなわち、バッファがクリアまたはフラッシュされるのを待つ。
【０２５６】
c．バッファがクリアされた後、SOPによって第1のK0トークンに同期してデータの受付けを開始する。
【０２５７】
IBT304の受信側でエラーが検出された場合、エラーは、それがBIA302によってIBT304から見られている場合と同様に処理される。以下のプロセスが使用される。
【０２５８】
a．下流側IPC/IGCのすべてのスロットにAOPを送信し、進行中のあらゆるパケットを終了させる。
【０２５９】
b．バッファが充填され、エラーを発生させたデータをクリアするのを待つ。
【０２６０】
c．エラーが解消された後（バッファがフラッシュされた後）K0トークンに同期してデータの受付けを開始する。
【０２６１】
（1）BIA管理モジュール
一態様では、図6の管理モジュール676は、本発明の監視・検出・補正機能を実行する。特に、管理モジュール676はストライプ同期エラーに対処する。図28Aに示されれているように、管理モジュール676はレベル・モニタ2806、ストライプ同期エラー検出器2808、制御文字（K2）存在トラッカ2810、およびフロー・コントローラ2812を含んでよい。レベル・モニタ2806は、FIFOをチェックし、各FIFO内のデータ量および／または特定のストライプおよび送信元（スロットや、スロットの特定の送信元パケット・プロセッサなど）に関連するグループFIFO内のデータ量を判定する。
【０２６２】
ストライプ同期エラー検出器2808は、レベル・モニタ2806によって監視されたFIFOの状態に基づいてストライプ同期エラーを検出する。ストライプ同期エラーは、本発明による切替えファブリックを介して複数のストライプにわたって送信されるデータのワイド・セルのフローにおける任意のエラーであってよい。このようなストライプ同期エラーは、クロス・ポイントに至るシリアル・パイプまたはクロス・ポイントからのシリアル・パイプにおけるリンク・エラーあるいはクロス・ポイント自体のエラーによるエラーであってよい。説明を明確にするために、送信側BIAからクロス・ポイントに至るシリアル・パイプのリンク・エラーを「着信リンク・エラー」と呼び、クロス・ポイントから受信側BIAに至るシリアル・パイプのリンク・エラーを「発信リンク・エラー」と呼ぶ。ストライプ同期エラーが検出されると、ストライプ同期エラー検出器2808は信号をフロー・コントローラ2812に送信する。フロー・コントローラ2812は次いで、適切な回復ルーチンを開始し、切替えファブリック内の各ストライプにわたるデータ・フローを再同期させる。特に、このような回復ルーチンは、切替えファブリック内の各ストライプにわたる制御文字（特殊K2文字など）を送信することを含んでよい。制御文字（K2）存在トラッカ2810は、BIAにおけるデータ・フローで受信される特殊K2文字を監視する。フロー・コントローラ2812は、管理モジュール676および管理モジュール内の各モジュールの制御論理も構成している。フロー・コントローラ2812により、管理モジュール676の各モジュールは、本発明の様々なFIFO、BIA、XPNT、および他の構成要素のステータスに関する情報を送受信することによって、本明細書で説明する各モジュールの機能を実行することができる。以下に、ストライプ同期エラーの検出およびこのエラーからの回復の例について、さらに、図28Bに関して説明する。
【０２６３】
図28Bは、本発明による、5つのクロス・ポイント（sXPNT）2856A〜2856Eを介してスロット2852に結合されたスロット2852、2854を有するスイッチ2800Bを示す図である。スロット2852は、1組の同期受信キューまたはFIFO2860を含んでいる。シリアル・リンク2853は、スロット2852とクロス・ポイント2856Aを結合している。シリアル・リンク2857は、クロス・ポイント2856Aとスロット2858を結合している。スロット2852、2854をそれぞれスロット0およびスロット1とも呼び、スロット2858をスロット2とも呼ぶ。説明を明確にするために、この例では2つのスロットのみが示されているが、他のスロットを追加することができる。
【０２６４】
データのワイド・セルがスロット0および1からストライプ0〜4にわたりそれぞれのクロス・ポイント2856A〜2856Eを介してスロット2858に送信される例を考える。スロット0 2852とxpnt0 2856Aの間のリンクが破壊されたときにある種のエラーが起こる可能性がある。このような場合、xpnt0 2856Aは、送信元スロット0 2852にエラー信号を送り返させる破壊されたリンクを検出する。これによってスロット0 2852は、トラフィックの送信を停止し、K2シーケンスを送出する。xpnt0 2856Aはすべての宛先にアボート・セル（AOP）を送信し、エラーが発生したことをこれらの宛先に通知することができる。一態様では、これはエラーが検出された直後に行われる。
【０２６５】
他の態様では、xpnt1 2856Bからxpnt4 2856Eが依然としてスロット0 2852およびスロット1 2854からスロット2 2858にデータを送信し、一方、スロット0 2852とxpnt0 2856Aの間でリンク2853が破壊されているためxpnt0 2856Aがスロット1 2854からのみデータを送信する状況が瞬間的に存在する。このため、ストライプ0／スロット1リンクに対応するスロット2 2858内の同期キューは、他のストライプよりも多くのデータをスロット1 2854から受信するためオーバフローする恐れがあり、ストライプ0／スロット0 2852に対応するスロット2 2858内のキューでは、このリンクが破壊されているためにアンダーフローが起こる恐れがある。図31は、スロット2内のFIFO 2862に存在するデータの各レベルにおいて着信リンク2853内のこのようなエラー状態がどれだけ明白であるかを示している。図31は、ストライプおよび送信元スロットによってソートされた10個のFIFO 2862を示している。この例では、5つのストライプ0〜4および2つのスロット0および1が示されている。図31に示されているように、着信リンク・エラーによって、ストライプ0／スロット1リンクに対応するスロット2 2858内の同期キューは、他のストライプよりも多くのデータをスロット1 2854から受信するためオーバフローする恐れがあり、ストライプ0／スロット0 2852に対応するスロット2 2858内のキューでは、リンク2853が破壊されているためにアンダーフローが起こる恐れがある。
【０２６６】
管理モジュール676は、以下のようにこの種のストリップ同期エラー条件を検出することができる。レベル・モニタ2806は各FIFO2862のレベルを監視する。ストライプ同期エラー検出器2808は次いで、格納されているFIFOのレベルにおけるオーバフローおよび／またはアンダーフロー条件の存在を検出する。着信リンク・エラーのこの例では、ストライプ同期エラー検出器2808は、ストライプ0／スロット0用のFIFOにおけるアンダーフロー条件およびストライプ0／スロット1用のFIFOにおけるオーバフロー条件の発生を検出する。ストライプ同期エラー検出器2808はフロー・コントローラ2812に信号を送信する。フロー・コントローラ2812は次いで、適切な回復ルーチンを開始し、切替えファブリック内の各ストライプにわたるデータ・フローを再同期させる。特に、このような回復ルーチンは、切替えファブリック内の各ストライプにわたるスロット0からの制御文字（特殊K2文字など）を送信することを含んでよい。制御文字（K2）存在トラッカ2810は、BIAにおけるデータ・フローで受信される特殊K2文字を監視する。
【０２６７】
上述の例では、スロット0 2852は、各キューが同期できるようにするK2シーケンスを送出できるときにはK2シーケンスを送出する。SOPと共にスロット0 2852から送信される第1のK0文字で同期が行われ、言い換えれば、K2の後の最初の新しいパケットに対する同期が行われる。スロット2 2858内のスロット1／ストライプ0に対応する同期キューがオーバフローする可能性があるので、スロット1 2854からのデータの送信を停止し、したがって、スロット0 2852リンクの障害の結果としてのスロット1 2854からのトラフィックが行われないようにし、スロット1 2854からのデータに対して同期を維持するフロー制御イベントがスロット2 2858からxpnt0 2856Aに送信される。
【０２６８】
他の例では、XPNT0 2856Aが動作を停止し、もはや動作できなくなる。このような場合、図28Bに示されているスイッチが故障する。後述のように、本発明の冗長スイッチ・ファブリックおよび冗長ファブリック・トランシーバ（RFT）が存在するため、システム全体は依然として機能する。このような場合、RFTは、リンク障害を検出することができ、以下に概略的に説明する各段階に従って他のスイッチのファブリックに切り替える。
【０２６９】
他の例では、xpnt0 2856Aとスロット2 2858の間のリンク2857が破壊される。このような場合、スロット2におけるBIAが破壊を検出する。一態様では、以下に本発明の態様に関して説明するように、BIAのRFTが破壊を検出する。BIAのフロー・コントローラ2812は、xpnt0 2856Aにフロー制御イベント／信号を送り返し、この信号がスロット0 2852、スロット1 2854、およびシステムに存在するあらゆるスロットに伝搬する。これによって送信元スロットはスロット2 2858へのトラフィックの送信を停止することができる。これらのスロットは依然として、スロット2 2858と同様の他の宛先スロットにトラフィックを送信することができる。一方、BIAは、それが受信している部分的なパケットを中断し、K2シーケンスがリンクを回復するのを待つ。本明細書で説明するように、BIAは、K2に続く最初のSOPに同期する。K2に続く最初のSOPの存在は、制御文字存在トラッカ2810によって検出することができる。
【０２７０】
管理モジュール676の機能について、さらに、図29に関して説明する。図29では、ストライプ化セル・トラフィックの同期を維持するルーチンを示す流れ図について説明する。
【０２７１】
段階2902で、モジュール676は、所定数のサイクルにわたってすべてのレーンにおいてストライプ化セルで共通の制御文字を送信する。一態様では、システムを介していくつかの共通制御文字が送信される。
【０２７２】
段階2904で、モジュール676は、ストライプ受信同期キューで受信された共通制御文字を評価する。モジュール676は、受信された共通制御文字を評価し、システムを再同期しているかどうかを判定する。
【０２７３】
段階2906で、モジュール676は再同期条件を判定する。システムが再同期している場合、ルーチンは段階2910に進む。システムが再同期していない場合、システムは段階2908に進む。一態様では、モジュール676は、FIFOがすべて空であるか、または同時にクリアされているかどうかを判定する。他の態様では、モジュール676は各FIFOの状態ビットをチェックする。
【０２７４】
段階2908で、モジュール676はエラー・メッセージまたはその他の管理信号を生成する。一態様では、モジュール676は、システムの他の構成要素が新たに回復措置を開始するようにエラー・メッセージを生成する。
【０２７５】
段階2910で、モジュール676は、段階2902に戻り、エラー条件またはルーチン2900を開始する管理コマンドを受信するのを待つ。
【０２７６】
モジュール676の他のルーチンが図30に示されている。図30において、流れ図（ルーチン）3000は、バックプレーン切替えファブリック内のクロス・ポイント・スイッチを介した非同期トラフィック・フローに対するルーチンを示している。一態様では、ルーチン3000によって、モジュール676は、ルーチン2900がいつ必要であるかを判定する。
【０２７７】
段階3002で、モジュール676はストライプ受信同期キューのレベルを監視する。一態様では、レベル・モニタ2806はモジュール676内でこの機能を実行する。
【０２７８】
段階3004で、モジュール676は、オーバフローおよび／またはアンダーフロー条件などの非同期キューしきい値が検出されたかどうかを判定する。一態様では、ストライプ同期エラー検出器2808はモジュール676内でこの機能を実行する。非同期キューしきい値が検出された場合、プロセスは段階3006に進む。非同期キューしきい値が検出されない場合、プロセスは段階3002に進む。一態様では、モジュール676が、他のシステムによって受信し将来の参照用に記録することのできるエラー・メッセージや信号を送信することはない。
【０２７９】
段階3006で、モジュール676は、非同期メッセージ、または同期が失われたことを本発明の他の構成要素に知らせる他の管理信号を生成する。一態様では、フロー・コントローラ2812は送信側SXPNTに信号を送り返し、この信号がさらにRFTに送り返され、RFTは、本明細書の他の個所で説明するように本発明のK2シーケンスをインスタンス化することができる。
【０２８０】
段階3008で、モジュール676は、すべてのレーンにわたるストライプ化セル・トラフィックに対する再同期ルーチンを開始する。一態様では、モジュール676は図29のルーチンを開始する。
【０２８１】
管理モジュール676、ならびにレベル・モニタ2806、ストライプ管理エラー検出器2808、制御文字（K2）存在トラッカ2810、およびフロー・コントローラ2812のうちのどれかをソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実施することができる。さらに、管理モジュール676、ならびにレベル・モニタ2806、ストライプ管理エラー検出器2808、制御文字（K2）存在トラッカ2810、およびフロー・コントローラ2812の各々で実行される機能について、都合上モジュールまたはブロックに関して説明する。しかし、このようなモジュールの境界およびモジュール間の機能の分散は例示的なものであり、本発明を制限するものではない。管理モジュール676、ならびにレベル・モニタ2806、ストライプ管理エラー検出器2808、制御文字（K2）存在トラッカ2810、およびフロー・コントローラ2812の各々の機能を1つのモジュールとして組み合わせることも、モジュールの任意の組合せにおいて分散させることもできる。
【０２８２】
（2）冗長ファブリック・トランシーバ
以下に、本発明の他の詳細な態様について、モジュール676の機能を実現する1つまたは複数の冗長ファブリック・トランシーバ（RFT）の実現態様に関して説明する。
【０２８３】
本発明の態様によれば、本明細書で説明する切替えシステムにおいて切替え冗長性をもたらすために1つのSBIA ASICと2つの切替えファブリック・モジュール（SFM）との間にRFT ASICが設けられる。
【０２８４】
図32A〜32Bはスイッチ・ファブリックの基本的な接続を示している。図32Aにおいて、図3200Aは非冗長切替えシステムを示している。ブレードA 3202はスイッチA 3204を介してブレードA 3206と通信する。ブレードAとブレードBは共に、入出トラフィックに対処する。図32Bで、図3200Bは冗長切替えシステムを示している。ブレードA 3202は、それぞれ2つのスイッチA 3204およびB 3205を介してブレードB 3206と通信する。マルチプレクサ（MUX）3208は、スイッチ3204および3205からの2つの信号の一方を選択する。
【０２８５】
図32Bの冗長切替えの場合、ファブリック・アクティブ3210はすべてのスレーブ・モジュール（入出）に信号を供給する。一態様では、バックプレーン上でポイント・ツー・ポイント・シリアル・リンクが使用される。この冗長手法は、非冗長手法の2倍のシリアル・リンクを使用する。したがって、入モジュール3202は、アクティブSFMに着信トラフィックを送信し、待機SFMにアイドル・トラフィック・パターンを送信する。一態様では、アクティブSFMはスイッチ3204であり、待機SFMはスイッチ3205である。出ブレード3206はこれらのSFMからトラフィックの2つのデータ・パスを受信する。出ブレード3206は、ファブリック・アクティブ3210の指示に応じてアクティブ信号を選択する。
【０２８６】
したがって、本発明のRFTは、冗長切替えを行い、以下のタスク、すなわち、i）マルチプレクサおよびデマルチプレクサとしての動作、ii）フロー制御に対処するための、符号化された送信元／宛先スロット情報に基づくトラフィックのソート、iii）フロー制御生成、iv）SERDES、およびv）エラー処理を実行することができる。このため、RFTは、すでに本明細書でモジュール676に関して説明した機能を実行する本発明の実現態様である。
【０２８７】
図33Aは、RFTが冗長システムで実施される一態様を示す詳細図3300Aである。図示のように、切替えブレード（SFM-A）3302および切替えブレード（SFM-B）3304は、入出ブレード（スレーブ・モジュール）3308に結合されたバックプレーン3306に結合されている。ブレード3302および3304はそれぞれ、データ・パスを介してデータを送受信するSXPNTを含んでいる。図33Aに示されているように、ブレード3302はSXPNT3310A〜3310Eを含み、ブレード3304はSXPNT3312A〜3312Eを含んでいる。SXPNT3310A〜3310Eおよび3312A〜3312Eの各群はそれぞれ、データ・パス3311A〜3311Eおよび3313A〜3313Eに結合され、バックプレーン接続部3306を介してブレード3308内の1つまたは複数のRFT 3316A〜3316Eに結合されている。
【０２８８】
ブレード3308内に、一態様では、受信される各ストライプごとに1つのRFTがある。RFT3316A〜3316Eは、受信されたデータをSBIA3320に転送する。他の態様では、1つのRFTはXAUIリンク（たとえば、15個のリンク、切替えブレードからの10個のリンク、SBIAからの5個のリンク）のブリッジを形成する。ある信頼できる態様では各XAUIリンクごとに4個のSERDESが必要であるため、このような実現態様では数十個のSERDESが必要になる可能性が高い。さらに、使用するRFTが1つであると、この1つのRFTがすべてのトラフィックに対処するのでシステムにバルヌラビリティが導入される可能性がある。したがって、5個のRFTモジュールの図示の態様では、処理作業負荷が論理的に分割される。
【０２８９】
図33Bは、本発明の一態様によるRFTの図3300Bである。図33Bには、SXPNT3310Aおよび3312Aからのストライプ0トラフィックに対してRFT3316Aが実施されるのと同様にRFT3300Bが実施されることが示されている。本明細書の他の個所で説明するように、SERDES3350および3352は、データ・インタフェースを形成し、図33Bに示されているように、それぞれSYNCHQ FIFO 3354および3356にトラフィックを経路指定する。
【０２９０】
一態様では、受信されたシリアル・データデータは、本明細書の他の個所で説明するように、SERDESによってパラレル・データに変換される。このデータと共に、着信データ・ストリームからクロックを回復することができる。したがって、各SERDESは、データから回復されたクロックを生成する。一態様では、FIFO3354および3356は、FIFOデータ・ストリームに対してアイドル文字の追加および／または削除を行うことによって、データの送受信に対するクロック補償を行う。FIFO3354とFIFO3356は共にMUX3358にデータを供給する。MUX3358は着信トラフィックを組み合わせ、発信トラフィックを分割し、冗長ストライプにデータ／制御信号とフロー制御信号の両方を与える。
【０２９１】
一態様では、すべてのトラフィックはアップリンク／ダウンリンク論理用の対称アーキテクチャに経路指定される。このアーキテクチャは、構成要素3360、3362、および3364、さらに構成要素3366、3368、および3370によって図33Bに示されている。BIA_RX3370およびBP_RX3360は、直列化解除され同期させられたパケット・データをFIFOから受信する。SYNCQ FIFO3372は、上述のFIFO3354および3356と同じ機能を実行するが、SERDES3374に関しては、BIA_RX3370が、データを、符号化された宛先スロット番号に基づいてUPLINK_RAM3368内に7つの論理データ・キューとしてソートする（たとえば、7つのキューはそれぞれの異なる宛先を有するパケットをソートするのに用いられる）。同様に、BP_PXは、データを、符号化された送信元スロット番号に基づいてDOWNLINK_RAM3362内にソートする。
【０２９２】
一態様では、SERDES3350、3352、および3374における呼出し時間は、上述の7つの論理データ・キューでトラフィックを減速させることによって補償される。
【０２９３】
BIA_TX3364モジュールとBP_TX3366モジュールは共に、それぞれダウンリンク／アップリンクRAM3362および3368からの読取り動作を調停し、送信されるデータを構成する。
【０２９４】
RFTレジスタ3376は、モジュール676から管理できる内部レジスタにアクセスすることができる。RFT3300Bの各モジュールの動作は、モジュール3376の各レジスタに設定されたパラメータに依存する。一態様では、モジュール3376は、RFT3300Bの各モジュールのステータスに関する情報をモジュール676に与える。
【０２９５】
上記に図33Aに関して説明したように、バックプレーンは切替えファブリック・モジュールとスレーブ・モジュールとの接続を確立する。一態様では、この接続は、i）シリアルTXとシリアルRXの対、ii）フロー制御データおよび同期、iii）クロス・ポイント・エラー信号、インターセプト信号、ファブリック・アクティブ信号などであるが、これらに限定されない制御信号、およびiv）クロック分散の各信号を含む。
【０２９６】
パケット符号化方式について、上記のI節およびJ節に関して詳しく説明し、ストライピング方式を図15Aに関して例示した。特にRFTに注目し、図26、図29、および図30のプロセスについて、本発明のRFTに関して説明した。
【０２９７】
一態様では、バックプレーンで転送されるペイロードの最大サイズは160バイトである（148バイトのデータ・マックス、10バイトの「セルの始め」（Start of Cell：SOC）制御情報、および2つの予約バイト）。この態様では、完全な160バイト転送を「セル」と呼ぶ。本明細書の他の個所で説明するように、セルはこの態様によって制限されない。したがって、1サイクルは単一の3.2nsクロック・パルス（すなわち、312.5MHZ）である。セル転送は、8連続サイクルにおいて20バイト「ブロック」で（図15Aに示されているように）行うことができる。
【０２９８】
「状態」バイトは、以下の表に示されているように割り当てることができる。
2004537871.tif 000005
【０２９９】
この表の情報が、すでに図25A〜25Bに関し、IBTからBIAに関して説明した情報に類似していることに留意されたい。ここでは、BIAからXPNTについて議論する。各態様において、符号化方式用の3つの特殊K文字、すなわち、K0（SOC）、K1（EOP）、およびK2（ストライプ同期）が存在してよい。
【０３００】
K0は、すべての5つのストライプにわたるセルの第1のブロックである「セルの始め」を示す。
【０３０１】
K1は、セルの任意のブロックに現れることのできる「パケットの終り」を示す。これはRFTおよびSXPNTに対して透過的である。
【０３０２】
K2は、ストライプ同期シーケンスを符号化するのに用いられる。ストライプ同期では、すべてのレーンおよびすべてのストライプにわたってK2文字を送信する必要がある。一態様では、特殊文字は112回送信される。その後、同期キューのすべてのストライプが「イン・シンク（同期）」とマーク付けされる。数112が選択されたのは、それがこの態様では同期キューの深さに一致し、したがって、最後のK2が検出された後でキューに残っているデータがない場合、これをストライプ同期エラーとみなすことができるからである。本発明はこの態様によって制限されず、同期キューは異なる深さを有してもよい。
【０３０３】
当業者には本明細書に記載された開示に基づいて認識されるように、特殊文字を実施する機能は同期キューの充填／フラッシュである。一態様では、SBIAは、図34Aに示されているパターンを112回送信する。
【０３０４】
一態様では、状態フィールドが送信元スロット番号で符号化されると共に、セルがシーケンスの始めに近いかまたは終りをに近いかを示すのに1ビットが用いられる。たとえば、状態フィールドを送信元スロット番号で符号化することができると共に、セルがストライプ・シーケンスの（112回のうちの）最初の96回の転送の途中であるかどうか、またはこれが（112回のうちの）最後の16回のK2転送であり、その後有効なデータが送信されるかどうかを示すのに1ビットが用いられる。
【０３０５】
K2シーケンス同期ルーチンは、図34Bのフローチャート3450に示されている。K2シーケンスは、SBIAにおいて5つのストライプを同期させるために、連続するサイクルで到着する必要がある。これを保証するために、以下のルーチンが開始される。
【０３０６】
段階3452で、送信元SBIAがRFT/SXPNTの準備完了状態についてチェックする。
【０３０７】
段階3454で、RFT/SXPNTがその状態を返す。RFT/SXPNTの準備が完了している場合、ルーチンは段階3456に進む。RFT/SXPNTの準備が完了していない場合、ルーチンは段階3452に戻る。一態様では、送信元SBIAは所定の期間の後で再チェックを行うことができる。
【０３０８】
段階3456で、送信元SBIAはRFT/SXPNTにアイドル文字を送信する。一態様では、送信元SBIAは、宛先SBIAのバッファから残りのデータを引き出すのに十分な時間を宛先SBIAに与えるのに十分なアイドル文字を送信する。一態様では、送信元SBIAは768x2語のアイドル文字を送信する。
【０３０９】
段階3458で、送信元SBIAはRFT/SXPNTに特殊文字（K2）を送信する。一態様では、送信元スロット用のRFT/SXPNT内のFIFOは、K2が送信されるまでに空になるべきである。RFT/SXPNTは、K2シーケンスを受信したときに、FIFOが空でない場合、このシーケンスをSBIAが受信したデータのエラーとみなす。RFTは、データを首尾よく受信すると、K2シーケンスを送信する前に、SXPNTがデータを受信する準備が完了しているかどうかをチェックする。一態様では、K2シーケンスは、一度RFTからSXPNTに送信されると、シーケンス全体が送信されるまで停止しない。一態様では、112語のK2文字が送信される。
【０３１０】
段階3460、3462、および3464は上述の状況を示している。
【０３１１】
段階3466で、送信元SBIAは、RFT/SXPNTにさらにアイドル文字を送信し、バッファから残りのK2文字をクリアする。一態様では、送信元SBIAは512x2語のアイドル文字を送信する。
【０３１２】
一態様では、FIFOをクリアし本発明のシステムを再同期させるためにモジュール676によって周期的にルーチン3450が実行される。
【０３１３】
図34Bの議論では、SXPNTおよびSBIAのクロックの重要性が強調されている。というのは、このクロックは、ルーチン3450を適切に実行するために厳しいジッタおよび立上り時間要件を維持すべきであるからである。さらに、RFTおよびSXPNTのストライプ化性のため、常に同期を維持する必要がある。したがって、本明細書で説明するルーチン、およびエラー検出および回復のためのこれらのルーチンの様々な態様は、特に重要である。
【０３１４】
本発明の態様では、同期システムと非同期システムの両方を実施することができる。非同期システムでは、ファブリックを含むすべてのブレードが同じクロック送信元を使用する。クロック送信元は、ファブリック上に位置することができ、バックプレーンが純粋に受動的な構成要素として働くようにバックプレーンを横切って各スレーブ・モジュールに分散させることができる。
【０３１５】
冗長スイッチ・ファブリック・システムの一態様では、2つのシステム・クロックを2つのスイッチ・ファブリック・モジュールから1つのスレーブ・モジュールに送ることができる。スレーブ・モジュール上の回路はマスタ・クロックとして働く。マスタ・クロックがフェールオーバ・イベントで障害を起こした場合、他のクロックがマスタ・クロックになり、切替えはスレーブ・モジュール上の構成要素に対して透過的であるべきである。
【０３１６】
非同期システムでは、システムはブレード間でクロック・ドメインを結合解除する。このことは、今やあらゆるブレードがそれ自体のクロック送信元を有することを意味する。非同期システムを構成する目的は、MUXによって供給されるクロック信号によって課される厳しいジッタ要件をなくすことである。しかし、このシステムは、（スレーブ・モジュールにおける）両端でのインタフェース信号の再同期に関する新しい問題を引き起こす。
【０３１７】
SERDES信号の場合、すでに上記で説明したように、TXおよびRXがそれぞれの異なるクロック送信元を使用するときにRXクロック補償を行うある種の組込み機能がある。しかし、RX補償をイネーブルすると、SERDES内部の呼出し時間が長くなる。
【０３１８】
上述のフロー制御信号に関して、システムはファブリック上で制御論理を実施し、時分割多重（TDM）信号をパラレル信号に解読し、中央準備完了同期信号を不要にする。詳細な態様について以下に説明する。
【０３１９】
同期フロー制御実現態様の場合、SXPNTとRFTの間を通るフロー制御情報はTDMであり、共通同期信号によってタイム・スロットの始めを定める必要がある。クロック分散を追跡する中央同期信号は、システムのロバストネスを高める。
【０３２０】
図35は、RFTを含む同期フロー制御態様のブロック図3500である。ブレード・モジュール3502は5つのSXPNT3508A〜3508Eを含んでいる。フロー・コントローラ・モジュール3506は、本明細書で説明するように様々な信号を生成する。一態様では、モジュール3506はシステムの各構成要素にクロック信号を供給する。ブレード・モジュール3504は、バックプレーン接続部を横切ってRFT3510A〜3510Eに至る信号を受信する。RFTはSBIA3512との間で信号を送受信する。フロー・コントローラ・モジュール3504はRFT3510A〜3510EのそれぞれおよびSBIA3512にバックプレーンを横切って連結されている。
【０３２１】
一態様では、バックプレーンにわたる2組のフロー制御信号がある。他の態様では、2つよりも多くの信号がフロー制御に使用される。前者の態様では、以下の準備完了信号が実施される。
【０３２２】
a）受信準備完了：各SBIA3512は、特定のストライプにそれぞれの特定のスロットからパケットを送信するのを停止させる、各RFT3510A〜3510Eの専用1ビット準備完了信号を有する。各RFT3510A〜3510Eは、内部受信FIFO（たとえば、ダウンリンクRAM）内の利用可能な空間に基づいて特定の送信元SXPNT3508A〜3508Eからのパケットの受信を制御する専用1ビット準備完了信号も送信する。
【０３２３】
b）送信準備完了：各SXPNTは、宛先スロットでの輻輳状況を通知する、各RFT3510A〜3510Eの専用2ビット準備完了信号を有する。あらゆるSBIA3512は、宛先スロット用のトラフィックを停止する2ビット準備完了信号を各RFT3510A〜RFT3510Eから受信する。
【０３２４】
一態様では、RFT/SXPNTとRFT/SBIAの間のすべての送信準備完了信号および受信準備完了信号を同期させるのに共通同期信号が用いられる。たとえば、制限としてではなく、送信準備完了信号は、2ビットを用いて4つのスロット（8サイクル）における7つの状態を符号化し、受信準備完了信号は、1ビットのみを用いて7つのスロット（14サイクル）における7つの状態を符号化する。共通同期は、8と14の最小公倍数である56サイクルごとの同期パルスであってよい。もちろん、本発明はこれらのサイクル数に限らず、当業者には、異なる持続時間を実施できることが認識されよう。
【０３２５】
一態様では、各状態についてのタイム・スロットは、コア周波数の2分の1が78.125MHzであり、すなわち、コア周波数が156.25MHzである場合には、78.125MHzに設定することができる。タイム・スロットに2サイクル手法を用いる理由は、SBIA準備完了レジスタとSXPNT準備完了レジスタとの間のワイヤ／セル遅延に2サイクルのマージンが与えられるからである。
【０３２６】
図36は、SBIAがSXPNTからの準備完了信号をどのように解釈するかの時間流れ図である。同期パルスを用いてSBIAとSXPNTの両方の内部カウンタがリセットされる。例示のために図36に示されているように、カウンタの値が55または0であるとき、SXPNTは、スロット1および0に対応する準備完了状態を内部で送出する。カウンタが1または2に等しいとき、SXPNTはスロット2準備完了信号およびスロット3準備完了信号を符号化し、以下同様の動作が実行される。このパターンは8サイクルごとに繰り返される。言い換えれば、あらゆるスロットは、2つの同期パルスの間で7回符号化される。
【０３２７】
詳細な態様では、3サイクル後に、準備完了状態信号はバックプレーンを横切る。次いで、SBIAは準備完了信号に別の2サイクルの呼出し時間を付加する。したがって、カウントが5に等しいとき準備完了信号はSBIA内部にラッチされる。これによって、パスはSXPNTからSBIAまでの真のマルチサイクル・パスになる。
【０３２８】
RFTがSBIAとSXPNTの間に配置されたとき、フロー制御動作はそのまま実行される。しかし、SBIA/RFTおよびSXPNT/RFTの呼出し時間は、ハードウェア・トレースにおいて追加のマージンが残るようにプログラム可能である。したがって、本発明の態様では、システムの呼出し時間レベルを事前に決定し、したがって、システムの動作パラメータをよりうまく予想するためにオフセットを導入することができる。
【０３２９】
図35と同様に、図37は、非同期フロー制御を有する本発明の切替えシステムを示している。システム3700は、SXPNT3708A〜3708Eを有するブレード・モジュール3702と、RFT3714A〜3714Eを有するブレード・モジュールとを含んでいる。一態様では、図35と同様に、フロー・コントローラ・モジュール3706および3707はシステムの構成要素にクロック信号を供給することができる。
【０３３０】
SXPNT3708A〜3708EとRFT3714A〜3714Eとの間のフロー制御は、ブレード3702内の制御論理モジュール3710およびブレード3704内のモジュール3712を介して非同期に変更することができる。一態様では、制御論理モジュール3710は、ファブリック上に位置し、SXPNT3708A〜3708Eの同期フロー制御インタフェースとして働く。制御論理モジュール3710は、様々な信号を受信し、解釈し、送信することができる。一態様では、モジュール3710は以下の動作を実行する。
【０３３１】
a）2ビット送信準備完了信号を各SXPNT3708A〜3708Eからの7ビット準備完了信号として解読し、これらの準備完了信号を組み合わせて各RFT3714A〜3714Eへの7ビット送信スロット準備完了信号を生成する。
【０３３２】
「組み合わせる」とは、特定のスロットに対する準備が完了していないSXPNTがある場合、どのRFTもそのスロット用のパケットを送信することを許可されないことを意味する。これは、ストライプ間に独立のフロー制御を有する同期システムとは異なる。
【０３３３】
b）やはり5つのストライプからの組合せ準備完了信号であり、5つのSXPNT用の1ビット受信準備完了信号に符号化されている7ビット受信スロット準備完了信号を、RFTから受信する。
【０３３４】
本明細書で説明するRFT態様に関して、シリアル・リンクおよびバックプレーンで起こる可能性のあるエラー状態と、防止措置および回復措置について説明する。さらに、あるスイッチ・ブレードから他のスイッチ・ブレードに変更するフェールオーバ手順の態様について説明する。
【０３３５】
本発明のRFTモジュールは上述のエラーの受信側に位置してよい。RFTチップによって検出できるエラーの種類には以下のものが含まれる。
【０３３６】
a）リンク・エラー：これは、ビット・エラーまたはバイト整列エラーの結果として起こる可能性がある。一態様では、SERDESは、リンク・エラーを示す「/E」特殊文字（エラー通知文字）をパラレル・データ・パス上で送信すべきである。
【０３３７】
b）レーン同期エラー：これは同期FIFOオーバフロー／アンダーフローである。一態様では、SERDESは、受信側レーン同期エラーを示す「GLINK」信号を送信すべきである。
【０３３８】
c）フォーマット・エラー：これは、セルのフォーマットが正しくないために起こる。一態様では、レーン0以外のレーンに現れる「/K0」特殊文字がフォーマット・エラーを示す。
【０３３９】
d）XPNTエラー：  これは5つのSXPNTチップからのワイヤまたは信号である。一態様では、この信号は、SXPNTにエラーがあるか、または受信データに問題があることを示している。
【０３４０】
RFTエラー処理ルーチンは前述のルーチン（たとえば、図29、図30、および図34Bのルーチン）に適合する。
【０３４１】
一態様では、SBIAからRFTへの送信において、RFTは、SBIAから受信されたデータにエラーを検出する。このエラーは、リンク・エラー、レーン同期エラー、およびフォーマット・エラーを含んでよい。エラーが検出された後、以下の手順（段階1〜4）を適用してエラーから回復することができる。
【０３４２】
1）SBIAにRFTエラー信号を送信する。SBIAは、セル境界でのデータの送信を停止し、RFTによってRFTエラーがアサート解除されるまでレーン同期シーケンスを繰り返す。一態様では、アサート解除された後、（たとえば、図34Bに関して説明したように）すべてのスロットに対してストライプ同期シーケンスが送出される。
【０３４３】
2）すべてのスロットにAOPを送信しアップリンクRAMをフラッシュする。受信されたデータでエラーが検出されたときは、符号化された宛先スロットが誤動作している可能性がある。したがって、すべての宛先スロットにアボート信号が送信され、すでに送信されたパケットが破棄される。
【０３４４】
3）バッファがクリアされ、したがってエラーがクリアされるのを待つ。
【０３４５】
4）ストライプ同期シーケンスおよびSOPがデータの受付けを開始するのを待つ。
【０３４６】
一態様では、SXPNTからRFTへの送信において、RFTは、それが接続されているSXPNTの1つから受信されたデータにエラーを検出する。このエラーは、リンク・エラー、レーン同期エラー、およびフォーマット・エラーを含んでよい。1つまたは複数のエラーが検出された後、以下の手順を適用してエラーから回復することができる。
【０３４７】
1）SXPNTがこのスロットにおいてさらにデータを受信するのを停止する。
【０３４８】
2）すべてのスロットについてSBIAにAOPを送信し、ダウンリンクRAMをフラッシュする。
【０３４９】
3）バッファがクリアされ、したがってエラーがクリアされるのを待つ。
【０３５０】
4）ストライプ同期シーケンスおよびSOPがデータの受付けを開始するのを待つ。
【０３５１】
本発明の態様では、RFTエラー信号は、SBIAがRFTへのパケット送信を停止するように、SBIAに、そのRFTがエラー状態にあることを通知する。この信号は、以下のエラー通知を含む。
【０３５２】
a）クロス・ポイント・エラー：これは、アクティブ切替えモジュール上の5つのSXPNTからのワイヤまたは結果である。
【０３５３】
b）ファブリック・アクティブ・エラー：  このエラーは、「ファブリック」アクティブ」信号が両側で同時にアクティブまたはイナクティブになったときに起こる。
【０３５４】
c）SBIAから受信されたデータにおける検出されたリンク・エラー、レーン同期エラー、またはフォーマット・エラー。
【０３５５】
エラーが、切替えモジュールで検出されたか、または切替えモジュールに関係するものとみなされる場合、モジュール676は、現在の切替えモジュールをディスエーブルし、予備切替えモジュールがシステムのプロセスをアクティブに維持できるようにする機能を有している。
【０３５６】
一態様では、RFTは、SXPNTから受信されたデータにエラーを検出したときに、モジュール676内で行われているフロー制御を中断する割込み信号を生成することができる。モジュール676は次いで、SXPNTおよびRFT内のステータス・レジスタを読み取り、どんな種類のエラーが起こったかと、エラーを補正するためにどのルーチンをインスタンスかすべきかを判定する。
【０３５７】
割込み信号を生成することのできるエラーは、RFT内に割込みマスク・レジスタをプログラムすることによって事前に決定しておくことができる。これらのエラーには、a）コアからSERDESへの同期FIFOオーバフロー、b）SERDESからコアへの同期FIFOオーバフロー、c）リンク動作不能、e）符号エラー、および／またはフォーマット・エラー、ならびにf）XPNTエラーを含めてよいが、これらに限定されない。当業者には少なくとも本明細書に記載された開示に基づいて認識されるように、他のエラーを監視し事前に決定しておくことができる。
【０３５８】
モジュール676は、すべてのスレーブ・モジュールから割込み信号を収集し、一態様では、他の2ビット「ファブリック存在」信号も収集し、モジュール676のフェールオーバ決定手順を開始する。「ファブリック存在」信号は、対応する切替えモジュールが所定の位置にあることを示すことができる。たとえば、ユーザがある切替えモジュールを取り外した場合、対応する「ファブリック存在」信号はアサート解除される。
【０３５９】
モジュール676は、2ビット「ファブリック・アクティブ」信号を用いて、どのスイッチ・モジュールがトラフィックを送るかをすべてのスレーブ・モジュールに通知する。一態様では、モジュール676は、フェールオーバ手順を開始するために、まず予備スイッチ・モジュールをリセットし、2ビット信号を反転する。
【０３６０】
冗長切替え態様では、ネットワーク・スイッチは1つのアクティブ／作動切替えブレードと1つのアイドル／予備切替えブレードとを有している。これらの態様によれば、RFTは、アクティブ・ブレードにパケットを送信することができ、アイドル・ブレードにアイドル文字を送信することができる。作動切替えブレードの障害または作動切替えブレードが取り外されていることを、モジュール676が検出すると、RFTは、システムによって、2ビット「ファブリック・アクティブ」信号を用いてフェールオーバ状況を通知される。フェールオーバが起こると、新しい切替えブレードは、リセット後に初期状態にあると仮定される。モジュール676は、フェールオーバ・コマンドを発行する前に新しい切替えブレードのステータスをチェックする。
【０３６１】
RFTは常に、予備切替えブレードにレーン同期シーケンスを送信して正常なリンクを維持する。したがって、フェールオーバが起こったとき、予備切替えブレードを作動させる時間は不要になる。
【０３６２】
フェールオーバが起こったときは、フェールオーバ手順を実行して他の切替えブレードへの安全な遷移を保証することができる。以下に、本明細書で説明するルーチンの特定の態様について詳しく説明する2つのルーチン例を示す。
【０３６３】
一態様では、SBIAからRFTへの送信において、RFTは、「ファブリック・アクティブ」信号を監視することによってフェールオーバを検出する。
【０３６４】
1）SBIAにRFTエラー信号を送信する。SBIAは、セル境界でデータの送信を停止し、RFTエラー信号がアサート解除されるまでレーン同期シーケンスを繰り返す。アサート解除された後、すべてのスロットに対してストライプ同期シーケンスが送出される。
【０３６５】
2）アップリンクRAMをフラッシュする。
【０３６６】
3）バッファがクリアされ、したがってエラーがクリアされるのを待つ。
【０３６７】
4）ストライプ同期シーケンスおよびSOPがデータの受付けを開始するのを待つ。
【０３６８】
一態様では、SXPNTからRFTへの送信において、RFTは、「ファブリック・アクティブ」信号を監視することによってフェールオーバを検出する。
【０３６９】
1）すべてのスロットについてSBIAにAOPを送信し、ダウンリンクRAMをフラッシュする。SBIAは、AOPを受信すると、受信されたデータをストライプ同期の前に破棄する。
【０３７０】
2）バッファがクリアされ、したがってエラーがクリアされるのを待つ。
【０３７１】
3）ストライプ同期シーケンスおよびSOPがデータの受付けを開始するのを待つ。
【０３７２】
本発明の特徴によれば、システムの各ブレードのヒットレス切替えが可能である。語「ヒットレス」は、ファブリックの変更によるパケットの損失が生じないことを意味する。通常の状態で、ユーザがそれにもかかわらず、性能を高めるかまたはより安定させるためにファブリックの変更を望む場合がある。この場合、ユーザはパケットの不要な破棄を回避することを望む。さらに、アップグレード手順を使用するもう1つの理由は、ファブリックの試験である。少なくとも2つの手順、すなわち、デバッグおよび作成を用いて切替えを行うことができる。
【０３７３】
一態様では、第1の手順によって、モジュール676は、レジスタのプログラミングによって切替えイベントを制御することができる。
【０３７４】
1）まず、モジュール676は、構成レジスタ内の「ファブリック・イネーブル・モード」および「ヒットレス・イネーブル・モード」ビットに「1」をセットする。これによって、モジュール676は、レジスタのプログラミングによって新しいファブリックおよびヒットレス・モードをイネーブルすることができる。
【０３７５】
2）モジュール676は、「構成」レジスタ内の「ヒットレス・イネーブル」ビットをセットする。これによって、RFTは、損失のない切替えを行うモードになる。
【０３７６】
3）次いで、モジュール676は、たとえばRFTレジスタに対応するビットをセットすることによってBIA受信機をディスエーブルする。これによって、SBIAが抑制され、SBIAがRFTにさらにセルを送信するのが防止される。
【０３７７】
4）ある時間（SXPNTバッファおよびRFTバッファ内のすべてのパケットを送出するのに十分な時間。本明細書ですでに説明したように、モジュール676がこの持続時間を決定することができる。）が経過した後、モジュール676は、RFTレジスタ内の「ファブリック・アクティブ」ビットをセットすることによって新しいファブリックを選択する。
【０３７８】
5）モジュール676は次いで、SBIAがRFTへの新しいセルの送信を継続できるように（イネーブルされるように設定されるように）各ビットをクリアする。RFTは、データを破棄することなく新しいファブリックにセルを転送する。
【０３７９】
6）モジュール676は「ヒットレス・イネーブル」ビットをクリアして、RFTをフェールオーバ・モードにする。
【０３８０】
他の態様では、第2の手順として以下のルーチンが使用される。一態様では、RFT/SXPNTバッファ内のパケットを送出する切替えタイマはRFTに位置しており、SBIAトラフィックの減速は、上述のように自動的に行われる。この態様では、モジュール676が介入する必要はない。
【０３８１】
1）まず、本発明の一ハードウェア態様では、コマンド入力ピンを「ハイ」に駆動してヒットレス切替えをイネーブルすることができる。一ソフトウェア態様では、ヒットレス切替えをイネーブルするように「ヒットレス・イネーブル・モード」ビットおよび／または「スイッチ遅延イネーブル」ビットをセットすることもできることにも留意されたい。
【０３８２】
2）モジュール676は、減速の前に、「スイッチ遅延カウンタ」レジスタの値を求めることができる。これは、「ファブリック・アクティブ」信号がトグルされるときに切替えタイマをプログラムするのに用いられる。
【０３８３】
3）「ファブリック・アクティブ」入力ピンはすべてのRFTでトグルされ、各RFTは、SBIAトラフィックを減速させ、切替えタイマが満了するまで古い切替えファブリックにパケットを送信し続ける。
【０３８４】
4）タイマが満了したとき、RFTとSXPNTは共に、内部バッファ内のすべてのパケットを送信しているはずである。RFTは、新しいファブリックを作動させ、新しい切替えファブリックとの間でのパケットの送受信を開始する。
【０３８５】
5）上記の態様では、コマンド入力ピンが「ロー」に駆動され、ヒットレス切替えがディスエーブルされる。
【０３８６】
フェールオーバと切替えのどちらの場合でも、モジュール676が交換の前にまず新しいファブリックをリセットするよう示唆されることに留意されたい。SXPNTがリセット後にすべてのスロットに対してAOPを生成する（リンクが動作不能になるため）ので、モジュール676には、スイッチ・ファブリックを交換する前に十分な時間が与えられる。
【０３８７】
U．リセット手順および回復手順
SERDESを同期させるときは以下のリセット手順に従う。コアにリセットが適用されると、SERDESに対して外部リセットがアサートされる。SERDESに対するリセット・パルスの持続時間は10サイクル以下でよい。リセット・パルスの後、SERDESの送信機および受信機は定められた手順によって互いに同期する。SERDESは、コアがリセットを解除された後に同期すると仮定する。このため、コアに対するリセット・パルスは、SERDESコアに対するリセット・パルスよりもかなり大きくなければならない。
【０３８８】
コアは、コアを同期させる場合にソフトウェアによる対話に依存する。BIA302、600、IBT304、およびXPNT202は、リセットを解除された後、連続的にレーン同期シーケンスを送信する。受信機は、そのレーンが同期していることを示すソフトウェア可視ビットをセットする。ソフトウェアは、各レーンが同期していると判定すると、各ストライプの同期を試みる。これは、ストライプ同期シーケンスの連続的な送信をイネーブルするソフトウェアによって行われる。この場合も、BIA302の受信側は、それが特定の送信元スロットと同期していることを示すビットをセットする。ソフトウェアは、このことを判定すると、BIA302、XPNT202、およびIBT304に対する送信をイネーブルする。
【０３８９】
管理ブレード上に存在する管理ソフトウェアは、システム・メンテナンス作業に責任を負う。本発明の態様によれば、モジュール676は管理ソフトウェアについてのインスタンス化およびアクセスを行う。他の態様では、管理ブレードは、各スレーブ・モジュールおよび切替えモジュールに対する専用リセット信号を含む。
【０３９０】
一態様では、システム・リブート時に以下のリセット手順を実行することができる。
【０３９１】
1）コアにリセットが適用されると、SERDESに対して外部リセットがアサートされる。SERDESに対するリセット・パルスの持続時間は32サイクルより長くなければならない（156MHzクロックの場合）。
【０３９２】
2）リセット・パルスの後、SERDESの送信機および受信機は定められた手順によって互いに同期する。SERDESは、コアがリセットを解除された後に同期すると仮定することができる。。このため、コアに対するリセット・パルスは、SERDESコアに対するリセット・パルスよりもかなり大きくなければならない。
【０３９３】
3）コアは、コアを同期させる場合にモジュール676との対話に依存する。BIA、IBT、およびXPNTは、リセットを解除された後、連続的にレーン同期シーケンスを送信する。
【０３９４】
4）SERDESは、レーン同期ステータスをモジュール676から見えるようにする。
【０３９５】
5）モジュール676は、各レーンが同期していると判定すると、各ストライプの同期を試みる。これは、ストライプ同期シーケンスの連続的な送信をイネーブルするソフトウェアによって行われる。
【０３９６】
6）この場合も、BIAの受信側は、それが特定の送信元スロットと同期していることを示すビットをセットする。
【０３９７】
7）モジュール676は、このことを判定すると、BIA、XPNT、およびIBTに対する送信をイネーブルする。
【０３９８】
SBIA/SXPNTリセット手順と同様に、RFTは、モジュール676がその3つの10Gbps SERDESのそれぞれを個別にリセットするのを可能にする。SERDESがリセットされると、リンクは動作不能になり、SERDESから受信されたデータは破壊される。エラー回復プロセスは、前述のリンク・エラー処理と同じであってよい。
【０３９９】
リセットによるパケット損失を減らすために、以下の手順を適用する。
【０４００】
a）セル境界で送信側SERDESへのデータの送信を停止する。
【０４０１】
b）SERDESのリセット中にレーン同期シーケンスを送信する。
【０４０２】
c）データの送信を開始する（SERDESはリセット状態を解除される）。
【０４０３】
RFTは3つのSERDESを有するが、一態様では、2つのSERDESのみがパケットを転送し、1つのSERDESは待機モードである。ユーザが本体に1つの切替えファブリックのみを設置した場合、冗長SERDESの対応するSERDESトランシーバがなくなる。したがって、冗長SERDES用のリンクは常に動作不能になる。ユーザは、本体に切替えファブリックを設置することを望まない場合、冗長SERDESの電源を落としてエネルギーおよびサイクルを節約し、処理オーバヘッドを低下させることができる。このために、モジュール676はRFTの各レジスタのうちの「電力制御」レジスタにアクセスすることができる。
【０４０４】
IV．制御論理
上記にスイッチ100の動作に関して説明した機能は制御論理で実施することができる。このような制御論理は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実施することができる。
【０４０５】
V．結論
本発明の特定の態様について上記に説明したが、これらの態様は一例としてのみ示されており、制限として示されたものではないことを理解されたい。当業者には、添付の特許請求の範囲に定義された本発明の趣旨および範囲から逸脱せずに、これらの態様の形態および詳細に様々な変更を加えられることが理解されよう。したがって、本発明の範囲は、上述の例示的な態様によって制限されるべきではなく、特許請求の範囲およびその均等物に従ってのみ定義されるべきである。
【図面の簡単な説明】
【０４０６】
【図１】本発明の態様による高性能ネットワーク・スイッチの図である。
【図２】本発明の態様によるブレードに結合されたクロス・ポイント・スイッチを有する切替えファブリックを示す高性能ネットワーク・スイッチの図である。
【図３Ａ】本発明の態様による図1の高性能ネットワーク・スイッチで使用されるブレードの図である。
【図３Ｂ】本発明の他の態様によるブレードの構成を示す図である。
【図４】本発明の態様によるポート・スライスを有するクロス・ポイント・スイッチのアーキテクチャの図である。
【図５】本発明の態様によるポート・スライスのアーキテクチャの図である。
【図６】本発明の態様によるバックプレーン・インタフェース・アダプタの図である。
【図７】本発明の態様による、バックプレーン・インタフェース・アダプタで受信されるローカル・シリアル・トラフィック用のトラフィック処理パスを示す図である。
【図８】本発明の態様による、バックプレーン・インタフェース・アダプタに結合された切替えファブリックの一例の図である。
【図９】本発明の態様による、バックプレーン・インタフェース・アダプタで受信されるバックプレーン・シリアル・トラフィック用のトラフィック処理パスを示す図である。
【図１０】本発明の態様による、バックプレーン・インタフェース・アダプタで受信されるローカル・シリアル・トラフィック用のトラフィック処理パスに沿って実行される動作段階のフローチャートである。
【図１１】本発明の態様による、バックプレーン・インタフェース・アダプタで受信されるバックプレーン・シリアル・トラフィック用のトラフィック処理パスに沿って実行される動作段階のフローチャートである。
【図１２】本発明の態様による、ワイド・ストライプ化セルを生成するルーチンのフローチャートである。
【図１３】本発明の態様による、ナロー・セルで使用されるナロー・セル・状態情報を示す図である。
【図１４】本発明の態様による、ワイド・ストライプ化セルを符号化するルーチンのフローチャートである。
【図１５Ａ】本発明の態様による、ワイド・ストライプ化セルを符号化する段階を示す図である。
【図１５Ｂ】本発明の態様による、ワイド・ストライプ化セルで使用される状態情報を示す図である。
【図１５Ｃ】本発明の態様による、ワイド・ストライプ化セルで使用されるパケットの終り符号化情報を示す図である。
【図１５Ｄ】本発明の態様による、ワイド・ストライプ化セルを複数のストライプで送信する際のセル境界整列条件の例を示す図である。
【図１６】本発明の態様による、ワイド・ストライプ化セルを複数のストライプで送信する際のパケット境界整列条件の例を示す図である。
【図１７】本発明の一態様によるバス・トランスレータのブロック図を示す。
【図１８】本発明の一態様による受信構成要素のブロック図を示す。
【図１９】本発明の一態様による送信構成要素のブロック図を示す。
【図２０】本発明の一態様によるバス・トランスレータの詳細ブロック図を示す。
【図２１Ａ】本発明の他の態様によるバス・トランスレータの詳細ブロック図を示す。
【図２１Ｂ】本発明の一態様による、バス・トランスレータの受信構成要素を有するデータ・パスの機能ブロック図を示す。
【図２１Ｃ】本発明の一態様による、バス・トランスレータの送信構成要素を有するデータ・パスの機能ブロック図を示す。
【図２１Ｄ】本発明の一態様による、バス・トランスレータのネイティブ・モード受信構成要素を有するデータ・パスの機能ブロック図を示す。
【図２１Ｅ】本発明の一態様によるセル・フォーマットのブロック図を示す。
【図２２】本発明の一態様によるバス・トランスレータの符号化プロセスの流れ図を示す。
【図２３Ａ−２３Ｂ】本発明の一態様によるバス・トランスレータの符号化プロセスの詳細流れ図を示す。
【図２４】本発明の一態様によるバス・トランスレータの復号プロセスの流れ図を示す。
【図２５Ａ−２５Ｂ】本発明の一態様によるバス・トランスレータの復号プロセスの詳細流れ図を示す。
【図２６】本発明の一態様によるバス・トランスレータの管理プロセスの流れ図を示す。
【図２７Ａ−２７Ｅ】本発明の一態様による、ワイド・セル符号化およびフロー制御条件に基づいてポート・スライス内のデータを処理するルーチンを示す。
【図２８Ａ】本発明の一態様による管理モジュールのブロック図を示す。
【図２８Ｂ】本発明の一態様によるクロス・ポイント・アーキテクチャのブロック図を示す。
【図２９】本発明の一態様による、ストライプ化セル・トラフィックの同期を維持するルーチンを示す。
【図３０】本発明の一態様による、バックプレーン切替えファブリックを有するクロス・ポイント・スイッチを通る非同期トラフィック・フローを検出するルーチンを示す。
【図３１】本発明の一態様による、ストライプおよび送信元ごとにソートされた受信側ブレード同期キューに存在するデータのレベルにおいて着信リンクにおけるエラー条件がどれだけ明白であるかの一例を示す。
【図３２Ａ−３２Ｂ】本発明の態様によるアーキテクチャの例のブロック図を示す。
【図３３Ａ】本発明の一態様による、冗長ファブリック・トランシーバによってイネーブルされるブレード・モジュールのブロック図を示す。
【図３３Ｂ】本発明の一態様による冗長ファブリック・トランシーバのブロック図を示す。
【図３４Ａ】本発明の一態様による5つのストライプにわたるセル文字を示す表を示す。
【図３４Ｂ】本発明の一態様によるK2（特殊文字）同期シーケンスに関するルーチンを示す。
【図３５】本発明の一態様による冗長ファブリック・トランシーバの同期フロー制御実現態様のブロック図を示す。
【図３６】本発明の一態様による、同期フロー制御実現態様の時間ドメイン多重化のタイミング図を示す。
【図３７】本発明の一態様による、冗長ファブリック・トランシーバの非同期フロー制御実現態様のブロック図を示す。
【図１】
2004537871.tif 000010
【図２】
2004537871.tif 000011
【図３】
2004537871.tif 000012
【図４】
2004537871.tif 000013
【図５】
2004537871.tif 000014
【図６】
2004537871.tif 000015
【図７】
2004537871.tif 000016
【図８】
2004537871.tif 000017
【図９】
2004537871.tif 000018
【図１０】
2004537871.tif 000019
【図１１】
2004537871.tif 000020
【図１２】
2004537871.tif 000021
【図１３】
2004537871.tif 000022
【図１４】
2004537871.tif 000023
【図１５Ａ】
2004537871.tif 000024
【図１５Ｂ】
2004537871.tif 000025
【図１５Ｃ】
2004537871.tif 000026
【図１５Ｄ】
2004537871.tif 000027
【図１６】
2004537871.tif 000028
【図１７】
2004537871.tif 000029
【図１８】
2004537871.tif 000030
【図１９】
2004537871.tif 000031
【図２０】
2004537871.tif 000032
【図２１Ａ】
2004537871.tif 000033
【図２１Ｂ】
2004537871.tif 000034
【図２１Ｃ】
2004537871.tif 000035
【図２１Ｄ】
2004537871.tif 000036
【図２１Ｅ】
2004537871.tif 000037
【図２２】
2004537871.tif 000038
【図２３Ａ】
2004537871.tif 000039
【図２３Ｂ】
2004537871.tif 000040
【図２４】
2004537871.tif 000041
【図２５Ａ】
2004537871.tif 000042
【図２５Ｂ】
2004537871.tif 000043
【図２６】
2004537871.tif 000044
【図２７Ａ】
2004537871.tif 000045
【図２７Ｂ】
2004537871.tif 000046
【図２７Ｃ】
2004537871.tif 000047
【図２７Ｄ】
2004537871.tif 000048
【図２７Ｅ】
2004537871.tif 000049
【図２８Ａ】
2004537871.tif 000050
【図２８Ｂ】
2004537871.tif 000051
【図２９】
2004537871.tif 000052
【図３０】
2004537871.tif 000053
【図３１】
2004537871.tif 000054
【図３２Ａ】
2004537871.tif 000055
【図３２Ｂ】
2004537871.tif 000056
【図３３Ａ】
2004537871.tif 000057
【図３３Ｂ】
2004537871.tif 000058
【図３４Ａ】
2004537871.tif 000059
【図３４Ｂ】
2004537871.tif 000060
【図３５】
2004537871.tif 000061
【図３６】
2004537871.tif 000062
【図３７】
2004537871.tif 000063
【国際公開パンフレット】
2004537871.tif 000064
2004537871.tif 000065
2004537871.tif 000066
2004537871.tif 000067
2004537871.tif 000068
2004537871.tif 000069
2004537871.tif 000070
2004537871.tif 000071
2004537871.tif 000072
2004537871.tif 000073
2004537871.tif 000074
2004537871.tif 000075
2004537871.tif 000076
2004537871.tif 000077
2004537871.tif 000078
2004537871.tif 000079
2004537871.tif 000080
2004537871.tif 000081
2004537871.tif 000082
2004537871.tif 000083
2004537871.tif 000084
2004537871.tif 000085
2004537871.tif 000086
2004537871.tif 000087
2004537871.tif 000088
2004537871.tif 000089
2004537871.tif 000090
2004537871.tif 000091
2004537871.tif 000092
2004537871.tif 000093
2004537871.tif 000094
2004537871.tif 000095
2004537871.tif 000096
2004537871.tif 000097
2004537871.tif 000098
2004537871.tif 000099
2004537871.tif 000100
2004537871.tif 000101
2004537871.tif 000102
2004537871.tif 000103
2004537871.tif 000104
2004537871.tif 000105
2004537871.tif 000106
2004537871.tif 000107
2004537871.tif 000108
2004537871.tif 000109
2004537871.tif 000110
2004537871.tif 000111
2004537871.tif 000112
2004537871.tif 000113
2004537871.tif 000114
2004537871.tif 000115
2004537871.tif 000116
2004537871.tif 000117
2004537871.tif 000118
2004537871.tif 000119
2004537871.tif 000120
2004537871.tif 000121
2004537871.tif 000122
2004537871.tif 000123
2004537871.tif 000124
2004537871.tif 000125
2004537871.tif 000126
2004537871.tif 000127
2004537871.tif 000128
2004537871.tif 000129
2004537871.tif 000130
2004537871.tif 000131
2004537871.tif 000132
2004537871.tif 000133
2004537871.tif 000134
2004537871.tif 000135
2004537871.tif 000136
2004537871.tif 000137
2004537871.tif 000138
2004537871.tif 000139
2004537871.tif 000140
2004537871.tif 000141
2004537871.tif 000142
2004537871.tif 000143
2004537871.tif 000144
2004537871.tif 000145
2004537871.tif 000146
2004537871.tif 000147
2004537871.tif 000148
2004537871.tif 000149
2004537871.tif 000150
2004537871.tif 000151
2004537871.tif 000152
2004537871.tif 000153
2004537871.tif 000154
2004537871.tif 000155
2004537871.tif 000156
2004537871.tif 000157
2004537871.tif 000158
2004537871.tif 000159
2004537871.tif 000160
2004537871.tif 000161
2004537871.tif 000162
2004537871.tif 000163
2004537871.tif 000164
2004537871.tif 000165
2004537871.tif 000166
2004537871.tif 000167
2004537871.tif 000168
2004537871.tif 000169
2004537871.tif 000170
2004537871.tif 000171
2004537871.tif 000172
2004537871.tif 000173
2004537871.tif 000174
2004537871.tif 000175
2004537871.tif 000176
2004537871.tif 000177
2004537871.tif 000178
2004537871.tif 000179
2004537871.tif 000180
2004537871.tif 000181
2004537871.tif 000182
2004537871.tif 000183
2004537871.tif 000184
2004537871.tif 000185
2004537871.tif 000186
2004537871.tif 000187
2004537871.tif 000188
2004537871.tif 000189
2004537871.tif 000190
2004537871.tif 000191
2004537871.tif 000192
2004537871.tif 000193
2004537871.tif 000194
2004537871.tif 000195
2004537871.tif 000196
2004537871.tif 000197
2004537871.tif 000198
2004537871.tif 000199
2004537871.tif 000200
2004537871.tif 000201
2004537871.tif 000202
2004537871.tif 000203
2004537871.tif 000204
2004537871.tif 000205
2004537871.tif 000206
2004537871.tif 000207
2004537871.tif 000208
2004537871.tif 000209
2004537871.tif 000210
2004537871.tif 000211
2004537871.tif 000212
2004537871.tif 000213
2004537871.tif 000214
2004537871.tif 000215
2004537871.tif 000216
2004537871.tif 000217
2004537871.tif 000218
2004537871.tif 000219
2004537871.tif 000220
2004537871.tif 000221
2004537871.tif 000222
2004537871.tif 000223
2004537871.tif 000224
2004537871.tif 000225
2004537871.tif 000226
2004537871.tif 000227
2004537871.tif 000228
2004537871.tif 000229
【国際公開パンフレット（コレクトバージョン）】
2004537871.tif 000230
2004537871.tif 000231
【国際調査報告】
2004537871.tif 000232
2004537871.tif 000233