(57)【要約】非同期ネットワーク内での同期の配信と使用のための方法および構造体。同期は、ＭＡＣ層上に周期的に挿入される同期記号により、非同期ネットワークを通して配信される。この記号の優先順位により、すべての他のタイプの記号に先立って、ＭＡＣ層データ・ストリーム内にこの記号が確実に挿入される。現在進行中のデータ・フレームの中央への同期記号の挿入がサポートされる。さらに、同期ソースからの最小数のホップに基づいて、（もとの同期経路が喪失した場合の）新しい同期経路へ切替るための方法と一緒に、非同期ネットワーク全体を通しての同期記号配信のための方法が提供される。さらに、他のデバイスからの受信同期記号に対する、デバイスの内部ハードウェアの周波数ロックのプロセスで使用する誤り訂正信号を発生するために、受信同期記号のカウントおよび間隔、および送信同期記号のカウントおよび間隔を使用するための方法についても説明する。複数の同期記号のために必要な優先順位順の挿入能力を使用して、隣接ノード間の伝搬時間の測定のような他の機能を実行するために、種々の他のＭＡＣ層制御記号が定義される。
2004522329.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワーク内で実行される方法であって、前記通信ネットワークが複数のノードを含み、前記複数のノードのうちの少なくとも１つが前記ネットワーク上でデータ・フレームを送信し、前記複数のノードのうちの第１のノードが、制御信号を発生し、前記ネットワーク上での前記データ・フレームの送信中に、前記ネットワーク上で前記複数のノードのうちの少なくとも第２のノードに前記制御信号を送信し、該方法が、
前記データ・フレームの一部だけを受信した後で、前記複数のノードのうちの前記第２のノードにより、前記制御信号を受信するステップと、
前記データ・フレームを完全に受信するまで、前記複数のノードのうちの前記第２のノードにより、待機の前に前記制御信号が必要とする行動を実行するステップとを含む方法。
【請求項２】
請求項１記載の方法において、前記制御信号を送信することが、主クロック信号を送信することから成り、さらに、前記方法が、
前記複数のノードのうちの前記第２のノード内でローカル・クロックによりローカル・クロック信号を発生するステップを含み、
前記行動を実行する前記ステップが、
タイミング・ジッタがデータ・フレーム周期よりも短くなるように、前記データ・フレームの一部だけを受信した後で、前記第２のノードが前記主クロック信号を受信した時間に基づいて、前記ローカル・クロック内のすべてのタイミング・エラーを訂正するステップを含む方法。
【請求項３】
請求項２記載の方法において、前記主クロック信号が、８ｋＨｚクロックである方法。
【請求項４】
請求項３記載の方法において、前記８ｋＨｚクロックが、全地球的測位システム（ＧＰＳ）クロックである方法。
【請求項５】
請求項１記載の方法において、前記データ・フレームが、イーサネット・プロトコルにより送信される方法。
【請求項６】
請求項１記載の方法において、前記制御信号が、８Ｂ／１０Ｂコード化制御文字である方法。
【請求項７】
請求項１記載の方法において、前記データ・フレームがパケットである方法。
【請求項８】
請求項１記載の方法において、前記制御信号が、主クロック信号である方法。
【請求項９】
請求項１記載の方法において、前記行動を実行するステップが、媒体アクセス・コントローラ（ＭＡＣ）により行動を実行するステップを含む方法。
【請求項１０】
請求項１記載の方法において、前記制御信号が主クロック信号であり、行動を実行する前記ステップが、前記複数のノードのうちの前記第２のノード内のローカル・クロックと前記主クロック信号との間のタイミング・エラーを訂正する複数のステップをとることから成る方法。
【請求項１１】
請求項１０記載の方法において、前記ローカル・クロック出力信号が、１２５ＭＨｚである方法。
【請求項１２】
請求項１０記載の方法において、前記制御信号が８Ｂ／１０Ｂコード化文字であり、前記タイミング・エラーが、前記複数のノードのうちの前記第２のノード内でのクロック・ジッタが、前記８Ｂ／１０Ｂコード化文字の周期にほぼなるように前記タイミング・エラーを訂正する方法。
【請求項１３】
請求項１記載の方法において、前記行動を実行するステップが、前記複数のノードのうちの前記第２のノード内のローカル・クロックを、前記制御信号と同期させるステップを含む方法。
【請求項１４】
前記ネットワーク内で複数のノードを同期させるために通信ネットワーク内で実行される方法であって、ソース・ノードとして動作する、前記複数のノードのうちの第１のノードが、周期的に同期信号を発生し、前記同期信号を前記ネットワークにより同報通信し、該方法が、
前記複数のノードのうちの第２のノードにより、前記ネットワーク内の複数のノードの相対的位置に対応するネットワーク・トポロジー・マップを作成するステップと、
前記複数のノードのうちの第２のノードにより、前記ソース・ノードから、前記ソース・ノードが前記同期信号の同報通信であるという通知を受信するステップと、
前記複数のノードのうちの第２のノードにより、あるコスト基準に基づいて、前記同期信号を受信する隣接ノードとのインタフェースを自動的に選択するステップと、
前記近隣ノードとの前記インタフェースのところで、前記同期信号を自動的に受信するステップとを含む方法。
【請求項１５】
請求項１４記載の方法において、前記コスト基準が、前記複数のノードのうちの前記第２のノードから前記ソース・ノードまでの間の最小数のノード・ホップである方法。
【請求項１６】
請求項１４記載の方法において、ネットワーク・トポロジー・マップの前記作成ステップが、前記複数のノードのうちの前記第２のノードを前記ネットワーク内に挿入した時に起こる方法。
【請求項１７】
通信ネットワーク内で実行される方法であって、前記通信ネットワークが複数のノードを含み、第１のノードが前記ネットワークによりデータ・フレームを送信し、該方法が、
第２のノードにより、前記データ・フレームの少なくとも一部を受信するステップと、
前記第２のノードにより、前記第１のノードに、前記第２のノード内の受信バッファがほぼ満杯であり、前記第２のノードへのデータの送信をストップするようにとの内容を示す受信バッファ満杯コードを送信するステップとを含む方法。
【請求項１８】
請求項１７記載の方法において、前記第２のノードにより、前記第１のノードに、追加データを受信するために前記受信バッファを使用できることを示す受信バッファ使用可能コードを送信するステップをさらに含む方法。
【請求項１９】
通信ネットワーク内で実行される方法であって、前記通信ネットワークが複数のノードを含み、該方法が、
前記ネットワークを通して、第１のノードにより、第２のノードに、第１の信号を送信するステップと、
前記第２のノードにより前記第１の信号を受信するステップと、
前記ネットワークを通して、前記第２のノードにより、前記第１の信号を受信した直後に、前記第１のノードに第２の信号を送信するステップと、
前記第１の信号の送信時間と前記第２の信号の受信時間との間の時間を測定することにより、前記第１のノードと前記第２のノードとの間の送信遅延を測定するステップとを含む方法。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、通信ネットワークに関し、特に非同期ネットワークを構成しているデバイスを同期させるための機構、および専用媒体アクセス制御（ＭＡＣ）層プロトコルを実施するために使用するデバイスに関する。
【０００２】
（発明の背景）
専用回線サービスの移送は、従来、同期光通信ネットワーク（ＳＯＮＥＴ）プロトコルを使用する光通信ネットワークを通して行われてきた。それは、ＳＯＮＥＴネットワークの基本的特徴が、同期動作、例えば、ＳＯＮＥＴネットワーク素子のところで同期または周波数ソースを共通に利用できることであるからである。ＳＯＮＥＴネットワークは、共通の刻時ソースからの同期の配信に依存している。
【０００３】
共通の刻時は、ストレータム・クロックと呼ばれる非常に正確なクロックである。ストレータムの階層の異なるレベルおよびその各特性は、引用によってその全文を本明細書の記載に援用するＴｅｌｃｏｒｄｉａ  ＧＲ−１２４４−ＣＯＲＥ仕様書に記載されている。共通に使用する外部同期ソースは、ストレータムＩ全地球的測位システム（ＧＰＳ）刻時ソースである。ＳＯＮＥＴ光学的メトロポリタン・アクセス・ネットワークの場合には、外部同期ソースを、同期ソース・デバイスと呼ばれるネットワーク内のデバイスに直接取り付けることができる。直接取り付けた外部同期ソースがない場合には、同期ソース・デバイスは、ネットワーク・オペレータによって構成されている任意の外部専用回線インタフェースから同期を入手することもできる。ネットワーク内の他の各デバイスは、その高速ＳＯＮＥＴインタフェースの中の１つから同期を受け取るように構成されている。図１は、メトロポリタン・アクセス二方向リング用の一例である。図１Ａでは、同期が配信される経路は、その外部インタフェースの中の１つから同期を入手する同期ソース・デバイス１２からスタートする。ＳＯＮＥＴリング内のすべての他のデバイスは、その高速ＳＯＮＥＴインタフェースの中の１つ上の入力データの同期フレーム構造体から同期を入手する。ノード１０に接続している（ＳＯＮＥＴリング外部の）デバイス１３のようなＳＯＮＥＴリング外部のデバイスや、ノード１２に接続している（ＳＯＮＥＴリング外部の）デバイス１４は、ＳＯＮＥＴネットワーク内のノードからタイミングを入手することができる。
【０００４】
都合の悪いことに、ＳＯＮＥＴネットワークは、メトロポリタン・アクセス・ネットワークでパケット化データを移送するための最善の方法ではない。接続のない、非同期パケット交換ネットワークが、この移送のための最もコスト・パフォーマンスがよく、容量パフォーマンスのよい方法である。しかし、これらのネットワークは、その動作のために同期の配信を必要としなかった。非同期ネットワーク内での同期の配信が重要になってきたのは最近のことである。何故なら、サービス・プロバイダが、パケット化データを移送するために最適化されているが、専用回線サービスを移送することもできるネットワーク・インフラストラクチャの実施に努力しているからである。この機能を行うための機構は、メトロポリタン・アクセス・ネットワークのインフラストラクチャのコストを低減するのに重要なものである。
【０００５】
本明細書においては、「同期」という用語は、「同期ソース」のような句で使用され、「タイミング」または「刻時」という用語と同じものである。
本明細書に記載する機構は、媒体アクセス制御（ＭＡＣ）層上で、新規な機能および能力を使用する。ＭＡＣ層上の制御記号の優先挿入のようなネットワーク同期のために必要ないくつかの一般的な能力により、ネットワーク同期に関係のないＭＡＣ層上で他の新規な機能を実行することができる。
【０００６】
（発明の概要）
以下に、非同期ネットワーク内での同期の配信と使用のための方法および構造体について説明する。同期は、ＭＡＣ層上に周期的に挿入される同期記号により非同期ネットワーク内で配信される。この記号の優先順位により、すべての他のタイプの記号に先立って、ＭＡＣ層データ・ストリーム内にこの記号が確実に挿入される。現在進行中のデータ・フレームの中央への同期記号の挿入がサポートされる。さらに、同期ソースからの最低数のホップに基づいて、（もとの同期経路が喪失した場合の）新しい同期経路への切替えのための方法と一緒に、非同期ネットワーク全体を通しての同期記号配信のための方法が提供される。さらに、他のデバイスからの受信同期記号に対するデバイスの内部ハードウェアの周波数ロックのプロセスで使用する誤り訂正信号を発生するために、受信同期記号のカウントおよび間隔、および送信同期記号のカウントおよび間隔を使用するための方法についても説明する。
【０００７】
同期記号のために必要な優先挿入能力を使用して、隣接ノード間の伝搬時間測定のような他の機能を実行するための種々の他のＭＡＣ層制御記号が定義される。
【０００８】
（実施形態の詳細な説明）
本発明は、非同期ネットワーク内での同期の配信および使用のための方法および構造体、ならびに種々の他のＭＡＣ層制御機能のための方法および構造体を提供する。好適な実施形態は、下記の種々の態様を有する。
【０００９】
ａ．非同期ネットワーク上のデバイス間のＭＡＣ層上で周期的に使用される同期記号。（この記号は、もっと高いネットワーク層からは見ることができない。）この記号の優先順位により、同期記号周期が時間切れになった場合、この記号は、すぐにすべての他のタイプの記号に先立って、ＭＡＣ層データ・ストリーム内に確実に挿入される。
【００１０】
ｂ．例えば、現在進行中のデータ・フレームの中央へ同期記号を挿入する能力のような、ＭＡＣ層上での同期記号の優先挿入方法。
ｃ．（メッシュ・ネットワーク内の同報通信に類似している）非同期ネットワーク全体を通しての同期記号配信方法。
【００１１】
ｄ．同期ソースからの最小数のホップに基づく（もとの同期経路の喪失の場合の）新しい同期経路への切替え方法。
ｅ．他のデバイスからの受信同期記号に対するデバイスの内部ハードウェアの周波数ロックのプロセスで使用する誤り訂正信号を発生するために、受信同期記号のカウントおよび間隔、および送信同期記号のカウントおよび間隔の使用方法。
【００１２】
ｆ．ネットワーク内の隣接デバイス間の伝搬時間の正確な測定を可能にする「ピン（Ｐｉｎｇ）」記号および「ポン（Ｐｏｎｇ）」記号の優先挿入方法。
ｇ．ネットワーク内での流れの制御を可能にするための「受信バッファ満杯」記号および「受信バッファ使用可能」記号の優先挿入方法。
【００１３】
ｈ．ＭＡＣ層データ・ストリーム内へのＭＡＣ層制御パケットの挿入を可能にするための、「制御開始」の優先挿入方法。
本発明を適用することができるネットワークを説明した後で、これらの機能について詳細に説明する。
【００１４】
ネットワークの説明
本発明は、定義した仮想ネットワーク・トポロジーのデバイスに適用することができる。デバイスが、仮想ネットワーク内の他のデバイスにそれを接続している少なくとも１つの全二重インタフェースを有していて、デバイスを相互に接続しているリンク上で使用する媒体アクセス制御（ＭＡＣ）プロトコルが同期を配信することができる場合には、そのデバイスは仮想ネットワークの一部であると見なされる。このＭＡＣプロトコルは、ルミナスＭＡＣ（ＬＭＡＣ）プロトコルと呼ばれる。（この名前は、本明細書では単に便宜上ＭＡＣプロトコルを指すために用いられるが、該プロトコルに関連する恒久的な名前ではない。）ＬＭＡＣプロトコルが使用されるリンクは、ＬＭＡＣ互換リンクと呼ばれる。ＬＭＡＣ互換リンクは、下記の特性を有する。（ａ）リンクの終端部のところの２つのデバイスは、同期していない。例えばリンクは非同期リンクである。（ｂ）リンク上を移送されるデータは、パケット、セル、またはフレームの形をしている。（ｃ）データのＭＡＣ層のコード化は、ＬＭＡＣと呼ばれるデバイスが、リンクの入口端部のところのデータ・ストリームの任意の場所に、同期記号を挿入することができ、また、出口端部のところで上記同期記号を除去することができるように行われ、そのため、同期記号は、データ・パケットを処理する、より高い層構成部品から見ることができない。
【００１５】
仮想ネットワークの目的は、種々の異なるタイプの外部インタフェースからデータをネットワーク内の他の場所の対応する互換性を有する外部インタフェースに送ることである。任意のデバイスからの各データ・パケットは多重化され、その宛先に届くまで、ＬＭＡＣ互換リンクにより移送され、宛先において、仮想ネットワークから取り出され、対応する出口外部インタフェースに送られる。図１は、一方がＳＯＮＥＴリング（図１Ａ）用のものであり、他方が非同期ＬＭＡＣをベースとするリング（図１Ｂ）用のものである、２つの異なる仮想ネットワーク二方向リング・トポロジーの例である。太い矢印は、仮想ネットワークの外側からの仮想ネットワークへのインタフェースの例を示す。これらのインタフェースは、ＤＳ１および高速イーサネット（１００ＢａｓｅＴ）のような非同期非接続パケット化データ・インタフェースのような同期／非同期多重フレーム化データ・インタフェースを含む。さらに、外部同期ソースから同期ソースデバイス２２への外部インタフェースが使用されている。このインタフェースは、ＤＳ１のような同期フレーム化データ・インタフェースであってもよいし、またはＯＣ−１２のようなより高速の同期データ・インタフェースであってもよい。仮想ネットワーク内のライン相互接続デバイスは、ＳＯＮＥＴリング内に同期ＳＯＮＥＴフレーミング・フォーマットを持ち、非同期リング内においては、すべてＬＭＡＣ互換性を有する。太線は、仮想ネットワークの外部インタフェース、および仮想ネットワーク内のデバイスから仮想ネットワーク外部のデバイスへの接続を示す。（太くても細くても）点線は、全ネットワーク内の同期配信経路の例を示す。細い点線は、デバイス２２から仮想ネットワーク内の他のデバイスへの同期配信経路の例を示す。デバイス２０からデバイス２２へ送られるＤＳ１およびその逆方向に送られるＤＳ１を発生するデバイス２０およびデバイス２２に取り付けられている代表的な外部デバイス２３および２４は、両方とも仮想ネットワークからライン・タイムド・オフされていて、そのため、点線で仮想ネットワークに接続している。ライン・タイミングは、引用によってその全文を本明細書の記載に援用する上記参考文献「ＳＯＮＥＴ」に記載されている。この方法でのライン・タイミングは、ＤＳ１の端部のところのデバイスに刻時を供給する１つの方法である。
【００１６】
図１Ａおよび図１Ｂの２つのリング・ネットワークの外部インタフェースが同じものであることに注目するのは重要なことである。しかし、同期フレーム化データ・インタフェースをサポートするために、２つのネットワークで同期を配信するために使用する機構はまったく異なるものである。
【００１７】
「ピン（ｐｉｎｇ）」、「ポン（ｐｏｎｇ）」、「受信バッファ満杯」および「受信バッファ使用可能」のような他のＭＡＣ層機能は、一組のファイバ・リンクにより相互に接続している任意の２つのデバイスの間で使用することができる（そのため、二方向通信を行うことができる）。これは二方向リングの場合には何時でも同じである。メッシュ・ネットワークで使用するこれらの機能の場合には、接続している隣接デバイスは、二方向通信ができるように接続しなければならない。
ＭＡＣ層機能である「制御開始」は、使用する隣接デバイス間に二方向接続を必要としない。
【００１８】
同期記号および同期記号の優先挿入の説明
図１Ｂの非同期ネットワーク内で配信される同期記号については、ＬＭＡＣプロトコルの一部としてすでに説明した。ＬＭＡＣプロトコルの場合には、データのＭＡＣ層コード化は、ＬＭＡＣと呼ばれるデバイスが、ＬＭＡＣ互換リンクの入口端部のところで、データ・ストリームの任意の場所に同期記号を挿入することができ、また、出口端部のところで上記同期記号を除去することができ、その結果、同期記号は、データ・パケットを処理するより高い層構成部品から見ることができないような方法で行われる。同期記号は、個々の識別できる一連のビットでなければならない。この一連のビットは、パケット内の個々のフィールドのような、サブグループに分割することもできるし、１つの意味を有することもできる。同期記号は、各ＬＭＡＣ互換リンクの入口端部のところで、ＬＭＡＣにより、周期的にデータ・ストリーム内に挿入されなければならない。同期記号は、同期記号をできるだけ正確なタイミングでデータ・ストリーム内に挿入するために、通常の優先データより高い優先順位を持っていなければならない。同期記号としては、（ギガビット・イーサネットで使用する）８Ｂ／１０Ｂコード化のようなＭＡＣ層コード化スキーム内の制御記号を使用することができる。８Ｂ／１０Ｂコード化およびギガビット・イーサネットについては、引用によってその全文を本明細書の記載に援用する、１９９８年、アディソン・ウェスリー・ロングマン社発行の、リッチ・サイフェルト（Ｒｉｃｈ  Ｓｅｉｆｅｒｔ）の参考文献「ギガビット・イーサネット（Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ）」に詳細に記載されている。それは、インターネット・プロトコル（ＩＰ）、非同期転送モード（ＡＴＭ）またはフレーム・リレー（ＦＲ）のようなプロトコル内に定義されている特殊な制御パケット、セルまたはフレームであってもよい。
【００１９】
８Ｂ／１０Ｂコード化の場合には、例えば、１２個の１０ビット・コード（制御コード）の特定のセットが、パケットの始まりまたはパケットの終わりのＭＡＣ層の表示のような制御機能に対して割り当てられる。しかし、１２個の１０ビットコードすべてが、引用によってその全文を本明細書の記載に援用するＩＥＥＥ８０２．３−１９９８規格の制御機能に現在割り当てられているわけではない。それ故、未使用の１０ビット・コードの中の１つは、直接同期記号として割り当てることができる。任意選択で、連続している２つの１０ビット・コードを同期記号として使用することができ、その場合、第１の１０ビット・コードは制御コードであり、第２の１０ビット・コードはデータコードである。
【００２０】
この同期記号の挿入は、ギガビット・イーサネットおよび本発明者が知っているすべての他のＭＡＣプロトコルで使用するには問題がある。何故なら、制御記号の優先挿入が行われないからである。例えば、制御記号を送信中のデータ・フレームの中央に挿入することができないからである。図２Ａは、ギガビット・イーサネットに対するこの一例を示す。制御コードは、イーサネット・データ・フレームの間の境界を区切り、この場合、各データ・フレームは、例えば、インターネット・プロトコル（ＩＰ）のようなもっとハイレベルの層プロトコルに定義されている１つのパケットまたは複数のパケットを含む。（図２Ａおよび図２Ｂの用語「パケット」および「フレーム」の使用方法は、引用によってその全文を本明細書の記載に援用するＩＥＥＥ８０２．３−１９９８のこれらの用語の使用方法に対応していることに留意されたい。この場合の「パケット」は、複数のデータ・フレームの送信を意味するもので、よりハイレベルの層プロトコルに定義されているパケットを意味するものではない。これは、用語「パケット」の標準的な使用方法ではない。本明細書の他の場所では、用語「パケット」の使用は、よりハイレベルの層プロトコルに定義されている使用方法に対応する。）データ・フレーム内には制御コードを挿入することはできない。図２Ｂは、データ・フレーム１の中央に優先挿入により同期記号が挿入された同じ送信を示す。優先挿入は、特に、任意の他の待ち行列データまたは制御コードの前の同期記号の挿入として定義される。しかし、同期記号の挿入は、送信中のプロセスですでに送信されているコードに優先するものではない。それ故、同期記号の挿入時にジッタが発生する。
【００２１】
優先挿入の場合、１０ビット時間（１．２５ギガビット／秒で８ナノ秒、ギガビット・イーサネットに対するライン速度）に、挿入時の最悪の場合のジッタを制限しなければならない。優先挿入を行わない場合には、同期記号挿入時の最悪の場合のジッタは、約１６００バイトの頻繁に使用されるＭＴＵに対して、１２，０００ビット時間より長い、最大送信ユニット（ＭＴＵ）に対する送信時間になる。将来、９０００バイト以上のジャンボなフレームをサポートする場合には、同期記号挿入時の最悪の場合のジッタは、１００，０００ビット時間より長くなる。このジッタの低減が、ＭＡＣ層上に優先挿入を行うための第１の目的である。また、ＭＡＣ層上での制御語の挿入も、入力データの最小のバッファリング、ＭＡＣ層のところでの複雑の増大を最小限度に抑えて、また、データ・パケット、セルまたはフレームを処理する上部層の複雑さを転送しないで、行うことができる。現在送信中のパケットの中央部への特殊なデータ・パケットの優先的な挿入は、同期機能を提供するために、より複雑にならない、分割および再組立をサポートするために、パケット処理層を必要とする。
【００２２】
ＭＡＣ層のデータ・ストリーム内への記号の優先挿入を行うＭＡＣ層デバイスの実施形態については、「ルミナス媒体アクセスコントローラ（ＬＭＡＣ）の説明」という名称のこの明細書の最後のセクションに記載してある。より詳細に説明すると、「ＳＥＲＤＥＳ  Ｔｘ状態マシーン」という名称のセクション内のサブセクションに記載してある。
【００２３】
他のＭＡＣ層制御記号の説明
「ピン（ｐｉｎｇ）」および「ポン（ｐｏｎｇ）」の目的は、ＭＡＣ層を使用できる状態に維持する機構と、（図１Ｂのノード２０および２１のような）隣接ノード間の伝搬遅延を測定するための正確な機構との両方として使用することである。「ピン」記号は、優先挿入を使用して、各ＬＭＡＣにより構成できる間隔で周期的に送られるが、同期記号よりは優先順位は低い。「ポン」記号は、「ピン」記号を受信すると直ちに、再び優先挿入により送られる。「ピン」の送信時間および「ポン」の受信時間は、６２．５ＭＨｚのような速度で更新されるレジスタ内にラッチされる。隣接デバイス間の各方向への伝搬距離は、次に、「ピン」送信時間と「ポン」受信時間の間の差を２で割ることにより、ＣＰＵ（図６のＣＰＵ４６）で推定することができる。
【００２４】
このクロック・レートの場合、伝搬時間測定の際の最大ジッタは、約４０ナノ秒であり、主として、それによりレジスタをラッチすることができる１６ナノ秒の解像度によるものである。これは伝搬時間の非常に正確なＭＡＣ層測定値である。この方法が不正確になる主な原因は、隣接デバイスを接続するために２本のファイバを使用した場合（送信方向当り１本）、精度は２本のファイバの長さの違いにより異なる。長さに１６メートルの違いがあると、伝搬時間の測定値は、６２．５ＭＨｚレジスタ更新速度に対する最悪の場合のジッタとほぼ同じだけ不正確になる。
【００２５】
「ピン」または「ポン」を劣化させる恐れがあるエラーに対して丈夫にするために、ＣＰＵ上で動作するソフトウェア・アプリケーションは、複数回測定を行ない、気づかれるすべてのスプリアス値を捨てなければならない。
【００２６】
「受信バッファ満杯」（「ＲＢＦ」）および「受信バッファ使用可能」（「ＲＢＡ」）の目的は、先入れ先出し（ＦＩＦＯ）バッファのような受信バッファでのオーバフロー・エラーを避けるために、リンク層オンオフ・フロー制御機構を提供することである。「ＲＢＦ」は、その受信ＦＩＦＯが、設定可能な水位標レベルを超えて満たされた場合に、デバイスにより送信される。「ＲＢＡ」は、その受信ＦＩＦＯが、設定可能な水位標レベルを超えて空になった場合に、同じデバイスにより送信される。優先挿入は、ＬＭＡＣ内で使用できるので、ＦＩＦＯが「ＲＢＦ」の水位標を超えて満たされた場合に、ＬＭＡＣの応答時間は、優先挿入を使用しなかった場合よりも遥かに高速になる（同期記号との競合がないと仮定した場合、１６００バイト・パケット・サイズに対して１．２５Ｇｂｐｓで最悪の場合約１２マイクロ秒）。
【００２７】
「ＲＢＡ」を劣化させるエラーに対して丈夫にするために、「ＲＢＦ」を受信した場合に、送信を一次停止する送信ＬＭＡＣは、最大設定可能時間経過後に送信を再開する。この設定可能な時間経過前に「ＲＢＡ」を受信した場合には、ＬＭＡＣは、直ちに送信をスタートする。「ＲＢＦ」が劣化する確率は、その中の少なくとも１つが確実に宛先に到着するように、迅速に連続して複数の「ＲＢＦ」を送信することにより処理することができる。
【００２８】
「制御開始」（「ＳＯＣ」）の目的は、高い優先順位のＭＡＣ層制御メッセージを送信できるようにすることである。これらの制御メッセージは、可変長のものであってもよく、始めのところの「制御開始」および終わりのところの「パケットの終わり」（［ＥＯＰ」）により区切られる。これらの制御メッセージは、優先挿入により挿入することができ、それ故、現在進行中のデータ・フレームの中央に置くことができる。
【００２９】
ＭＡＣ層データ・ストリームで、このセクションで説明した記号の優先挿入を行うＭＡＣ層デバイスの実施形態は、「ルミナス媒体アクセス・コントローラ（ＬＭＡＣ）の説明」という名称のこの明細書の最後のセクションに記載してある。
【００３０】
仮想ネットワーク内のデバイスの説明
図３は、図１Ｂの仮想ネットワーク内のデバイス２０のような１つのデバイス内の関連機能ユニットを示す。各デバイスは、光インタフェース・カード３０および３２により隣接デバイスに接続している。図３のこの特定の態様は、二方向リング・トポロジー用のものであるが、デバイスで使用できる個々の光インタフェース・カードの数には固有の制限はなく、それ故、メッシュをサポートできないという固有の理由もない。これらの光インタフェース・カードは、光ファイバ・ケーブル３４および３６上の入力光信号を切替カード３８に適用するための電気デジタル信号に変換する。各デバイスは、また、その中のカード５１および５２が図示している従属インタフェース・カードにより仮想ネットワーク外の他のデバイスに接続している。従属インタフェース・カードへの入力信号は、光信号であっても、電気信号であってもよい。従属インタフェース・カードへの入力信号が光信号である場合には、従属インタフェースは、入力信号を切替カード３８に適用するための電気デジタル信号に変換する。従属インタフェース・カードは、また、バックプレーン・ラインを通して、制御のために切替カードに接続している。シェルフ・コントローラ６２は、制御機能だけを行い、データ経路上には存在しない。シェルフ・コントローラ６２は、バックプレーン・ラインを通して他のカードに接続している。制御面プロトコルは、１００ＢａｓｅＴ交換イーサネットであってもよい。シェルフ・コントローラ上には、外部管理システムへのインタフェースも位置している。
【００３１】
同期記号配信の説明
図４は、仮想メッシュ・ネットワーク内での同期記号配信の一例を示す。点線は、代表的な同期配信経路（ＳＤＰ）を示す。図のこの一組のＳＤＰは、図３のネットワーク用のＳＤＰの有効な構成の一例である。有効な一組のＳＤＰが遵守すべき基準は、（ａ）すべてのＳＤＰは、同期ソース・デバイスのところからスタートする。（ｂ）同期ソース・デバイス以外の仮想ネットワーク内のすべてのデバイスは、それぞれ１つのＳＤＰ上に位置する。例えば、ＳＤＰは、同期ソース・デバイス以外のところでは交差しない。（ｃ）ＳＤＰはループ状にならない。例えば、デバイスは、１つおよびただ１つのインタフェース上で、そのＳＤＰから同期を受け取る。１つのＳＤＰは、また複数のブランチを有することができる。図４では、仮想ネットワーク内の任意のデバイスから、２つのデバイスを接続しているＳＤＰ沿いの同期ソース・デバイスへのホップの数による距離は、仮想ネットワーク内のこれら２つのデバイス間の最小ホップ経路である。任意選択で、そのようにしなくてもよい。
【００３２】
所与のデバイスのところには、使用できる複数の最小ホップ経路が存在することができる。例えば、デバイス８は、それを同期ソース・デバイス１に接続している２つの３ホップ経路、すなわち、｛１，２，５，８｝および｛１，３，６，８｝を有する。｛１，２，５，８｝は、それ自身の右のＳＤＰであり、それを使用する場合には、｛１，３，６，８｝は、デバイス９として機能するＳＤＰのブランチである。この実施形態の場合には、デバイス８は、その一部であるＳＤＰを局所的に選択する。複数の最小ホップ経路間の選択に使用する基準は、任意のものであり、指定されない。
【００３３】
外部同期ソースから同期を受け入れるそのデバイスの同期ソース・デバイスおよびインタフェースは、図３のシェルフ・コントローラ６２を通して外部管理システムにより構成される。シェルフ・コントローラおよび外部管理システムがデバイス２０の構成パラメータを設定することができる機構の詳細については、引用によってその全文を本明細書の記載に援用する２０００年５月５日出願の  ビナイ・バナイ（Ｖｉｎａｙ  Ｂａｎｎａｉ）他の「接続のないパケットをベースとする通信ネットワークにより複数のサービスを移送するためのアーキテクチャ（Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｔｒａｎｓｐｏｒｔ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｓｅｒｖｉｃｅｓ  ｉｎ  Ｃｏｏｎｅｃｔｉｏｎｌｅｓｓ  Ｐａｃｋｅｔ−Ｂａｓｅｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋｓ）」という名称の同時係属特許出願第０９／５６７，５５５号に記載されている。同期ソース・デバイスは、次に、その各ＬＭＡＣ互換インタフェース外の（８ｋＨｚのような）外部同期ソースから受信したものに基づく周期速度で同期記号を配信する。切替カードについては、本明細書で後で詳細に説明する。ＬＭＡＣは、（これについても後で詳細に説明するが）そのレジスタの仮想ネットワーク内の他のデバイスから受信した同期記号に関する情報を収集するが、（図６の）切替カード上のＣＰＵ４６上で動作している同期配信を管理しているソフトウェア・アプリケーションは、仮想ネットワークの全同期には無関係であるとしてこの情報を無視する。
【００３４】
仮想ネットワークの他の各デバイスには、仮想ネットワークのどのデバイスが、仮想ネットワーク上で同期ソース・デバイスにより送信された同報通信制御パケットを通しての同期ソース・デバイスであるかについての通知を受ける。この情報は、引用によってその全文を本明細書の記載に援用する、２０００年３月３日出願のジェイ  ファン（Ｊ．Ｆａｎ）他の「ネットワークでのノードによる自動ネットワーク・トポロジー識別（Ａｕｔｏｍａｔｉｃ  Ｎｅｔｗｏｒｋ  Ｔｏｐｏｌｏｇｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｂｙ  Ｎｏｄｅｓ  ｉｎ  ｔｈｅ  Ｎｅｔｗｏｒｋ）」という名称の、同時係属特許出願第０９／５１８９５６号が詳細に記載しているように、トポロジー再構成の際に使用する同報通信隣接状態メッセージ内にすでに含まれている情報の中の一番上によりピギーバック方式で送ることができる。制御パケットの送受信のために使用する機構については、引用によってその全文を本明細書の記載に援用する、「接続のないパケットをベースとする通信ネットワークで複数のサービスを移送するためのアーキテクチャ（Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｔｒａｎｓｐｏｒｔ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｓｅｒｖｉｃｅｓ  ｉｎ  Ｃｏｎｎｅｃｔｉｏｎｌｅｓｓ  Ｐａｃｋｅｔ−Ｂａｓｅｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋｓ）」という名称の、同時係属特許出願に詳細に記載されている。引用によってその全文を本明細書の記載に援用する、「ネットワークでのノードによる自動ネットワーク・トポロジー識別（Ａｕｔｏｍａｔｉｃ  Ｎｅｔｗｏｒｋ  Ｔｏｐｏｌｏｇｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｂｙ  Ｎｏｄｅｓ  ｉｎ  ｔｈｅ  Ｎｅｔｗｏｒｋ）」という名称の同時係属特許出願に詳細に記載されているトポロジー再構成方法に基づいて、仮想ネットワークの各デバイスは、別々に（外部管理システムの存在を必要としないで）プラグ・アンド・プレイ方式で仮想ネットワーク・トポロジーのそれ自身のマップを作成し、確認する。このことは、各デバイス内のＣＰＵ４６（図６）上で動作しているソフトウェア・アプリケーションにより行われる。トポロジー・マップを入手すると、（引用によってその全文を本明細書の記載に援用する、２０００年にアディソン・ウェスリー・ロングマン社発行の、ラジア・パールマンの「相互接続第二版」に記載されている）、Ｄｉｊｋｓｔｒａのアルゴリズムのような標準ルーティング・アルゴリズムを、ホップ内の距離（もっと一般的にいえば、加重またはコスト）、および仮想ネットワーク内の任意のデバイスのペア間のホップが最も少ない経路を決定するために使用することができる。それ故、仮想ネットワーク内の各デバイスは、仮想ネットワーク・トポロジーのその知識に基づいて、同期ソース・デバイスへの最小ホップ経路の一部であるインタフェースの選択に基づいて、それが同期記号を受け取らなければならないデバイスへのＬＭＡＣ互換入口インタフェースを決定することができる。このセクションですでに説明したように、複数の最小ホップ経路の中のどれかを選択するために使用する基準は、任意の基準であり指定されていない。次に、各デバイスは、その各ＬＭＡＣ互換インタフェース外の対応する入口インタフェースか���受信したものに基づく周期速度で同期を配信する。
【００３５】
デバイスは、（新しいノードの挿入またはファイバの喪失のような）トポロジーの変化の場合だけでなく、（データがそのインタフェースのところで依然として受信されていても）インタフェースに関する同期情報の喪失の場合にも、同期を受け取るインタフェースを変更することができる。これを決定するために使用する機構については、「切替カード内の同期ブロックの説明」のセクションのところで説明する。
【００３６】
同期経路の上記再構成は、例えば、オペレータが全然介入しなくても、完全に自動的に行うことができる。一方、このような再構成が望ましくない場合もある。同期経路設定の他の２つのモードも使用することができる。一方のモードは、各デバイスが特定のＬＭＡＣ互換入口インタフェースから同期を受け取るように外部管理システムにより構成される、完全手動モードである。もう１つのモードは、デバイスが、そのデバイスが同期を受け取っている現在のインタフェースからの同期を喪失した場合に、同期を受け取るインタフェースを変更するだけのモードである。ネットワークに最初に挿入した場合、デバイスは、自動的に、上記最小ホップ方法に基づいて同期を受け取るインタフェースを決定する。しかし、その点から先では、同期が喪失しない限りは、または外部管理システムから構成に基づいて切り替えるように命令されない限りは、デバイスは同じインタフェースから同期を受信する。
【００３７】
上記２つの方法は、同じストレータム・レベルの複数の同期ソース・デバイスが存在するネットワークにおいては、同じようにうまく機能する。
同期配信の全自動式実施形態は、いくつかの動作上の利点を有する。引用によってその全文を本明細書の記載に援用する「ネットワークでのノードによる自動ネットワーク・トポロジー識別（Ａｕｔｏｍａｔｉｃ  Ｎｅｔｗｏｒｋ  Ｔｏｐｏｌｏｇｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｂｙ  Ｎｏｄｅｓ  ｉｎ  ｔｈｅ  Ｎｅｔｗｏｒｋ）」という名称の同時係属特許出願に記載されているように、この実施形態はトポロジーと再構成と一緒に完全に内蔵される。ネットワーク・トポロジーに変化があった場合、各デバイスのところで同期記号を受け取るべき適当なＬＭＡＣ互換入口インタフェースが、トポロジー・マップの作成の一部として決定される。そのデバイスの切替カード３８上のＣＰＵ４６（図６）は、次に、直接、そのインタフェース上のＬＭＡＣの監視に切り替わる。それ故、オペレータの介入または外部管理システムからの介入を必要としない。（「切替カード内の同期ブロックの説明」のセクションで説明するように）デバイスへの同期配信が中断した場合、留置するために各デバイス上に（ストレータム３のような）内部ローレベル・ストレータム・クロックが存在するので、高速切替を行う必要はない。それ故、同期経路を決定するためにトポロジー再構成アルゴリズムを使用する方法は、完全に適切な方法である。さらに、留置中のストレータム３またはそれより高いレベルのクロックは、引用によってその全文を本明細書の記載に援用するＴｅｌｃｏｒｄｉａ  ＧＲ−１２４４−ＣＯＲＥ仕様に記載されているように、少なくとも１日の間ロックされたクロックに非常に近い状態を維持する。それ故、トポロジー再構成が行われる希な場合でも、ある同期経路から他の同期経路への切替えの場合、デバイス内において、長いロック時間（または、任意のサービスに気がつくような何らかの劣化）は予想できない。
【００３８】
従属インタフェース・カードの説明
図５は、仮想ネットワークの外部のデバイスに対するインタフェースとして機能する入口データ・ポートから、従属インタフェース・カードと切替カードとの間のバックプレーン・インタフェースへの経路を示す、同期または非同期多重フレーム化データ５１に対する１つの従属インタフェース・カードを示す。信頼性を向上させるために、一組の冗長な切替カードと通信することができるようにするために、２組のバックプレーン・インタフェースを使用することができる。
【００３９】
従属インタフェース・カードのこの実施形態は、仮想ネットワーク外部のデバイスへの複数のＤＳ１インタフェースを有する。ＤＳ１は、周知の同期フレーム化インタフェースであり、引用によってその全文を本明細書の記載に援用するＴｅｌｃｏｒｄｉａ  ＧＲ−４９９−ＣＯＲＥ内で定義されている。物理インタフェースは、ライン・インタフェース・ユニット（ＬＩＵ）と呼ばれるＤＳ１  Ｐｈｙデバイス７６により処理される。ＬＩＵの後で、ＤＳ１データは、フレーマ７８に入る。フレーマの機能は、入口方向において、または逆に出口方向において、入力ＤＳ１ストリームからフレームを回収することである。ＬＩＵとフレーマとの組合わせの機能は、周知の構成部品であるトランスフォーマおよびフレーマにより処理される。トランスフォーマとしては、パルスＰＥ６８６２４表面取付け共通モード・チョーク、または他の同等の構成部品を使用することができる。適当なフレーマの例としては、引用によってそのデータ・シートを本明細書の記載に援用するＰＭＣ−Ｓｉｅｒｒａ４３５１ＣＯＭＥＴ  Ｔ１／Ｅ１トランシーバがある。
【００４０】
フレーマの後には、パケタイザ／デパケタイザ８０が位置する。このデバイスの機能は、例えば、どんな方法でもＤＳ１フレームの内部のビットに衝撃を与えないで、完全に透明な方法で、ＤＳ１フレームのグループをパケタイズ／デパケタイズすることである。１つのパケットに対して結合している所与のポートからの、連続しているＤＳ１フレームの数は、ＣＰＵ８２により構成することができ、（長いパケットに有利な）データ処理能力効率と、（パケット化遅延を最小限度にまで低減するために短いパケットに有利な）端末間遅延の軽減との間で折り合いをつけるために、４フレームに通常設定される。ＤＳ１フレームを透明な方法でパケット化するこの方法は、このアーキテクチャの定式化の際に行われる最も重要な決定である。これは、ＤＳ１内で個々のＤＳ０を処理するシステムよりも遥かに簡単なＤＳ１移送に対するモデルである。ＤＳ１の透明な移送により、仮想ネットワークは、任意の所与のＤＳ１相互接続に対して一定の待ち時間を有するワイヤのように見える。フレーム・スリップを絶対に起さないようにする目的で、ネットワークを通しての最悪の場合のジッタを補償するために、仮想ネットワークへの出口のところの各出力ＤＳ１ポートに対して十分なＤＳ１フレームをバッファする必要がある。必要なバッファリングの量は、ネットワークのシミュレーションによっても、分析による推定によっても簡単に推定される。
【００４１】
パケタイザ／デパケタイザは、ＦＰＧＡまたはＡＳＩＣとして実施することができる。好適な実施形態は、２つの部分、すなわち、送信ＦＰＧＡおよび受信ＦＰＧＡに分割される。この実施については、引用によってその全文を本明細書の前の部分に添付してある、「接続のないパケットをベースとする通信ネットワークにより複数のサービスを移送するためのアーキテクチャ（Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｔｒａｎｓｐｏｒｔ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｓｅｒｖｉｃｅｓ  ｉｎ  Ｃｏｎｎｅｃｔｉｏｎｌｅｓｓ  Ｐａｃｋｅｔ−Ｂａｓｅｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋｓ）」という名称の同時係属特許出願に詳細に記載されている。
【００４２】
図７のメモリ８１は、参照テーブル用に使用されるノード以外のノード内のメモリを表すが、システムに必要な速度および機能要求を提供するために、ＳＳＲＡＭ、ＳＤＲＡＭ、フラッシュ・メモリ、およびＥＥＰＲＯＭを使用することができることを理解されたい。
【００４３】
ＣＰＵ８２は、高度マイクロ・デバイスまたは任意の他の適当なタイプにより、ＡＭ７９Ｃ８７５ＫＣのようなカッド・イーサネットＰｈｙデバイス８３に接続している。このデバイスは、従属インタフェース・カードを、１つの管理ネットワーク・バックプレーン・インタフェースに、または任意選択で、冗長性を付与するために２つ以上の管理ネットワーク・バックプレーン・インタフェースに接続する。ＣＰＵは、また、フレーマ７８、パケタイザ／デパケタイザ８０およびＭＡＣ８４に接続している。パケタイザ／デパケタイザへのこの接続を通して、ＣＰＵは、ＤＳ１フレームを収容するために使用するヘッダに値を設定することができる。
【００４４】
媒体アクセス制御（ＭＡＣ）８４は、パケタイザ／デパケタイザ８０の出力のところの並列３２ビットの一般のギガビット・インタフェース（ＧＧＩ）から、シリアライザ／デシリアライザ（ＳＥＲＤＥＳ）８６の入口のところで必要な並列８ビット・インタフェースへの変換を行い、またその逆の変換を行う。ＭＡＣは周知のものであり、引用によってその全文を本明細書の記載に援用する、１９９６年、ジョン・ワイリー・アンド・ソンズ社発行の、ロジャー・フリーマン（Ｒｏｇｅｒ  Ｆｒｅｅｍａｎ）の「電気通信システム・エンジニアリング（Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ  Ｅｎｇｉｅｒｒｉｎｇ）」第三版に記載されている。従属インタフェース・カード上のＭＡＣは、ＬＭＡＣの特殊な能力を有する必要はない。
【００４５】
ＭＡＣ８４の並列出力は、シリアライザ／デシリアライザ（ＳＥＲＤＥＳ）８６によりビットの直列ストリームに変換され、またその逆に変換される。１つの例の場合には、テーブルを使用して、ＳＥＲＤＥＳ８６は、ＭＡＣ８４からの８ビットの並列グループを１０ビットの直列ストリームに変換し、またその逆の変換も行う。８ビットコードに対応するように選択された１０ビットコードは、１つのコード当りの１および０の数および改善された性能のための連続している１および０の最大数に対するバランス基準に適合する。例えば、もっと多数のシーケンシャルな論理１は、ベースラインふらつき、受信機が１と０との間を区別する閾値として使用する長期平均電圧レベルのシフトとなる。バックプレーン上の１と０のバランスのとれた数を含む１０ビット語を使用することにより、ベースラインのふらつきは大幅に低減され、そのため、バックプレーンに対するカードのＡＣ接続をよりよいものにすることができる。ＳＥＲＤＥＳ８６としては、ＶｉｔｅｓｓｅのＶＳＣ７２１６または他の適当なタイプを使用することができる。ＶｉｔｅｓｓｅのモデルＶＳＣ７２１６のデータ・シートの全文は、引用によって本明細書の記載に援用する。
【００４６】
同期インタフェースとしてのＤＳ１は、フレーマおよびパケタイザ／デパケタイザに配信するために使用することができる８ｋＨｚ同期ソースを備えていなければならない。この同期ソースは、外部ビルディング内蔵タイミング・ソース（ＢＩＴＳ）、またはデバイスに接続しているＧＰＳクロックを通して、またはバックプレーンを通してタイミングを配信することができるデバイス内に位置する内部タイミング・ソースを通して提供することができる。外部ＢＩＴＳクロック、ＧＰＳクロックおよび内部タイミング・ソースは周知である。これらのタイプのタイミング・ソースについては、引用によってその全文を本明細書の記載に援用する、１９９７年にマグローヒル社発行の、ウォルター・ゴラルスキ（Ｗａｌｔｅｒ  Ｇｏｒａｌｓｋｉ）の「ＳＯＮＥＴ」に記載されている。同期ソース・デバイス（図４のデバイス１）のところで、外部ＢＩＴＳクロック、またはＤＳ１データ・ポートに接続しているＧＰＳクロックから同期が入手される。仮想ネットワーク内の任意の他のデバイス（図４のデバイス２−９）のところで、図３の切替カード３８からのバックプレーン・ラインから同期が入手される。
【００４７】
ＤＳ１カード上のマルチプレクサ８８は、上記カード上のＤＳ１入力ポートから、または切替カード３８からのバックプレーン・ラインから同期を受け取るようにＣＰＵ８２により構成することができる。フレーマ７８からマルチプレクサ８８への各ＤＳ１入力ポート用の個々のラインが存在する。他のバックプレーン・ラインは、冗長な切替カード用に使用することができる。上記カード上のＤＳ１入力ポートから同期を受信した場合には、マルチプレクサは、バックプレーンに対してこの同期ソースの配信を行うことができるので、切替カードに対してそれを使用することができる。
【００４８】
マルチプレクサの出力は、Ｍｉｔｅｌ９０４１ＡＰ出力幹線位相同期ループ（ＰＬＬ）に入る。ＰＬＬは、８ｋＨｚ刻時入力を受信し、８ｋＨｚ出力、１．５４４ＭＨｚ、およびフレーマおよびパケタイザ／デパケタイザへのＴ１刻時用の８１９２ＭＨｚ出力を発生する。
【００４９】
切替カードの説明
図６は、切替カードを示す。バックプレーン・インタフェースから従属インタフェース・カードへの切替カード宛ての入力パケットは、これらの構成部品の上記説明に対応するＳＥＲＤＥＳ５８およびＭＡＣ５６を通過する。従属インタフェース・カード上のＭＡＣは、ＬＭＡＣの特殊な能力を有する必要はない。適当なパケット・プロセッサ５４の一例としては、そのデータ・シートを引用によってその全文を本明細書の記載に援用する、ＭＭＣネットワークによるＸＰＩＦ−３００ギガビット・ビットストリーム・プロセッサがある。パケット・プロセッサ５４は、データをその意図する宛先に経路指示するために、経路指示情報を含む外部メモリ５５（参照テーブル）に対してインタフェースとして機能する。
【００５０】
パケット・プロセッサ５４の出力は、切替ファブリック５０に入る。適当なパケット・スイッチの一例としては、ＭＭＣネットワーク・モデルｎＰ５４００パケット・スイッチ・モジュールがある。１実施形態の場合には、処理能力をより高速にするために、上記４つのスイッチは各切替カード内で接続している。この実施形態は、切替カード上で使用される。このスイッチの能力は、本発明にとって重要なものではない。
【００５１】
ＣＰＵ４６、イーサネットＰｈｙ４５、パケット・プロセッサ４８、参照テーブル４７、メモリ４９、およびＳＥＲＤＥＳ４２は、パケット化されたデータに対する従属インタフェース・カード上の、これらの構成部品の上記説明に対応する。
【００５２】
ＭＡＣ４４は、各接続上のそれぞれが光インタフェース・カード３２への接続である、複数の物理的に独立しているＬＭＡＣであり得る。ＭＡＣ４４は、また、ＬＭＡＣの１つまたはそれ以上の例が実装されている、Ｘｉｌｉｎｘ  ＸＣ４００−６ＢＧ５６０Ｃ  Ｖｉｒｔｅｘ  ＦＰＧＡのような１つの物理チップであってもよい。本明細書の「ルミナス媒体アクセス・コントローラ（ＬＭＡＣ）の説明」のセクションで後で説明するＬＭＡＣ  ＦＰＧＡは、このようなＦＰＧＡ上で実施することができる。
【００５３】
切替カードの場合には、ＣＰＵ４６は、ＭＡＣデバイス４４および５６の両方に接続している。ＣＰＵ４６は、また、同期ブロック４３にも接続している。同期ブロックおよびそのインタフェースについては、以下の「切替カード内の同期ブロックの説明」のセクションのところで説明する。ＬＭＡＣの以下の説明と一緒に、このブロックの説明は、本発明に必要なハードウェア全体の説明を含む。
【００５４】
ＳＥＲＤＥＳ４２は、バックプレーンを横切って、光インタフェース・カードに対するインタフェースとして機能する。図６は、光学トランシーバ４０を示す光インタフェース・カード３２をより詳細に示しているある。カード３２内の他のスイッチは、信頼性を向上するために、２つの切替カード間を切り替えるために使用することができる。光学トランシーバは、市販の１３００ｎｍレーザを使用するギガビット・イーサネットの光学トランシーバであり得る。図３は、二方向リング・トポロジーで使用されるデバイス２０の一実施形態である。３つ以上の光インタフェース・カードを備えるデバイス２０は、メッシュ・トポロジーまたは相互接続リング・トポロジーで使用することができる。
【００５５】
パケット・プロセッサ４８は、スイッチ・ファブリック５０からの入力パケットを変更しない。パケット・プロセッサ４８は、これらのパケットをＭＡＣ４４に直接送る。パケットは、次に、ＳＥＲＤＥＳ４２、光インタフェース・カード３２を通り、仮想ネットワーク上に現れる。しかし、パケット・プロセッサ４８は、光インタフェース・カード３２からの入力パケットに対して重要な役割を行う。パケット・プロセッサ４８は、これらのパケットがデバイス２０宛てのもの（「ドロップ」トラヒック）であるかどうか、またはこれらのパケットが、他のデバイス宛てのもの（「通過」トラヒック）であるかどうかを決定する。これについては、引用によってその全文を本明細書の記載に援用する、発明の名称「接続のないパケットをベースとする通信ネットワークにより複数のサービスを移送するためのアーキテクチャ（Ａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｔｒａｎｓｐｏｒｔ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｓｅｒｖｉｃｅｓ  ｉｎ  Ｃｏｎｎｅｃｔｉｏｎｌｅｓｓ  Ｐａｃｋｅｔ−Ｂａｓｅｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｎｅｔｗｏｒｋｓ）」の同時係属特許出願に詳細に記載されている。
【００５６】
切替カード内の同期ブロックの説明
図７は、切替カード３８上の同期機能に直接含まれる構成部品の詳細図である。図７の構成部品は、図６の同期ブロック４３、ＣＰＵ４６、およびＭＡＣ４４の内部のものを含む。
【００５７】
Ｍｉｔｅｌ９０４４切替え位相同期ループ（ＰＬＬ）１１０は、切替カードからバックプレーンを通して配信される８ｋＨｚフレーム・パルスまたはクロックを発生するために使用される。Ｍｉｔｅｌ９０４４のデータ・シートは、引用によって本明細書の記載に援用する。Ｍｉｔｅｌ１１０のＦ８０出力は、結合プログラム可能論理デバイス（ＣＰＬＤ）１０８に入る。ＣＰＬＤで表示したすべてのブロックは、Ｘｉｌｉｎｘ９５１４４ＸＬのような１つの物理ＣＰＬＤ上で実施することができる。ＣＰＬＤ１０８の出力ラインは、８ｋＨｚクロックをすべての従属インタフェース・カードに（しかし、図３のパケット化データ５２用の従属インタフェース・カードはこのクロックを使用しない）、および冗長（バックアップ）切替カードに配信するために、バックプレーン上のラインに接続している。さらに、ＣＰＬＤ１０８からの出力ラインは、ＬＭＡＣ４４Ａおよび４４Ｂに接続している。これは、ＬＭＡＣからリング上の同期記号の送信を命令する８ｋＨｚクロックである。
【００５８】
Ｍｉｔｅｌ１１０は、一次および二次周波数ソースおよび安定している２０ＭＨｚクロック１２６を使用するためにロックする信号の一次および二次喪失（ＬＯＳ）入力を有する。Ｍｉｔｅｌ１１０への一次周波数ソースは、ＣＰＬＤ内に実施するマルチプレクサ１００により選択される。マルチプレクサ１００に対する選択オプションは、（ａ）従属インタフェース・カード８ｋＨｚクロックの中の１つであり（ＤＳ１のような同期／非同期多重インタフェース用の従属インタフェース・カードだけが、これに対する有効な選択である）；（ｂ）他のリング・カードからの８ｋＨｚフレーム・パルス；（ｃ）分割した２０ＭＨｚクロックからの８ｋＨｚクロックである。マルチプレクサは、ＣＰＵ４６により、制御レジスタ１０２を通して構成される。これらのレジスタの構成方法を決定するために、ＣＰＵ４６が使用するこの方法についてはこのセクション内で後で説明する。
【００５９】
ｍｕｘ１０８から選択した一次周波数ソースは、Ｍｉｔｅｌ部に送られ、また信号の喪失を検出するＣＰＬＤ１０４に送られる。ＣＰＬＤ１０４は、次に、ＬＯＳの表示をＭｉｔｅｌ部に送ることができる。ＣＰＬＤは、また、Ｍｉｔｅｌ部への信号の喪失を表示することができるように、ＣＰＵにより制御することができる。二次周波数ソースに対して同じ装置を使用することができる。同期基準切替えのためにＣＰＵ４６が使用する方法については、このセクション内で後で説明する。
【００６０】
Ｍｉｔｅｌ部は、また、ＣＰＵがアドレスすることができるＣＰＬＤレジスタから制御することができる。このレジスタが制御する機能は、（ａ）＊ＴＣＬＲ−時間間隔エラー（ＴＩＥ）クリアおよびリセット；（ｂ）ＭＳ１およびＭＳ２−モード選択；（ｃ）ＲＳＥＬ−基準ソース選択；（ｄ）＊ＲＳＴ−リセットである。ＨＯＬＤＯＶＥＲは、Ｍｉｔｅｌ９０４４が、留置モードに切り替わっていることを示す、ＣＰＵ４６が読むことができるＣＰＬＤレジスタへの入力である。これらの機能については、引用によってその全文を本明細書の記載に援用するＭｉｔｅｌ９０４４のデータ・シートに記載されている。
【００６１】
２０ＭＨｚ周波数ソース１２６は、ストレータム３Ｅ内部刻時要件に適合する恒温槽型制御水晶発振器（ＯＣＸＯ）、またはストレータム３内部刻時要件に適合する温度制御電圧制御水晶発振器（ＴＣＶＣＸＯ）である。これらの機能を提供することができる部材は、ＭＴＩ  Ｍｉｌｌｉｒｅｎ部材であり；ＯＣＸＯは２２０シリーズＯＣＸＯであり、ＴＣＶＣＸＯは、２１０シリーズ・ミニＯＣＸＯである。
【００６２】
２０ＭＨｚ発振器の出力は、ＣＰＬＤ１２８で８ｋＨｚに分割され、この８ｋＨｚは、次に、ＣＰＬＤ  ｍｕｘ１０８へ入力として供給される。
２０ＭＨｚＯＣＸＯ／ＴＣＶＣＸＯ１２６への電圧制御入力は、デジタル−アナログ変換器（ＤＡＣ）１２４からのものである。この機能用に使用することができる構成部品の一例としては、アナログ・デバイス８５６２、１２ビット並列ＤＡＣがある。
【００６３】
ＤＡＣは、１つのＣＰＵ動作内にラッチされている下位８つのＤＡＣビット、およびもう１つのＣＰＵ動作内にラッチされている上位４つのＤＡＣビットを有するＣＰＬＤ１２０および１２２によりプログラムされる。上位４ビットのラッチは、また、ＤＡＣ８５６２への＊ＣＥ上の能動的な低いパルスを発生する。このパルスは最低４０ナノ秒間持続する。
【００６４】
ＬＭＡＣは、入力として６２．５ＭＨｚクロック１１７を受信する。この発振器は、自励タイプのもので、温度制御する必要はない。例えば、＋／−５０ＰＰＭの範囲内でドリフトすることができる。このような発振器は周知である。この機能を行う代表的な構成部品としては、Ａｂｒａｃｏｎ  ＡＣＨＬ−６２．５０ＭＨｚ−ＣＡがある。
【００６５】
リングから受信する各同期記号は、８Ｂ／１０Ｂ制御コードＫ２３．７として表される。Ｖｉｔｅｓｓｅ７２１６ＳＥＲＤＥＳデバイスのところでこのコードを検出する度に、入力Ｅｒｒ／Ｋｃｈ／ＩｄｌｅおよびＲＸ＿ＤＡＴＡライン上の適当なビットにより、ＬＭＡＣに対して報告が行われる。ＬＭＡＣは、１２５ＭＨｚで動作する（８ビット・カウンタおよび１６ビット・カウンタに分割された）２４ビット・カウンタにより、受信同期記号の設定可能な数の間の時間を測定する。同期記号の設定可能な数（デシメーションファクタ）は、１０ビット・カウンタにより設定される。同期記号の設定可能な数は、１００に設定されると予想されるので、ＬＭＡＣサンプル点の間の間隔は、１２．５ｍｓになる（リングからのチック音は８ｋＨｚの周波数で到着する）。ＬＭＡＣは、受信同期記号の数が設定可能な値になると、２４ビット・カウンタの値を保持レジスタ内にラッチする。同様な方法で、ＬＭＡＣは、また、送信同期記号の設定可能な数の間の時間を測定する。この場合も、同期記号の設定可能な数は、１００に設定されると予想される。
【００６６】
受信チック・カウンタをラッチすると、ＣＰＵに対する中断が発生する。同様に、送信チック・カウンタをラッチしても、中断が発生する。これらの中断発生は、ＣＰＵによりマスクすることができる。中断は、ソフトウェアＰＬＬを更新するアプリケーションに対して優先順位の高いイベントを発生する、ルミナス・ハードウェア抽出層（ＬＨＡＬ）から見ることができる。このアプリケーションは、最後の１００の同期記号を送信するために取り入れた１２５ＭＨｚチックの数を送受信両方に対して計算することができるように、前のラッチ・イベント（前の１００同期記号）からの送受信２４ビット・カウンタの値を記憶しなければならない。ＰＬＬループ・フィルタにより処理されるエラー信号は、これら２つの値の違いである。このアプリケーションは、送受信の際の同期記号の喪失によるスプリアス差の値、または同期記号のスプリアス発生をＰＬＬの更新のために使用されないように、エラー閾値を含む。
【００６７】
ＣＰＵ４６は、ＰＬＬのループ・フィルタを実装する。能動比例内蔵ループ・フィルタ用のＤＡＣ１２４の駆動方法を決定するために、ＣＰＵ上のソフトウェア・アプリケーションで実施することができる代表的な式は下記の通りである。
【００６８】
ＶｃｏＩｎ＝Ｋｉ＊ＥｒｒＩｎｔ＋Ｋｐ＊Ｅｒｒ
ＥｒｒＩｎｔ＝ＥｒｒＩｎｔ＋ＤＥＣ＿ＦＡＣＴ＊Ｅｒｒ
ここで、Ｅｒｒは、受信の際に最後の１００同期チックの送受信の時、最後の１００の同期記号を送信するために取り入れた１２５ＭＨｚチックの数の間の（秒に換算した）時間の間のエラーである。同期記号の喪失によりスプリアス差が発生するか、または同期記号のスプリアス発生が起こった場合、Ｅｒｒはゼロに設定される。ＤＥＣ＿ＦＡＣＴは、測定間の同期記号の設定可能な数またはデシメーションファクタである。この例の場合には、ＤＥＣ＿ＦＡＣＴは１００に等しい。ＥｒｒＩｎｔは、時間経過中のエラーの総数である。Ｋｉは、（ｏｍｅｇａ＿ｎ／（０．５＊ｌｏｏｐ＿ｆｒｅｑ）２と定義され、Ｋｐは、２＊ｄａｍｐ＿ｆａｃｔ＊（ｏｍｅｇａ＿ｎ／（０．５＊ｌｏｏｐ＿ｆｒｅｑ））と定義される。この場合、ｏｍｅｇａ＿ｎは、（代表的なループ・フィルタに対して、０．００１Ｈｚ〜２Ｈｚの範囲内の）Ｈｚ単位のＰＬＬ遮断周波数であり）ｌｏｏｐ＿ｆｒｅｑは、Ｈｚ単位（この例の場合には、８ｋＨｚ）のＰＬＬの更新速度であり、ｄａｍｐ＿ｆａｃｔは、（代表的なループ・フィルタに対する３．０〜６．０の範囲内の）ＰＬＬのダンピング係数である。
【００６９】
上式は、引用によってその全文を本明細書の記載に援用する、１９９９年マグローヒル社発行の、ロナルド・ベスト（Ｒｏｎａｌｄ  Ｂｅｓｔ）の「位相同期ループ：設計、シミュレーションおよび適用（Ｐｈａｓｅ−Ｌｏｃｋｅｄ  Ｌｏｏｐｓ：Ｄｅｓｉｇｎ  Ｓｉｍｕｌａｔｉｏｎ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ）」第４版のＰＬＬの説明に基づいて容易に導くことができる。
【００７０】
ループ・フィルタ通過後、ＶｃｏＩｎ値は、ＤＡＣが適当なレベルで駆動されるように、さらに、スケーリングされる。ＶｃｏＩｎ値とＤＡＣ駆動レベルとの間のマッピングは、実験室内でＤＡＣの特性により容易に決定される。
【００７１】
ＣＰＵ４６によるｍｕｘＣＰＬＤ１００の設定
デバイダＣＰＬＤ１２８を通しての、ＴＣＶＣＸＯ／ＯＣＸＯからのｍｕｘ入力は、例えば、同期ソース・デバイスのような中央局（ＣＯ）内に位置していないノードに対する能動切替カード上の一次同期ソースになるように設定される。スタンバイ（冗長）切替カード用の一次ソースは、例えば、能動切替カードからスタンバイ切替カードにバックプレーンを通して送られたＣＰＬＤ１０８の出力の中の１つのような能動切替カードの８ｋＨｚ出力である。
【００７２】
ＤＳ１カードのような従属インタフェース・カードを通しての外部同期は、能動切替カードに対する同期ソース・デバイス内の一次および二次ソースである。スタンバイ切替カードは、一次ソースとして能動切替カードの８ｋＨｚ出力を使用し、ＤＳ１カードは、その二次クロック・ソースとしての能動切替カードのための一次ソースとして機能する。
【００７３】
ＣＰＵ４６による同期基準切替え方法
種々の同期基準喪失シナリオおよび劣化シナリオがある。第１のシナリオは、一次同期基準が入手されるＤＳ１カードの全喪失、またはＤＳ１カードとリング・カードとの間の経路上での他の何らかの理由による一次同期基準の全喪失である。この場合、クロック喪失検出ＣＰＬＤは、Ｍｉｔｅｌ９０４４に対してＬＯＳをアサートし、２つおよび４つの予想した８ｋＨｚ遷移間の喪失後に、同期状態レジスタを更新する。上記ＣＰＬＤは、また、ＬＯＳの１つの周期後、また少なくとも４つの連続している８ｋＨｚ遷移を検出した後で、同期状態レジスタを更新するが、Ｍｉｔｅｌ９０４４に対してＬＯＳをアサート解除しない。ＣＰＵは、１０ミリ秒〜５０ミリ秒の周期で、同期状態レジスタをポーリングする。Ｍｉｔｅｌ９０４４は、ＬＯＳが表示されていても、自動的に留置モードに入る。（留置モードに入る基準は、Ｍｉｔｅｌ内部基準から＋／−３６，０００ｐｐｍ以上ドリフトしたかどうかである。ＬＯＳの際の留置頻度は、ＬＯＳ前の基準の頻度である。）二次同期基準への切替えの一次同期基準の喪失からの遅延は、Ｍｉｔｅｌ９０４４と一緒に使用するガード時間調整回路が決定する。ガード時間は、１００ミリ秒に設定される。この１００ミリ秒は、クロック喪失検出ＣＰＬＤＬによりＬＯＳがアサートされた時間からスタートする。
【００７４】
二次基準に切り替わった後で、ＣＰＵ４６上で動作しているソフトウェア・アプリケーションは、二次基準を一次として再配置し、新しい二次基準を選択する。この再配置の一部として、ＣＰＵは、一次ＬＯＳおよび二次ＬＯＳイネーブル・ラインを通して、異なる時間に一次および二次ＬＯＳに命令する。ＣＰＵは、（図３のシェルフ・コントローラ６２から受信した）各ＤＳ１カードの状態を継続的に追跡し、どのＤＳ１カードが新しい二次として機能するかを選択し、適当なｍｕｘ制御レジスタを設定する。
【００７５】
ＬＯＳから同期基準に戻った場合には、ＣＰＵは、クロック喪失検出ＣＰＬＤへのコマンドにより、ＬＯＳ表示を除去する時間および除去するかどうかを決定する。
【００７６】
Ａｃｃｕｎｅｔ  Ｔ１．５仕様は、ＬＯＳ以外の同期基準劣化シナリオを規定している。これらのシナリオとしては、指定の持続時間より長いエラー・バーストおよび指定の許容レベル以上の入力ジッタがある。これらの劣化の検出は、ＤＳ１カード上で行われる。あるポートが使用できなくなるか劣化した場合には、ＤＳ１カード上でのポート間の切替えが、そのカード上で直接行われる。
【００７７】
同期基準がドリフトした場合には、ドリフトが約＋／−３００ｐｐｍを超えると、Ｍｉｔｅｌ９０４４上で、自動留置モードが動作可能になる。自動留置頻度は、正確なＤＳ１頻度から＋／−２７３ｐｐｍである。留置ピンはアサートされない。このようなシナリオを検出するために、ＤＳ１カード自身からある表示を送らなければならない。ＤＳ１上のＰＭＣコメット・フレーマを通して、＋／−２３０ｐｐｍのドリフトを検出することができる。この検出により、ＤＳ１カード上の新しいポートに切り替わる。その間に、この状態が内部制御面を通して、リングＣＰＵに送られる。ＣＰＵは、可能な場合には、強制的に異なるカードに切り替える。
【００７８】
上記ＣＰＬＤ  ＦＰＧＡモジュールは、通常の当業者であれば十分簡単な機能ブロックに分割されている。何故なら、各ブロックを実施するために必要なプログラマブル・ロジックは周知のものであるからである。
【００７９】
ルミナス媒体アクセス制御コントローラ（ＬＭＡＣ）の説明
始めに
ＬＭＡＣは、ＭＭＣ  ＸＰＩＦの３２ビット同期ＧＧＩバス・インタフェース（ＸＰＩＦ／３００Ａ３のデータ・シートの２９〜３９ページ参照）と、ＶｉｔｅｓｓｅＳＥＲＤＥＳ７２１６の８ビット・インタフェース（ページ４、５、１０および１５が特に有益）との間にバス・プロトコル変換およびバッファリング機能を提供する。これら２つの構成部品に関するデータ・シートは、引用によってその全文を本明細書の記載に援用する。
【００８０】
ＧＧＩバスは、一方はデータ（ＸＰＩＦからＬＭＡＣへのデータ）を送信するためのバスであり、他方は、データ（ＬＭＡＣからＸＰＩＦへのデータ）を受信するためのバスである２つの一方向３２ビット・バスを定義する。
【００８１】
データ・プロトコルは、両方向において本質的に同じものである。ＸＰＩＦは、データを送信している場合は、データ転送のイニシエータである。ＧＧＩＴＸＶ＿Ｌ信号（転送有効）は、３２ビット語が、ＧＧＩ送信バス（ＧＧＩＴＸＤ）上で有効であると表示しているものとアサートされる。３２ビット語は、ＧＧＩＴＸＶ＿Ｌが有効である場合には、各クロック毎に転送される。この場合、クロック・レートは５２ＭＨｚである。ＸＰＩＦからＬＭＡＣＨのデータの転送は、ＧＧＩ＿ＴＸ＿ＦＵＬＬ＿Ｌ信号であるとアサートすることにより、ＬＭＡＣにより調節することができる。ＧＧＩ＿ＴＸ＿ＦＵＬＬ＿Ｌがアサートされる場合、データ転送を中止およびスタートするための２つのクロック・パイプライン遅延が使用される。
【００８２】
ＸＰＩＦが送信しているフレームの前には、特殊な３２ビット制御語（ＴＸＳＯＦ）が位置していて、このフレームは、ＧＧＩ送信バス上の特殊な３２ビット制御語（ＴＸＥＯＦ）で終了する。送信データの転送は、１つのＬＭＡＣがＸＰＩＦに取り付けられる時、ＸＰＩＦへのＴＸＦＵＬＬ＿Ｌ信号をアサートすることにより、調節することができる。都合の悪いことに、２つのＬＭＡＣが、１つのＸＰＩＦに取り付けられる場合には、ＸＰＩＦは、転送がスタートすると、ＴＸＦＵＬＬ＿Ｌ信号を無視する。すなわち、ＬＭＡＣは、最大の大きさのフレーム（例えば、１６００バイトの送信バッファのような１５２２バイトのイーサネットＭＴＵ＋リング・ヘッダバイト）を受け入れることができなければならない。
【００８３】
ＸＰＩＦは、また、ＧＧＩＴＸＶ＿Ｌをアサート解除することにより、送信中のデータ転送を調節することができる。すなわち、各クロック毎にデータ語を転送する必要はない。
【００８４】
ＸＰＩＦが、ＭＭＣ  ＧＭＡＣ−Ｂ３ギガビット媒体アクセス・コントローラからデータを受信した場合には、パケット（それぞれ、ＲＸＳＯＦおよびＲＸＥＯＦ）の前後に位置する制御語のフォーマットが、ＧＧＩ受信バスに対して若干異なっている点を除くと、プロトコルは本質的に対称である。ＭＭＣ  ＧＭＡＣ−Ｂ３のデータ・シートは、引用によってその全文を本明細書の記載に援用する。ＸＰＩＦがデータを受信した場合（フレームを受信した場合）のもう１つの問題は、ＬＭＡＣが、ＲＸ＿ＦＡＶ＿Ｌ信号をアサートしなければならないことと、ＸＰＩＦが、データがＬＭＡＣからＸＰＩＦに送られる前に、二重ＬＭＡＣ構成だけで、ＲＸ＿ＧＯ＿Ｌ信号をアサートしなければならないことである。
【００８５】
ＸＰＩＦからの送信データは送信ＦＩＦＯ内に記憶される。ＧＧＩ送信バス上のＴＸＳＯＦおよびＴＸＥＯＦ制御語は、一組の制御信号ＳＯＰ（パケットの始め）およびパケットの終り（ＥＯＰ）と一緒に、送信ＦＩＦＯ内に書き込まれる。これらのデータ語は、ＳＥＲＤＥＳによって送信されないが（それ故、実際には任意のデータを書き込むことができる）、パケットの境界を区切る場合にだけ使用される。ＥＯＰ語は、パケットの最後の語（すなわち、ＥＯＰ語の前の語）内の有効なバイト数を示し、正しいバイトの境界で送信を終わらせるために使用しなければならない。
【００８６】
データは送信ＦＩＦＯから読み取られ、１２５ＭＨｚで、一度に１バイトずつ、Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳに送られる（実際には、クロックの両方の縁部で６２．５ＭＨｚで転送される）。Ｖｉｔｅｓｓｅへの送信インタフェースは簡単なものである。８ビット送信データ・バスと、８ビット・バスがデータであるのか、または（帯域制御文字からの）「特殊なＫ」文字であるのかを示すコマンド／データ信号が使用される。パケットの始まり（Ｋ２７．７）を示す「特殊なＫ」文字は、フレームの最初のバイトの前に置かなければならないし、パケットの終わりを示す「特殊なＫ」文字（Ｋ２９．７）は、フレームの最後に置かなければならない。データを送信中でない場合には、アイドルに対する「特殊なＫ」文字を、コマンドへのコマンド／データ・ライン、および８ビット送信データ・バスを駆動することにより、「１０１  １１１００」となるように送信しなければならない。
【００８７】
Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳデバイスへの送信インタフェースの設計は、また、送信データ・ストリーム内に、「特殊なＫ」文字の優先挿入を含んでいなければならない。例えば、「特殊なＫ」文字は、「鼓動」機能および「タイミング同期」機能を実行するために送信される。逆に、ＶｉｔｅｓｓｅＳＥＲＤＥＳが、これらの「特殊なＫ」文字を受信する場合には、それを送信データ・ストリーム内に優先的に挿入することにより、それに応じて直ちに送信しなければならない。また、受信バッファが水位標まで満たされた場合には、リンク・レベル・フロー制御機構（ＸＯＮ／ＸＯＦＦ）が実施される。送信は、受信バッファ・オーバフローが発生する前に、「特殊なＫ」文字を送信することにより、ストップしなければならない。受信バッファにギガビット・データ速度を掛けたものに対するデータのソースに到着する際のＸＯＦＦ文字の遅延時間は、ＸＯＦＦ「特殊なＫ」文字が送信される前においては、受信バッファ上において非常に低い水位標を必要とする場合がある。
【００８８】
Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳデバイスからの受信インタフェースは、本質的には、８ビットの受信データ・バスおよび４つの制御信号、ＲＳＤＥＴ、ＥＲＲ、ＫＣＨ、ＩＤＬＥからなる。データは、概念的には１２５ＭＨｚ速度でのバイト転送に等しい６２．５ＭＨｚの速度でのクロックの両方の縁部上で転送される。ＦＰＧＡの内部では、ＳＥＲＤＥＳインタフェースが、遅延ロック・ループを使用することにより、１２５ＭＨｚでクロック制御される。
【００８９】
ＲＳＤＥＴ信号がアサートされない場合、ＳＥＲＤＥＳへの入力信号は存在しないし、ＥＲＲ、ＫＣＨおよびＩＤＬＥ信号は意味を持たない。ＲＳＤＥＴがアサートされた場合には、ＥＲＲ、ＫＣＨおよびＩＤＬＥ信号は、真理値表により受信バイトをどのように解釈すべきかを表示する。真理値表は、受信バイトが有効なデータ・バイトであるかどうか、またはアンダーラン／オーバーラン・エラーが発生したこと、ＩＤＬＥ以外の特殊な「Ｋ」文字を受信したこと、またはＩＤＬＥが検出されたこと、もしくは帯域外エラーまたはディスパリティ・エラーまたは同期の喪失が検出されたことを示す。
【００９０】
「パケットの始まり」を示す「特殊なＫ」文字を受信した場合（ＥＲＲ／ＫＣＨ／ＩＤＬＥ＝「０１０」）には、受信ＦＩＦＯの１６ビットのデータ経路幅に一致させるために、ＳＥＲＤＥＳからの受信データ・バス上の８ビット・データが、１６ビット・パイプライン・レジスタ内にロードされる。（データ経路幅は、ＦＰＧＡ技術で使用できるＲＡＭ粒度および選択したＦＰＧＡデバイスに基づく折り合いである）。パケットの連続しているデータ・バイトは、１６ビット・パイプライン・レジスタ内でアセンブルされ、受信ＦＩＦＯに書き込まれる。パケットは、「パケットの終わり」を示す「特殊なＫ」文字で区切られる。「ＥＯＰ」および「ＳＯＰ」制御信号は、パケットの境界を区切るために、受信ＦＩＦＯへの書込みを行う時にアサートされる。さらに、「パケットの終わり」バイトが、受信ＦＩＦＯへの入力パイプライン・レジスタの上位または低位１６ビット内に位置しているかどうかの表示が行われる。
【００９１】
受信ＦＩＦＯは、最大のパケット・サイズ（二重ＬＭＡＣの場合には、約５１２バイト）より小さくてもよい。このことは、受信ＦＩＦＯオーバフロー・エラーを避けるためには、リンク層フロー制御（ＸＯＮ／ＸＯＦＦ）が必要であることを示す。都合のよいことに、二重ＬＭＡＣシナリオは、ＸＯＦＦ（「受信バッファ満杯」）メッセージに応答する送信機に対する最大待ち時間を制限する中央プレーン上だけで発生する。１２５ＭＨｚにおける５１２バイトの長さは、約４００ナノ秒である。受信ＦＩＦＯが「半分満杯」状態（または、他の水位標ＴＢＤ）に達すると、「受信バッファ満杯」という「特殊なＫ」文字が、受信ＦＩＦＯへ送られているデータのソースに送られる。その送信機は、次に、「受信バッファ使用可能」という「特殊なＫ」文字を目にするまで、送信を停止する。
【００９２】
ＳＥＲＤＥＳ受信インタフェース上のエラー状態は、ＳＥＲＤＥＳ受信エラー・ブロックに送られ、そこでは、いくつかの独立カウンタが、ＳＥＲＤＥＳ受信インタフェース上の種々のエラー状態を維持する。
【００９３】
受信データは、１６ビット幅の受信ＦＩＦＯから読み取られ、ＧＧＩ  ＲＸバスを通してＸＰＩＦへ転送するために、３２ビット語にアセンブルされる。ＧＧＩ  ＲＸバス・プロトコルが必要とするＲＸＳＯＦ語およびＲＸＥＯＦ語は、受信ＦＩＦＯの「ＥＯＰ」および「ＳＯＰ」制御出力から生成される。
【００９４】
ＬＭＡＣは、また、その隣接ＬＭＡＣへ、ＳＥＲＤＥＳ送信インタフェースを通して、「ピン（Ｐｉｎｇ）」と呼ばれる周期的「特殊なＫ」文字を送信する。送信の頻度は１ｍｓ程度である。「ピン」という「特殊なＫ」文字を受信したＬＭＡＣは、それに応じて、そのＳＥＲＤＥＳ送信インタフェースを通して、「ポン（Ｐｏｎｇ）」という「特殊なＫ」文字を直ちに送信しなければならない（すなわち、「ピン」の送信側に、「ポン」を送信しなければならない）。
【００９５】
ネットワーク同期用の周期的な「ＴＩＣＫ」という「特殊なＫ」文字は、「ＴＩＣＫ＿ＩＮ」と呼ばれる８ｋＨｚの方形波クロック入力に基づいて、ＳＥＲＤＥＳ送信インタフェースを通して送信される。これらの「ＴＩＣＫ＿ＩＮ」入力のカウントは維持される。ＳＥＲＤＥＳインタフェースから受信した「ＴＩＣＫ」文字の数の別のカウントも維持される。これらのカウンタは、ＶＣＯに制御情報を提供するＰＬＬ回路の一部として使用され、ＶＣＯは、ネットワーク・クロックに同期しているローカル・クロックを維持する。
【００９６】
主要ブロックの説明
図８は、ＬＭＡＣの分割に基づくシンプリシティにより作成したマシーンである、ＬＭＡＣデータ経路のブロック図である。このブロック図を参照しながら、下記の説明を読めば理解の助けになるだろう。
【００９７】
レジスタ・ブロック
レジスタ・ブロックは、下記の「ＬＭＡＣプログラマのためのマニュアル」セクションに定義されているコマンドおよび状態レジスタを実施する。
ＣＰＵインタフェースは、１６ビットの二方向Ｉ／Ｏバス「ｍｐｄ［１５：０］」、およびＰＰＣ８６０ＣＰＵが発生した関連制御信号からなる。レジスタ・ブロックへのクロック入力「ｃｌｋ」は、ＰＰＣ８６０からの「ａｓ＿１」信号、「ｃｓ＿１」信号、「ｒｄ＿ｗｒ＿１」信号および「ｍｐａｄ［１０：０］」と非同期しているものと見なされる。これらの信号は、アドレス・バス「ｍｐａｄ」が有効になるとき、上位のアドレス・ビットの復号が有効になるとき、および動作が、それぞれ読取動作か、書込動作かを示す。
【００９８】
レジスタ・ブロック内には約２２のレジスタが存在する。
ＰＰＣ８６０プロセッサの場合には、最上位のビットは、ビット［０］上に位置していて、最下位のビットは、ビット［１５］上に位置していることに留意されたい。これは、アドレスおよびデータの両方にも当てはまる。内部においては、最下位ビットはビット［０］上に位置している。アドレスおよびデータ・ビットの正しい交換は、レジスタ・ブロック内で行われる。
【００９９】
ＧＧＩＴＸ状態マシーン
ＧＧＩＴｘ状態マシーンは、同期ＧＧＩ送信バスを通して、データをＸＰＩＦからＬＭＡＣに転送する。ｇｇｉ＿ｔｘｖ＿ｌ信号は、ｇｇｉ＿ｔｘｄ［３１：０］一方向データ・バス上に、有効なデータが存在する時を示す。ＧＧＩ送信バスを通して転送されるすべてのパケットは、ｇｇｉ＿ｔｘｃ信号のアサートにより支持される、ＴＸＳＯＦ制御語およびＴＸＥＯＦ制御語により区切られる。レジスタ・ブロックからのｔｘ＿ｇｍａｃ＿ａｄｄｒｅｓｓ［７：０］入力は、ＴＸＳＯＦ語のＧＭＡＣ＿ａｄｄｒｅｓｓ［２７：２０］を一致させるために使用される。一致するものがない場合には、ＧＧＩ  ＴＸ状態マシーンは、そのパケットを無視する。
【０１００】
ｇｇｉ＿ｔｘｐ信号は、ｇｇｉ＿ｔｘｄ［３１：０］およびｇｇｉ＿ｔｘｃ信号の奇数パリティである。ｇｇｉ＿ｔｘｐ上のパリティ・エラーを有するパケットは、フラッグを立てるか、他の方法で送信しなければならない。
【０１０１】
送信ＦＩＦＯは、同期書込ポートを実施する。ｔｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｅｎａｂｌｅ信号およびｔｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｄａｔａ［３１：０］およびパケットの始まりと終わり示すｔｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｓｏｐｔｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｅｏｐは、ＧＧＩ  ＴＸ状態マシーンのｃｌｋ入力の立上り縁部にアサートしなければならない。パケットの最後の語内の有効なバイト数は、ＴＸＥＯＦ語のビット［２７：２６］内に表示される。（ＴＸＳＯＦ語およびＴＸＥＯＦ語は、送信ＦＩＦＯ内に書き込まなければならないこと、およびｔｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｓｏｐ信号およびｔｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｅｏｐ信号は、それぞれアサートしなければならないことに特に留意されたい。）
【０１０２】
送信ＦＩＦＯの送信ＦＩＦＯブロックからのｔｘ＿ｆｉｆｏ＿ｔｈｒｅｅ＿ｗｏｒｄｓ＿ｂｅｆｏｒｅ＿ｆｕｌｌ入力信号により、ＧＧＩ  ＴＸ状態マシーン・ブロックは、送信ＦＩＦＯオーバフローを避けるために、（ｇｇｉ＿ｔｘ＿ｆｕｌｌ＿ｌ信号をアサートすることにより）ＧＧＩ送信バスをタイミングよく調節することができる。データ転送をストップし、スタートする場合には、ＧＧＩ送信バスの２つのクロックの待ち時間が発生する。ｔｘ＿ｓｍ［１５：０］バスは、診断読取能力用のレジスタ・ブロックへの、ＧＧＩ  ＴＸ状態マシーンのすべての状態マシーン・ビット（および恐らくいくつかの出力）を含む。
【０１０３】
送信ＦＩＦＯ
送信ＦＩＦＯは、読取ポートおよび書込ポート用の独立クロックをサポートする。データ幅は、両方のポート上で３２ビットである。Ｗｒｉｔｅ＿ｄａｔａは、ＧＧＩ  ＴＸ状態マシーンのｇｇｉ＿ｃｌｋ（５２ＭＨｚ）信号と同じ、ｗｒｉｔｅ＿ｃｌｏｃｋ信号の立上り縁部の前で、ｗｒｉｔｅ＿ｅｎａｂｌｅ信号がアサートされた場合に、ＦＩＦＯ内に書き込まれる。ｗｒｉｔｅ＿ｅｏｐ信号およびｗｒｉｔｅ＿ｓｏｐ信号は、パケットの始まりと終わりとを区切り、ＧＧＩ送信バスからのＴＸＳＯＦ語およびＴＸＥＯＦ語を含む。データは、ｒｅａｄ＿ｃｌｏｃｋに同期しているｒｅａｄ＿ｅｎａｂｌｅ信号をアサートすることにより、送信ＦＩＦＯから読み取られる。ｒｅａｄ＿ｃｌｏｃｋは、６２．５ＭＨｚでクロック制御されている。このことは、１２５ＭＨｚでクロック制御されているＳＥＲＤＥＳ  Ｔｘ状態マシーン・ブロックにとって大きな問題である。（ｒｅａｄ＿ｅｎａｂｌｅ信号が、６２．５ＭＨｚクロックの立下り縁部または立上り縁部上でアサートされるかどうかはハッキリしない。この問題は、ＳＥＲＤＥＳ送信ブロックに入力として、６２．５ＭＨｚを供給することにより解決する。もちろん、６２．５ＭＨｚクロックと１２５ＭＨｚクロックとの間には、位相差が存在するが、この問題は、ＤＬＬにより解決できる場合もあるし、解決できない場合もある）。
【０１０４】
ｒｅａｄ＿ｓｏｐ信号およびｒｅａｄ＿ｅｏｐ信号は、ＧＧＩ送信バスからのＴＸＳＯＦ語およびＴＸＥＯＦ語を示す。送信ＦＩＦＯのｒｅａｄ＿ｄａｔａ［３１：０］は、ｒｅａｄ＿ｃｌｏｃｋの次の立上り縁部のところで有効になり、次の読取動作まで有効である。リセット後、またはＦＩＦＯが空になった後で、送信ＦＩＦＯからの最初のデータ語が有効になる前に、読取動作を行わなければならない。
【０１０５】
送信ＦＩＦＯは、ｔｘ＿ｆｉｆｏ＿ｅｍｐｔｙおよびｔｘ＿ｆｉｆｏ＿ｆｕｌｌフラッグを供給する。空フラッグは、ｒｅａｄ＿ｃｌｏｃｋと同期して発生し、ｆｕｌｌ＿ｆｌａｇは、ｗｒｉｔｅ＿ｃｌｏｃｋに対して発生する。（ｗｒｉｔｅ＿ｃｌｏｃｋに同期している）ｔｈｒｅｅ＿ｗｏｒｄｓ＿ｂｅｆｏｒｅ＿ｆｕｌｌ信号により、ＧＧＩ  ＴＸ状態マシーンは、ＧＧＩ送信バスをストップする際に、クロック２つ分の待ち時間をサポートするために、また送信ＦＩＦＯのオーバフローを避けるために、タイミングよくＧＧＩ送信バスを調節することができる。
【０１０６】
ｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｐｔｒ信号およびｔｘ＿ｆｉｆｏ＿ｗｒｔ＿ｐｔｒ信号は、それぞれ、ｒｅａｄ＿ｃｌｏｃｋおよびｗｒｉｔｅ＿ｃｌｏｃｋに同期していて、診断読取能力用にレジスタ・ブロックに送られる。
【０１０７】
未使用の最上位ＦＩＦＯポインタ・ビットは、ゼロで満たされていなければならない。
ＳＥＲＤＥＳ  Ｔｘ状態マシーン
ＳＥＲＤＥＳ  Ｔｘ状態マシーンが、アイドル状態にある場合には、ＳＥＲＤＥＳ  Ｔｘ状態マシーンは、Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳデバイスが、データを送信中でない場合、ＩＤＬＥという「特殊なＫ」文字を送信するように、ｓｅｒｄｅｓ＿ｔｘ＿ｃｍｄ＿ｄａｔａ＿ｌ信号を（「特殊なＫ」文字を示すために）「ハイ」レベルに、ｓｅｒｄｅｓ＿ｔｘ＿ｄａｔａ［７：０］出力を「１０１  １１１００」状態にアサートしなければならない。
【０１０８】
送信ＦＩＦＯが空でない場合には、すなわち、ｔｘ＿ｆｉｆｏ＿ｅｍｐｔｙが偽である場合には、ＳＥＲＤＥＳ  Ｔｘ状態マシーンは、ｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｎａｂｌｅ信号をアサートすることにより、送信ＦＩＦＯから３２ビット語（ｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｄａｔａ［３１：０］を読み取る。送信ＦＩＦＯの読取ポートは、６２．５ＭＨｚでクロック制御されていて、ＳＥＲＤＥＳ送信状態マシーンは、１２５ＭＨｚでクロック制御されている。ｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｄａｔａ［３１：０］が、ＳＥＲＤＥＳ  Ｔｘ状態マシーン内に正しく登録されていることに留意されたい。（ＤＬＬは、６２．５ＭＨｚの立上り縁部および１２５ＭＨｚの立上り縁部を確実に整合する。しかし、データが有効になるまでの１２５ＭＨｚクロックの縁部の数は、２または３である。合理的な設計方法の場合には、ｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｄａｔａ［３１：０］が登録されるまで、３つのクロックの待ち状態になる。送信ＦＩＦＯからのｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｓｏｐ信号、およびｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｏｐ信号は、ｓｅｒｄｅｓ＿ｔｘ＿ｃｍｄ＿ｄａｔａ＿ｌ信号を（「特殊なＫ」文字を示すために）「ハイ」レベルにアサートし、ｓｅｒｄｅｓ＿ｔｘ＿ｄａｔａ［７：０］出力を「１１１  １１０１１」状態および「１１１  １１１０１」状態にそれぞれアサートすることにより、Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳからの「ＳＯＰ」（Ｋ２７．７）および「ＥＯＰ」（Ｋ２９．７）「特殊なＫ」文字を発生するために使用される。ｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｏｐ入力信号は、ｔｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｏｐに関連する語のビット［２７：２６］に基づいて、送信ＦＩＦＯから前の語内の有効なバイト数を示す。ＳＥＲＤＥＳ  Ｔｘ状態マシーンは、関係のない文字が、Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳに送信されないようにするために、前のデータを読み取らなければならない。少なくとも１つのＩＤＬＥ文字を、次のフレームのＥＯＰ文字とＳＯＰ文字との間に挿入しなければならないことに留意されたい。
【０１０９】
送信ＦＩＦＯからＶｉｔｅｓｓｅ  ＳＥＲＤＥＳにデータを送信する他に、ＳＥＲＤＥＳ  Ｔｘ状態マシーンは、ある特殊なイベントの発生に従って、現在パケット送信が進行中であっても、「特殊なＫ」文字を優先的に送信する必要がある。ｓｅｎｄ＿ｔｉｃｋ入力のアサートは、最高の優先順位の割込み「特殊なＫ」文字の送信条件である。ＳＥＲＤＥＳ  Ｔｘ状態マシーンは、「Ｋ２３．７」「特殊なＫ」文字をできるだけ速く送信するように、Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳを制御しなければならない。次の優先順位の割込み送信条件は、ｒｘ＿ｆｉｆｏ＿ｓｔａｔｕｓ［４：０］が、受信ＦＩＦＯが満杯になってきていて、「ｋ２８．１」ＲＢＦ文字を、２点間リンクの他方の端部のところの送信機に送らなければならないと表示された場合に発生する。ＲＢＦ文字は、ｒｘ＿ｆｉｆｏ＿ｓｔａｔｕｓ［４：０］信号が、ＲＢＡ文字を送信させるものよりも、充填度が低い受信ＦＩＦＯ状態を表示した場合に送信しなければならない（ヒステリシス）。
【０１１０】
次の優先順位の割込み送信条件は、ｐｉｎｇ＿ｒｃｖｄ信号がアサートされた場合に発生する。該信号はそれに応じて、「Ｋ２８．６」「特殊なＫ」（ＰＯＮＧ）文字の送信を要求する。ｓｅｎｄ＿ｐｉｎｇ入力がアサートされた場合には、「Ｋ２８．２」文字が送信される。
【０１１１】
ＳＥＲＤＥＳ  Ｔｘ状態マシーンの送信の受信端部のところの受信ＦＩＦＯが、満杯になりつつあることを示すｒｂｆ＿ｒｃｖｄ信号がアサートされた場合には、ＳＥＲＤＥＳ  Ｔｘ状態マシーンは直ちにデータの送信をストップし、代わりに、「Ｋ２８．５」ＩＤＬＥ文字を送信するように、Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳデバイスへの命令を開始する。上記の割込み「特殊なＫ」文字の送信を継続しなければならない。ＳＥＲＤＥＳ  Ｔｘ状態マシーンは、ＳＥＲＤＥＳ  Ｔｘ状態マシーンの送信の受信端部のところの受信ＦＩＦＯが、現在使用できるスペースを持っていることを示すｒｂａ＿ｒｃｖｄ入力信号がアサートされた場合には、フレーム送信を再度スタートさせなければならない。ｒｂａ＿ｒｃｖｄ入力が、「ｒｂｆ＿ｒｃｖｄ」アサート後のレジスタ・ブロックからのｓｅｒｄｅｓ＿ｔｘ＿ｔｉｍｅ＿ｏｕｔ＿ｉｎｔｅｒｖａｌ［１５：０］入力が指定する１２５ＭＨｚのクロック数の間アサートされなかった場合には、ＳＥＲＤＥＳ  Ｔｘ状態マシーンは、現在のパケット送信を打ち切り、ｓｅｒｄｅｓ＿ｔｘ＿ｔｉｍｅ＿ｏｕｔ＿ｉｎｔｅｒｒｕｐｔをアサートし、ｓｅｒｄｅｓ＿ｔｘ＿ｔｉｍｅ＿ｏｕｔ＿ｃｎｔ［７：０］信号を増分増大する。
【０１１２】
ｓｅｎｄ＿ｔｉｃｋ信号、ｐｉｎｇ＿ｒｃｖｄ信号、ｒｂｆ＿ｒｃｖｄ信号、ｓｅｎｄ＿ｐｉｎｇ信号、およびｒｂａ＿ｒｃｖｄ信号は、レベル入力であり、ｓｅｎｄ＿ｔｉｃｋ＿ａｃｋ出力信号、ｐｉｎｇ＿ｒｃｖｄ＿ａｃｋ出力信号、ｒｂｆ＿ｒｃｖｄ＿ａｃｋ出力信号、ｓｅｎｄ＿ｐｉｎｇ＿ａｃｋ出力信号およびｒｂａ＿ｒｃｖｄ＿ａｃｋ出力信号がアサートされた場合にクリアされる。
【０１１３】
ＳＥＲＤＥＳ  Ｒｘ状態マシーン
ＳＥＲＤＥＳ  Ｒｘ状態マシーンは、Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳデバイスから、８ビットのデータ、ｓｅｒｄｅｓ＿ｔｘ＿ｄａｔａ［７：０］および４つの制御信号、ｒｓｄｅｔ、ｅｒｒ、ｋｃｈおよびｉｄｌｅを受信する。ｒｓｄｅｔ入力が変化すると、ｒｓｄｅｔ＿ｓｔａｔｅ＿ｃｈａｎｇｅ＿ｉｎｔｅｒｒｕｔのアサートが発生する。ｒｓｄｅｔがアサート解除すると、ＳＥＲＤＥＳ  Ｒｘ状態マシーンは、アイドル状態になり、データの受信は行われない。ｅｒｒ、ｋｃｈおよびｉｄｌｅ信号は、Ｖｉｔｅｓｓｅ７２１６  ＳＥＲＤＥＳマニュアルの１５ページに記載されているような真理値表を実施する。
【０１１４】
「特殊なＫ」文字は、（Ｅｒｒ／Ｋｃｈ／Ｉｄｌｅ＝０１０または０１１である場合）下記のように定義される。
【０１１５】
【表１】
2004522329.tif 000003
データ信号および制御信号は、ＤＬＬ駆動１２５ＭＨｚクロックと同期している。ｅｒｒ、ｋｃｈおよびｉｄｌｅ信号は、ＩＤＬＥ文字の受信を示し、データはドロップされる。
【０１１６】
エラー条件が、Ｖｉｔｅｓｓｅ７２１６ＳＥＲＤＥＳマニュアルの１５ページの真理値表と同じである場合には、真理値表に記載するエラー条件に対するビット・パターンをコピーするｓｅｒｄｅｓ＿ｅｒｒ＿ｔｙｐｅ［２：０］出力と一緒に、ｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ出力信号がアサートされる。
【０１１７】
「特殊なＫ」文字が検出されると、上記「特殊なＫ」表通りの制御文字のタイプを決定するために、ｓｅｒｄｅｓ＿ｒｘ＿ｄａｔａ［７：０］入力がチェックされる。ＳＯＣ（制御パケットの始まり）が検出されると、ＬＭＡＣのこの改訂に対する次のＥＯＰまで、すべてのデータ文字が無視される（すなわち、制御パケットの高い優先順位のトンネル効果はサポートされない）。しかし、他の「特殊なＫ」文字は、依然として正しく処理されなければならない。ＲＢＦ文字が検出された場合には、１つのクロックに対してｒｂｆ＿ｒｃｖｄ−ａｃｋ入力がアサートされるまで、ｒｂｆ＿ｒｃｖｄ信号をアサートしなければならない。その結果、ＳＥＲＤＥＳ  Ｔｘ状態マシーンは、データの送信を中止することができる。ＰＩＮＧ、ＰＯＮＧ、ＲＢＡ、ＴＩＣＫを受信した場合には、ｐｉｎｇ＿ｒｃｖｄ、ｐｏｎｇ＿ｒｃｖｄ、ｒｂａ＿ｒｃｖｄおよびｔｉｃｋ＿ｒｃｖｄ出力は、対応するｐｉｎｇ＿ｒｃｖｄ＿ａｃｋ、ｐｏｎｇ＿ｒｃｖｄ＿ａｃｋ、ｒｂａ＿ｒｃｖｄ＿ａｃｋおよびｔｉｃｋ＿ｒｃｖｄ＿ａｃｋ信号が１つのクロックに対してアサートされるまで、それぞれアサートされる。
【０１１８】
特殊文字を何時でも到着することができ、状態マシーンの実行は、この事実を認識していなければならないことに留意されたい。
ＳＥＲＤＥＳ  Ｒｘ状態マシーンは、ＲＢＦ文字を受信した後の、１２５ＭＨｚクロックのｓｅｒｄｅｓ＿ｒｘ＿ｔｉｍｅ＿ｏｕｔ＿ｉｎｔｅｒｖａｌ［１５：０］カウント中に、ＲＢＡ文字を受信しなかった場合には、タイムアウト機能を実施する。この状態は、ＳＥＲＤＥＳ  Ｔｘ状態マシーンが送信したデータのシンクが、合理的な周期内にその受信ＦＩＦＯを空にしなかったことを意味し、エラー状態を示す（すなわち、予想ＸＯＮ文字が、ＸＯＦＦ文字を見た後で到着すると予想したものよりも長く掛かっていることを示す）。ｓｅｒｄｅｓ＿ｒｘ＿ｔｉｍｅ＿ｏｕｔ＿ｉｎｔｅｒｒｕｐｔ出力がアサートされ、ｓｅｒｄｅｓ＿ｔｉｍｅ＿ｏｕｔ＿ｃｎｔ［７：０］出力が増分増大する。
【０１１９】
Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳデバイスからＳＯＰ文字を受信した場合には、ＳＯＰ文字および以降のデータ文字は、１６ビット・パイプライン・レジスタ内にロードされる。第１の１６ビット語を形成するために、ＳＯＰ文字はゼロで満たされる。（これにより、ＧＧＩ  Ｒｘ状態マシーンに対する受信ＦＩＦＯの出力のところでの３２ビット語への１６ビット語の整合が容易になる）。
【０１２０】
１６ビット・レジスタが満杯になると、このレジスタは、レジスタの出力をｒｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｄａｔａ［１５：０］出力バス上に置くことにより、受信ＦＩＦＯ内にロードされる。ｒｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｅｎａｂｌｅ信号は、データを受信ＦＩＦＯに書き込むために、２つの１２５ＭＨｚクロック周期に対してアサートされる（受信ＦＩＦＯの書込ポートは、６２．５ＭＨｚでクロック制御される）。ＳＯＰ文字およびＥＯＰ文字は、Ｒｘ  ＦＩＦＯ内に書き込まれ、この場合、ｒｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｓｏｐおよびｒｘ＿ｆｉｆｏ＿ｅｏｐ信号は、ｒｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｅｎａｂｌｅ信号と一緒にアサートされる。ｅｏｐ＿ｏｆｆｓｅｔ出力は、ＥＯＰ文字が、低位バイトｒｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｄａｔａ［７：０］に含まれている場合には、「ロウ」になり、ＥＯＰ文字が高位バイトｒｘ＿ｆｉｆｏ＿ｗｒｉｔｅ＿ｄａｔａ［１５：８］内に含まれている場合には、「ハイ」になる。
【０１２１】
ＳＥＲＤＥＳ  Ｒｘ状態マシーンも、状態マシーン・ビットおよび診断リードバック用のレジスタ・ブロックへのいくつかの出力を含むｓｅｒｄｅｓ＿ｒｘ＿ｓｍ［１５：０］出力を発生する。
【０１２２】
受信ＦＩＦＯ
受信ＦＩＦＯは、読取ポートおよび書込ポート用の独立クロックをサポートする。データ幅は両方のポート上で１６ビットである。Ｗｒｉｔｅ＿ｄａｔａ［１５：０］は、ＳＥＲＤＥＳ  Ｔｘ状態マシーンのｐｈｙｃｌｋ（６２．５ＭＨｚ）信号と同様、ｗｒｉｔｅ＿ｃｌｏｃｋ信号の立上り縁部の前でアサートされた場合に、ＦＩＦＯ内に書き込まれる。ｗｒｉｔｅ＿ｅｏｐ入力信号およびｗｒｉｔｅ＿ｓｏｐ入力信号が、パケットの始まりと終わりを区切る（信号は、同時にアサートされない）。ｅｏｐ＿ｏｆｆｓｅｔ入力は、ＥＯＰ文字が、ｗｒｉｔｅ＿ｄａｔａ［１５：８］またはｗｒｉｔｅ＿ｄａｔａ［７：０］内に含まれているかどうかを示す。
【０１２３】
データは、ｒｅａｄ＿ｃｌｏｃｋに同期しているｒｅａｄ＿ｅｎａｂｌｅ信号をアサートすることにより、受信ＦＩＦＯから読み取られる。ｒｅａｄ＿ｃｌｏｃｋは、１０４ＭＨｚでクロック制御されている。このことは、５２ＭＨｚでクロック制御されている、ＧＧＩ  Ｒｘ状態マシーン・ブロックにとって大きな問題である。（ＧＧＩ  Ｒｘ状態マシーンは、複数の１０４ＭＨｚクロック周期に対する、ｒｅａｄ＿ｅｎａｂｌｅを駆動するのを避けなければならないし、ＧＧＩ  Ｒｘ状態マシーンは、１０４ＭＨｚで動作するセクションを有することができることを意味する。別な方法としては、２つの語を読むことができる。何故なら、いずれにしても、３２ビット語を必要とするからである。この場合、ＥＯＰフラッグを、最後の有効な語ＴＢＤを決定するために使用することができる）。
【０１２４】
ｒｅａｄ＿ｓｏｐ出力信号およびｒｅａｄ＿ｅｏｐ出力信号は、Ｖｉｔｅｓｓｅ  ＳＥＲＤＥＳデバイスからのＳＯＰ文字およびＥＯＰ文字を示す。ｒｅａｄ＿ｅｏｐ＿ｏｆｆｓｅｔ出力は、ＥＯＰ文字がｒｅａｄ＿ｄａｔａ［１５：８］またはｒｅａｄ＿ｄａｔａ［７：０］内に位置しているかどうかを示す。受信ＦＩＦＯのｒｅａｄ＿ｄａｔａ［１５：０］出力は、ｒｅａｄ＿ｃｌｏｃｋの次の立上り縁部で有効であり、次の読取動作まで有効である。リセット後、またはＦＩＦＯが空になった後で、受信ＦＩＦＯからの最初のデータ語が有効になる前に、読取動作を行わなければならない。
【０１２５】
受信ＦＩＦＯは、ｒｘ＿ｆｉｆｏ＿ｅｍｐｔｙおよびｒｘ＿ｆｉｆｏ＿ｆｕｌｌフラッグを供給する。空フラッグは、ｒｅａｄ＿ｃｌｏｃｋと同期して発生し、ｆｕｌｌ＿ｆｌａｇは、ｗｒｉｔｅ＿ｃｌｏｃｋに対して発生する。受信ＦＩＦＯは、また、１／１６増分で、すなわち、１／１６充填、２／１６充填、３／１６充填等で、受信ＦＩＦＯの「充填状態」を示すｒｘ＿ｆｉｆｏ＿ｓｔａｔｕｓ［４：０］信号を供給する。ｒｘ＿ｆｉｆｏ＿ｓｔａｔｕｓ［４：０］出力信号は、受信バッファが満杯状態になりつつあり、受信ＦＩＦＯのオーバフロー状態を避けるために、受信ＦＩＦＯのデータ・ストリームのソースを遮断しなければならない場合に、ＲＢＦ（受信バッファ満杯）文字を送信するために、ＳＥＲＤＥＳ  Ｔｘ状態マシーンが使用する。ｒｘ＿ｆｉｆｏ＿ｓｔａｔｕｓ［４：０］出力信号は、受信ＦＩＦＯが、再び受け入れることができる点まで空になった場合に、ＲＢＡ信号を発生するために、ＳＥＲＤＥＳ  Ｔｘ状態マシーン・ブロックにより使用される。
【０１２６】
ｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｐｔｒ［１１：０］信号およびｒｘ＿ｆｉｆｏ＿ｗｒｔ＿ｐｔｒ［１１：０］信号は、それぞれ、ｒｅａｄ＿ｃｌｏｃｋおよびｗｒｉｔｅ＿ｃｌｏｃｋに同期していて、診断読取能力用にレジスタ・ブロックに送られる。未使用の最上位ビットは、ゼロで満たされていなければならない。
【０１２７】
ＧＧＩ  Ｒｘ状態マシーン
ＧＧＩ  Ｒｘ状態マシーンは、同期ＧＧＩ受信バスを通して、データをＬＭＡＣからＸＰＩＦに転送する。データは、１６ビット語で受信ＦＩＦＯから読み取られ、ＧＧＩ受信バス・プロトコルにより、ＸＰＩＦに転送される前に，３２ビット入力としてグループに形成される。
【０１２８】
受信ＦＩＦＯは、同期読取ポートを実施する。ｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｎａｂｌｅ信号は、受信ＦＩＦＯのｒｅａｄ＿ｃｌｏｃｋ入力と同期してアサートされる。受信ＦＩＦＯのｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｄａｔａ［１５：０］出力およびｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｓｏｐ出力、ｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｏｐ出力およびｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｏｐ＿ｏｆｆｓｅｔ出力は、１０４ＭＨｚ  ｒｅａｄ＿ｃｌｏｃｋの次の立上り縁部上で有効になる。連続しているｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｄａｔａ［１５：０］語は、ＧＧＩ受信バスに対する３２ビット語を形成するために連結される。ＧＧＩ  Ｒｘ状態マシーンへのｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｓｏｐ入力がアサートされると、フレームの始まりが表示され、ＲＸＳＯＦ語（ＸＰＩＦ−３００Ａ２のマニュアルの２９ページ）をＧＧＩ受信バス上で生成し、駆動しなければならない。
【０１２９】
ＧＧＩ受信バス・プロトコルは、ＸＰＩＦが１つのＬＭＡＣに接続しているか、または２つのＬＭＡＣに接続しているかにより少し異なる。ＧＧＩ  Ｒｘ状態マシーン・ブロックは、レジスタ・ブロックからのｄｕａｌ＿ｌｍａｃ＿ｍｏｄｅが、２つのプロトコルの中のどちらを必要とするかを決定する。このレベル入力は、アサートされた場合、ＸＰＩＦに送信するフレームを持っている時、ＧＧＩ  Ｒｘ状態マシーンは、ｇｇｉ＿ｒｘ＿ｆａｖ＿  ｌ出力をアサートし（ＸＰＩＦ−３００Ａ２文書の図３０参照）、ＸＰＩＦへのデータ転送をスタートする前にアサートすべきｇｇｉ＿ｒｘ＿ｇｏ＿ｌ信号に対して待機しなければならないことを示す。ｄｕａｌ＿ｌｍａｃ＿ｍｏｄｅがアサート解除される場合には、ＧＧＩ  Ｒｘ状態マシーンは、ｇｇｉ＿ｒｘ＿ｆａｖ＿ｌ信号をアサートしてはならないし、ｇｇｉ＿ｒｘ＿ｇｏ＿ｌ入力を無視しなければならない。
【０１３０】
ｇｇｉ＿ｒｘｖ＿ｌ出力信号は、ｇｇｉ＿ｒｘｄ［３１：０］一方向データ・バス上に有効なデータが存在する時を表示するために、ＧＧＩ  Ｒｘ状態マシーンによりアサートされる。ＧＧＩ送信バスを通して転送されるすべてのパケットの前には、ＴＸＳＯＦおよびｇｇｉ＿ｒｘｖ＿ｌ出力と一緒に、ｇｇｉ＿ｔｘｃ信号のアサートにより表示されるＴＸＥＯＦ制御語が位置する。ＲＸＳＯＦのＵＮＩＦＯフィールドは、レジスタ・ブロックからのｇｇｉ＿ｒｘ＿ｕｎｉｆｏ［７：０］入力と同じものである。ＲＸＥＯＦ語は、ｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｏｐ入力がアサートされ、「ＡＬＮ」フィールド（ビット［２７：２６］）が、受信ＦＩＦＯのｒｘ＿ｆｉｆｏ＿ｒｅａｄ＿ｅｏｐ＿ｏｆｆｓｅｔ入力から分割されるときに生成される。ＧＧＩ  Ｒｘ状態マシーンは、ｇｇｉ＿ｒｘ＿ｆｕｌｌ＿ｌ信号がアサートされる場合に、ＸＰＩＦへのデータ転送を中止しなければならない。転送を中止したり、スタートする場合には、クロック２つ分の待ち時間が発生する。受信ＦＩＦＯは、フレーム受信中に、数回空の状態になる場合がある。ＧＧＩ  Ｒｘ状態マシーンは、ｇｇｉ＿ｒｘｄ［３１：０］バス上に有効なデータが存在しない場合には、ｇｇｉ＿ｒｘｖ＿ｌ出力を駆動してはならない。
【０１３１】
ｇｇｉ＿ｒｘｐ出力は、ｇｇｉ＿ｒｘｄ［３１：０］およびｇｇｉ＿ｒｘｃ出力上に発生する奇数パリティである。ｇｇｉ＿ｒｘ＿ｓｍ［１５：０］バスは、診断読取能力用のレジスタ・ブロックへのＧＧＩ  Ｒｘ状態マシーンのすべての状態マシーン・ビット（および恐らくいくつかの出力）を含む。
【０１３２】
受信チック送信チック・ブロック
受信チック送信チック・ブロックは、ＳＥＲＤＥＳ  Ｒｘ状態マシーンによる連続しているＴＩＣＫ（Ｋ２３．７）文字の受信間の時間間隔が、ｔｉｃｋ＿ｒｃｖｄ信号が示す通りであることを決定するために、ハードウェア施設を提供する。ＴＩＣＫ文字の到着時間のジッタは、受信し平均をとる複数のＴＩＣＫ文字に対する時間間隔を決定することにより減衰させることができる。レジスタ・ブロックからのｒｃｖ＿ｔｉｃｋ＿ｄｅｃ＿ｃｏｕｎｔ［９：０］入力は、ＳＥＲＤＥＳ  Ｒｘ状態マシーンが受信するＴＩＣＫ文字に対する、「デシメーション周波数」または平均間隔を定義する。例えば、ｒｃｖ＿ｔｉｃｋ＿ｄｅｃ＿ｃｏｕｎｔ［９：０］＝０００００００００１である場合には、１２５ＭＨｚで動作している自励２４ビット・カウンタの内容は、ＳＥＲＤＥＳ  Ｒｘ状態マシーンが各ＴＩＣＫ文字を受信する度に登録される。ｒｃｖ＿ｔｉｃｋ＿ｄｅｃ＿ｃｏｕｎｔ［９：０］入力＝００００００１１１１である場合には、１２５ＭＨｚで動作している自励２４ビット・カウンタの内容は、ＳＥＲＤＥＳ  Ｒｘ状態マシーンが１５番目のＴＩＣＫ文字を受信する度に登録される。ｒｃｖ＿ｔｉｃｋ＿ｉｎｔｅｒｒｕｐｔ信号は、ｒｃｖ＿ｔｉｃｋ＿ｄｅｃ＿ｃｏｕｎｔ［９：０］により指定されたＴＩＣＫの数を受信した場合に、いくつかのクロック（正確な数ＴＢＤ）にアサートされ、自励２４ビット・カウントの値が、ｒｃｖ＿ｔｉｃｋ＿ｉｎｔｅｒｖａｌ［２３：０］上に出力される。次に、受信ＴＩＣＫ文字の数をカウントするカウンタが、クリアされ、この処理が反復して行われる。
【０１３３】
受信チック送信チック・ブロックは、また、ＳＥＲＤＥＳ  Ｔｘ状態マシーンが送信した連続しているＴＩＣＫ（Ｋ２３．７）文字間の時間間隔が、ｓｅｎｄ＿ｔｉｃｋ信号が示す通りであることを決定するためのハードウェア施設を提供する。ＴＩＣＫ文字は、ＳＥＲＤＥＳ  Ｔｘ状態マシーンにより、ｓｅｎｄ＿ｔｉｃｋ入力の（多かれ少なかれ）立上り縁部上で送信される。ｓｅｎｄ＿ｔｉｃｋ信号は、８ｋＨｚの方形波である。レジスタ・ブロックからのｔｘ＿ｔｉｃｋ＿ｄｅｃ＿ｃｏｕｎｔ［９：０］入力は、ＳＥＲＤＥＳ  Ｔｘ状態マシーンが送信するＴＩＣＫ文字に対する、「デシメーション周波数」または平均時間間隔を定義する。例えば、ｔｘ＿ｔｉｃｋ＿ｄｅｃ＿ｃｏｕｎｔ［９：０］＝０００００００００１である場合には、１２５ＭＨｚで動作している自励２４ビット・カウンタ（ＳＥＲＤＥＳ  Ｒｘ状態マシーンが受信するＴＩＣＫ文字をカウントする際に使用されるのと同じ自励カウンタ）の内容は、ＳＥＲＤＥＳ  Ｒｘ状態マシーンにより、ｓｅｎｄ＿ｔｉｃｋ文字の立上り縁部上に登録される。ｔｘ＿ｔｉｃｋ＿ｄｅｃ＿ｃｏｕｎｔ［９：０］入力＝００００００１１１１である場合には、１２５ＭＨｚで動作している自励２４ビット・カウンタ（ｔｉｃｋ＿ｒｃｖｄ信号をカウントするために使用する同じ自励カウンタ）の内容は、ＳＥＲＤＥＳ  Ｒｘ状態マシーンが送信する１５番目の各ＴＩＣＫ文字（すなわち、ｓｅｎｄ＿ｔｉｃｋ入力の１５番目のアサート）の送信の度に登録される。ｓｅｎｄ＿ｔｉｃｋ＿ｉｎｔｅｒｒｕｐｔ信号は、いくつかのクロックに対してアサートされる（正確な数ＴＢＤ。受信送信チック・ブロックおよびレジスタ・ブロックは、異なるクロック領域内に位置し）、ｔｘ＿ｔｉｃｋ＿ｄｅｃ＿ｃｏｕｎｔ［９：０］が指定したＴＩＣＫの数が送信された場合、自励２４ビット・カウントの登録値は、ｓｅｎｄ＿ｔｉｃｋ＿ｉｎｔｅｒｖａｌ［２３：０］バス上に出力される。次に、送信ＴＩＣＫ文字の数をカウントするカウンタがクリアされ、この処理が反復して行われる。
【０１３４】
ＳＥＲＤＥＳ受信エラー・ブロック
ＳＥＲＤＥＳ受信エラー・ブロックは、エラー・カウンタおよびＳＥＲＤＥＳ受信インタフェースのための統計を維持する。ｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ入力がアサートされた場合、エラー・タイプが、ｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ＿ｔｙｐｅ［２：０］により表示される。新しいエラー・タイプが、各クロック周期（１２５ＭＨｚ）中に表示され得る。
【０１３５】
【表２】
2004522329.tif 000004
アンダーラン／オーバーラン・エラー、帯域外エラーおよびディスパリティ・エラーの数をカウントするために、別の１６ビット・カウンタが使用される。これらのカウンタの値は、ｕｎｄｅｒ＿ｒｕｎ＿ｅｒｒｃｎｔ［１５：０］、ｏｕｔ＿ｏｆ＿ｂａｎｄ＿ｅｒｒｃｎｔ［１５：０］およびｄｉｓｐａｒｉｔｙ＿ｅｒｒｃｎｔ［１５：０］上にそれぞれ出力される。
【０１３６】
同期喪失エラーが検出された場合、同期喪失エラーが依然として存在する、連続しているクロック周期の数がカウントされる。（この（１６ビット）カウンタを実施する合理的な方法は、ｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ信号がアサートされない場合またはｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ＿ｔｙｐｅが同期喪失とは異なる場合に、カウンタをリセットし、ｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ入力がアサートされｓｅｒｄｅｓ＿ｅｒｒ＿ｔｙｐｅが同期の喪失を示している場合に、このカウンタを増分増大するという方法である。）このカウンタのカウント値は、ｌｏｓ＿ｉｎｔｅｒｖａｌ［１５：０］として出力される。
【０１３７】
「再同期中（ｉｎ  ｒｅｓｙｎｃ）」エラーが検出された場合、「再同期中」エラーが依然として存在している連続しているクロック周期の数がカウントされる。（この（１６ビット）カウンタを実施する合理的な方法は、ｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ信号がアサートされない場合、またはｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ＿ｔｙｐｅが、「再同期中」エラー状態とは異なる場合に、カウンタをリセットし、ｓｅｒｄｅｓ＿ｒｘ＿ｅｒｒ入力がアサートされ、ｓｅｒｄｅｓ＿ｅｒｒ＿ｔｙｐｅが「再同期状態（ｉｎ  ｒｅｓｙｎｃ  ｓｔａｔｅ）」を示している場合に、このカウンタを増分増大するという方法である）。このカウンタのカウント値は、ｌｏｓｓ＿ｏｆ＿ｆｓｙｎｃ＿ｉｎｔｅｒｖａｌ［１５：０］として出力される。
【０１３８】
「再動機中」エラー状態に入り、そこから抜け出した場合、ｌｏｓｓ＿ｏｆ＿ｆｓｙｎｃ＿ｓｔａｔｅ＿ｃｈｎｇ＿ｉｎｔ信号が、指定されていないクロックの数に対してアサートされる。
【０１３９】
ピン（Ｐｉｎｇ）タイマ・ブロック
ピン・タイマ・ブロックは、周期的に、ＳＥＲＤＥＳ  Ｔｘ状態マシーンによりＰＩＮＧ文字の送信をトリガする。ｓｅｎｄ＿ｔｉｃｋ入力は、８ｋＨｚ公称方形波である。レジスタ・ブロックからのｐｉｎｇ＿ｉｎｔｅｒｖａｌ［７：０］は、ＰＩＮＧ文字が、ＰＩＮＧ間の最短の１２５μｓから最長の約２５５＊１２５μｓ＝３２ｍｓへ送信される周波数を定義する。ｓｅｎｄ＿ｐｉｎｇ出力は、ｓｅｎｄ＿ｔｉｃｋ入力のｐｉｎｇ＿ｉｎｔｅｒｖａｌ［７：０］の数をカウントすることにより発生する。
【０１４０】
ｓｅｎｄ＿ｐｉｎｇ出力がアサートされると、（１２５ＭＨｚ時間をベースとする）自励カウンタが登録され、ｐｉｎｇ＿ｔｉｍｅ［１５：０］上に出力される。ｐｏｎｇ＿ｒｃｖｄ入力がアサートされると、同じ自励カウンタが登録され、ｐｏｎｇ＿ｔｉｍｅ［１５：０］上に出力される。
【０１４１】
ＬＭＡＣプログラマ用マニュアル
このレジスタ・マップは、ＬＭＡＣのバージョン０．０に適用される。すべてのレジスタは、１６ビット幅であるが、１つのレジスタのすべてのビットを実施する必要はない。電源をオンにすると、すべてのレジスタがクリアされる。定義されていないレジスタ・ビット・フィールドをリードバックした場合、値は「０」である。括弧内のデータ・ビットは、ｐｐｃ８６０モード内のビットを反映している。２つのＬＭＡＣブロックが同じＦＰＧＡ内に含まれている場合には、ＭＰＡＤ［０］が、制御レジスタの１つのバンクおよび他のバンク間で選択する。
【０１４２】
１．０  ＬＭＡＣ制御レジスタ    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ００００
【０１４３】
【表３】
2004522329.tif 000005
１．１  ＧＭＡＣアドレス・レジスタ    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ０００１
【０１４４】
【表４】
2004522329.tif 000006
ＲＸ＿ＵＮＩＦＯおよびＴＸ  ＧＭＡＣアドレス・フィールドは、通常の動作においては、同じものでなければならない。
【０１４５】
１．２  ＰＩＮＧタイマ・レジスタ    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ０００２
【０１４６】
【表５】
2004522329.tif 000007
１．３  最後のピン（Ｐｉｎｇ）送信レジスタの時間    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００３
【０１４７】
【表６】
2004522329.tif 000008
１．４  ポン（Ｐｏｎｇ）受信時間レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００４
【０１４８】
【表７】
2004522329.tif 000009
１．５  ＳＥＲＤＥＳ信号喪失間隔レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００５
【０１４９】
【表８】
2004522329.tif 000010
１．６  ＳＥＲＤＥＳ受信同期喪失間隔レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００６
【０１５０】
【表９】
2004522329.tif 000011
１．７  ＳＥＲＤＥＳ受信アンダーラン／オーバーラン・レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００７
【０１５１】
【表１０】
2004522329.tif 000012
１．８  ＳＥＲＤＥＳ帯域外エラー・レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００８
【０１５２】
【表１１】
2004522329.tif 000013
１．９  ＳＥＲＤＥＳディスパリティ・エラー・レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００９
【０１５３】
【表１２】
2004522329.tif 000014
１．１０  デシメーション受信チック・カウント・レジスタ    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ０００Ａ
【０１５４】
【表１３】
2004522329.tif 000015
１．１１  デシメーション送信チック・カウント・レジスタ    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ０００Ｂ
【０１５５】
【表１４】
2004522329.tif 000016
１．１２  送信チック間隔レジスタＨＩ    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ０００Ｃ
【０１５６】
【表１５】
2004522329.tif 000017
１．１３  送信チック間隔レジスタＬＯ    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ０００Ｄ
【０１５７】
【表１６】
2004522329.tif 000018
１．１４  受信チック間隔レジスタＨＩ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００Ｅ
【０１５８】
【表１７】
2004522329.tif 000019
１．１５  受信チック間隔レジスタＬＯ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ０００Ｆ
【０１５９】
【表１８】
2004522329.tif 000020
１．１６  受信ＳＥＲＤＥＳ状態マシーン・タイムアウト    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ００１０
【０１６０】
【表１９】
2004522329.tif 000021
１．１７  送信ＳＥＲＤＥＳ状態マシーン・タイムアウト    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ００１１
【０１６１】
【表２０】
2004522329.tif 000022
１．１８  送信ＳＥＲＤＥＳ  ＳＭタイムアウト・エラー・カウンタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１２
【０１６２】
【表２１】
2004522329.tif 000023
１．１９  受信ＳＥＲＤＥＳ  ＳＭタイムアウト・エラー・カウンタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１３
【０１６３】
【表２２】
2004522329.tif 000024
１．２０  ＰＨＹ制御レジスタ    Ｒ／Ｗ    ＭＰＡＤ［０：１０］＝０ｘ００１４
【０１６４】
【表２３】
2004522329.tif 000025
１．２１  ＰＨＹ状態レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１５
【０１６５】
【表２４】
2004522329.tif 000026
１．２２  受信ＦＩＦＯデータ・レジスタＨＩ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１６
【０１６６】
【表２５】
2004522329.tif 000027
１．２３  受信ＦＩＦＯ書込ポインタ・レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１７
【０１６７】
【表２６】
2004522329.tif 000028
１．２４  受信ＦＩＦＯ読取ポインタ・レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１８
【０１６８】
【表２７】
2004522329.tif 000029
１．２５  ＴＸ  ＦＩＦＯデータ・レジスタＨＩ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１９
【０１６９】
【表２８】
2004522329.tif 000030
１．２６  ＴＸ  ＦＩＦＯデータ・レジスタＬＯ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１Ａ
【０１７０】
【表２９】
2004522329.tif 000031
１．２７  ＴＸ  ＦＩＦＯ書込ポインタ・レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００１Ｂ
【０１７１】
【表３０】
2004522329.tif 000032
１．２８  送信ＦＩＦＯ読取ポインタ・レジスタ    ＲＯ    ＭＰＡ  Ｄ［０：１０］＝０ｘ００１Ｃ
【０１７２】
【表３１】
2004522329.tif 000033
１．２９  ＳＥＲＤＥＳ送信状態マシーン    Ｒ／Ｏ    ＭＰＡ  Ｄ［０：１０］＝０ｘ００１Ｄ
【０１７３】
【表３２】
2004522329.tif 000034
１．３０  ＳＥＲＤＥＳ受信状態マシーン    Ｒ／Ｏ    ＭＰＡ  Ｄ［０：１０］＝０ｘ００１Ｅ
【０１７４】
【表３３】
2004522329.tif 000035
１．３１  ＧＧＩ送信状態マシーン    Ｒ／Ｏ    ＭＰＡ  Ｄ［０：１０］＝０ｘ００１Ｆ
【０１７５】
【表３４】
2004522329.tif 000036
１．３２  ＧＧＩ受信状態マシーン    Ｒ／Ｏ    ＭＰＡＤ［０：１０］＝０ｘ００２０
【０１７６】
【表３５】
2004522329.tif 000037
１．３３  中断レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００２１
【０１７７】
【表３６】
2004522329.tif 000038
このレジスタを読むと、レジスタはクリアされる。
１．３４  中断マスク・レジスタ    ＲＯ    ＭＰＡＤ［０：１０］＝０ｘ００２２
【０１７８】
【表３７】
2004522329.tif 000039
【０１７９】
本発明の一実施形態を実施するために使用するハードウェアの上記説明を読めば、通常の当業者であれば、十分本発明を製造することができる。何故なら、パケット交換およびルーティング用の一般的なハードウェアは、周知のものであるからである。当業者であれば、ＭＡＣ、パケット・プロセッサ、ＣＰＵ４６および上記ステップを実施するための他の機能ユニットを容易にプログラムすることができる。上記ステップを実行するために、ファームウェアまたはソフトウェアを使用することもできる。
【０１８０】
本発明の特定の実施形態を図示し説明してきたが、当業者であれば、広義の態様の本発明から逸脱することなしに、種々の変更および修正を行うことができることは、明らかであろう。それ故、特許請求の範囲は、本発明の真の精神および範囲に入るすべてのそのような変更および修正をその範囲内に含むものとする。
【図面の簡単な説明】
【図１Ａ】
所与の仮想ネットワークに属するＳＯＮＥＴリング相互接続デバイスの一例である。この図は、太線で仮想ネットワークに接続している仮想ネットワーク外部の２つのデバイスも示す。ネットワーク内の同期経路は、点線で示してある。
【図１Ｂ】
所与の仮想ネットワークに属する非同期リング相互接続デバイスの一例である。この図は、太線で仮想ネットワークに接続している仮想ネットワーク外部の２つのデバイスも示す。ネットワーク内の同期経路は、点線で示してある。
【図２Ａ】
同期記号の優先挿入を行わないＭＡＣ層データ・フレームの送信の一例である。
【図２Ｂ】
同期記号の優先挿入を行うＭＡＣ層データ・フレームの送信の一例である。
【図３】
ＬＭＡＣイネーブル仮想ネットワークのデバイス内の関連機能ユニットである。
【図４】
仮想メッシュ・ネットワーク内の同期記号配信用の同期経路である。
【図５】
図３の従属インタフェースのさらに詳細な図面である。
【図６】
図３の切替カードのさらに詳細な図面である。
【図７】
図５の切替カード上の同期モジュールのさらに詳細な図面である。
【図８】
ＬＭＡＣのＦＰＧＡ実装を示す。
【図１Ａ】
2004522329.tif 000040
【図１Ｂ】
2004522329.tif 000041
【図２Ａ】
2004522329.tif 000042
【図２Ｂ】
2004522329.tif 000043
【図３】
2004522329.tif 000044
【図４】
2004522329.tif 000045
【図５】
2004522329.tif 000046
【図６】
2004522329.tif 000047
【図７】
2004522329.tif 000048
【国際公開パンフレット】
2004522329.tif 000049
2004522329.tif 000050
2004522329.tif 000051
2004522329.tif 000052
2004522329.tif 000053
2004522329.tif 000054
2004522329.tif 000055
2004522329.tif 000056
2004522329.tif 000057
2004522329.tif 000058
2004522329.tif 000059
2004522329.tif 000060
2004522329.tif 000061
2004522329.tif 000062
2004522329.tif 000063
2004522329.tif 000064
2004522329.tif 000065
2004522329.tif 000066
2004522329.tif 000067
2004522329.tif 000068
2004522329.tif 000069
2004522329.tif 000070
2004522329.tif 000071
2004522329.tif 000072
2004522329.tif 000073
2004522329.tif 000074
2004522329.tif 000075
2004522329.tif 000076
2004522329.tif 000077
2004522329.tif 000078
2004522329.tif 000079
2004522329.tif 000080
2004522329.tif 000081
2004522329.tif 000082
2004522329.tif 000083
2004522329.tif 000084
2004522329.tif 000085
2004522329.tif 000086
2004522329.tif 000087
2004522329.tif 000088
2004522329.tif 000089
2004522329.tif 000090
2004522329.tif 000091
2004522329.tif 000092
2004522329.tif 000093
2004522329.tif 000094
2004522329.tif 000095
2004522329.tif 000096
2004522329.tif 000097
2004522329.tif 000098
2004522329.tif 000099
2004522329.tif 000100
2004522329.tif 000101
2004522329.tif 000102
2004522329.tif 000103
2004522329.tif 000104
2004522329.tif 000105
2004522329.tif 000106
2004522329.tif 000107
2004522329.tif 000108
2004522329.tif 000109
2004522329.tif 000110
2004522329.tif 000111
2004522329.tif 000112
2004522329.tif 000113
2004522329.tif 000114
2004522329.tif 000115
2004522329.tif 000116
2004522329.tif 000117
2004522329.tif 000118
2004522329.tif 000119
2004522329.tif 000120
2004522329.tif 000121
2004522329.tif 000122
2004522329.tif 000123
2004522329.tif 000124
2004522329.tif 000125
2004522329.tif 000126
2004522329.tif 000127
2004522329.tif 000128
2004522329.tif 000129
2004522329.tif 000130
【国際公開パンフレット（コレクトバージョン）】
2004522329.tif 000131
【国際調査報告】
2004522329.tif 000132
2004522329.tif 000133
2004522329.tif 000134
2004522329.tif 000135