(57)【要約】  一部の実施形態において、システムは、通信媒体と、その通信媒体に結合された第１のコントローラと、その通信媒体に結合された第２のコントローラとを含む。第１のコントローラは、パケットの第１の部分の伝送に続いて、通信媒体上で第２のコントローラへのパケットの伝送を中断するように構成される。第１のコントローラは、そのパケットの伝送を中断することに応答して、通信媒体上で少なくとも１つの制御シンボルを伝送するように構成され、第１のコントローラは、そのパケットの第２の部分から、そのパケットの伝送を続けるように構成される。コントローラは、一部の実施形態では、媒体アクセス・コントローラと、物理符号化サブレイヤとを含む。
2009506682.tif 000002
【特許請求の範囲】
【請求項１】
通信媒体上でパケットを通信するように構成されたコントローラであって、
前記通信媒体上で複数のデータ・シンボルとしてパケットを伝送するように構成され、前記パケットの第１の部分を伝送した後、前記パケットの伝送を中断するように構成され、前記中断に応答して、少なくとも１つの制御シンボルを伝送するように構成され、前記パケットの第２の部分の伝送を続けるように構成されるコントローラ。
【請求項２】
前記パケットを複数のバイトとして伝送するように構成された媒体アクセス・コントローラ（ＭＡＣ）と、
前記複数のバイトを前記ＭＡＣから受信するように結合され、前記通信媒体上で伝送するために、各バイトをそれぞれのデータ・シンボルとして符号化するように構成された物理符号化サブレイヤ（ＰＣＳ）回路と
を含み、前記ＭＡＣは、前記複数のバイトの第１の部分を伝送した後に、前記パケットの伝送を中断するように構成され、前記ＰＣＳ回路は、前記中断に応答して、前記第１の部分の各バイトに関する対応するデータ・シンボルを伝送し、前記少なくとも１つの制御シンボルを伝送するように構成され、前記ＭＡＣは、前記複数のバイトの第２の部分の伝送を続けるように構成され、前記ＰＣＳ回路は、前記第２の部分の各バイトに関する対応するデータ・シンボルを伝送するように構成される請求項１に記載のコントローラ。
【請求項３】
前記少なくとも１つの制御シンボルを含む複数の制御シンボルを伝送するようにさらに構成され、前記複数の制御シンボルは、前記第１の部分に対応する最後のデータ・シンボルから、前記第２の部分に対応する最初のデータ・シンボルまでの間、前記通信媒体上の前記コントローラの伝送帯域幅を埋める先行するいずれかの請求項に記載のコントローラ。
【請求項４】
前記少なくとも１つの制御シンボルは、前記通信媒体上で１つのパケットの終了から、別のパケットの開始までの間でも使用されるアイドル制御シンボルを含む先行するいずれかの請求項に記載のコントローラ。
【請求項５】
前記コントローラは、前記コントローラが、前記通信媒体からフロー制御パケットを受信したことに応答して、前記パケットの伝送を中断するように構成され、前記コントローラは、前記フロー制御パケットによって指定された期間にわたって伝送を抑止した後、前記第２の部分から伝送を続けるように構成される先行するいずれかの請求項に記載のコントローラ。
【請求項６】
前記コントローラは、前記第２の部分が伝送に利用できないことに応答して、前記パケットの伝送を中断するように構成される請求項１から４のいずれか１項に記載のコントローラ。
【請求項７】
使用中に前記コントローラが結合されるメモリ・システムから前記コントローラに、前記第２の部分がまだ提供されていない場合、前記第２の部分が利用できない請求項６に記載のコントローラ。
【請求項８】
前記コントローラは、前記パケットの伝送を中断して、異なるチャネルからの第２のパケットの伝送をインタリーブするように構成される請求項１から４のいずれか１項に記載のコントローラ。
【請求項９】
前記ＭＡＣと前記ＰＣＳ回路との間のインタフェースは、前記パケットの終了の明示的指示を含み、前記明示的指示を伴わない前記インタフェース上のデータ転送の欠如は、前記ＰＣＳ回路に、前記少なくとも１つの制御シンボルの伝送を行わせる請求項２に記載のコントローラ。
【請求項１０】
前記明示的指示は制御信号を含み、前記コントローラは、パケット開始を示す第２の制御信号をさらに含み、前記制御信号と前記第２の制御信号は、半二重モードにおいて搬送波感知信号及び衝突検出信号としても使用される請求項９に記載のコントローラ。
【請求項１１】
通信媒体と、
前記通信媒体に結合された先行するいずれかの請求項に記載の前記コントローラと、
前記通信媒体に結合された第２のコントローラとを含むシステム。
【請求項１２】
前記コントローラは、前記コントローラが、前記第２のコントローラによって伝送された前記通信媒体からフロー制御パケットを受信したことに応答して、前記パケットの伝送を中断するように構成され、前記コントローラは、前記フロー制御パケットによって指定された期間にわたって伝送を抑止した後、前記第２の部分から伝送を続けるように構成される請求項１１に記載のシステム。
【請求項１３】
複数のバイトの第１の部分の各バイトを、対応するデータ・シンボルとして符号化することを含む、該第１の部分を伝送することの後に、通信媒体上で該複数のバイトを含むパケットの伝送を中断することと、
前記中断することに応答して、前記通信媒体上で少なくとも１つの制御シンボルを伝送することと、
前記複数のバイトの第２の部分の各バイトを、対応するデータ・シンボルとして符号化することを含む前記パケットの伝送を、該第２の部分から続けることとを含む方法。
【請求項１４】
少なくとも１つの制御シンボルを伝送することは、複数の制御シンボルを伝送することを含み、前記複数の制御シンボルは、前記第１の部分に対応する最後のデータ・シンボルから、前記第２の部分に対応する最初のデータ・シンボルまでの間、前記通信媒体上の前記コントローラの伝送帯域幅を埋める請求項１３に記載の方法。
【請求項１５】
前記少なくとも１つの制御シンボルは、前記通信媒体上で１つのパケットの終了から、別のパケットの開始までの間でも使用されるアイドル制御シンボルを含む先行するいずれかの請求項に記載の方法。
【請求項１６】
前記パケットの伝送を中断することが前記通信媒体からフロー制御パケットを受信したことに応答し、前記第２の部分から伝送を続けることが前記フロー制御パケットによって指定された期間にわたって伝送を抑止した後に続く先行するいずれかの請求項に記載の方法。
【請求項１７】
前記パケットの伝送を中断することは、前記第２の部分が伝送に利用できないことに応答する請求項１３から１５のいずれか１項に記載の方法。
【請求項１８】
前記パケットの伝送を中断することは、異なるチャネルからの第２のパケットをインタリーブするように実行される請求項１３から１５のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信、特にイーサネット通信の分野に関し、より詳細には、ネットワーク上のフロー制御に関する。
【背景技術】
【０００２】
コンピュータやその他の電子デバイスのネットワークは広く普及している。様々なネットワーク標準が存在するが、イーサネットは、最も普及しているものの１つである。特に、ギガビット・イーサネットと１０ギガビット・イーサネットが、広く使用されるようになっている。
【０００３】
イーサネット標準は、現在、パケットの伝送の中断を許さない。つまり、パケットの最初のバイトが通信媒体上で伝送されると、伝送は、通信媒体（例えば、ツイストペア銅線、光ファイバなど）上の伝送において全く「バブル」なしに、つまり、待ち状態なしに、そのパケットの最後のバイトまで連続するバイトで継続しなければならない。パケットのソースが、或るパケットのバイトのすべてを供給することができない場合、そのパケットは終了され、受信機は、そのパケットを不良なパケットとしてドロップする。
【０００４】
ネットワーク・インタフェースの帯域幅が増大しているので、システムにおける他の要因が、伝送のネックになる可能性も高まっている。メモリ待ち時間（伝送のためにパケットを読み取る際、又は受信されたパケットを書き込む際の）が問題になることもある。メモリへのアクセスの競合（例えば、複数のプロセッサ、又はホスト・システムにおける他のデバイスによる）が、事実上のメモリ待ち時間を増大させて、この影響をさらに悪化させる。
【０００５】
全く遅延なしで完全に伝送するのに十分迅速にパケットを読み取ることができなくて、メモリからパケットを読み取る送信側にメモリ待ち時間が発生することがある。ネットワーク・コントローラにおけるバッファリングを使用して、この影響を緩和することが可能であるが、一部のケースにおいて、十分なバッファリングを含めることが実現可能ではない。イーサネット標準は、約１５００バイトの最大パケット・サイズを指定するが、多くの製品は、より大きいパケット・サイズ（例えば、９キロバイト又は１６キロバイト）を実装する。ソースが、伝送を完了させることができないためにドロップされなければならないパケットを伝送することにより、帯域幅が浪費される。
【０００６】
同様に、受信側のメモリ待ち時間は、ネットワーク・コントローラ（又はシステムにおける別の場所）内のバッファがオーバフローする前に、パケット・データをメモリに書き込むことができなくなる。イーサネット標準（特にＩＥＥＥ（米国電気電子学会）規格８０２．３）は、受信機によるフロー制御パケットの使用を許する。休止パケットとも呼ばれるフロー制御パケットは、受信機が一時的にパケットを受信することができない場合に、受信機から送信機に伝送される。フロー制御パケットは、そのパケットの中で指定された期間にわたって受信機へのあらゆるパケットの伝送を停止するよう、送信機を導く。送信機は、２つまでのさらなるパケットを伝送してもよく、その後、要求された時間にわたってパケット伝送を停止する。フロー制御パケットを使用して、受信機においてパケットがドロップされることを回避することができる。例えば、メモリ待ち時間により、受信機が、パケットを受信できないことが生じている場合、フロー制御パケットを使用して、パケット伝送に遅延を挿入して、メモリ・システムが「追いつく」ことができるようにすることできる。しかし、送信機は、フロー制御が有効になるまでに、２つまでのさらなるパケット（これらのパケットのそれぞれは、例えば、１６キロバイトまでのサイズである）を伝送することができる。これらのパケットは、メモリ待ち時間が発生した場合、受信機によってドロップされる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＱｏＳ（サービス品質）メトリクスがネットワーク上でますます一般的になっている。ユーザは、様々なレベルのサービスの代金を支払う。低帯域幅の通信で十分であり、通信待ち時間が、それほど問題でないユーザは、低優先度のサービスの代金を支払う。より高い帯域幅、及び／又は専用の帯域幅を要求する他のユーザは、より高い優先度のサービスを購入することが可能である（通常、より高い価格で）。様々なレベルのサービスを管理するのに、ネットワーク・コントローラは、異なるレベルに関して、別々のバッファ、又は別々のキューを実装する。バッファは、ユーザ、送信機、受信機などに応じて、さらに細分されることもある。様々な分割を抽象化するのに、チャネルのセットが、サポートされ、優先順位が、各チャネルに割り当てられることも可能である。
【課題を解決するための手段】
【０００８】
一実施態様において、システムは、通信媒体と、その通信媒体に結合された第１のコントローラと、その通信媒体に結合された第２のコントローラとを含む。第１のコントローラは、パケットの第１の部分の伝送に続いて、通信媒体上で第２のコントローラへのパケットの伝送を中断するように構成される。第１のコントローラは、そのパケットの伝送を中断することに応答して、通信媒体上で少なくとも１つの制御シンボルを伝送するように構成され、第１のコントローラは、そのパケットの第２の部分を含むパケットの伝送を続けるように構成される。
【０００９】
別の実施態様において、コントローラは、通信媒体上でパケットを通信するように構成される。コントローラは、パケットを複数のバイトとして伝送するように構成された媒体アクセス・コントローラ（ＭＡＣ）と、そのＭＡＣから複数のバイトを受信するように結合された物理符号化サブレイヤ（ＰＣＳ）回路とを含む。ＰＣＳ回路は、通信媒体上で伝送するために、各バイトをそれぞれのデータ・シンボルとして符号化するように構成される。ＭＡＣは、複数のバイトの第１の部分を伝送した後、パケットの伝送を中断するように構成される。ＰＣＳ回路は、その第１の部分の各バイトに関して、対応するデータ・シンボルを伝送し、さらに、その中断に応答して、少なくとも１つの制御シンボルを伝送するように構成される。ＭＡＣは、その複数のバイトの第２の部分の伝送を続けるようにも構成され、ＰＣＳ回路は、その第２の部分の各バイトに関して、対応するデータ・シンボルを伝送するように構成される。
【００１０】
他の実施態様において、方法は、通信媒体上のパケットの伝送を中断することを含む。パケットは複数のバイトを含み、その複数のバイトの第１の部分を伝送した後にその中段が生じる。第１の部分を伝送することは、その第１の部分の各バイトを、対応するデータ・シンボルとして符号化することを含む。その中断することに応答して、方法は、通信媒体上で少なくとも１つの制御シンボルを伝送することをさらに含む。パケットの伝送は、その複数のバイトの第２の部分から続けられ、その伝送は、その第２の部分の各バイトを、対応するデータ・シンボルとして符号化することを含む。
【００１１】
以下の詳細な説明は、後段で簡単に説明される添付の図面を参照する。
【００１２】
本発明は、様々な改変形態及び代替形態が可能であるが、本発明の特定の実施形態が、例として、図面に示され、本明細書で詳細に説明される。しかし、図面、及び図面の詳細な説明は、本発明を、開示される特定の形態に限定することを意図しておらず、それどころか、本発明は、添付の特許請求の範囲によって規定される本発明の趣旨及び範囲に含まれる、すべての改変形態、均等形態、代替形態を範囲に含むものとされることを理解されたい。
【発明を実施するための最良の形態】
【００１３】
次に図１を参照すると、ネットワーク化されたシステムの一実施形態が示されている。図示される実施形態では、システムは、ネットワーク通信が伝送される通信媒体１０と、通信媒体１０に結合されたネットワーク・インタフェース・コントローラ１２Ａ〜１２Ｂと、ネットワーク・インタフェース・コントローラ１２Ａ〜１２Ｂにそれぞれ結合されたホスト１４Ａ〜１４Ｂとを含む。図示される実施形態では、ネットワーク・インタフェース・コントローラ１２Ａは、物理媒体依存（ＰＭＤ）レイヤ１６Ａと、物理媒体接続（ＰＭＡ）レイヤ１８Ａと、ＰＣＳ（物理符号化サブレイヤ）回路２０Ａと、媒体アクセス・コントローラ（ＭＡＣ）２２Ａとを含む。ＰＭＤ１６Ａは、通信媒体１０とＰＭＡ１８Ａとに結合され、ＰＭＡ１８ＡはＰＣＳ２０Ａにさらに結合される。ＰＣＳ２０Ａは、ＭＡＣ２２Ａに結合される。ネットワーク・インタフェース・コントローラ１２Ｂも同様に、ＭＡＣ２２Ｂと、ＰＣＳ２０Ｂと、ＰＭＡ１８Ｂと、ＰＭＤ１６Ｂとを含む。ホスト１４Ａは、メモリ・システム３４Ａを含み、メモリ・システム３４Ａに結合されたホスト・デバイス３６Ａなどの、他のホスト・デバイスをも含むことが可能である。ホスト１４Ｂも同様に、メモリ・システム３４Ｂを含み、そのメモリ・システム３４Ｂに結合されたホスト・デバイス３６Ｂなどの他のホスト・デバイスも含むことが可能である。メモリ・システム３４Ａ〜３４Ｂは、パケットをサポートするチャネル（例えば、図１のメモリ・システム３４Ａ〜３４ＢのそれぞれにおけるＣｈ０からＣｈＮまで）のための様々なバッファ、又は他のメモリ領域を有している。
【００１４】
ネットワーク・インタフェース・コントローラ１２Ａ〜１２Ｂ（後段では、コントローラ１２Ａ〜１２Ｂとより簡単に呼ばれる）は、通信媒体１０上でパケットを送受信するように構成される。ネットワーク・インタフェース・コントローラ１２Ａ〜１２Ｂは、通信媒体１０上の互いのリンク・パートナである。リンク・パートナは、所与のデバイスとともに通信媒体１０に結合され、通信媒体１０を介して、その所与のデバイスと通信することができる任意のデバイスを含むことが可能である。ギガビット／１０ギガビット（Ｇ／１０Ｇ）イーサネットにおいて、各物理リンクは、リンク・パートナであるデバイスのペア間で確立される。
【００１５】
コントローラ１２Ａ〜１２Ｂは、同じであり、そのため、同様に動作することが可能である。コントローラ１２Ａ（及びコントローラ１２Ａの諸部分）が、後段でより詳細に説明され、コントローラ１２Ｂは同様である。このため、コントローラ１２Ｂは、この例においてリンク・パートナである。
【００１６】
コントローラ１２Ａは或るチャネルを所与のパケットに関連付けるように構成される。パケット伝送時に、チャネルに割り当てられたメモリ・ロケーションにパケットを格納することにより、ソフトウェアによってそのチャネルが指定される。コントローラ１２Ａは、伝送のためのチャネルを選択し、そのチャネルで伝送されるべき次のパケットを、メモリ・システム３４Ａから読み取る。代替として、ホスト１４Ａは、そのチャネルを選択し、そのパケットを、メモリ・システム３４Ａからコントローラ１２Ａにフェッチする直接メモリ・アクセス（ＤＭＡ）回路を含む（又はコントローラ１２Ａが、ＤＭＡ回路を含むことが可能である）。パケット受信の場合、コントローラ１２Ａは、受信されたパケットに関するチャネルを識別することができるプログラマブル・パケット分類フィルタ（図示せず）を含むことが可能である。受信されたパケットは、そのチャネルに割り当てられたメモリ・システム３４Ａ内のメモリ・ロケーションに書き込まれる。パケットは、一部の実施形態においては、チャネル識別子を担持するチャネルＩＤフィールドを含む。
【００１７】
一般に、ＭＡＣ２２Ａは、ホスト１４Ａに代わってパケットを伝送するための回路、及びホスト１４に代わってパケットを受信するための回路を含む。また、ＭＡＣ２２Ａは、必要に応じて、ＭＡＣレイヤ・プロトコルやＭＡＣレイヤ・オペレーションを実装するための、他の様々な回路も含むことが可能である。ＭＡＣ２２Ａは、パケットを複数のバイトとして伝送し、パケットを複数のバイトとして受信するように構成される。
【００１８】
ＰＣＳ２０Ａは、ＭＡＣ２２Ａに結合され、伝送されるパケットに関するライン符号化／復号を提供する。例えば、Ｇ／１０Ｇイーサネットは、通信媒体上のデータ伝送に関して８ｂ／１０ｂ符号化を指定する。これに相応して、ＰＣＳ２０Ａは、伝送のためにＭＡＣ２２Ａからデータ（例えば、パケット）を受け取り、各８ビット・バイトを１０ビット・シンボルに変換する。ＰＭＡ１８Ａから受け取られた各１０ビット・シンボルは、対応する８ビット・バイトに変換されて、ＭＡＣ２２Ａに提供される。図示される実施形態では、ギガビット媒体独立インタフェース（ＧＭＩＩ）が、ＭＡＣとＰＣＳ２０Ａとの間で使用される。他の実施形態は、１０ギガビットＭＩＩ（ＸＧＭＩＩ）を使用することが可能である。さらに他の実施形態は、他の任意のインタフェースを使用することが可能である。
【００１９】
ＰＭＡ１８Ａは、ＰＣＳから８ｂ／１０ｂシンボルを受け取り、それらのシンボルを、物理通信媒体１０上で伝送するために変換し、受信された信号を８ｂ／１０ｂシンボルに変換する。例えば、シンボルは、通信媒体１０の１つ又は複数のレーン上で順次に伝送される。ＰＭＤ１６Ａは、通信媒体１０を物理的に駆動する回路、及び通信媒体１０上で受信する回路を含む。
【００２０】
通信媒体１０は、リンク・パートナ間でパケットが伝送されることが可能な任意の媒体を含む。例えば、一実施形態では、ツイストペア銅ケーブル配線が使用される。別の実施形態では、光ファイバ相互接続が使用される。ギガビット・イーサネットの場合、ツイストペア又は光ファイバの１つのレーンが、各方向で提供されることが可能である。１０Ｇイーサネットの場合、光ファイバの４つのレーンが、通常、各方向で使用されるが、一部のケースでは、ツイストペアも可能である。他の実施形態において、他の通信媒体が使用されることが可能である。さらに、無線通信媒体（例えば、電波でのブロードキャスト）が、使用されてもよい。
【００２１】
８ｂ／１０ｂシンボル符号空間は、データ・シンボルと制御シンボルに分割される。データ・シンボルは、特定のデータ値を表すシンボルである。１バイトの可能な各データ値が、データ・シンボルの少なくとも１つにマップされる。一実施形態において、各データ値は、２つのデータ・シンボルにマップされる。その２つのシンボルの１つが、他の伝送要因に依存して、所与のデータ値に関する伝送のために選択される。所与のバイトに関して、ＰＣＳ２０Ａは、対応するデータ・シンボルを生成するように構成される。制御シンボルは、制御情報を伝送するのに使用される。例えば、制御シンボルは、パケットの開始とパケットの終了を表すように定義される。全くデータが伝送されていないことを示すアイドル制御シンボルが定義されてもよい。アイドル制御シンボルは、パケットの合間（１つのパケットに関するパケット・シンボルの終了から、次にパケットに関するパケット・シンボルの開始までの間）に伝送されるように定義される。また、アイドル制御シンボルは、一部の実施形態において、後段でより詳細に説明されるとおり、パケット伝送が中断された場合に伝送される制御シンボルとしても使用される。
【００２２】
ＭＡＣ２２Ａは、伝送中にパケットの伝送を中断するように構成される。すなわち、ＭＡＣ２２Ａは、パケットを複数のバイトとして伝送し、それらのバイトの第１の部分を伝送した後に（かつ、それらのバイトの第２の部分を伝送するのに先立って）、伝送を中断することができる。各部分は、少なくとも１つのバイトを含み、任意の数のバイトを含むことが可能である。ＭＡＣ２２Ａは、パケット伝送を複数回中断することができ、このため、さらなる部分（すなわち、第３の部分、第４の部分など）が存在してもよい。
【００２３】
ＰＣＳ２０Ａは、パケットの中断に応答して、伝送のために少なくとも１つの制御シンボルを生成するように構成される。一実施形態では、例えば、ＭＡＣ２２Ａが、そのパケット（又は、一部の実施形態では、別のパケット）の伝送を再開するまで、アイドル制御シンボルが、ＰＣＳ２０Ａによって生成される。コントローラ１２Ａは、定義された伝送帯域幅（例えば、図示される実施形態における、通信媒体１０上の専用の伝送パス）を有する。ＰＣＳ２０Ａは、ＭＡＣ２２Ａが、伝送を再開するまで、その伝送帯域幅を埋めるアイドル・シンボルを生成する。他の実施形態では、他の制御シンボルが生成される。例えば、パケット伝送が休止されており、再び再開されることを示す別の制御シンボルが、定義されてもよい。そのような制御シンボルはＰＣＳ２０Ａによって伝送される。さらに、パケットの実際の終了が遅れることを受信機が知らされた場合に、パケット・シンボルの終了が使用されてもよい。例えば、後段の一部の実施形態では、パケット・シンボルの開始と一緒に、チャネル指示とパケット指示（開始、中間、又は終了）を伝送する。パケット指示は、パケットのいずれの部分が伝送されているかを示する。
【００２４】
ＭＡＣ２２ＡとＰＣＳ２０Ａとの間のインタフェースは、パケットの開始とパケットの終了の明示的なシグナルを含む。例えば、ＧＭＩＩインタフェースは、データ有効信号を含む。データ有効信号のアサートは、現在、暗示的なパケット開始と解釈されており、データ有効信号のディアサートは、現在、暗示的なパケット終了と解釈されている。明示的なパケット開始とパケット終了のシグナルを追加することにより、データ有効信号が、パケット転送中にディアサートされて、そのパケットを終了させることなしに、パケット・バイトのフローを中断することが可能である。ＸＧＭＩＩインタフェースは、データ転送に制御値を含める。さらなる制御値が、生成されても、現在の制御値（アイドルなどの）が使用されてもよい。代替として、別個の明示的なパケットの開始と終了のシグナルが使用されてもよい。
【００２５】
ＭＡＣ２２Ａは、様々な実施形態において、１つ又は複数のイベントに応答して、パケット伝送を中断することができる。イベント・セットの任意の組合せを実装することが可能である。１つのイベントは、コントローラ１２Ａのリンク・パートナ（例えば、図１の実施形態におけるコントローラ１２Ｂ）からのフロー制御パケットの受信である。ＭＡＣ２２Ａは、そのフロー制御パケットに応答して、パケットの伝送を中断し、フロー制御パケットの中で指定された期間が満了するまで、伝送を抑止する。別のイベントは、伝送されるべき次のバイト（例えば、第２の部分の最初のバイト）を利用できない。例えば、ＭＡＣ２２Ａが、伝送されるべき次のバイトをメモリ・システム３４Ａから受け取っていない（例えば、メモリ待ち時間又はメモリ競合のために）場合、それらのバイトは利用できない。ＭＡＣ２２Ａは、次のバイトが利用可能になるまで、パケットの伝送を中断する。さらに別のイベントは、一部の実施形態で、別のチャネルからのパケットをインタリーブする。
【００２６】
フロー制御パケットのためにパケット伝送を中断することにより、コントローラ１２Ａは、一部の実施形態では、リンク・パートナにおけるバッファ・オーバフローに起因するドロップされるパケットの発生率を低減させることができる。一部の実施形態では、フロー制御されるケースを扱うために、より少ないバッファリングが実装される。というのは、フロー制御パケットの受信の後に、さらなる２つのパケットが、コントローラ１２Ａによって伝送されることがないからである。バイトが一時的に利用できない場合にパケット伝送を中断することにより、一部の実施形態では、メモリ待ち時間／競合の影響が、緩和され、パケットを読み取る際のメモリ待ち時間に起因してパケットがドロップされる発生率が、低減される。一部の実施形態において、異なるチャネルからのパケットをインタリーブすることにより、パケットをドロップさせることなしに、より低い優先度のパケットの伝送中でさえ、より低い優先度のパケットよりも、より高い優先度のパケットを優先させることができる。さらに、パケットをインタリーブすることは、一部の実施形態では、システム・パケット・インタフェース、バージョン４（ＳＰＩ−４）などの明示的にチャネル化されたインタフェースにブリッジすることが可能なリンク・パートナとインタフェースをとることを簡単にすることができる。
【００２７】
フロー制御パケットは、一般に、通信媒体上で通信するデバイスで受信されると、少なくとも一部のパケットを、そのフロー制御パケットのイニシエータに伝送することを、受信側に抑止させるように定義された任意のパケットである。パケット伝送が抑止されるべき時間間隔を指定する時間フィールドを含む、イーサネット標準によって指定されるフロー制御パケットは、フロー制御パケットの例である。別の実施形態において、時間間隔を指定するが、フロー制御パケットが適用されるチャネルも指定する、チャネル化されたフロー制御パケットがサポートされることもある。チャネル化されたフロー制御パケットに応答して、パケットの伝送は、指定されたチャネルに対して抑止されるが、他のチャネルに対しては、許されてもよい。ＭＡＣ２２Ａは、パケットが指定されたチャネルの１つに入っている場合、そのパケットの伝送を中断することができる。チャネル化されたフロー制御パケットは、チャネル（例えば、チャネル番号、チャネル番号のリスト、オプションとして、リストの中のチャネルの数、チャネルを識別するように設定されることが可能なチャネルごとのビットを有するビット・マスクなど）を識別するように符号化されるチャネル指示フィールドを含むことが可能である。
【００２８】
ホスト１４Ａ〜１４Ｂは、ネットワーク（例えば、通信媒体１０は、ネットワークの一部である）に接続するためのコントローラ１２Ａ〜１２Ｂを使用する任意の回路を含む。図１に示されるとおり、各ホスト１４Ａ〜１４Ｂは、それぞれのメモリ・システム３４Ａ〜３４Ｂを含む。メモリ・システム３４Ａ〜３４Ｂは、任意の半導体メモリ（例えば、ＳＲＡＭ（スタティックＲＡＭ）、ＤＲＡＭ（ダイナミックＲＡＭ）、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）、ＤＤＲ若しくはＤＤＲ２（ダブル・データレート）のＤＲＡＭ、Ｒａｍｂｕｓ  ＤＲＡＭなどのＲＡＭ（ランダム・アクセス・メモリ））を含む。メモリ・システム３４Ａ〜３４Ｂは、メモリとインタフェースするように構成された１つ又は複数のメモリ・コントローラをさらに含む。さらに、ホスト１４Ａ〜１４Ｂは、ホスト・デバイス３６Ａ〜３６Ｂなどの、他の任意の所望される回路を含む。ホスト・デバイス３６Ａ〜３６Ｂには、プロセッサ、Ｉ／Ｏ（入力／出力）デバイスかＩ／Ｏインタフェース、他のインタフェースに対するブリッジ回路、キャッシュなどが含まれる。ホスト・デバイス３６Ａ〜３６Ｂは、メモリ・システム３４Ａ〜３４Ｂに結合され、コントローラ１２Ａ〜１２Ｂを使用するメモリ・システム３４Ａ〜３４Ｂへのアクセスの競合を生じさせる可能性がある。そのような競合は、コントローラ１２Ａ〜１２Ｂに関する事実上のメモリ待ち時間を長くする。
【００２９】
前述したとおり、パケット伝送を中断することに加えて、コントローラ１２Ａは、パケット伝送を終了させることもできる（例えば、誤り、予期される長い遅延、又はパケットをドロップすることを望ましくするその他の理由により）ことに留意されたい。
【００３０】
次に図２を参照すると、コントローラ１２Ａの一実施形態に関してＭＡＣ２２ＡとＰＣＳ２０Ａとの間のインタフェースを示す、ＭＡＣ２２ＡとＰＣＳ２０Ａの一実施形態のブロック図が示されている。図２の実施形態のインタフェースは、パケットの開始と終了の明示的なシグナルのための拡張とともに、ＧＭＩＩインタフェースと互換性がある。
【００３１】
図２に示されるインタフェースは、ＴＸ（送信）データ（ＴＸＤ）バスと、ＴＸ有効（ＴＸＶ）信号と、ＴＸ誤り（ＴＸＥＲ）信号と、送信信号のためのクロック基準であるＴＸクロック（ＴＸＣＬＫ）とを含む。ＴＸＤバスは、一実施形態では、１バイト幅であり、パケット・データ・バイトを伝送する。ＴＸＶ信号は、有効なパケット・データ・バイトが、ＴＸＤ上で伝送されていることを示すのにアサートされ、ＴＸＥＲ信号は、伝送の誤りを示すのにアサートされる。ＴＸＶ信号は、ＴＸＥＮ（ＴＸイネーブル）とも呼ばれる。ＴＸＤ、ＴＸＶ、ＴＸＥＲ、ＴＸＣＬＫは、パケット・データをＰＣＳ２０Ａに伝送するためにＭＡＣ２２Ａをソースとする。受信されたパケット・データ・バイト（受信された８ｂ／１０ｂシンボルから復号された）を提供するのに同様のインタフェースが、ＰＣＳ２０Ａによって使用され、ＲＸ（受信）データ（ＲＸＤ）バスと、ＲＸ有効（ＲＸＶ）信号と、ＲＸ誤り（ＲＸＥＲ）信号と、ＲＸクロック（ＲＸＣＬＫ）信号とを含む。さらに、搬送波感知（ＣＲＳ）信号、衝突検出（ＣＯＬ）信号が、半二重オペレーションに関してＧＭＩＩインタフェースにおいて指定されるとおり、提供される。
【００３２】
また、パケットの開始と終了を明示的に知らせるパケット開始（ＳＯＰ）信号とパケット終了（ＥＯＰ）信号も提供される。ＭＡＣ２２Ａは、伝送されるパケットの最初のバイトに関するＴＸＶ信号と一緒に、ＳＯＰ信号をアサートし、伝送されるパケットの最後のバイトに関するＴＸＶ信号と一緒に、ＥＯＰ信号をアサートする。このため、ＴＸＶ信号をパケット伝送中にディアサートすることで、パケットの伝送を中断することができる。ＰＣＳ２０Ａも同様に、ＳＯＰ信号とＥＯＰ信号を使用して、受信されたパケットの開始と終了を知らせることができ、ＲＸＶ信号をディアサートして、受信されているパケットが、中断されたことを示すことができる。ＭＡＣ２２Ａは、ＰＣＳ２０Ａとは別個のＳＯＰ信号とＥＯＰ信号を有することも可能である。
【００３３】
Ｇ／１０Ｇイーサネットにおいては半二重オペレーションが使用されないので、ＣＲＳ信号とＣＯＬ信号は使用されない。ＣＲＳ信号とＣＯＬ信号を伝送する信号ラインは、この実施形態では、ＳＯＰ信号とＥＯＰ信号のいずれかとして再使用可能である。
【００３４】
図３は、コントローラ１２Ａの別の実施形態に関してＭＡＣ２２ＡとＰＣＳ２０Ａとの間のインタフェースを示す、ＭＡＣ２２ＡとＰＣＳ２０Ａの別の実施形態のブロック図である。図３の実施形態のインタフェースは、パケットの開始と終了の明示的なシグナルのためのオプションの拡張を伴って、ＸＧＭＩＩインタフェースと互換性がある。
【００３５】
ＸＧＭＩＩインタフェースは、３２ビットのＴＸデータ・バスとＲＸデータ・バス（図３のＴＸＤバスとＲＸＤバス）、及び対応するデータ・バスの各バイト（つまり、各データ・バスに関する制御の４ビット）に関する対応する制御ビット（ＴＸＣバスとＲＸＣバス）を指定する。インタフェースは、いずれの方向においてもクロック（ＴＸＣＬＫとＲＸＣＬＫ）をさらに含む。制御ビットは、対応するバイトが制御バイトであることを示すために設定され、対応するバイトが、データ・バイトであることを示すためにクリアされる。制御バイトは、開始（パケット開始）、終了（パケット終了）、アイドル、誤りを含む。
【００３６】
このため、ＭＡＣ２２Ａは、開始バイトと終了バイトを、明示的なパケットの開始と終了の指示として使用することができる。代替として、ＳＯＰ制御信号とＥＯＰ制御信号を含めてもよい（図３における破線）。ＭＡＣ２２Ａは、アイドル制御バイトを使用して、パケット伝送を中断することができる。ＰＣＳ２０Ａも同様に、開始制御バイトと終了制御バイトを使用して、受信されたパケットの開始と終了を知らせることができ、アイドル制御バイトを使用して、パケット転送における中断を知らせることができる。
【００３７】
明示的なパケットの開始と終了の指示が、図２、図３のインタフェースに含められているが、他の実施形態は、所望される場合、明示的なパケット終了指示だけを含むことが可能であることに留意されたい。パケット開始指示は、パケット終了指示の後に続くデータ有効信号のアサートで暗示される。
【００３８】
次に図４を参照すると、図２に示されるインタフェースを使用してパケットを伝送するためのＭＡＣ２２Ａの一実施形態の動作を例示する流れ図が示されている。ブロックは、理解を容易にするために特定の順序で示されているが、他の順序が使用されてもよい。ブロックは、ＭＡＣ２２Ａ内部の組合せロジックにおいて並行に実行されてもよい。ブロック、ブロックの組合せは、流れ図全体に関して、複数のクロック・サイクルにわたってパイプライン化されてもよい。
【００３９】
ＭＡＣ２２Ａが、パケット伝送を開始している場合（判定ブロック４０、「Ｙｅｓ」の分岐）、ＭＡＣ２２Ａは、ＳＯＰ制御信号をアサートする（ブロック４２）。同様に、ＭＡＣ２２Ａが、パケット伝送の終わりに達した、又は別の理由で終了する場合（判定ブロック４４、「Ｙｅｓ」の分岐）、ＭＡＣ２２Ａは、ＥＯＰ制御信号をアサートする（ブロック４６）。ＭＡＣ２２Ａが、ＦＣ（フロー制御）パケットを受信した、又は以前に受信されたＦＣパケットから進行中のフロー制御を有する場合（判定ブロック４８、「Ｙｅｓ」の分岐）、ＭＡＣ２２Ａは、ＭＡＣ２２Ａが、伝送すべきデータを有する場合でも、データ有効（ＴＸＶ）信号をディアサートする（ブロック７５０）。このようにして、パケット伝送は、ＦＣパケットによって要求される時間間隔中に中断され、抑止される。受信されている、又は進行中のＦＣパケットが全く存在せず、ＭＡＣ２２Ａが、伝送すべきデータを全く有さない場合（判定ブロック５２、「Ｎｏ」の分岐）、ＭＡＣ２２Ａは、データ有効（ＴＸＶ）信号もディアサートする（ブロック５０）。このように、パケット伝送は、伝送される準備ができているデータが全く存在しない場合、中断される。受信された、又は進行中のＦＣパケットが全く存在せず、伝送される準備ができているデータが存在する場合、ＭＡＣ２２Ａは、データ有効（ＴＸＶ）信号をアサートし、そのデータを伝送する（ブロック５４）。
【００４０】
次に図５を参照すると、図２のインタフェースを使用してパケットを伝送するためのＰＣＳ２０Ａの一実施形態の動作を例示する流れ図が、示されている。ブロックは、理解を容易にするために特定の順序で示されているが、他の順序が使用されてもよい。ブロックは、ＰＣＳ２０Ａ内部の組合せロジックにおいて並行に実行されてもよい。ブロック、ブロックの組合せは、流れ図全体に関して、複数のクロック・サイクルにわたってパイプライン化されてもよい。
【００４１】
ＳＯＰ信号が、ＭＡＣ２２Ａによってアサートされた場合（判定ブロック６０、「Ｙｅｓ」の分岐）、ＰＣＳ２０Ａは、通信媒体１０上で伝送するためにＰＭＡ１８ＡにＳＯＰ制御シンボルを伝送する（ブロック６２）。同様に、ＥＯＰ信号が、アサートされた場合（判定ブロック６４、「Ｙｅｓ」の分岐）、ＰＣＳ２０Ａは、ＥＯＰ制御シンボルをＰＭＡ１８Ａに伝送する（ブロック６６）。データ有効（ＴＸＶ）信号が、ＭＡＣ２２Ａによってアサートされた場合（判定ブロック６８、「Ｙｅｓ」の分岐）、ＰＣＳ２０Ａは、データの８ｂ／１０ｂ符号化（つまり、対応するデータ・シンボル）を生成して、そのデータ・シンボルをＰＭＡ１８Ａに伝送する（ブロック７０）。データ有効信号が、ＭＡＣ２２Ａによってアサートされない場合（判定ブロック６８、「Ｎｏ」の分岐）、ＰＣＳ２０Ａは、アイドル制御シンボルを伝送する（ブロック７２）。このように、アイドル制御シンボルは、この実施形態では、パケットが中断されている時間中や、パケットとパケットの合間に伝送される。
【００４２】
次に図６を参照すると、図２に示されるインタフェースを使用してパケットを受信するためのＰＣＳ２０Ａの一実施形態の動作を示す流れ図が示されている。ブロックは、理解を容易にするために特定の順序で示されているが、他の順序が使用されてもよい。ブロックは、ＰＣＳ２０Ａ内部の組合せロジックにおいて並行に実行されてもよい。ブロック、ブロックの組合せは、流れ図全体に関して、複数のクロック・サイクルにわたってパイプライン化されてもよい。
【００４３】
ＰＣＳ２０Ａが、ＰＭＡ１８ＡからＳＯＰ制御シンボルを受信した場合（判定ブロック８０、「Ｙｅｓ」の分岐）、ＰＣＳ２０Ａは、ＳＯＰ制御信号をＭＡＣ２２Ａにアサートする（ブロック８２）。同様に、ＰＣＳ２０Ａが、ＰＭＡ１８ＡからＥＯＰ制御シンボルを受信した場合（判定ブロック８４、「Ｙｅｓ」の分岐）、ＰＣＳ２０Ａは、ＥＯＰ制御信号をＭＡＣ２２Ａにアサートする（ブロック８６）。アイドル・シンボルが、ＰＭＡ１８Ａから受信された場合（判定ブロック８８、「Ｙｅｓ」の分岐）、ＰＣＳ２０Ａは、ＭＡＣ２２Ａにデータ有効（ＲＸＶ）信号をディアサートする（ブロック９２）。ＭＡＣ２２Ａは、ＲＸＤバス上のデータを無視して、データ有効（ＲＸＤ）信号の次回のアサートを待つ。受信されない場合、ＰＣＳ２０Ａは、データ・シンボルを復号し、データ有効（ＲＸＶ）信号をアサートして、ＲＸＤバス上でデータを提供する（ブロック９０）。
【００４４】
図４〜図６の流れ図、及び図７〜図９のタイミング図は、図２の実施形態の拡張されたＧＭＩＩインタフェースを使用することに留意されたい。他の実施形態は、図３のインタフェースを使用する。そのような場合、ＳＯＰ／ＥＯＰ制御信号をアサートすることは、開始／終了制御バイトを伝送することによって置き換えられることが可能である。さらに、ＸＡＵＩ  １０Ｇインタフェースを実施する実施形態の場合、４つの並列レーンのシンボルが、同時に伝送される。図４〜図６の流れ図のオペレーションは、各バイト／シンボルに独立に当てはまることが可能である。
【００４５】
次に図７を参照すると、図２の実施形態のインタフェースを使用してパケットを伝送する例を示すタイミング図が示されている。ＴＸＣＬＫが、伝送されている、ＳＯＰ制御信号、ＥＯＰ制御信号、ＴＸＶ信号、パケット・データとともに示されている。１０バイトだけが、図面のスペースと簡明のために、図７に示されているが、さらなるバイトが、パケットに含められてもよいことに留意されたい。イーサネット・パケットの最初の１１バイトは、メモリの中に格納されたパケット・データに、ＭＡＣ２２Ａによって追加されたプリアンブル（１０バイト）と、フレーム開始区切り記号（１バイト）とを含む。
【００４６】
ＳＯＰ信号は、パケットの最初のバイト（ＰＩ）の伝送と同時にアサートされ、その後、デアサートされる。また、ＴＸＶ信号もアサートされ、その後の２バイト（Ｐ２とＰ３）の伝送の間、アサートされたままになる。ＴＸＶ信号は、ＴＸＣＬＫの４サイクルにわたってデアサートされ、その後、５バイト（Ｐ４からＰ８まで）の転送にわたって再アサートされる。ＴＸＶ信号は、２サイクルにわたって再びデアサートされ、その後、さらなる２バイト（Ｐ９からＰ１０まで）の転送にわたって再アサートされる。ＥＯＰ信号は、Ｐ１０の伝送と同時にアサートされて、パケットの終了を知らせる。
【００４７】
図８は、ギガビット・イーサネット上における図７に示されるパケットの伝送の例を示すタイミング図である。図８における時間のスケールは、図７と同一であることは意図されておらず、また図８は、図７と必ずしも時間的に整列させられていない。ＳＯＰシンボルは、ＳＯＰ制御信号のアサートに応答して伝送され、その後に、バイトＰ１からＰ３までに対応するデータ・シンボルが続く。次のバイトが、伝送に利用できるようになるまで、アイドル制御シンボル（Ｉ）が伝送される（例えば、この例では、４回のアイドル・シンボル伝送）。次いで、バイトＰ４からＰ８までに対応するデータ・シンボルが伝送され、その後に、アイドル制御シンボル、バイトＰ９とＰ１０に関するデータ・シンボル、最後にＥＯＰ制御シンボルが続く。
【００４８】
図９は、１０ギガビット・イーサネット上における図７に示されるパケットの伝送の例を示すタイミング図である。図９における時間のスケールは、図７と同一であることは意図されておらず、また図９は、図７と必ずしも時間的に整列させられていない。ＳＯＰシンボルは、ＳＯＰ制御信号のアサートに応答して、レーン０上で伝送される。バイトＰ１からＰ３までに対応するデータ・シンボルが、レーン１からレーン３までの上で同時に伝送される。次のバイトが、伝送に利用できるようになるまで、アイドル制御シンボル（Ｉ）が、すべてのレーン上で伝送される（例えば、この例では、すべてのレーンにわたってアイドル・シンボルの５回の伝送）。バイトＰ４からＰ７までに対応するデータ・シンボが並行に伝送され、その後、レーン０上でバイトＰ８に関するデータ・シンボルが続く。バイトＰ８に対応するデータ・シンボルの伝送と同時に生じるのが、レーン１からレーン３までの上のアイドル・シンボルである。つまり、一部の実施形態では、パケット中断は、必ずしも、いずれかの特定の境界において生じる必要はない。レーン０とレーン１でのバイトＰ９〜Ｐ１０の伝送と、レーン２でのＥＯＰ制御シンボルの伝送まで、すべてのレーンにわたってアイドル・シンボルのさらなる伝送が後に続く。
【００４９】
前述したとおり、一部の実施形態では、ＭＡＣ２２Ａは、異なるチャネルからのパケットをインタリーブするようにも構成される。そのような実施形態では、ＭＡＣ２２Ａは、相互接続上で伝送される各バイト・セットに関するチャネル番号を識別するバイトを伝送する。コントローラ１２Ａは、パケットのバイトが伝送されていることを示すＳＯＰ制御シンボルを伝送する。また、それらのバイトを、対応するパケットの開始、中間、又は終了として識別する別のシンボルも伝送される。
【００５０】
図１０は、異なるチャネルからのパケットをインタリーブするためのＭＡＣ２２Ａ／ＰＣＳ２０Ａの一実施形態のさらなる動作を示す流れ図である。ブロックは、理解を容易にするために特定の順序で示されているが、他の順序が使用されてもよい。ブロックは、ＭＡＣ２２Ａ内部の組合せロジックにおいて並行に実行されてもよい。ブロック、ブロックの組合せは、流れ図全体に関して、複数のクロック・サイクルにわたってパイプライン化されてもよい。
【００５１】
伝送が、パケットの開始、又は中断後のパケットの再開である場合（判定ブロック１００、「Ｙｅｓ」の分岐）、ＰＣＳ２０ＡはＳＯＰ制御シンボルを伝送し、ＭＡＣ２２Ａは、パケット・データの先頭にチャネル番号を付加するとともに、バイトがパケットの開始、中間、又は終了を含むかの指示を付加する（ブロック１０２）。バイトが、パケットの最初のバイトを含む場合、パケットの開始である。バイトは、パケットの最初のバイト又は最後のバイトを含まない場合、パケットの中間である。バイトは、パケットの最後のバイトを含む場合、パケットの中間である。
【００５２】
図１１は、図７に示されるパケットと同様のパケットに関する、ギガビット・イーサネット上でチャネル情報を有するパケットを伝送する一実施形態の例である。この例は、ＳＯＰ制御シンボルを含み、その後に、２バイトのチャネル番号を表す２つのシンボルが続き、その後に、後続のバイトが、パケットの開始であることを示すシンボル（図１１のＳ）が続く。さらに、３バイトに対応するデータ・シンボルがその後に続く（Ｐ１からＰ３まで）。バイトＰ３に関するシンボルの後、パケットが中断されたため、２つのアイドル制御シンボルが続く。次いで、パケットは、別のＳＯＰ制御シンボルで再開し、その後に、チャネル番号シンボルと、パケットの中間を示すシンボル（図１１のＭ）とが続く。次いで、バイトＰ４からＰ８までに対応する、さらなる５つのデータ・シンボルが、伝送される。図１１に示されていないのが、チャネル・シンボルの後にパケットの終了の指示を含むバイトの少なくともさらなる１回の転送である。
【００５３】
図１２は、図７に示されるパケットと同様のパケットに関する、１０ギガビット・イーサネット上でチャネル情報を有するパケットを伝送する一実施形態の例である。この例では、ＳＯＰ制御シンボルはレーン０上で伝送される。ＳＯＰ制御シンボルと同時のレーン１とレーン２は、チャネル・シンボルであり、ＳＯＰ制御シンボルと同時のレーン３は、バイトが、パケットの開始であるという指示（図１２のＳ）である。バイトＰ１からＰ３までに関するデータ・シンボルは、レーン０からレーン２までで伝送され、その後に、パケットの次の部分が、伝送される準備ができるまで、アイドル制御シンボルが続く。別のＳＯＰ制御シンボルが、チャネル・シンボルとパケット中間指示（図１２におけるＭ）と一緒に伝送される。バイトＰ４からＰ８までに関するデータ・シンボルが、伝送され、その後に、さらなるアイドル制御シンボルが続く。最後に、ＳＯＰ制御シンボルが、チャネル・シンボル及びパケット終了指示と一緒に伝送される（図１２におけるＥ）。バイトＰ９とＰ１０に対応する残りのデータ・シンボルが伝送され、ＥＯＰ制御シンボルが伝送される。
【００５４】
図１３は、１０ギガビット・イーサネット上で異なるチャネルからのパケットをインタリーブする例を示すタイミング図である。図１３の例では、第１のチャネル（Ｃｈ１）のパケットが開始される。ＳＯＰ制御シンボルが、Ｃｈ１を表すチャネル・シンボルとパケット開始指示（Ｓ）と一緒に伝送される。この例では、Ｃｈ１パケットに関する８つのデータ・シンボルが伝送される（Ｐ１からＰ８まで）。その後、パケットは、中断されて、異なるチャネル（Ｃｈ２）からのデータが伝送される。ＳＯＰシンボルが再び伝送され（符号１１０）、その後に、Ｃｈ２を表すチャネル・シンボルとパケット開始指示（Ｓ）が続く。Ｃｈ２パケットの８つのデータ・シンボルが伝送される（Ｐ１からＰ８まで）。Ｃｈ２パケットが中断され、ＳＯＰ制御シンボルが再び伝送される（符号１１２）。Ｃｈ１を表すチャネル・シンボルとパケット終了指示（Ｅ）が、ＳＯＰ制御シンボルと同時に伝送される。Ｃｈ１パケットのバイトＰ９からＰ１０までに関するデータ・シンボルが、伝送され、ＥＯＰ制御シンボルがＣｈ１パケットを終了する。この例では、アイドル制御シンボルが、その後に続き、次いで、ＳＯＰ制御シンボルが伝送される（符号１１４）。ＳＯＰ制御シンボルと同時に、チャネル・シンボルがＣｈ２を識別し、パケット指示が、パケットの中間が伝送されていることを示する（図１３におけるＭ）。Ｃｈ２パケットのバイトＰ９からＰ１２までに関するデータ・シンボルが伝送される。別のパケット中断のためのさらなるアイドル制御シンボルの後、ＳＯＰ制御シンボルが伝送される（符号１１６）。ＳＯＰ制御シンボルと同時に、チャネル・シンボルがＣｈ２を識別し、パケット指示がパケットの終了が伝送されていることを示する（図１３におけるＥ）。Ｃｈ２パケットのバイトＰ１３からＰ１５までに関するデータ・シンボルが、パケットを終了させるＥＯＰ制御シンボルと一緒に伝送される。
【００５５】
一部の実施形態では、中断される各パケット伝送は、ＥＯＰ制御シンボルとともに、ＳＯＰ制御シンボルも含むことが可能である。そのような伝送は、チャネル情報、及び／又は通信媒体１０上のパケットのフロー制御を実施しないリンク・パートナにコンパチブルである。図示される実施形態では、チャネル番号のために２バイト／シンボルが、使用されるが、他の実施形態は、チャネル番号のために１バイト／シンボル、又は２つを超えるバイト／シンボルを使用することが可能である。さらに、パケットの開始／中間／終了の指示は、所望される場合、チャネル・シンボルより前に伝送されてもよい（例えば、レーン３の代わりにレーン１上で）。
【００５６】
一実施形態では、チャネル番号シンボル及び開始／中間／終了シンボルは、パケットのプリアンブルの最初の３バイトに取って代わることが可能である。Ｇ／１０イーサネットにおいて、プリアンブルは、必ず要求されるというわけではなく、したがって、これらのバイトを置き替えることは、機能に影響を及ぼさないはずである。
【００５７】
一部の実施形態において、パケット（及び／又はパケット・データと一緒のチャネル情報の伝送）の明示的フロー制御の使用は、リンク・パートナがそれらのフィーチャをサポートするか否かに応じて、イネーブル又はディセーブルにされる。例えば、イーサネット・ネットワーク上で、自動ネゴシエーション・プロトコルが、リンク・パートナに関する起動時に使用されて、互いの能力が特定される。標準の自動ネゴシエーションの後、リンク・パートナは、他の能力についてのメッセージを交換する。
【００５８】
図１４は、起動のためのコントローラ１２Ａ（及び同様のコントローラ１２Ｂ）の一実施形態の動作を示す流れ図である。ブロックは、理解を容易にするために特定の順序で示されているが、任意の順序を使用できる。さらに、ブロックは、コントローラ１２Ａ内部の組合せロジックにおいて並行に実行されてもよい。ブロック、ブロックの組合せは、流れ図全体に関して、複数のクロック・サイクルにわたってパイプライン化されてもよい。
【００５９】
コントローラ１２Ａは、標準の自動ネゴシエーションを実行することができ（ブロック１２０）、その後に、明示的フロー制御のためのネゴシエーションが続く（ブロック１２２）。リンク・パートナが、明示的フロー制御をサポートする場合（判定ブロック１２４、「Ｙｅｓ」の分岐）、コントローラ１２Ａは、明示的フロー制御をイネーブルにする（ブロック１２６）。サポートしない場合、コントローラ１２Ａは、明示的フロー制御をディセーブルにする（ブロック１２８）。また、コントローラ１２Ａは、チャネル情報伝送に関するネゴシエーションも行うことができる（ブロック１３０）。リンク・パートナが、チャネル情報伝送をサポートする場合（判定ブロック１３２、「Ｙｅｓ」の分岐）、コントローラ１２Ａは、チャネル情報伝送をイネーブルにする（ブロック１３４）。サポートしない場合、コントローラ１２Ａは、チャネル情報伝送をディセーブルにする（ブロック１３６）。
【００６０】
以上の開示が完全に理解されれば、多数の変形形態や改変形態が、当業者には明白となろう。添付の特許請求の範囲は、すべてのそのような変形形態及び改変形態を包含するように解釈されるものとする。
【図面の簡単な説明】
【００６１】
【図１】ネットワーク・インタフェース・コントローラと、対応するホストとのペアの一実施形態を含むシステムの一実施形態を示すブロック図である。
【図２】媒体アクセス・コントローラと物理符号化サブレイヤとの間のインタフェースの一実施形態を示すブロック図である。
【図３】媒体アクセス・コントローラと物理符号化サブレイヤとの間のインタフェースの別の実施形態を示すブロック図である。
【図４】パケットを伝送するための媒体アクセス・コントローラの一実施形態の動作を示す流れ図である。
【図５】パケットを伝送するための物理符号化サブレイヤの一実施形態の動作を示す流れ図である。
【図６】パケットを受信するための物理符号化サブレイヤの一実施形態の動作を示す流れ図である。
【図７】図２に示されるインタフェースのオペレーションの例を示すタイミング図である。
【図８】ギガビット・イーサネット上におけるシンボルの伝送の例を示すタイミング図である。
【図９】１０ギガビット・イーサネット上におけるシンボルの伝送の例を示すタイミング図である。
【図１０】チャネル情報を伝送するための媒体アクセス・コントローラの一実施形態を示す流れ図である。
【図１１】ギガビット・イーサネット上におけるチャネル情報を含むシンボルの伝送の例を示すタイミング図である。
【図１２】１０ギガビット・イーサネット上におけるチャネル情報を含むシンボルの伝送の例を示すタイミング図である。
【図１３】異なるチャネルからのパケットをインタリーブすることを含む１０ギガビット・イーサネット上におけるシンボルの伝送の例を示すタイミング図である。
【図１４】自動ネゴシエーションの一実施形態を示す流れ図である。
【図１】
2009506682.tif 000003
【図２】
2009506682.tif 000004
【図３】
2009506682.tif 000005
【図４】
2009506682.tif 000006
【図５】
2009506682.tif 000007
【図６】
2009506682.tif 000008
【図７】
2009506682.tif 000009
【図８】
2009506682.tif 000010
【図９】
2009506682.tif 000011
【図１０】
2009506682.tif 000012
【図１１】
2009506682.tif 000013
【図１２】
2009506682.tif 000014
【図１３】
2009506682.tif 000015
【図１４】
2009506682.tif 000016
【手続補正書】
【提出日】平成20年4月28日(2008.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信媒体上でパケットを通信するように構成されたコントローラであって、
前記通信媒体上で複数のデータ・シンボルとしてパケットを伝送するように構成され、前記パケットの第１の部分を伝送した後、前記パケットの伝送を中断するように構成され、前記中断に応答して、少なくとも１つの制御シンボルを伝送するように構成され、前記パケットの第２の部分の伝送を続けるように構成され、さらに、前記少なくとも１つの制御シンボルを含む複数の制御シンボルを伝送するようにさらに構成され、前記複数の制御シンボルは、前記第１の部分に対応する最後のデータ・シンボルから、前記第２の部分に対応する最初のデータ・シンボルまでの間、前記通信媒体上の前記コントローラの伝送帯域幅を埋めることを特徴とするコントローラ。
【請求項２】
前記パケットを複数のバイトとして伝送するように構成された媒体アクセス・コントローラ（ＭＡＣ）と、
前記複数のバイトを前記ＭＡＣから受信するように結合され、前記通信媒体上で伝送するために、各バイトをそれぞれのデータ・シンボルとして符号化するように構成された物理符号化サブレイヤ（ＰＣＳ）回路と
を含み、前記ＭＡＣは、前記複数のバイトの第１の部分を伝送した後に、前記パケットの伝送を中断するように構成され、前記ＰＣＳ回路は、前記中断に応答して、前記第１の部分の各バイトに関する対応するデータ・シンボルを伝送し、前記少なくとも１つの制御シンボルを伝送するように構成され、前記ＭＡＣは、前記複数のバイトの第２の部分の伝送を続けるように構成され、前記ＰＣＳ回路は、前記第２の部分の各バイトに関する対応するデータ・シンボルを伝送するように構成される請求項１に記載のコントローラ。
【請求項３】
前記少なくとも１つの制御シンボルは、前記通信媒体上で１つのパケットの終了から、別のパケットの開始までの間でも使用されるアイドル制御シンボルを含む先行するいずれかの請求項に記載のコントローラ。
【請求項４】
前記コントローラは、前記コントローラが、前記通信媒体からフロー制御パケットを受信したことに応答して、前記パケットの伝送を中断するように構成され、前記コントローラは、前記フロー制御パケットによって指定された期間にわたって伝送を抑止した後、前記第２の部分から伝送を続けるように構成される先行するいずれかの請求項に記載のコントローラ。
【請求項５】
前記コントローラは、前記第２の部分が伝送に利用できないことに応答して、前記パケットの伝送を中断するように構成される請求項１から３のいずれか１項に記載のコントローラ。
【請求項６】
使用中に前記コントローラが結合されるメモリ・システムから前記コントローラに、前記第２の部分がまだ提供されていない場合、前記第２の部分が利用できない請求項５に記載のコントローラ。
【請求項７】
前記コントローラは、前記パケットの伝送を中断して、異なるチャネルからの第２のパケットの伝送をインタリーブするように構成される請求項１から４のいずれか１項に記載のコントローラ。
【請求項８】
通信媒体と、
前記通信媒体に結合され、先行するいずれかの請求項に記載の前記コントローラと、
前記通信媒体に結合された第２のコントローラとを含み、
前記コントローラは、前記コントローラが、前記第２のコントローラによって伝送された前記通信媒体からフロー制御パケットを受信したことに応答して、前記パケットの伝送を中断するように構成され、前記コントローラは、前記フロー制御パケットによって指定された期間にわたって伝送を抑止した後、前記第２の部分から伝送を続けるように構成されることを特徴とするシステム。
【請求項９】
複数のバイトの第１の部分の各バイトを、対応するデータ・シンボルとして符号化することを含む、該第１の部分を伝送することの後に、通信媒体上で該複数のバイトを含むパケットの伝送を中断することと、
前記中断することに応答して、前記通信媒体上で少なくとも１つの制御シンボルを伝送することと、
前記複数のバイトの第２の部分の各バイトを、対応するデータ・シンボルとして符号化することを含む前記パケットの伝送を、該第２の部分から続けることと
を含み、
前記少なくとも１つの制御シンボルを伝送することは、複数の制御シンボルを伝送することを含み、前記複数の制御シンボルは、前記第１の部分に対応する最後のデータ・シンボルから、前記第２の部分に対応する最初のデータ・シンボルまでの間、前記通信媒体上の前記コントローラの伝送帯域幅を埋める
む方法。
【請求項１０】
前記少なくとも１つの制御シンボルは、前記通信媒体上で１つのパケットの終了から、別のパケットの開始までの間で使用されるアイドル制御シンボルを含む請求項９に記載の方法。
【請求項１１】
前記パケットの伝送を中断することが前記通信媒体からフロー制御パケットを受信したことに応答し、前記第２の部分から伝送を続けることが前記フロー制御パケットによって指定された期間にわたって伝送を抑止した後に続く請求項９又は１０に記載の方法。
【請求項１２】
前記パケットの伝送を中断することは、前記第２の部分が伝送に利用できないことに応答する請求項９又は１０に記載の方法。
【国際調査報告】
2009506682.tif 000017
2009506682.tif 000018
2009506682.tif 000019