(57)【特許請求の範囲】
【請求項１】
システムであって、
ｎ個の伝送チャネルであって、ｎが１より大きい、ｎ個の伝送チャネルと、
前記ｎ個の別々のチャネル上で伝送されるデータをコード化するエンコーダであって、前記エンコーダが、ビット・ストリームを３ビット・パターンのグループに区分する第１回路を含む、エンコーダと、
３ビット・パターンのグループごとに４ビット・パターンを生成する第２回路と、
伝送のために、各４ビット・パターンの連続する対のビットをフレーミング内の前記ｎ個の別々のチャネルの異なる１つに順次同一のクロック・サイクルまたは隣接するクロック・サイクルにラウンドロビン式に拡散する第３回路と
を含むシステム。
【請求項２】
さらに、前記システムは、インターフェース内の異なるチャネルから４ビットのグループを受け取り、４ビットの前記グループを直列ビット・ストリームに変換するデコーダを含み、
前記デコーダは、
前記４ビットの各グループを３ビットの対応するグループに変換する第４回路と、
前記３ビットの各グループを前記直列ビット・ストリームに変換する第５回路と
を含む、請求項１に記載のシステム。
【請求項３】
データを伝送する方法であって、
（ａ）ｎ個の伝送チャネルを設ける動作であって、ｎ＞１である、動作と、
（ｂ）伝送されるデータの３ビット・パターンのグループごとに、前記チャネルによってトランスポートされる４ビット・パターンのグループを提供する動作と、
（ｃ）４ビット・パターンの連続する各対のビットが、フレーミング内の前記ｎ個の伝送チャネルの別々の１つに順次同一のクロック・サイクルまたは隣接するクロック・サイクルにラウンドロビン式に拡散される形で、４ビット・パターンの前記グループのそれぞれを分配する動作と
を含む方法。
【請求項４】
さらに、フレーミング・パターンの対を用いて、前記別々のチャネル上に拡散された情報の単位を示す、請求項３に記載の方法。
【請求項５】
前記フレーミング・パターンのそれぞれが、「１１」パターンを含む、請求項４に記載の方法。
【請求項６】
前記「１１」フレーミング・パターンの後に分配される最初の４ビット・パターンが、前記フレーミング・パターンを搬送するもの以外の別々の伝送チャネルに分配される、請求項５に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、全般的には通信ネットワークに関し、具体的には前記通信ネットワークに結合されたデバイス内の構成要素を相互接続するのに使用される装置および技法に関する。
【０００２】
【従来の技術】
通信デバイスの急増が、ある製造業者の機器を別の製造業者の機器に相互接続するために製造業者が順守を余儀なくされる均一の標準規格の必要をもたらした。標準規格は、通常は必須でない。しかし、採択された標準規格に準拠しない機器の製造業者は、他の製造業者の機器と通信することができない可能性がある。その結果、準拠しない製造業者の機器の売上は、準拠する場合より少なくなる可能性がある。
【０００３】
その結果、製造業者が、特定の技術に関係する標準規格を公布する作業グループを形成することが、産業界の一般的な実践である。Optical Internetworking Forum（ＯＩＦ）が、OC-192 System Interface forPhysical and Link Layer Devicesの標準規格を公布するそのような作業グループの１つである。このインターフェースを、ＳＰＩ−４インターフェースと称することがしばしばであり、これは、集約帯域幅アプリケーションのために物理層（ＰＨＹ）デバイスを１０Ｇｂｐｓリンク層デバイスに相互接続する。ＳＰＩ−４インターフェースの詳細は、ＯＩＦ文書、表題「SystemPacket Interface Level 4 (SPI-4) Phase 2: OC-192 System Interface for Physicaland Link Devices」またはその後継文書に記載されている。
【０００４】
本発明が開発された背景を設定するために、ＳＰＩ−４インターフェース標準規格を図１に関して説明する。ＳＰＩ−４インターフェース１０は、ＰＨＹデバイス１２をリンク層デバイス１４に結合するポイントツーポイント・インターフェースである。リンク層デバイス１４には、送信リンク層デバイスおよびレシーバ・リンク層デバイスが含まれる。ＳＰＩ−４インターフェース１０には、送信データ・クロック（ＴＤＣＬＫ）、送信データ（ＴＤＡＴ）、および送信制御（ＴＣＴＬ）が含まれる。名前を指定された信号は、送信リンク層デバイスからＰＨＹデバイス１２への信号である。同様に、ＳＰＩ−４インターフェース１０には、ＰＨＹデバイス１２から受信リンク層デバイスへの受信データ・クロック（ＲＤＣＬＫ）、受信データ（ＲＤＡＴ）、および受信制御（ＲＣＴＬ）が含まれる。ＲＤＣＬＫ、ＲＤＡＴ、およびＲＣＴＬに関連するのが、ＲＳＴＡＴおよびＲＳＣＬＫである。ＲＳＴＡＴは、受信リンク・デバイスからＰＨＹデバイス１２にステータス情報を送信する２ビット・チャネルである。この２ビット・チャネルに関連するクロック信号が、ＲＳＣＬＫでトランスポートされる。ＴＤＣＬＫ、ＴＤＡＴ、およびＴＣＴＬに関連する、ＴＳＴＡＴという符号を付けられた２ビット・チャネルおよびＴＳＣＬＫという符号を付けられたクロック信号線が、ＰＨＹデバイス１２から送信リンク層デバイスにステータス情報を運ぶ。図１の矢印は、情報が流れる方向を示す。
【０００５】
ＲＳＴＡＴチャネル、ＲＳＣＬＫ、ＴＳＴＡＴ、およびＴＳＣＬＫは、下で示す本発明に関係する。その結果、さらなる議論は、これに制限される。流れの方向を除いて、ＴＳＣＬＫおよびＴＳＴＡＴと、ＲＳＴＡＴおよびＲＳＣＬＫの特性および機能は、同一である。したがって、説明が両方の対に関係することを理解しての上で、１組だけを説明する。
【０００６】
【発明が解決しようとする課題】
標準規格で定義されているように、ステータス・チャネル（ＴＳＴＡＴまたはＲＳＴＡＴ）は、４つの一意のビット・パターン００、０１、１０、および１１を有する２ビット・ディジタル・チャネルである。ビット・パターン「１１」は、同期文字であり、有用な情報を送るのに使用することはできない。実際、３つのビット・パターン００、０１、および１０だけが、有用な情報の転送に使用可能である。しかし、２ビット・ステータス・チャネル上でより複雑な情報を送るために、３つを超える２ビット独立ビット・パターンが必要になるステータスが複数存在する。その結果、「１１」同期化ビット・パターンを変更するなど、２ビット・ステータス・チャネルの特性を変更せずに、２ビット・ステータス・チャネル上でより多くの独立ビット・パターンを提供する必要がある。
【０００７】
さらに、ステータス・チャネル上で情報を送るために、より多くの帯域幅が必要になる時がある。
【０００８】
【課題を解決するための手段】
本発明は、ｎ個の２ビット・チャネル（ｎは２以上）を含むスケーラブルなインターフェースを提供することによって、ステータス・チャネルの帯域幅を増やす。送られる情報は、ｎ個のチャネルに分配される。帯域幅の増加は、上で識別された文書に記載のクロッキングまたは「１１」同期ビット・パターンを変更せずに達成される。ビット・パターンは、データを送るのに、パターンのある位置に配置される「１１」を有する所定のビット・パターンを使用せずに、３ｂ／４ｂコード化を使用することによって増やされる。
【０００９】
具体的に言うと、２ビット・チャネルで送られるデータのディジタル・ストリームが、３ビットのグループに区分され、このグループが、４ビットにエンコードされ、４ビットの各対が、同一のクロック・サイクルまたはバックツーバック・クロック・サイクルを使用して異なる２ビット・チャネル上で転送される。隣接する「１１」を有する選択されたビット・パターンは、破棄され、２ビット・チャネル上での情報送信に使用されない。連続するクロック・サイクルが、コード化された４ビットの対を異なる２ビット・チャネルにゲーティングするのに使用される。
【００１０】
クロック・サイクルを使用して、「１１」フレーミング・パターンを２ビット・チャネルの１つにゲーティングすることによって、効率がさらに高まり、送信される４ビット・パターンの組の第１の４ビット・パターンが、インターフェース内の他の２ビット・チャネルに分配され、同一のクロック・サイクルによってゲーティングされる。その後、送信されるパターンの組の他の４ビット・パターンを、ラウンド・ロビン式にインターフェースのチャネルに分配し、インターフェース内の２ビット・チャネルを同時に動作させる。
【００１１】
【発明の実施の形態】
実施形態では、図１から７および関連する説明によって、２ビット・チャネルおよび前記２ビット・チャネルでの３ｂ／４ｂコード化を扱い、図８から図１０および関連する説明によって、スケーラブル・インターフェースを扱う。このインターフェースがスケーラブルであるのは、２ビット・チャネルを追加してそれらに同時に動作させることによってより幅広くすることができるから、または、２ビット・チャネルを除去するか非活動化することによってインターフェースをより狭くすることができるからである。
【００１２】
図２（Ａ）、（Ｂ）、および（Ｃ）に、本発明の教示によるコード化方式のグラフ表現を示す。図２（Ａ）に、ステータス・チャネルに関連し、ステータス・チャネル上のビットの輪郭を描くタイミング信号を送信するタイミング・チャネル上で送信されるクロックを示す。図２（Ａ）に示されているように、タイミング・チャネル上のクロック・パルスの２つの連続するサイクルが、ステータス・チャネルの４つの送信されるビット・パターンのそれぞれをゲーティングするのに使用される。
【００１３】
図２（Ｂ）に、ビットＡおよびビットＢという符号を付けられたステータス・チャネルを図示する。ステータス・チャネルは、送信のソースからシンクへステータス情報を送信する。送信リンク層デバイスからＴＤＣＬＫ、ＴＤＡＴ、およびＴＣＴＬを介してＰＨＹデバイスに送信される信号について図１を参照すると、送信リンク層デバイスが、ソースであり、ＰＨＹデバイスが、シンクである。同様に、ＰＨＹデバイスから受信リンク層デバイスへＲＤＣＬＫ、ＲＤＡＴ、およびＲＣＴＬを介して送信される信号について、ＰＨＹデバイスがソースであり、受信リンク層デバイスがシンクである。
【００１４】
図２を参照すると、ステータス・チャネルは、ＳＰＩ−４インターフェースに記載の２ビット・チャネルである。このチャネルは、２本のワイヤ、光学媒体、または他のタイプの伝送媒体とすることができる。このチャネルは、チャネル内のデータ構造のフレーミングまたは区切りに使用される「１１」ビット対を送信する。このチャネル上のデータ伝送は、２つの連続するクロック・サイクルに伝送される２つの対で伝送される４ｂパターンとしてコード化される。たとえば、伝送パターンは、対で伝送されるｂ１ｂ２ｂ３ｂ４である。その結果、すべての伝送パターンについて、ｂ１ｂ２が、最初のサイクルに転送され、第２の連続するサイクルのｂ３ｂ４が、それに続く。これは、３ビット４ビット・コード化方式なので、チャネルで伝送される３ビットの各グループが、４ビットにコード化される。たとえば、２進値（図２）という符号を付けられた２進文字のストリングが、２ビット・チャネルを介して伝送される場合に、このストリングは、まず、３ビットのグループ（ａ１  ａ２  ａ３）に区分される。図２では、最初のグループが「０００」であり、第２のグループが「０１１」であり、第３のグループが「００１」である。２進長さが２４ビットなので、８つの３ビット２進パターンが、生成され、各３ビット２進パターンが、４ビットにエンコードされ、チャネル上で伝送される。受信側では、この逆が実行される。４ビットが、チャネルから受け取られ、３ビットにデコードされ、ディジタル・ストリングに逆変換される。
【００１５】
図２（Ｃ）に、２進パターンおよびコード化パターンのコード・テーブルを示す。２進パターンのそれぞれに、３ビット（ａ１ａ２ａ３）が含まれる。３ビットがグループ内にあるので、独立の２進パターンの数は、２３＝８個になる。「０００」から「１１１」までの８つの値が、テーブルに示されている。テーブルには、コード化パターンも示されている。類似する形で、４ビットから生成される独立のコード化パターンの数は、２４＝１６個になる。しかし、１６個の一意のパターンのすべてを使用することはできない。というのは、「１１」が、フレーミング・パターンであり、ステータス・チャネルで伝送されるコード化パターンのある位置に現れることができないからである。その結果、フレーミング・パターン「１１」が、ｂ１ｂ２またはｂ３ｂ４に存在することができない。しかし、このパターンは、テーブルのｃ５に示されているように、ｂ２ｂ３に存在することができる。適格でないコード化パターンを１６個の使用可能なコード化パターンから除去する時に、コード化されたテーブルに示された８つのパターンが、ステータス・チャネルでの情報伝送に使用可能になる。情報の伝送に使用可能でないコード化パターンには、００１１、０１１１、１０１１、１１００、１１０１、１１１０、および１１１１が含まれる。１０１０が、適格パターンであるが、コード・テーブル内で使用されていないことに留意されたい。
【００１６】
図２（Ｃ）からわかるように、エンコードという符号を付けられた矢印は、左から右へ進み、２進パターンのそれぞれが特定の４ビット・パターンにコード化されることを示す。同様に、デコードは、右から左へ進み、コード化パターンのそれぞれが、テーブルに示された対応する３ビット２進パターンにデコードされることを示す。したがって、ディジタル・ストリングを３ビットに区分することによって、３ビットから４ビットへのコード化および２ビット・ステータス・チャネルでの４ビットの伝送によって、大量の情報を２ビット・チャネル上で伝送できる機構がもたらされる。これは、従来技術のＳＰＩ−４  ２ビット・チャネルが行えなかったことである。したがって、本発明は、ＳＰＩ−４標準規格に示された従来技術の方式を大幅に改善し、価値を追加する。
【００１７】
図３に、本発明が実施されるネットワーク・デバイス２０を示す。ネットワーク・デバイス２０は、スイッチ・ルータまたは他の普通のネットワーク・デバイスとすることができる。ネットワーク・デバイス２０には、ハウジング２２が含まれ、このハウジング２２内に、１からＮ、Ｎ−１、Ｎ−２の符号を付けられた複数のブレードが取り付けられる。ブレードは、スイッチ・ファブリック２３によって相互接続される。管理ブレード１を除いて、ブレードは、適当なネットワーク・インターフェースを介して異なるタイプの通信ネットワークに相互接続される。たとえば、図３および４では、ブレードＮ−１が、メディア・インターフェース２４を介して適当な通信ネットワークに接続される。具体的に言うと、メディア・インターフェース２４は、「Packet over SONET（ＰＯＳ）フレーマ」という符号を付けられ、これは、光ネットワークとの間で情報を処理するインターフェースである。同様に、「イーサネット（Ｒ）ＭＡＣ」というラベルを付けられたインターフェース２６は、イーサネット（Ｒ）・ネットワークとの通信を処理する。管理ブレード１は、ネットワーク・デバイス全体の管理を提供する。この目的のために、管理ブレードに、他のブレードによって実行することができない１つまたは複数の管理機能の、すべてではないとしてもほとんどを実行する、制御点サブシステム２８が含まれる。制御点サブシステム２８によって提供される機能は、当技術分野で周知であり、したがって、この機能のこれ以上の説明は与えない。制御点サブシステム２８を、図４に示された汎用コンピュータとすることができると述べるだけで十分である。
【００１８】
しばらく図４に移ると、制御点サブシステム２８には、バス３０が含まれ、このバス３０に、ＲＯＭ３２、ＲＡＭ３４、入出力アダプタ３６、およびＣＰＵ３８が接続される。ＲＡＭは、システムによってスクラッチ・パッドとして使用されるが、ＲＯＭには命令が保管される。入出力アダプタ３６は、マウス、キーボード、スキャナなどの外部デバイスを接続するのに使用することができる。ＣＰＵ３８には、オペレーティング・システム、ドライバ、およびアプリケーション・プログラムが含まれる。これらのエンティティのそれぞれが提供する機能は、当技術分野で周知であり、これ以上説明しない。
【００１９】
図３に戻って、ブレードのそれぞれに、スイッチ・ファブリック・インターポーザによってスイッチ・ファブリック２３に結合されるネットワーク・プロセッサが含まれる。スイッチ・ファブリック２３は、デバイス内のさまざまなブレードの間の通信を提供するクロスポイント・スイッチとすることができる。スイッチ・ファブリック・インターポーザは、ネットワーク・プロセッサとスイッチ・ファブリック２３の間のインターフェースを提供する。スイッチ・ファブリック・インターポーザによって提供される機能の中に、ネットワーク・プロセッサとスイッチ・ファブリック２３の間でデータを交換できるようにするためのデータの構成が含まれる。たとえば、スイッチ・ファブリックが、ＡＴＭ技術に使用されるものなどのセル型のデータ単位を使用する。スイッチ・ファブリック・インターポーザは、ネットワーク・プロセッサからスイッチへのデータを、スイッチによって使用されるセル・サイズにパッケージ化し、スイッチが許容可能な形で働くために要求される必要な制御を生成する。同様に、スイッチ・ファブリック２３からのデータは、ネットワーク・プロセッサが理解するフォーマットに変換される。スイッチ・ファブリック２３は、IBM Corporation社が製造し、販売する、ＰＲＩＺＭＡと称するスイッチなどのクロスポイント・パケット・スイッチとすることができる。ブレードのそれぞれのネットワーク・プロセッサが同一なので、１つだけを説明する。ネットワーク・プロセッサ１’は、送信データ・バス３０、フロー制御入ステータス・チャネル３２、およびフロー制御入クロック・チャネル３４によって、スイッチ・ファブリック・インターポーザ１”に結合される。送信データ・バス３０によって、ネットワーク・プロセッサ１’からスイッチ・ファブリック・インターポーザ１”にデータが伝送される。フロー制御入ステータス・チャネル３２によって、スイッチ・ファブリック・インターポーザ１”からネットワーク・プロセッサ１’にステータス情報が伝送される。同様に、フロー制御入クロック・チャネル３４によって、図１に示されたクロッキング信号が、スイッチ・ファブリック・インターポーザ１”からネットワーク・プロセッサ１’に伝送される。
【００２０】
さらに図３を参照すると、ネットワーク・プロセッサ１’は、受信データ・バス３５、フロー制御出ステータス・チャネル３６、およびフロー制御出タイミング・チャネル３８によってもスイッチ・ファブリック・インターポーザ１”に接続される。受信データ・バス３５によって、スイッチ・ファブリック・インターポーザ１”からネットワーク・プロセッサ１’にデータが伝送される。フロー制御出ステータス・チャネル３６によって、ネットワーク・プロセッサ１’からスイッチ・ファブリック・インターポーザ１”にステータス情報が伝送される。フロー制御出タイミング・チャネル３８によって、フロー制御出ステータス・チャネル３６に関連するタイミング・パルスが伝送される。他のネットワーク・プロセッサの、めいめいのスイッチ・ファブリック・インターポーザとの相互接続、その動作などは、管理ブレード１に関して説明したものと同一である。したがって、管理ブレード１に関する相互接続および説明が、他のブレードに関するネットワーク・プロセッサおよび相互接続を含むことが意図されていることが理解されたものとして、相互接続のさらなる説明は与えない。
【００２１】
図５に、本発明に関係する部分だけが識別されているネットワーク・プロセッサのブロック図を示す。ネットワーク・プロセッサをめいめいのスイッチ・ファブリック・インターポーザに相互接続するメディアは、図３および４の相互接続を識別するのに使用されたものと同一の符号によって識別される。ネットワーク・プロセッサは、アドレス変換、サービス品質管理、受信パケットの分類、および他の機能を含む複数のネットワーク機能を実行するデバイスである。ネットワーク・プロセッサは、既知のネットワーク・デバイスであり、このデバイスの詳細は、米国特許出願第０９／３８４６９１号から得ることができる。その結果、ネットワーク・プロセッサのうちで本発明に関係する部分だけを、さらに説明する。ネットワーク・プロセッサには、入力バス４０のデータを受け取り、データを送信データ・バス３０上でスイッチ・ファブリック・インターポーザに出力する送信データ・フロー５４が含まれる。スイッチ・ファブリック・インターポーザは、フロー制御入ステータス・チャネル３２上で、スイッチを介して宛先のそれぞれに割り振られたスイッチ・リソースが経験した輻輳のレベルの表示を含む、ステータス情報を返す。
【００２２】
タイミング信号も、フロー制御入クロック・チャネル３４上で返される。２ビット・バス・デコーダ４２が、ステータス情報およびクロックを受け取り、上で説明した形でデコードする。受け取られたコード化された情報から生成されるディジタル・データ・ストリームの出力信号が、送信フロー制御４４に伝送される。送信フロー制御４４は、制御信号を出力し、この制御信号によって、送信データ・フロー５４が、否定のステータス情報の受信中にデータを送信しなくなる。別の形で言えば、フロー制御入ステータス・チャネル３２からのデコードされた情報が、送信データ・フロー５４からのデータ出力を規制するのに使用される。
【００２３】
さらに図５を参照すると、ネットワーク・プロセッサの受信側では、送信側で起こることの逆が複製される。具体的に言うと、スイッチ・ファブリック・インターポーザからのデータが、受信データ・バス３５で受け取られ、受信データ・フロー５２に転送される。受信データ・フロー５２は、制御信号を受信フロー制御４６に出力し、受信フロー制御４６が、受信データ・フロー５２内のリソースの輻輳状況を示す。たとえば、制御信号によって、キューなどの輻輳状況を示すことができる。受信フロー制御４６は、制御信号をビットのディジタル・ストリームに変換し、このストリームから、エンコーダ４８が、状況およびクロッキング情報を生成し、この情報が、スイッチ・ファブリック・インターポーザに転送され、前記スイッチ・ファブリック・インターポーザが、受信データ・フロー５２内の輻輳状況について知らされる。スイッチ・ファブリック・インターポーザは、受信データ・フロー５２内のリソースの輻輳状況を知るので、スイッチ・ファブリック・インターポーザは、受信データ・バスのリソースがオーバーフローしないように受信データ・バス３５のデータを調整することができる。
【００２４】
図６に、本発明の教示によるエンコーダ論理のブロック図を示す。エンコーダ論理は、たとえばバス５６でディジタル・データ・ストリングを受け取り、３ビットのグループに区分し、このグループが、４ビットのグループに変換され、適当なクロッキング信号を用いて２ビット・ステータス・チャネル上で転送される。この目的のために、エンコーダに、２進値レジスタ（ｒｅｇ）５８が含まれ、２進値ｒｅｇ５８は、バス５６からのディジタル・ストリングをバッファに入れるために、複数のレジスタ位置を有する。Ｎ個のマルチプレクサを含む区分論理６０が、データを３つの（ａ１、ａ２、ａ３）ビットのグループに区分する。図６からわかるように、Ｎは、３に等しく、図１を参照すると、データ・ストリームの２進値が２４ビットであると仮定すると、３つのマルチプレクサが、８ビットを処理して、２進パターンａ１、ａ２、およびａ３を生成する。２進パターンａ１、ａ２、およびａ３は、パターン生成論理６２に供給され、このパターン生成論理６２が、コード化パターンｂ１  ｂ２  ｂ３およびｂ４を生成する。図６に示された実施形態では、ｂ１が、ＡＮＤゲートによって生成され、ｂ２  ｂ３が、２ウェイＡＮＤ／ＯＲゲートによって生成され、ｂ４が、３ウェイＡＮＤ／ＯＲゲートによって生成される。コード化パターンｂ１  ｂ２  ｂ３およびｂ４は、選択論理６４に供給され、この選択論理６４には、２つのマルチプレクサと２つのＯＲゲートが含まれ、これらのそれぞれが、ビットＡおよびビットＢを生成する。制御論理６６が、クロックを受け取り、このクロックが、クロッキング・チャネルで伝送され、区分論理６０内のマルチプレクサと選択論理６４内のマルチプレクサおよびＯＲゲートのゲーティングに使用される必要な制御信号を生成するのに使用される。ステータス・チャネルのフレーミング・パターン「１１」が、制御論理６６と選択論理６４内のＯＲゲートによって生成されることに留意されたい。
【００２５】
図７に、デコーダの論理回路を示す。上で述べたように、デコーダは、ステータス・チャネルおよびクロック・チャネルから４ビット信号およびクロック信号を受け取り、４ビットを３ビット２進パターンに変換し、ディジタル・ビット・ストリームに変換し、このディジタル・ビット・ストリームがバス６８に出力される。デコーダには、クロック・チャネルからクロックを受け取り、Ｌ１クロック、Ｌ２クロック、およびＣＬＫイネーブル・バスという符号を付けられたバス上のクロックを生成する、制御論理７０が含まれる。ＡＮＤゲート７４によって、フレーミングという符号を付けられた信号線に出力され、制御論理７０をリセットするのに使用される「１１」ビット・フレーミング信号が検出される。Ｌ１クロックおよびＬ１ラッチによって、ｂ１ｂ２コード化パターンが生成され、Ｌ２クロックおよびＬ２ラッチによって、ｂ３ｂ４コード化パターンが生成される。Ｌ１ラッチおよびＬ２ラッチからの出力は、Ｃ１からＣ７という符号を付けられたＡＮＤゲートに供給される。負入力がくさび型によって示されるこれらのＡＮＤゲートによって、図２のコード・テーブルでＣ１からＣ７としてマークされたパターンが生成される。めいめいのＡＮＤゲートからの出力が、ＯＲゲートの組に供給され、このＯＲゲートによって、２進パターンａ１  ａ２  ａ３が生成される。クロック・イネーブル・バス上のクロック・イネーブル・パルスを伴う２進パターンによって、適当なビットが２進値Ｒｅｇ７２およびバス６８にクロッキングされる。
【００２６】
図８に、本発明の教示によるさまざまなインターフェースのグラフ表現を示す。図８（Ａ）に、ソース・ステーションで生成され、データと共に送信されるクロックを示す。図８（Ｂ）に、本発明の教示に従ってデータを送信する、ＣＨ１、ＣＨ２、およびＣＨ３という符号を付けられたチャネルを示す。この実施形態では３つのチャネルが図示されているが、本発明が、設計者によって選択される任意の数をｎとして、ｎ個のチャネルを含むことが意図されていることに留意されたい。ｎ個のチャネルを同時に稼動させることによって、比較的広い帯域幅の伝送システムがもたらされる。
【００２７】
さらに図８（Ｂ）を参照すると、チャネル上のフレーミング・パターンは、「１１」コーディング・パターンＡＢである。このフレーミング・パターンは、上で述べ、標準規格で使用されるものと同一である。例を使用して、このビットが、この例で図示された３つのチャネルにまたがって拡散または分配される形を説明する。伝送されるデータは、２進値という符号を付けられた２４ビット２進数である。２進値は、３ビット・パターン０００、０１１、００１などに区分される。３つの２進値のそれぞれの英数字表現を、図８（Ｂ）のそれぞれの上に示す。たとえば、ａ１ａ２ａ３が、０００値に関連し、ａ１ａ２ａ３が、０１１値に関連するなどである。３ビット２進値は、その後、４ｂパターンに変換され、この４ｂパターンが、チャネルにまたがって拡散され、シンクに送信される。３ビット２進値を４ビットに変換する際に、０００パターンが００００パターンに変換され、０１１が０１００パターンに変換され、００１パターンが、０００１パターンに変換され、以下同様である。２進３ビット・パターンと同様に、４ビット・パターンのそれぞれに関連する英数字表現は、ｂ１ｂ２ｂ３ｂ４である。
【００２８】
さらに図８を参照すると、送信される４ビット・パターンから括弧を指す矢印は、４ビット・パターンからのビットの対が拡散されるチャネルを示す。その結果、フレーミング・ビット１１が、チャネル１のビット位置Ａ１およびＢ１に配置される。本発明の教示によれば、フレーミング・パターンの後に分配される最初の４ビット・パターンは、フレーミング・パターンが配置されるのと同一のチャネル１に置くことができない。伝送される最初の４ビット・パターンは、チャネル１以外のチャネルに置かれる。その結果、フレーミング・パターン１１に続いて伝送される最初の４ビット・パターン００００は、それぞれチャネル２およびチャネル３に置かれ、フレーミング・パターン１１をゲーティングするのと同一のクロック・サイクルにゲーティングされる。具体的に言うと、最初の対００が、チャネル２のビットＡ２およびビットＢ２にｂ１ｂ２として置かれる。同様に、ビット００の第２の対（ｂ３ｂ４）が、それぞれチャネル３のビット位置Ａ３およびビット位置Ｂ３に置かれる。同一のクロック・サイクルが、それぞれチャネル１のフレーミング・ビットと、チャネル２およびチャネル３の最初の４ビット・パターン００００のゲーティングに使用されることに留意されたい。その後、残りの４ビット・パターンが、次のフレーミング・パターン「１１」がチャネル３に置かれるまで、ラウンド・ロビン式にチャネルＣＨ１、ＣＨ２、およびＣＨ３に拡散される。具体的に言うと、次の４ビット・パターン０１００が、それぞれチャネル１およびチャネル２に拡散される。具体的に言うと、４ビット・パターンの０１が、チャネル１に置かれ、４ビット・パターンの第２対である００が、チャネル２に置かれる。０１および００を囲う括弧と０１００の４ビット・パターンからの矢印によって、４ビット・パターンが、それぞれチャネル１およびチャネル２に拡散されることが示される。類似する形で、矢印および括弧によって、フレーミング・パターン１１がチャネル３に置かれるまで、４ビット・パターンの連続する１つが拡散される位置が示される。フレーム１００１の最後の４ビット・パターンが、それぞれチャネル１およびチャネル２に置かれ、同一のクロック・サイクルによって、これらと、フレームの終りを示す１１パターンがゲーティングされる。フレームの終りに続く最初の４ビット・パターンｂ１ｂ２ｂ３ｂ４が、チャネル２およびチャネル１に置かれる。
【００２９】
図８（Ｃ）に、２進パターンａ１ａ２ａ３とそれに対応する４ビット・コード化パターンｂ１ｂ２ｂ３ｂ４を含むコード・テーブルを示す。上で述べたように、コード化パターンの一部は、４ビット・パターンのあるビット位置でフレーミング・パターンを示すので、適格でないパターンである。これらは、不適格とされ、使用することができず、コード・テーブルに示されていない。エンコードという符号を付けられた矢印は、２進３ビット・パターンが４ビット２進パターンにエンコードされることを示し、この４ビット２進パターンが、拡散され、同時に稼動するチャネルで伝送される。デコードという符号を付けられた矢印は、４ビット２進パターンがチャネルから受け取られ、３ビット２進パターンにデコードされることを示す。Ｃ０からＣ７は、デコーダの第１ステージで使用される中間のデコードされたビット値を表し、Ｃ１からＣ７は、図７および図１０に示された７つのＡＮＤゲートによって生成される。Ｃ０が使用されないことに留意されたい。
【００３０】
図９に、ビットをエンコードし、並列に動作するようにされた３つの伝送チャネルを介して拡散するのに使用されるエンコーダを示す。エンコーダには、バス１００からビットを受け取る２進値レジスタ（ｒｅｇ）９８が含まれる。図８（Ｂ）に示された例に関して、２進値は、バス１００で受け取られ、２進値ｒｅｇ９８内の位置に供給される。区分論理８０が、２進値ｒｅｇ９８に結合され、ディジタル・ストリームを３ビット・パターンａ１、ａ２、およびａ３に区分する。この実施形態では、区分論理８０に、３つのマルチプレクサが含まれ、このマルチプレクサのそれぞれが、８ビットを受け取り、制御論理８６からの２進パターン制御信号によって駆動されて、ａ１ａ２ａ３パターンを生成する。パターン生成論理８２が、３ビット・パターンを受け取り、そのそれぞれを４ビット・パターンｂ１、ｂ２、ｂ３、およびｂ４に変換する。本発明の実施形態では、パターン生成論理８２に、ｂ１を生成する１つのＡＮＤゲートと、それぞれが他の４ビット・パターンｂ２、ｂ３、およびｂ４の１つを生成する複数の２ウェイＡＮＤ／ＯＲゲートが含まれる。ｂ１、ｂ２、ｂ３、およびｂ４信号は、分配論理８４に供給され、この分配論理８４の機能は、各４ビット・パターンを適当な伝送チャネル上に拡散または分配することである。図８（Ｂ）に示された例では、３つのチャネルがあり、図９の論理は、４ビットを３つのチャネルに拡散する。図示の例では、分配論理８４が、制御論理８６からの制御信号によって駆動される２つのマルチプレクサからなり、これらのマルチプレクサが、６つのＯＲゲートに供給される信号を生成し、これらのＯＲゲートの出力が、３つのラッチに供給される。マルチプレクサ、ＯＲゲート、およびラッチの第１の組Ｌ１、Ｌ２、およびＬ３は、低速クロックという符号を付けられた外部クロックより３倍速い速度でクロッキングされる。ラッチＬ１、Ｌ２、およびＬ３からの出力が、３つのラッチＬ４、Ｌ５、およびＬ６に供給される。これらのラッチは、低速クロックを用いてクロッキングされ、チャネルで伝送されるデータを供給する。低速クロックは、図８（Ａ）に示されたクロックと同等である。制御論理８６は、システム・クロックを受け取り、図９のめいめいの回路のゲーティングに使用される制御信号を生成する。制御論理８６の詳細は、図８（Ｂ）に関して述べた本発明の要件を知る当業者の技量の範囲内である。
【００３１】
図１０に、めいめいのチャネルから４ビット・パターンを受け取り、図９のエンコーダに最初に供給されたものに類似する直列ビット・ストリームをバス９６上で生成するデコーダ構造を示す。デコーダには、めいめいのチャネルからフレーミング・パターンを受け取り、生成するフレーミング・パターン取込回路８８が含まれる。この例では、フレーミング・パターン取込回路８８に、複数のＡＮＤゲートが含まれ、これらのＡＮＤゲートのそれぞれが、チャネルの１つから入力信号の対を受け取る。フレーミング・パターン取込回路８８からの出力フレーミング・パターンは、制御論理９４に供給される。データと共に伝送されるクロックも、制御論理９４に供給される。めいめいのチャネルで伝送される４ビット・パターンｂ１ｂ２ｂ３ｂ４が、ビット・パターン取込回路９０によって受け取られる。好ましい実施形態では、ビット・パターン取込回路９０に、ラッチＬ１およびラッチＬ２に結合された複数のマルチプレクサが含まれる。ラッチＬ１からの出力は、ｂ１ｂ２ビットを供給し、ラッチＬ２からの出力は、ｂ３ｂ４ビットを供給する。ｂ１ｂ２ｂ３ｂ４パターンが、パターン変換論理９２に供給され、このパターン変換論理９２が、３ビットａ１、ａ２、およびａ３を生成する。本発明の好ましい実施形態では、パターン変換論理９２に、３つのＯＲゲートに結合された複数のＡＮＤゲートが含まれ、このＯＲゲートが、ａ１、ａ２、およびａ３を出力する。３ビット・パターンａ１ａ２ａ３が、２進値レジスタに供給され、この２進値レジスタから、２進データ・ストリームがバス９６に出力される。制御論理９４によって生成される、クロック・イネーブル・バスからのクロック・パルスによって、２進値レジスタの適当なビットが、バス９６にゲーティングされる。
【００３２】
２ビット・チャネルなどの相対的に狭いチャネル上でのデータ伝送の効率を高めるコーディング方法およびスケーラブル・インターフェース・システムが提供される。本発明を、図示の実施形態に従って説明してきたが、実施形態に対する変形形態がありえることと、これらの変形形態が本発明の趣旨および範囲に含まれることを、当業者は容易に理解するであろう。したがって、請求項の趣旨および範囲から逸脱せずに、当業者が多数の修正を行うことができる。
【００３３】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００３４】
（１）システムであって、
ｎ個の伝送チャネルであって、ｎが１より大きい、ｎ個の伝送チャネルと、
前記ｎ個の別々のチャネル上で伝送されるデータをコード化するエンコーダであって、前記エンコーダが、ビット・ストリームを３ビット・パターンのグループに区分する第１回路を含む、エンコーダと、
３ビット・パターンのグループごとに４ビット・パターンを生成する第２回路と、
伝送のために、各４ビット・パターンの対のビットを前記ｎ個の別々のチャネルの異なる１つに分配する第３回路と
を含むシステム。
（２）さらに、インターフェース内の異なるチャネルから４ビットのグループを受け取り、４ビットの前記グループを直列ビット・ストリームに変換するデコーダを含み、前記デコーダが、
４ビットの各グループを３ビットの対応するグループに変換する第４回路と、
３ビットの各グループを前記直列ビット・ストリームに変換する第５回路と
を含む、上記（１）に記載のシステム。
（３）同一の４ビット・パターンのビットの対を前記ｎ個のチャネルの異なる１つにゲーティングするクロックを含む、上記（１）に記載のシステム。
（４）隣接するクロック・サイクルが、同一の４ビット・パターンからのビットの対を前記ｎ個のチャネルの異なる１つにゲーティングする、上記（３）に記載のシステム。
（５）システムであって、
ソース・デバイスと、
シンク・デバイスと、
ソース・デバイスをシンク・デバイスに相互接続する第１インターフェースと
を含み、前記第１インターフェースが、
ｎ個の伝送チャネルであって、ｎが、１より大きい、ｎ個の伝送チャネルと、
伝送される各４ビット・パターンからのビットの対を前記ｎ個のチャネルの異なる１つに拡散するエンコーダと
を含む、システム。
（６）さらに、クロック信号を搬送するクロック・チャネルを含み、前記クロック上の隣接するクロック・サイクルが、インターフェース内の異なる伝送チャネルでトランスポートされつつある４ビット・パターンの対のビットに対応する、上記（５）に記載のシステム。
（７）さらに、前記ソース・デバイスを前記シンク・デバイスに相互接続する第２インターフェースを含み、前記第２インターフェースが、
ｍ個の伝送チャネルであって、ｍ＞１である、ｍ個の伝送チャネルと、
前記ｍ個の伝送チャネルから４ビット・パターンのグループを収集し、４ビット・パターンの前記グループを情報の直列ストリームに変換するデコーダと
を含む、上記（６）に記載のシステム。
（８）ｍ＝ｎ＝３である、上記（７）に記載のシステム。
（９）データを伝送する方法であって、
（ａ）ｎ個の伝送チャネルを設ける動作であって、ｎ＞１である、動作と、
（ｂ）前記チャネルによってトランスポートされる４ビット・パターンのグループを提供する動作と、
（ｃ）４ビット・パターンの各対のビットが、前記ｎ個の伝送チャネルの別々の１つに配置される形で、４ビット・パターンの前記グループのそれぞれを分配する動作と
を含む方法。
（１０）さらに、クロック信号を提供する動作を含み、１つのクロック・サイクルが、異なるチャネル上のビットの各対をゲーティングする、上記（９）に記載の方法。
（１１）４ビット・パターンの前記グループが、ラウンド・ロビン式に前記ｎ個のチャネルに分配される、上記（９）に記載の方法。
（１２）さらに、フレーミング・パターンの対を用いて、前記別々のチャネル上の情報の単位の輪郭を示す動作を含む、上記（１１）に記載の方法。
（１３）前記フレーミング・パターンのそれぞれが、「１１」パターンを含む、上記（１２）に記載の方法。
（１４）前記「１１」フレーミング・パターンの後に分配される最初の４ビット・パターンが、前記フレーミング・パターンを搬送するもの以外の別々の伝送チャネルに分配される、上記（１３）に記載の方法。
（１５）前記「１１」フレーミング・パターンおよび前記最初の４ビット・パターンのゲーティングに、同一のクロック・サイクルが使用される、上記（１４）に記載の方法。
【図面の簡単な説明】
【図１】ＰＨＹデバイスをリンク層デバイスに結合するＳＰＩ−４インターフェースを示すブロック図である。
【図２】本発明の教示によるコード化方式のグラフ表現を示す図である。
【図３】本発明の教示を含むシステムのブロック図である。
【図４】制御点サブシステムのブロック図である。
【図５】本発明の教示を含むネットワーク・プロセッサのブロック図である。
【図６】単一のチャネルと共に使用されるエンコーダの論理回路配置である。
【図７】単一のチャネルと共に使用されるデコーダの論理回路配置である。
【図８】本発明の教示によるスケーラブル・インターフェースのグラフ表現を示す図である。
【図９】スケーラブル・インターフェースのエンコーダの回路／論理図である。
【図１０】スケーラブル・インターフェースのデコーダの回路／論理図である。
【符号の説明】
３０  送信データ・バス
３２  フロー制御入ステータス・チャネル
３４  フロー制御入クロック・チャネル
３５  受信データ・バス
３６  フロー制御出ステータス・チャネル
３８  フロー制御出タイミング・チャネル
４０  入力バス
４２  ２ビット・バス・デコーダ
４４  送信フロー制御
４６  受信フロー制御
４８  エンコーダ
５２  受信データ・フロー
５４  送信データ・フロー
【図１】
0003759112.tif 000002
【図２】
0003759112.tif 000003
【図３】
0003759112.tif 000004
【図４】
0003759112.tif 000005
【図５】
0003759112.tif 000006
【図６】
0003759112.tif 000007
【図７】
0003759112.tif 000008
【図８】
0003759112.tif 000009
【図９】
0003759112.tif 000010
【図１０】
0003759112.tif 000011