(57)【特許請求の範囲】
【請求項１】
イーサネット（登録商標）通信プロトコルを用いてリンクパートナと通信するネットワークコントローラを備えるネットワークノード素子であって、
前記ネットワークコントローラはさらに、
データモード期間において少なくとも１つの順方向誤り訂正（ＦＥＣ）モードを解決するよう、自動ネゴシエーション期間において要求し、
前記データモード期間において、前記ネットワークコントローラと前記リンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定し、
前記データモード期間において、前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて前記ネットワークノード素子が利用する少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを決定し、前記通信リンクをアクティブに維持して前記少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルし、
前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、前記少なくとも１つのＦＥＣモードに含まれる第１のＦＥＣモードおよび前記第１のＦＥＣモードよりコーディングゲインが大きい第２のＦＥＣモードのいずれかを、前記データモード期間において選択し、
前記自動ネゴシエーション期間および前記データモード期間は、イーサネット（登録商標）通信プロトコルによって定義されており、前記自動ネゴシエーション期間は前記データモード期間より前に発生するネットワークノード素子。
【請求項２】
前記チャネル品質パラメータは、ビットエラーレート（ＢＥＲ）、ＳＮ比（ＳＮＲ）、クロストーク、環境ノイズ、線形性およびインパルス応答から成る群から選択される請求項１に記載のネットワークノード素子。
【請求項３】
前記ネットワークコントローラはさらに、前記データモード期間において少なくとも１つのＦＥＣモードを解決するよう求める前記要求を示すフラグで、リンクコードワードベースページをフォーマッティングする請求項１または２に記載のネットワークノード素子。
【請求項４】
前記ネットワークコントローラはさらに、前記少なくとも１つのＦＥＣモードがイネーブルまたはディセーブルされている間は、前記ネットワークノード素子と前記リンクパートナとの間のデータフローを一時停止させる請求項１から３の何れか１項に記載のネットワークノード素子。
【請求項５】
前記ネットワークコントローラはさらに、前記少なくとも１つのＦＥＣモードがイネーブルまたはディセーブルされた後に、前記ネットワークノード素子と前記リンクパートナとの間の前記データフローを再開する請求項４に記載のネットワークノード素子。
【請求項６】
前記ネットワークコントローラはさらに、前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、前記ネットワークノード素子が利用する少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを、前記データモード期間において、決定するべく複数の高速リンク再トレーニング処理を実行し、
前記複数の高速リンク再トレーニング処理は、前記イーサネット（登録商標）通信プロトコルによって定義されており、前記イーサネット（登録商標）通信プロトコルが定義しているリンクトレーニング期間において実行される複数のリンクトレーニング処理よりも、プロセッサへの負荷が少ない請求項１から５の何れか１項に記載のネットワークノード素子。
【請求項７】
前記ネットワークコントローラはさらに、前記ネットワークコントローラの複数のＦＥＣモード機能を示す少なくとも１つのフラグで、前記複数の高速リンク再トレーニング処理に対するトレーニングフレームに含まれる係数更新フィールドをフォーマッティングする請求項６に記載のネットワークノード素子。
【請求項８】
前記ネットワークコントローラはさらに、前記ネットワークコントローラの複数のＦＥＣモード機能を示す少なくとも１つのフラグで、前記複数の高速リンク再トレーニング処理に対するトレーニングフレームに含まれるステータス報告フィールドをフォーマッティングする請求項６または７に記載のネットワークノード素子。
【請求項９】
前記イーサネット（登録商標）通信プロトコルは、米国電気電子学会８０２．３イーサネット（登録商標）通信プロトコルに準拠している請求項１から８の何れか１項に記載のネットワークノード素子。
【請求項１０】
前記ネットワークコントローラはさらに、前記ネットワークコントローラの複数のＦＥＣモード機能で複数のインバンド制御コード信号をフォーマッティングし、イネーブルまたはディセーブルする少なくとも１つのＦＥＣモードを選択するべく、前記データモードにおいて、前記複数のインバンド制御コード信号を前記リンクパートナとやり取りする請求項１から９の何れか１項に記載のネットワークノード素子。
【請求項１１】
順方向誤り訂正（ＦＥＣ）プロトコルを解決する方法であって、
データモード期間において少なくとも１つのＦＥＣモードを解決するよう、ネットワークノード素子によって、前記ネットワークノード素子とリンクパートナとの間における自動ネゴシエーション期間において要求する段階と、
前記ネットワークノード素子と前記リンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを、前記ネットワークノード素子によって前記データモード期間において決定する段階と、
前記データモード期間において、前記ネットワークノード素子によって、前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて前記ネットワークノード素子が利用する少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを決定し、前記通信リンクをアクティブに維持して前記少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルする段階と、
前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、前記少なくとも１つのＦＥＣモードに含まれる第１のＦＥＣモードおよび前記第１のＦＥＣモードよりコーディングゲインが大きい第２のＦＥＣモードのいずれかを、前記ネットワークノード素子によって前記データモード期間において選択する段階と
を備え、
前記自動ネゴシエーション期間および前記データモード期間は、イーサネット（登録商標）通信プロトコルによって定義されており、前記自動ネゴシエーション期間は前記データモード期間の前に発生する方法。
【請求項１２】
前記チャネル品質パラメータは、ビットエラーレート（ＢＥＲ）、ＳＮ比（ＳＮＲ）、クロストーク、環境ノイズ、線形性およびインパルス応答から成る群から選択される請求項１１に記載の方法。
【請求項１３】
前記データモード期間において少なくとも１つのＦＥＣモードを解決するよう求める前記要求を示すフラグでリンクコードワードベースページを、前記ネットワークノード素子によってフォーマッティングする段階をさらに備える請求項１１または１２に記載の方法。
【請求項１４】
前記少なくとも１つのＦＥＣモードがイネーブルまたはディセーブルされている間は前記ネットワークノード素子と前記リンクパートナとの間のデータフローを、前記ネットワークノード素子によって一時停止させる段階をさらに備える請求項１１から１３の何れか１項に記載の方法。
【請求項１５】
前記少なくとも１つのＦＥＣモードがイネーブルまたはディセーブルされた後、前記ネットワークノード素子と前記リンクパートナとの間の前記データフローを、前記ネットワークノード素子によって再開する段階をさらに備える請求項１４に記載の方法。
【請求項１６】
前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて前記ネットワークノード素子が利用する少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを前記データモード期間において決定するべく、複数の高速リンク再トレーニング処理を、前記ネットワークノード素子によって実行する段階をさらに備え、
前記複数の高速リンク再トレーニング処理は、前記イーサネット（登録商標）通信プロトコルによって定義されており、前記イーサネット（登録商標）通信プロトコルによって定義されているリンクトレーニング期間において実行される複数のリンクトレーニング処理よりもプロセッサへの負荷が小さい請求項１１から１５の何れか１項に記載の方法。
【請求項１７】
ネットワークコントローラの複数のＦＥＣモード機能を示す少なくとも１つのフラグで前記複数の高速リンク再トレーニング処理に対するトレーニングフレームに含まれる係数更新フィールドを、前記ネットワークノード素子によってフォーマッティングする段階をさらに備える請求項１６に記載の方法。
【請求項１８】
ネットワークコントローラの複数のＦＥＣモード機能を示す少なくとも１つのフラグで前記複数の高速リンク再トレーニング処理に対するトレーニングフレームに含まれるステータス報告フィールドを、前記ネットワークノード素子によってフォーマッティングする段階をさらに備える請求項１６または１７に記載の方法。
【請求項１９】
前記イーサネット（登録商標）通信プロトコルは、米国電気電子学会８０２．３イーサネット（登録商標）通信プロトコルに準拠している請求項１１から１８の何れか１項に記載の方法。
【請求項２０】
ネットワークコントローラの複数のＦＥＣモード機能で複数のインバンド制御コード信号を、前記ネットワークノード素子によってフォーマッティングし、イネーブルまたはディセーブルする少なくとも１つのＦＥＣモードを選択するべく前記複数のインバンド制御コード信号を前記リンクパートナとの間で前記データモードにおいてやり取りする段階をさらに備える請求項１１から１９の何れか１項に記載の方法。
【請求項２１】
コンピュータに、
データモード期間において少なくとも１つのＦＥＣモードを解決するよう、ネットワークノード素子とリンクパートナとの間における自動ネゴシエーション期間において、要求する手順と、
前記ネットワークノード素子と前記リンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを、前記データモード期間において、決定する手順と、
前記データモード期間において、前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを決定し、前記通信リンクをアクティブに維持して前記少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルする手順と、
前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、前記少なくとも１つのＦＥＣモードに含まれる第１のＦＥＣモードおよび前記第１のＦＥＣモードよりコーディングゲインが大きい第２のＦＥＣモードのいずれかを、前記データモード期間において選択する手順と
を実行させ、
前記自動ネゴシエーション期間および前記データモード期間は、イーサネット（登録商標）通信プロトコルによって定義されており、前記自動ネゴシエーション期間は前記データモード期間の前に発生するプログラム。
【請求項２２】
前記チャネル品質パラメータは、ビットエラーレート（ＢＥＲ）、信号ノイズ比（ＳＮＲ）、クロストーク、環境ノイズ、線形性およびインパルス応答から成る群から選択される請求項２１に記載のプログラム。
【請求項２３】
前記コンピュータにさらに、前記データモード期間において少なくとも１つのＦＥＣモードを解決するよう求める前記要求を示すフラグでリンクコードワードベースページをフォーマッティングする手順を実行させるための請求項２１または２２に記載のプログラム。
【請求項２４】
前記コンピュータにさらに、前記少なくとも１つのＦＥＣモードがイネーブルまたはディセーブルされている間は前記ネットワークノード素子と前記リンクパートナとの間のデータフローを一時停止させる手順を実行させるための請求項２１から２３の何れか１項に記載のプログラム。
【請求項２５】
前記コンピュータにさらに、前記少なくとも１つのＦＥＣモードがイネーブルまたはディセーブルされた後、前記ネットワークノード素子と前記リンクパートナとの間の前記データフローを再開する手順を実行させるための請求項２４に記載のプログラム。
【請求項２６】
前記コンピュータにさらに、
前記少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、前記ネットワークノード素子が利用する少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを、前記データモード期間において決定するべく、複数の高速リンク再トレーニング処理を実行する手順を実行させ、
前記複数の高速リンク再トレーニング処理は、前記イーサネット（登録商標）通信プロトコルによって定義されており、前記イーサネット（登録商標）通信プロトコルによって定義されているリンクトレーニング期間において実行される複数のリンクトレーニング処理よりもプロセッサへの負荷が小さい請求項２１から２５の何れか１項に記載のプログラム。
【請求項２７】
前記コンピュータにさらに、ネットワークコントローラの複数のＦＥＣモード機能を示す少なくとも１つのフラグで前記複数の高速リンク再トレーニング処理に対するトレーニングフレームに含まれる係数更新フィールドをフォーマッティングする手順を実行させるための請求項２６に記載のプログラム。
【請求項２８】
前記コンピュータにさらに、ネットワークコントローラの複数のＦＥＣモード機能を示す少なくとも１つのフラグで前記複数の高速リンク再トレーニング処理に対するトレーニングフレームに含まれるステータス報告フィールドをフォーマッティングする手順を実行させるための請求項２６または２７に記載のプログラム。
【請求項２９】
前記イーサネット（登録商標）通信プロトコルは、米国電気電子学会８０２．３イーサネット（登録商標）通信プロトコルに準拠している請求項２１から２８の何れか１項に記載のプログラム。
【請求項３０】
前記コンピュータにさらに、ネットワークコントローラの複数のＦＥＣモード機能で複数のインバンド制御コード信号をフォーマッティングし、イネーブルまたはディセーブルする少なくとも１つのＦＥＣモードを選択するべく前記複数のインバンド制御コード信号を前記リンクパートナとの間で前記データモードにおいてやり取りする手順を実行させるための請求項２１から２９の何れか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、米国仮特許出願第６１／６７０，０９９号（出願日：２０１２年７月１０日）に基づく恩恵を主張する。当該仮出願の内容は全て、参照により本願に組み込まれる。
【０００２】
本開示は、順方向誤り訂正を解決するよう構成されているネットワークシステムに関する。特に、データモード時の順方向誤り訂正のイネーブルを解決するよう構成されているネットワークシステムに関する。
【背景技術】
【０００３】
従来のイーサネット（登録商標）ネットワークシステムには、パケットインテグリティを実現するべく任意で順方向誤り訂正（ＦＥＣ）プロトコルを追加でサポートしているものもある。ＦＥＣプロトコルは、品質が非常に低いチャネルにおいて有用であるとしてよい。ＦＥＣプロトコルは、プロセッサへの負荷が大きく、ＦＥＣプロトコルをイネーブルすると通常、システム性能、レイテンシが劣化し、ネットワークノードの総合電力需要が大きくなる。従来のイーサネット（登録商標）方式によると、ＦＥＣプロトコルは、リンクパートナ間の自動ネゴシエーション期間においてイネーブルされている。しかし、自動ネゴシエーション期間は通常、リンクパートナ間のチャネルの実際の品質を把握していない。代わりに、従来のネットワークシステムは、自動ネゴシエーション期間の後、且つ、データモード期間の前に実行されるリンクトレーニングシーケンスにおいてチャネル品質を測定する。イネーブルされると、従来のネットワークシステムは、ＦＥＣステートに対して動的な調整を実現することができない。このように、チャネル品質パラメータはデータモード動作中に変化し得る一方、従来のネットワークシステムは、データモードにおいてＦＥＣプロトコルを動的にイネーブル／ディセーブルすることができないので、従来のイーサネット（登録商標）ネットワークシステムは、システム性能およびレイテンシを無用に劣化させ、ネットワークセグメントの総合電力需要を無用に大きくし、および／または、パケットインテグリティを無用に劣化させる場合がある。
【図面の簡単な説明】
【０００４】
請求の対象である主題の特徴および利点は、主題に応じた実施形態に関する以下の詳細な説明から明らかになるであろう。以下の説明は、添付図面と共に参照されたい。添付図面は以下の通りである。
【図１】本開示のさまざまな実施形態に係るネットワークシステムを示す図である。
【図１Ａ】本開示の一実施形態に係るベースページ１２０'の例を示す図である。
【図１Ｂ】本開示の一実施形態に係るシーケンス順序セット１３０'の例を示す図である。
【図１Ｃ】本開示の一実施形態に係るトレーニングフレーム１３８'の例を示す図である。
【図１Ｄ】本開示の一実施形態に係る係数更新フィールド１６２'の例を示す図である。
【図１Ｅ】本開示の一実施形態に係るステータス報告フィールド１６４'の例を示す図である。
【図２】本開示の一実施形態に係る動作のフローチャートである。
【図３】本開示の別の実施形態に係る動作のフローチャートである。
【図４】本開示の別の実施形態に係る動作のフローチャートである。
【図５】本開示の別の実施形態に係る動作のフローチャートである。  以下の＜発明を実施するための形態＞は実施形態例を参照しているが、当業者には多くの代替例、変形例および変更例が明らかである。
【発明を実施するための形態】
【０００５】
本開示は概して、データモード期間（本明細書では「リンクアップステート」とも呼ぶ）において少なくとも１つのＦＥＣプロトコルをイネーブルおよび／またはディセーブルするよう構成されているネットワークシステム（および方法）に関する。自動ネゴシエーション期間において、ノード素子およびリンクパートナのそれぞれのＦＥＣ機能が特定され、ノード素子は、リンクアップステートにおいて、特定されたＦＥＣ機能を解決するよう要求する。データモード期間において、ネットワークコントローラとリンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定する。データモードにおいて決定したチャネル品質に基づいて、少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルするとしてよい。データモード期間において複数のＦＥＣモードがイネーブルまたはディセーブルされるとしてよい。複数のチャネルを持つ通信リンクの場合、リンク品質はチャネル毎に決定するとしてよく、各ノード素子は、個々のチャネル品質測定結果に基づいて、複数の異なるＦＥＣ機能を非同期でイネーブルするとしてよい。
【０００６】
図１は、本開示のさまざまな実施形態に応じたネットワークシステム１００を示す図である。ネットワークシステム１００は概して、少なくとも１つのネットワークノード素子１０２と、少なくとも１つのリンクパートナ１１８とを備える。ネットワークノード素子１０２およびリンクパートナ１１８は、通信リンク１２６を介して、互いに通信するように構成されている。ネットワークノード素子１０２およびリンクパートナ１１８は、イーサネット（登録商標）通信プロトコルを用いて、リンク１２６を介して、互いに通信を行うとしてよい。イーサネット（登録商標）通信プロトコルは、トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）を用いて通信を実現することができるとしてよい。イーサネット（登録商標）プロトコルは、米国電気電子学会（ＩＥＥＥ）が公開しているイーサネット（登録商標）規格である、２００２年３月に公開された「ＩＥＥＥ８０２．３規格」および／またはこの規格のその後公開されたバージョン、例えば、２０１２年に公開されたイーサネット（登録商標）用のＩＥＥＥ８０２．３規格に準拠または適合しているとしてよい。リンクパートナ１１８および／またはノード素子１０２は、コンピュータノード素子（例えば、ホストサーバシステム）、スイッチ、ルータ、ハブ、ネットワークストレージデバイス、ネットワーク装着デバイス、不揮発性メモリ（ＮＶＭ）ストレージデバイス等を表すとしてよい。リンクパートナ１１８は、ノード１０２と同様の構成および動作を実行するとしてよい。以下でさらに詳細に説明する。
【０００７】
ノード１０２は通常、上記のイーサネット（登録商標）通信プロトコルを用いてリンクパートナ１１８と通信するよう構成されているネットワークコントローラ１０４を有する。ネットワークコントローラ１０４はさらに通常、リンクパートナ１１８との間でリンクが最初に構築される場合（例えば、システム初期化時、リンクパートナとの間で新しいリンクを構築する場合等）に定められた順序でさまざまな動作を実行するよう構成されている。このような動作は、例えば、ノード１０２およびリンクパートナ１１８のさまざまな機能がやり取りされる自動ネゴシエーション期間を含むとしてよい。自動ネゴシエーション期間の後、通信リンク１２６の品質を決定するリンクトレーニング期間となり、リンクトレーニング期間の後、ノード１０２とリンクパートナ１１８との間でデータフレーム／パケットがやり取りされるリンクアップステートまたはデータモードとなる。自動ネゴシエーション期間、リンクトレーニング期間およびデータモード期間は、上記のＩＥＥＥ８０２．３通信プロトコルで定義されているとしてよい。
【０００８】
ネットワークコントローラ１０４は、概して通信リンク１２６を介してノード１０２とリンクパートナ１１８とを接続するよう構成されているＰＨＹ回路１０６を有する。ＰＨＹ回路１０６は、例えば、１０ＧＢＡＳＥ−ＫＲ、４０ＧＢＡＳＥ−ＫＲ４、４０ＧＢＡＳＥ−ＣＲ４、１００ＧＢＡＳＥ−ＣＲ１０、１００ＧＢＡＳＥ−ＣＲ４、１００ＧＢＡＳＥ−ＫＲ４および／または１００ＧＢＡＳＥ−ＫＰ４、および／または、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルに準拠しているおよび／または今後開発される通信プロトコルに準拠している他のＰＨＹ回路を含む、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルに準拠または適合しているとしてよい。ＰＨＹ回路１０６は、データパケットおよび／またはデータフレームをリンク１２６を介してリンクパートナ１１８に送信するよう構成されている送信回路（Ｔｘ）１０８、および、リンク１２６を介してリンクパートナ１１８からデータパケットおよび／またはデータフレームを受信するよう構成されている受信回路（Ｒｘ）１１０を含む。言うまでもなく、ＰＨＹ回路１０６はさらに、アナログデジタル変換およびデジタルアナログ変換、データのエンコーディングおよびデコーディング、アナログ寄生消去（ａｎａｌｏｇ  ｐａｒａｓｉｔｉｃ  ｃａｎｃｅｌｌａｔｉｏｎ）（例えば、クロストーク消去）および受信データの回復を実行するよう構成されているエンコーディング／デコーディング回路（不図示）を含むとしてよい。Ｒｘ回路１１０は、リンクパートナ１１８からのデータ受信タイミングの調整を行うよう構成されている位相ロックループ回路（ＰＬＬ、不図示）を含むとしてよい。通信リンク１２６は、例えば、銅製のツインアキシャルケーブル（ｔｗｉｎ−ａｘｉｌ  ｃａｂｌｅ）、プリント配線基板上のバックプレーン配線等を含む媒体依存性インターフェースを含むとしてよい。一部の実施形態によると、通信リンク１２６は、例えば、ノード１０２のＴｘおよびＲｘ１０８／１１０と、リンクパートナ１１８のＲｘおよびＴｘとの間のそれぞれ別個の接続を実現する、複数の論理チャネルおよび／または複数の物理チャネル（例えば、差動対チャネル）を含むとしてよい。
【０００９】
ネットワークコントローラ１０４はさらに、ネットワークコントローラ１０４が送受信するパケットに対して順方向誤り訂正処理を実行するよう構成されている順方向誤り訂正（ＦＥＣ）モジュール１１２を含む。一般的に、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコル（例えば、条項７４または条項９１）によると、ＦＥＣ処理は、送信データストリームをＦＥＣフレームにエンコーディングする（例えば、パリティチェックシンボルを算出してＦＥＣエンコーディングされたフレームに含める）こと、および、データインテグリティチェック（例えば、受信したＦＥＣフレームに対してパリティを算出し直して、受信したパリティシンボルと比較すること）および誤り訂正を実行すること、そして、受信したデータストリームをデコーディングすることを含む。ＦＥＣは一般的に、通信リンク１２６の品質がしきい値（例えば、ビットエラー比（ＢＥＲ）しきい値等）を下回る場合に利用され、パケット毎に実行される他のインテグリティチェック（例えば、ＣＲＣ、ハッシュ等）に加えて利用されるとしてよい。ＦＥＣモジュール１１２は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定義されるように、複数のＦＥＣプロトコルまたはＦＥＣモードを含む複数のＦＥＣ処理を実行するよう構成されているとしてよい。例えば、ＦＥＣモジュール１１２は、誤り訂正（コーディングゲイン）およびレイテンシが最低しきい値または低いしきい値に設定される「軽度」ＦＥＣモードの処理を実行するよう構成されているとしてよい。別の例として、ＦＥＣモジュール１１２は、コーディングゲインが最大しきい値または高いしきい値に設定される「重度」ＦＥＣモードの処理を実行するとしてよい。「軽度」ＦＥＣモードは一般的に、「重度」ＦＥＣモードに比べて、パケットエラーが増加する代償に、処理負荷が少なく、誤り訂正および誤り検出が低減される（このため、レイテンシおよび電力が低くなる）としてよい。別の例を挙げると、ＦＥＣモジュール１１２は、複数のＦＥＣモードを含むとしてよく、通信リンク１２６に利用されている所与の媒体（例えば、バックプレーンの銅製の配線または銅製のツインアキシャルケーブル）に応じて最適化される適切なＦＥＣモードで動作するよう構成されているとしてよい。ＦＥＣは、コーディングゲインを利用して、所与のチャネルにおけるリンクバジェットおよびＢＥＲ性能を高める。リンクバジェットは、リンク１２６を定義する複数の電気パラメータ、例えば、挿入損失、リターンロス、パルス応答等で構成される。一般的に、ＦＥＣ方式を選択する際には、レイテンシ、電力、誤り訂正および誤り検出の機能、実施の容易さ等といった互いに両立しない要素がある。「重度」ＦＥＣコードは一般的に、「軽度」ＦＥＣコードに比べて、誤り訂正および誤り検出はより高機能であるが、電力、レイテンシおよび実施の容易さが犠牲になる。ＦＥＣのコーディングゲインの量は、所与の媒体について最低リンクバジェットおよび最低ＢＥＲ性能を満たすように選択され得る。
【００１０】
ネットワークコントローラ１０４はさらに、ノード１０２とリンクパートナ１１８との間で自動ネゴシエーション処理を実行するよう構成されている自動ネゴシエーションモジュール１１４を含む。自動ネゴシエーション処理は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定義されているとしてよい。概して、モジュール１１４は、リンクパートナ１１８に、ノード１０２の所定の一連の機能を通知するよう構成されている。所定の一連の機能は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルが定義しているように、例えば、ＰＨＹ機能、最大リンク速度、次のページ、リモートフォールト、確認応答、ＦＥＣおよび／またはＦＥＣモード機能、一時停止機能等を含むとしてよい。同様に、リンクパートナ１１８は、リンクパートナ１１８の所定の一連の機能を、ノード１０２に通知するよう構成されている。ノード１０２とリンクパートナ１１８との間における機能のやり取りは、所定の自動ネゴシエーション期間内に実行される。モジュール１１４は、ノード１０２の機能を定義するようにリンクコードワードベースページ（ベースページ）１２０をフォーマッティングするよう構成されているとしてよい。ベースページ１２０は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定義されており、ノード１０２の所定の機能を通知するために用いられる所定のビットを持つデータ構造（例えば、４８ビットフレーム）である。本開示の教示内容によると、ＦＥＣ機能を定義するために従来用いられているビット（例えば、ビット４６）、および、自動ネゴシエーション期間においてＦＥＣモードのイネーブルを要求するために従来用いられているビット（例えば、ビット４７）の割り当てをやり直すとしてよい。従来のイーサネット（登録商標）通信プロトコルとは対照的に、モジュール１１４は、複数のＦＥＣモードに対するサポートを特定するべくベースページ１２０を修正するよう構成されているとしてよい。例えば、ＦＥＣプロトコルおよび／またはＦＥＣモードに関して、ベースページ１２０は、ネットワークコントローラ１０４がサポートするＦＥＣ機能および／またはＦＥＣモードを特定するために用いられる２ビット（例えば、ビット４６およびビット４７）を含むように修正されるとしてよい。例えば、ビット４６およびビット４７が０に設定されている場合、ノード１０２はＦＥＣ処理を実行するように構成されていないことを意味する。ビット４６が０に設定されており、ビット４７が１に設定されている場合、ノード１０２は第１のＦＥＣモード（例えば、「軽度」ＦＥＣモード）で動作するように構成されていることを意味し、ビット４６が１に設定されており、ビット４７が０に設定されている場合、ノード１０２は第２のＦＥＣモード（例えば、「重度」ＦＥＣモード）で動作するように構成されていることを意味し、ビット４６およびビット４７が共に１に設定されている場合、ノード１０２は第１および／または第２のＦＥＣモード（例えば、「軽度」ＦＥＣモードおよび「重度」ＦＥＣモード）で動作するように構成されていることを意味する。言うまでもなく、モジュール１１４は、他の／追加のＦＥＣモードをサポートするようベースページ１２０の追加ビットを修正するよう構成されているとしてよい。
【００１１】
図１Ａは、本開示の一実施形態に係るベースページ１２０´の例を示す図である。本実施形態のベースページ１２０´は、例えば、１０ＢＡＳＥ−ＫＲ、４０ＢＡＳＥ−ＫＲ４、４０ＢＡＳＥ−ＣＲ４および／または１００ＧＢＡＳＥ−ＣＲ１０等を含む上記のイーサネット（登録商標）通信プロトコルが定義しているＰＨＹ回路について利用されるとしてよい。ベースページ１２０´の一例ではビット０−４７を示している。特に、ビット４６が０に設定されており、ビット４７が１に設定されている様子を示している。つまり、ノード１０２が「軽度」ＦＥＣモードで動作するよう構成されていることを示す。言うまでもなく、ベースページ１２０´は、具体例に過ぎず、ベースページ１２０´は、本明細書に記載する教示内容にしたがって修正され得る。
【００１２】
従来のイーサネット（登録商標）通信プロトコルによると、通信リンク１２６の品質は、所定の自動ネゴシエーション期間において決定するのではなく、ＦＥＣ機能および／またはＦＥＣモードのイネーブルがベースページ１２０によって特定されている場合に、ＦＥＣ機能および／またはＦＥＣモードを所定の自動ネゴシエーション期間においてイネーブルする。従来のイーサネット（登録商標）通信プロトコルとは対照的に、本明細書に記載する教示内容によると、モジュール１１４はさらに、自動ネゴシエーション期間ではなくデータモード（リンクアップステート）期間において特定のＦＥＣ機能および／またはＦＥＣモードのイネーブルを解決することを求める要求を示すように、ベースページ１２０をフォーマッティングするよう構成されている。このため、本明細書に記載している教示内容によると、ＦＥＣステートはデータモード期間において動的に解決されるとしてよい。「解決」という用語は、本明細書で用いられる場合、ＦＥＣ処理をイネーブルするかまたはディセーブルするか、および／または、ＦＥＣモードをイネーブルするかまたはディセーブルするかを決定することを意味する。この決定は、チャネル品質パラメータに基づいて行われるとしてよい。ベースページ１２０は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルで定義されている「未使用」データフィールド（例えば、イーサネット（登録商標）通信プロトコルにおいて特定されているが使用されていない１または複数のビット）を含むとしてよい。
【００１３】
ある実施形態によると、モジュール１１４は、例えば、ベースページ１２０の未使用データフィールドの１または複数のビットを設定することで、要求フラグでベースページ１２０をフォーマッティングするよう構成されている。一例を挙げると、ベースページ１２０は、１６ビット未使用部分（例えば、ビット３０−４５）を含むとしてよい。少なくとも２つの異なるＦＥＣモードをサポートするべく、モジュール１１４は、ＦＥＣ要求フラグとしてビット４４およびビット４５を利用するよう構成されているとしてよい。このように、例えば、ビット４４および４５が共に０に設定されている場合、ノード１０２がデータモード期間においてＦＥＣを解決することができないか、または、その機能が無いことを意味するとしてよい。ビット４４が０に設定され、ビット４５が１に設定されている場合、ノード１０２がデータモード期間においてＦＥＣを動的に解決するよう要求していること、そして、第１のＦＥＣモードのみがサポートされていることを意味するとしてよい。ビット４４が１に設定され、ビット４５が０に設定されている場合、ノード１０２がデータモード期間においてＦＥＣを動的に解決するよう要求していること、そして、第１のＦＥＣモードおよび第２のＦＥＣモードがサポートされていることを意味するとしてよい。言うまでもなく、これらはベースページ１２０において設定され得るフラグの種類の一例にすぎず、他の実施形態では、他の所定のビット順序を用いてＦＥＣモード要求を定義するとしてよい。さらにその他の実施形態において、ベースページ１２０の未使用部分で利用されるビット数は、所定のＦＥＣモードの数（イーサネット（登録商標）通信プロトコルが定義している）に応じて決まるとしてよい。このため、追加のＦＥＣモードをサポートする場合には、ベースページ１２０の未使用部分に追加ビットを設定するとしてよい。さらに別の実施形態によると、データモードにおいてＦＥＣを動的に解決することに加えて、ＦＥＣプロトコルは、自動ネゴシエーション期間において解決するとしてよい（イーサネット（登録商標）通信プロトコルによって定義される）。フォーマッティングされたベースページ１２０は、リンクパートナ１１８に送信され、同様のベースページ（不図示）がリンクパートナ１１８からノード１０２へと送信される。
【００１４】
ノード１０２およびリンクパートナ１１８は、例えば、確認応答をやり取りすることによって、タイマーの満了によって、障害ステートに到達するトレーニングプロトコルによって等、同時にデータモード期間までＦＥＣモードの解決を遅延させるよう構成されているとしてよい。一部の実施形態によると、ノード１０２が要求するＦＥＣモードは、リンクパートナ１１８が要求するＦＥＣモードとは異なるとしてよい。このような実施形態によると、ノード１０２およびリンクパートナ１１８は、このような状態を確認するとしてよく、それぞれが、異なるＦＥＣ処理モードをイネーブルするとしてよい（例えば、より詳細に後述するが、非対称ＦＥＣモードイネーブル）。言うまでもなく、自動ネゴシエーション期間において、最大リンク速度、一時停止機能、次のページ、リモートフォールト、確認応答等を含む種類のＰＨＹ等、他のパラメータを構築するとしてよい。リンクパートナ１１８がノード１０２と同様の構成を持つと仮定すると、上記と同様の処理がリンクパートナ１１８によって実行されるとしてよい。
【００１５】
ネットワークコントローラ１０４はさらに、ノード１０２とリンクパートナ１１８との間でリンクトレーニング処理を実行するよう構成されているリンクトレーニングモジュール１１６を含む。一般的に、リンクトレーニング処理は、通信リンク１２６の少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定するために用いられるとしてよい。チャネル品質パラメータの例には、ビットエラー比（ＢＥＲ）、信号ノイズ比（ＳＮＲ）、クロストーク、環境ノイズ、線形性、インパルス応答等がある。リンクトレーニングモジュール１１６は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルで定められているように、リンクトレーニング期間中にリンクトレーニング処理を実行するよう構成されている。リンクトレーニング期間は、自動ネゴシエーション期間の後に発生する。動作について説明すると、リンクトレーニング期間中には、ノード１０２およびリンクパートナ１１８はそれぞれ、少なくとも１つのチャネル品質パラメータを、少なくとも部分的に、決定するべく、選択された信号および／またはパケットおよび／またはフレームをやり取りするよう構成されている。リンクトレーニング処理は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定められているとしてよく、例えば、ノード１０２とリンクパートナ１１８との間でフレームロックを取得すること、送信係数をチャネル特性に適応させるためのＴｘフィードフォワードイコライゼーション（ＦＦＥ）ハンドシェイク処理、送信機が送信イコライザ係数を特定のチャネルに適した最適値に調整できるように係数更新情報を送信機に提供するノード１０２およびリンクパートナ１１８のそれぞれのＲｘ回路を対応するＴｘ回路に対して「トレーニング」するためのデジタルシグナルプロセッシングコンバーゼンス（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｃｏｎｖｅｒｇｅｎｃｅ）を含むとしてよい。また、モジュール１１６は、１または複数のチャネル品質パラメータを生成するべく、さまざまな技術を用いて所与のチャネルにおける受信信号の品質を分析するよう構成されている（後述）。
【００１６】
カスタマイズされた技術および／または所定の技術を用いて、所与のチャネルにおける受信信号の品質の分析を実行するとしてよい。例えば、リンクトレーニングモジュール１１６は、少なくとも１つのチャネル品質パラメータを決定するべくリンクサイドループバック手順を実行することを目的として、ノード１０２のさまざまな回路を制御するよう構成されているとしてよい。別の例を挙げると、システム１００は、自動ネゴシエーション期間において、ノード１０２とリンクパートナ１１８との間におけるマスター／スレーブ関係を指定するよう構成されているとしてよい。そして、リンクトレーニング期間において、マスターは、所定の試験タイムアウト期間が経過した後でループバックする（または指定キャラクタを生成する）ようにスレーブに対して指示するよう構成されているとしてよく、指定されたチャネルを用いる移行を指定し、マスター側でのループバック処理を開始する。別の例として、リンクトレーニングモジュール１１６は、Ｒｘ回路が受信した試験信号が十分な品質であるか否かを判断するべく、「アイテスト」テンプレートを生成するよう構成されているとしてよい。別の例を挙げると、リンクトレーニングモジュール１１６は、Ｔｘ回路のオン／オフシーケンスを生成して、チャネルクロストークパラメータを決定するよう構成されているとしてよい。さらに別の例を挙げると、リンクトレーニングモジュール１１６は、取り付けられた媒体、例えば、不揮発性格納媒体または大容量格納媒体等から情報を取得するよう構成されているとしてよい。さらに別の例を挙げると、リンクトレーニングモジュール１１６は、ノード１０２とリンクパートナ１１８との間の所与のチャネルにおける信号反射率を決定するべく、時間分域反射率測定（ＴＤＲ）試験を実行するよう構成されているとしてよい。言うまでもなく、上記はリンク品質の分析を行うために用いられる技術の一例にすぎず、リンクトレーニングモジュール１１６は、上記の技術、および／または、他の所定の技術および／またはカスタマイズされた／特別な技術を利用するとしてもよい。１または複数のこのような技術を選択する際は、例えば、ネットワークシステム環境、特定のＰＨＹ回路、公知のチャネル品質限界値等に基づいて行うとしてよい。
【００１７】
ネットワークコントローラ１０４はさらに、ノード１０２とリンクパートナ１１８との間においてデータモード処理を実行するよう構成されている物理コーディングサブレイヤ（ＰＣＳ）モジュール１２８を含む。データモード処理は、上記のイーサネット（登録商標）通信プロトコルにおいて定義されているように、例えば、ノード１０２とリンクパートナ１１８との間においてリンクアップステート（データモード期間）中にデータパケット／データフレームをやり取りすることを含むとしてよい。ＰＣＳモジュール１２８は、上記のイーサネット（登録商標）通信プロトコルにおいて定義されているように、概して他のレイヤまたはモジュール（例えば、調停サブレイヤ、ＭＡＣモジュール等、後述する）を、基礎となる通信リンク１２６および／またはＰＨＹ仕様の特定の特性から保護する。ＰＣＳモジュール１２８は、送信チャネルおよび受信チャネルを含むとしてよく、それぞれのチャネルは通常モードまたは試験パターンモードで動作するとしてよい。ＰＣＳとＲＳとの間のインターフェースは、上記のイーサネット（登録商標）規格に準拠しているとしてよく、例えば、ＣＧＭＩＩ（１００Ｇｂ）、ＸＧＭＩＩ（１０Ｇｂ）および／またはＸＬＧＭＩＩ（４０Ｇｂ）インターフェース通信プロトコルを含むとしてよい。ＲＳと通信する場合、ＰＣＳモジュール１２８は、パケット境界が送信制御信号（例えば、ＴＸＣｎ＝１）および受信制御信号（例えば、ＲＸＣｎ＝１）によって提供される同期データ経路を利用するとしてよい。ＰＣＳモジュール１２８は、ＸＧＭＩＩ、ＣＧＭＩＩおよび／またはＸＬＧＭＩＩといった形式と、ＰＭＡサービスインターフェース形式との間でパケットをマッピングするために必要な機能を提供するとしてよい。送信チャネルが通常モードである場合、ＰＣＳモジュール１２８の送信プロセスは、ＸＧＭＩＩ、ＣＧＭＩＩおよび／またはＸＬＧＭＩＩといったインターフェースにおいて、ＴＸＤ＜３１：０＞信号およびＴＸＣ＜３：０＞信号に基づいて、ブロックを生成し続けるとしてよい。ＰＣＳモジュール１２８はこの後、結果として得られたビットを、媒体にとって適切な形式にパッキングするとしてよい。受信チャネルが通常モードである場合、ＰＣＳモジュール１２６は、例えば、２ビット同期ヘッダに基づいてブロック同期を実現するとしてよい。ＰＣＳモジュール１２６はさらに、ＰＣＳモジュール１２６が同期を取得したか否かを示すべくｓｙｎｃ＿ｓｔａｔｕｓフラグを設定するとしてよい。言うまでもなく、ＰＣＳモジュール１２８の他の処理および特徴は、上記のイーサネット（登録商標）通信プロトコルによって定められているとしてよい。
【００１８】
ネットワークコントローラ１０４はさらに、上記のイーサネット（登録商標）通信プロトコルにおいて定義されているように、リンクパートナ１１８との通信についてアドレッシングおよびチャネルアクセス制御プロトコルを提供するよう構成されている媒体アクセス制御（ＭＡＣ）モジュール１３６を含む（例えば、ＭＡＣモジュール１３６はレイヤ２デバイスであってよい）。ＭＡＣモジュール１３６は、媒体に依存しないデータ送受信方法を定義している。ＰＨＹ回路１０６が一般的に媒体（つまり、銅ケーブルまたはバックプレーン）に対して一意的である一方、ＭＡＣモジュール１３６は、接続されている媒体の種類に無関係に動作するとしてよい。ＭＡＣモジュール１３６は、データカプセル化（送受信）、フレーム化（フレーム境界画定、フレーム同期）、アドレッシング（ソースアドレスおよびデスティネーションアドレスの処理）、および、エラー検出（物理媒体送信エラーの検出）を実行するよう構成されているとしてよい。ＣＳＭＡ／ＣＤ  ＭＡＣサブレイヤは、媒体を取得して複数のビットから成るシリアルストリームを物理層に転送するべく、最大限努力する。言うまでもなく、ＭＡＣモジュール１３６の他の動作および特徴は上記のイーサネット（登録商標）通信プロトコルによって定義されているとしてよい。
【００１９】
ネットワークコントローラ１０４はさらに、上記のイーサネット（登録商標）通信プロトコルにおいて定義されているように、ＭＡＣモジュール１３６のビットシリアルプロトコルをＰＣＳモジュール１２８のパラレル形式に適応させるよう構成されている調停サブレイヤ（ＲＳ）モジュール１３４を含む。
【００２０】
ＭＡＣモジュール１３６は、シリアルストリームとして、一度に１ビットずつ、ＲＳモジュール１３４にデータを提供するとしてよい。ＲＳモジュール１３４は、ＰＨＹ回路１０６が特定する適切な数のビットを取り入れて、情報をＰＨＹ回路１０６のＩＥＥＥ仕様によって送受信できるようにするとしてよい。ＭＡＣモジュール１３６とＲＳモジュール１３４との間のインターフェースは、上記のイーサネット（登録商標）通信プロトコルによって定められているように、物理層シグナリング（ＰＬＳ）インターフェースを含むとしてよい。言うまでもなく、ＲＳモジュール１３４の他の処理および特徴は、上記のイーサネット（登録商標）通信プロトコルによって定められているとしてよい。
【００２１】
データモード期間におけるＦＥＣステートおよび／またはＦＥＣモードの動的な解決をイネーブルするべく、ネットワークコントローラ１０４はさらに、データモード期間におけるリンク１２６の少なくとも１つのチャネルをモニタリングして少なくとも１つのチャネル品質パラメータを生成するよう構成されているチャネル品質モニタリングモジュール１２２を含む。一部の実施形態によると、モジュール１２２は、ノード１０２とリンクパートナ１１８との間のリンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定するべく、データモードにおいて、リンクパートナ１１８から受信した信号の品質を分析するよう構成されている。例えば、所与のチャネルの品質を分析するべく、モジュール１２２は、リンクトレーニングモジュール１１６（例えば、「アイテスト」）に関して上述したカスタマイズされた／所定の技術のうち１または複数の技術を実行するよう構成されているとしてよい。他の実施形態によると、所与のチャネルの品質を分析するべく、モジュール１２２は、信号回復技術を用いてチャネルパルス応答を算出する、所与の媒体（例えば、不揮発性媒体または格納媒体）から情報を取得する、および／または、物理コーディングサブレイヤ不良同期ヘッダエラーカウンタをモニタリングする、等の処理を実行するとしてよい。言うまでもなく、上記はリンク品質の分析を実行するために用いられる技術の一例にすぎず、リンクトレーニングモジュール１１６は、上記の技術、および／または、他の所定の技術および／またはカスタマイズされた／特別な技術を用いるとしてもよい。１または複数の上記の技術を選択する場合には、例えば、ネットワークシステム環境、特定のＰＨＹ回路、公知のチャネル品質限界値等に基づくとしてよい。モジュール１２２は、例えば、処理オーバーヘッド、帯域幅等に基づき、継続的または離散的（例えば、所定の期間にわたって）に、データモードにおいて、受信信号の品質を分析するよう構成されているとしてよい。モジュール１２２はさらに、所与のチャネル／リンクのチャネル品質状態の変化をモニタリングできるように、所与の期間にわたってチャネル品質パラメータを追跡するよう構成されているとしてよい。
【００２２】
データモード期間において、モジュール１２２は、ＦＥＣステートが変化するとパケットフロー速度またはデータインテグリティが改善することを示す、リンク１２６の少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定するとしてよい。例えば、モジュール１２２は、ＦＥＣモードが自動ネゴシエーション期間においてイネーブルされているか（従来のイーサネット（登録商標）通信プロトコルで定義されている）、および／または、データモード期間において既にイネーブルされていると、チャネル品質が改善したので、現在のＦＥＣモードステートの変更（例えば、「重度」ＦＥＣから「軽度」ＦＥＣ）によって、許容可能な範囲内にパケットインテグリティを維持しつつ、帯域幅が改善することを示すチャネル品質パラメータを、データモード期間において、生成するとしてよい。別の例を挙げると、モジュール１２２は、チャネル品質が改善したので、現在のＦＥＣモードステートをディセーブルする（例えば、「軽度」ＦＥＣからＦＥＣオフ）ことで、許容可能な範囲内にパケットインテグリティを維持しつつ、帯域幅が改善することを示すチャネル品質パラメータを、データモード期間において、生成するとしてよい。別の例を挙げると、モジュール１２２は、チャネル品質が劣化したので、ＦＥＣをイネーブルする（自動ネゴシエーション期間において既にイネーブルされていない場合）こと、および／または、現在のＦＥＣモードステートのコーディングゲインを大きくする（例えば、「軽度」ＦＥＣから「重度」ＦＥＣに変更する）ことでパケットインテグリティが改善することを示すチャネル品質パラメータを、データモード期間において、生成するとしてよい。少なくとも１つのチャネル品質パラメータ（例えば、ビットエラー比（ＢＥＲ）、信号ノイズ比（ＳＮＲ）、クロストーク、環境ノイズ、線形性、インパルス応答等）は、モジュール１２２によって決定され、データモード期間においてＦＥＣステートを解決するために用いられるとしてよい。これについては以下でより詳細に説明する。
【００２３】
チャネル品質モニタリングモジュール１２２は、チャネル毎にチャネル品質パラメータを決定するよう構成されているとしてよい。または、チャネル品質パラメータは通信リンク全体について決定するとしてよい。例えば、所与のＰＨＹ仕様は、ノード１０２とリンクパートナ１１８との間のチャネル数を定めるとしてよい。チャネル毎にチャネル品質パラメータを決定することによって、特定のチャネルが他のチャネルよりも品質が高いことが分かるとしてよい。このため、モジュール１２２はさらに、各チャネルのチャネル品質パラメータに少なくとも部分的に基づいて、複数の異なるチャネルについて複数の異なるＦＥＣモードをイネーブルするよう構成されているとしてよい。チャネル毎にチャネル品質パラメータを決定することによってさらに、非同期の複数のＦＥＣモードがノード１０２とリンクパートナ１１８との間で動作できるようにするとしてよい。例えば、ノード１０２とリンクパートナ１１８との間には２つのチャネルが存在し、ノード１０２およびリンクパートナ１１８の両方のＲｘ回路はそれぞれ、２つのＦＥＣモード（例えば、「軽度」ＦＥＣモードおよび「重度」ＦＥＣモード）をサポートすると仮定する。これら２つのチャネルのそれぞれについてチャネル品質を決定した後、ノード１０２のＲｘチャネルはリンクパートナのＲｘチャネルよりも品質が高いことが分かる場合がある。より詳細に後述するが、ＰＣＳモジュール１２８は、Ｒｘチャネルについて第１のＦＥＣモードをイネーブルするとしてよく（リンクパートナ１１８は対応するＴｘチャネルについて第１のＦＥＣモードをイネーブルするとしてよい）、同様に、リンクパートナ１１８は、リンクパートナ１１８に対応付けられているＲｘチャネルについて第２のＦＥＣモードをイネーブルするとしてよい（ノード１０２は対応するＴｘチャネルについて第２のＦＥＣモードをイネーブルするとしてよい）。このように、複数のチャネルを持つ所与のリンク１２６について、チャネル品質パラメータに基づいて、複数のＦＥＣモードがチャネル毎に利用されるとしてよい。言うまでもなく、これは、本開示の教示内容によって実現されるＦＥＣモードの非同期イネーブルの一例に過ぎない。
【００２４】
上述したように、チャネル品質モニタリングモジュール１２２は、チャネル毎にチャネル品質パラメータを決定するよう構成されているとしてよく、または、チャネル品質パラメータは通信リンク全体について決定されるとしてもよい。例えば、所与のＰＨＹ仕様は、ノード１０２とリンクパートナ１１８との間のチャネルの数を定めているとしてよい。チャネル毎にチャネル品質パラメータを決定することで、特定のチャネルが他のチャネルよりも品質が高いことが分かるとしてよい。このため、チャネル品質モニタリングモジュール１２２はさらに、各チャネルのチャネル品質パラメータに少なくとも部分的に基づいて、チャネル毎に異なるＦＥＣモードをイネーブルするよう構成されているとしてよい。チャネル毎にチャネル品質パラメータを決定することでさらに、ノード１０２とリンクパートナ１１８との間で非同期の複数のＦＥＣモードを動作させることが可能になるとしてよい。例えば、ノード１０２とリンクパートナ１１８との間に２つのチャネルが存在し、ノード１０２およびリンクパートナ１１８の両方のＲｘ回路がそれぞれ２つのＦＥＣモード（例えば、「軽度」ＦＥＣモードおよび「重度」ＦＥＣモード）をサポートすると仮定する。これら２つのチャネルのそれぞれについてチャネル品質を決定した後、ノード１０２のＲｘチャネルがリンクパートナのＲｘチャネルよりも品質が高いことが分かるとしてよい。チャネル品質モニタリングモジュール１２２は、Ｒｘチャネルについて第１のＦＥＣモードをイネーブルするとしてよく（そして、リンクパートナ１１８は対応するＴｘチャネルについて第１のＦＥＣモードをイネーブルするとしてよい）、同様に、リンクパートナ１１８は、リンクパートナ１１８に対応付けられているＲｘチャネルについて第２のＦＥＣモードをイネーブルするとしてよい（ノード１０２は対応するＴｘチャネルについて第２のＦＥＣモードをイネーブルするとしてよい）。このように、複数のチャネルを持つ所与のリンク１２６について、チャネル品質パラメータに基づきチャネル毎に複数のＦＥＣモードを利用するとしてよい。言うまでもなく、これは、本開示の教示内容によって実現され得るＦＥＣモードの非同期イネーブルの一例に過ぎない。
【００２５】
＜順序セットおよびＰＣＳ制御コードを用いてデータモード中にＦＥＣステートを解決＞
本開示の一実施形態によると、順序セットおよびＰＣＳ制御コードを用いて、ＦＥＣステートはデータモード期間中に変化する（解決する）可能性がある。ＰＣＳモジュール１２８は、データモード期間中に、少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを決定するよう構成されているとしてよい。ＰＣＳモジュールは、データモード期間中に、リンクパートナ１１８との間で、インバンド制御コード１３２をやり取りするよう構成されているとしてよい。ＰＣＳモジュール１１４は、リンク１２６で転送される情報の送信特性を改善するべく、そして、制御キャラクタおよびデータキャラクタをサポートするべく、送信コードを生成するよう構成されているとしてよい。制御コード１３２は概して、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定められているように、制御キャラクタおよびデータキャラクタを含む特定ビットを持つ明確に定義されたデータ構造であるとしてよい。制御キャラクタおよびデータキャラクタは、ＭＡＣからのインターフェースにおいてイーサネット（登録商標）パケットを画定するインバンド制御コードを作成するべく、または、「アイドル」または「エラー」を示すべく、エンコードされる。
【００２６】
本開示の教示内容によると、ＰＣＳモジュール１２８は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルで定められている制御コードに加えて、ＦＥＣステートの変更（例えば、ＦＥＣおよび／またはＦＥＣモードのイネーブルまたはディセーブル）を求める要求を示す制御コードを生成する。少なくとも１つのチャネルのチャネル品質パラメータに基づき、ＰＣＳモジュール１２８は、ＦＥＣイネーブル／ディセーブル要求信号を生成してリンクパートナ１１８に送信するとしてよい。ＦＥＣイネーブル／ディセーブル要求信号は、特定のＦＥＣモード（ベースページ１２０で特定されているとしてよい）の利用を求める要求、および／または、現在のＦＥＣモードのディセーブルを求める要求を特定しているとしてよい。リンクパートナ１１８は、同様の構成を持ち、（例えば、確認応答信号を介して）ＦＥＣステートの変更を求める要求を認めるとしてよい。
【００２７】
データモード期間中にＦＥＣモードがイネーブルまたはディセーブルされる場合のノード１０２とリンクパートナ１１８との間でのデータ障害を防止するべく、そして、リンクをアクティブステートに維持するべく、ＰＣＳモジュール１２８はさらに、新しいＦＥＣモードがイネーブルまたはディセーブルされている間はデータパケット転送を一時停止するようにＲＳモジュール１３６に通知するよう構成されているとしてよく、新しいＦＥＣモードがアクティブになるかまたはディセーブルされるとデータパケット転送を再開するようにＲＳモジュールに通知するとしてよい。ＰＣＳモジュール１２８は、シーケンス順序セット１３０を用いてＲＳモジュール１３４に通知するよう構成されている。ＰＣＳモジュール１２８は、データフロー処理の一時停止または再開を開始するようにＲＳモジュールに指示するようにシーケンス順序セット１３０をフォーマッティングするよう構成されている。シーケンス順序セット１３０は概して、ＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定義されており、固定データ構造（例えば、４バイトシーケンス）を提供するが、従来のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコル（条項８１）は、１０ギガビットＰＨＹプロトコルについてのリンクの中断および再開の命令のみを実現している。従来のイーサネット（登録商標）通信プロトコルとは対照的に、モジュール１２８は、他の種類のＰＨＹ、例えば、４０ギガビットおよび１００ギガビットのＰＨＹプロトコルについてもリンクの中断および再開をサポートしていることを特定するようにシーケンス順序セット１３０を修正するよう構成されているとしてよい。一例を挙げると、シーケンス順序セット１３０を構成する８バイトシーケンスは、例えば、４０ギガビットおよび１００ギガビットのプロトコルを含む複数のＰＨＹプロトコルについてＭＡＣモジュール１３６によるリンクの中断を可能とするべく、追加データ構造を含むように（例えば、レーン０をシーケンス値に設定し、レーン３を０×０３の値に設定する以外は、レーン１−７の全てを０×０の値に設定）修正されるとしてよい。他の実施形態によると、他のシーケンス順序セットは、ＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定められるように、リンク一時停止処理およびリンク再開処理についてＲＳモジュール１３４に通知することを目的としてＰＣＳモジュール１２８によって利用されるとしてよい。
【００２８】
図１Ｂは、本開示の一実施形態に係るシーケンス順序セット１３０´の一例を示す図である。本実施形態のシーケンス順序セット１３０´は、４０ＧｂＥおよび１００ＧｂＥ（ＩＥＥＥ８０２．３、条項８１）のリンク中断に用いられるリンク中断通知のために用いられるとしてよい。
【００２９】
ＰＣＳモジュール１２８がリンクの一時停止または再開についてＲＳモジュール１３４に通知すると、ＲＳモジュールは、これらの処理をイネーブルするべく、ＭＡＣモジュール１３６と通信するとしてよい。ＲＳモジュール１３４とＭＡＣモジュール１３６との間のＰＬＳインターフェースは、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルで概略が定められている原始的な通知プロトコルを利用するとしてよい。例えば、ＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルの条項４６の１０ギガビットＰＨＹは、ＭＡＣモジュール１３６がデータ送受信を一時停止および再開できるようにするべく、ＰＬＳ＿ｃａｒｒｉｅｒ．ｉｎｄｉｃａｔｉｏｎと呼ばれる原始的な信号を利用するとしてよい（例えば、エネルギー高効率イーサネット（登録商標）（ＥＥＥ）プロトコルで利用）。本開示の教示内容によると、ＲＳモジュール１３４は、例えば、４０ギガビットおよび１００ギガビットのプロトコルを含む他の種類のＰＨＹについてデータ送信をＭＡＣモジュール１３６が一時停止できるように、ＰＬＳ＿ｃａｒｒｉｅｒ．ｉｎｄｉｃａｔｉｏｎのプリミティブを修正するよう構成されている。このため、ＲＳモジュール１３４は、ＲＳモジュール１３４がＭＡＣモジュール１３６にデータ送信の一時停止および再開を指示できるように、ＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルの条項８１で定められている通知プロトコルを修正するとしてよい。他の実施形態によると、他のＰＬＳプリミティブは、ＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルで定められているように、リンク中断処理およびリンク再開処理をイネーブルするべく、ＲＳモジュール１３４およびＭＡＣモジュール１３６で用いられるとしてよい。
【００３０】
動作について説明すると、チャネル品質モニタリングモジュール１２２が、少なくとも１つのチャネルについて少なくとも１つのチャネル品質パラメータを決定し、少なくとも１つのチャネル品質パラメータが、ＦＥＣステートを変更する（例えば、ＦＥＣをイネーブルまたはディセーブルすること、および／または、ＦＥＣモードを変更すること）ことを示す場合、モジュール１２２はＦＥＣステートの変更を開始するようモジュール１２８に通知するとしてよい。これに応じて、モジュール１２８は、上述したように、データ送受信の一時停止を可能とするべく、リンク１２６を中断するようＭＡＣモジュール１３６に指示するように、シーケンス順序セット１３０をフォーマッティングするとしてよい。また、モジュール１２８は、上述したように、インバンド制御コード１３２をフォーマッティングして、新しいＦＥＣステートを解決するべくリンクパートナ１１８との間でこれらの制御コード１３２をやり取りするとしてよい。ノード１０２およびリンクパートナ１１８が新しいＦＥＣステートを構築すると、ＰＣＳモジュール１２８は、上述したように、データ送受信を再開するようＭＡＣモジュール１３６に指示するようにシーケンス順序セット１３０をフォーマッティングするとしてよい。インバンド制御コード１３２およびシーケンス順序セット１３０を用いることで、上述したように、リンクパートナ１１８との間のリンクはアクティブ状態のままで、ノード１０２とリンクパートナ１１８との間にリンク障害を発生させることなく、データモード期間中にＦＥＣステートの動的なイネーブルおよび／またはディセーブルをノード１０２が実行できるようにする。これらの処理は、処理オーバーヘッド、スループット速度および／またはパケットインテグリティに関して従来の方法に比べて大きな利点を持つとしてよい。言うまでもなく、リンクパートナ１１８は、同様に動作するよう構成されているとしてよい。
【００３１】
＜「高速」リンク再トレーニングを用いてデータモード中にＦＥＣステートを解決＞
本開示の別の実施形態によると、ＦＥＣステートは、「高速」リンク再トレーニングプロトコルを用いてデータモード期間中に変更（解決）されるとしてよい。先述した実施形態で説明したように、データモード期間中にノード１０２とリンクパートナ１１８との間のＦＥＣステートを解決するべくＦＥＣステートを特定する追加の制御コードを利用する代わりに、本実施形態では、データモード中にＦＥＣステートを解決するために「高速」リンク再トレーニング処理を利用する。本実施形態は、例えば、所与のチャネル／リンクの信号品質がインバンド制御コード（例えば、上述した制御コード１３２）がデータモード中にリンクパートナによって検出されない程度まで劣化する場合に、例えば、リンク品質が温度、電圧、クロストーク等の環境条件によって劣化する場合に利用されるとしてよい。したがって、本実施形態によると、ネットワークコントローラ１０４はさらに、データモード期間において、ノード１０２とリンクパートナ１１８との間で、少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータの決定結果（モジュール１２２）に少なくとも部分的に基づいてＦＥＣステートを解決するべく、「高速」リンク再トレーニング処理を開始するよう構成されている「高速」リンク再トレーニングモジュール１２４を含むとしてよい。「高速」という用語は、この文脈で用いられる場合、上記のリンクトレーニングモジュール１１６が実行するリンクトレーニングよりも所要時間が短いリンクトレーニングプロセスと概して定義される。このような「高速」処理はリンクがリンクアップステート（データモード）である場合に実行され得る。「高速」リンク再トレーニングプロトコルは概して、ＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定義されている。
【００３２】
ノイズの多い条件下またはリンクが劣化した条件下でノード素子１０２とリンクパートナ１１８との間の通信を可能とするべく、高速リンク再トレーニングモジュール１２４は、瞬間的にデータを一時停止させるようにリンクパートナ１１８に通知するべく、リンク中断コード１４０をフォーマッティングするよう構成されている。一例を挙げると、リンク中断コードは、ノイズの多い条件下または劣化した条件下で高い伝達性を持つことが知られている種類の信号の繰り返しを含むとしてよい。例えば、このような信号は、ＰＡＭ２シーケンスの繰り返しの後に、ゼロシンボルの繰り返しを含む等であってよい。
【００３３】
また、モジュール１２４は、トレーニング処理を可能とするように、そして、データモード期間において所定のＦＥＣプロトコルおよび／またはＦＥＣモードを解決するように、トレーニングフレーム１３８をフォーマッティングするよう構成されているとしてよい。トレーニングフレーム１３８は、上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルによって定められているように、例えば、画定された固定の４オクテットフレームマーカを含むように定義されているデータ構造である。トレーニングフレーム１３８は通常、フレームマーカフィールド、係数更新フィールド、ステータス報告フィールドおよびトレーニングパターンフィールドというフィールドを含む。図１Ｃは、本開示の一実施形態に係るトレーニングフレーム１３８´の一例を示す図である。トレーニングフレームは、フレームマーカフィールド１６０、係数更新フィールド１６２、ステータス報告フィールド１６４およびトレーニングパターンフィールド１６６を表す複数のオクテットを含む。上記のＩＥＥＥ８０２．３イーサネット（登録商標）通信プロトコルで定められているトレーニングフレームとは対照的に、本実施形態の教示内容によると、係数更新フィールドおよび／またはステータス報告フィールドの未使用データフィールドは、少なくとも１つの通信チャネルについて少なくとも１つのＦＥＣモードを示すようにＦＥＣモードイネーブルフラグでフォーマッティングされるとしてよい。例えば、トレーニングフレーム１３８の係数更新フィールドは、複数の未使用ビットを含み、これらの未使用ビットのうち１または複数のビットは、少なくとも１つのチャネルのＦＥＣモードを示すようにフラグを設定するべくモジュール１２４によってフォーマッティングされるとしてよい。図１Ｄは、本開示の一実施形態に応じた係数更新フィールド１６２´の例を示す図である。別の例を挙げると、トレーニングフレーム１３８のステータス報告フィールドは、複数の未使用ビットを含み、これらの未使用ビットのうち１または複数のビットは、少なくとも１つのチャネルについてＦＥＣモードを示すようにフラグを設定するべくモジュール１２４によってフォーマッティングされるとしてよい。図１Ｅは、本開示の一実施形態に係るステータス報告フィールド１６４´の一例を示す図である。言うまでもなく、他の一部の実施形態では、トレーニングフレーム１３８の他の部分はＦＥＣイネーブルフラグでフォーマッティングされるとしてよい。トレーニングフレーム１３８は、データモード期間において（例えば、インバンド通信技術を用いて）ノード１０２とリンクパートナ１１８との間でやり取りされるとしてよい。
【００３４】
動作について説明すると、チャネル品質モニタリングモジュール１２２が少なくとも１つのチャネルについて少なくとも１つのチャネル品質パラメータを決定し、少なくとも１つのチャネル品質パラメータが、ＦＥＣステートを変更（例えば、ＦＥＣのイネーブルまたはディセーブルおよび／またはＦＥＣモードの変更）することでパケットインテグリティおよび／またはデータスループットが改善されることを意味する場合、モジュール１２２は、上述したように、データ送受信の一時停止を可能にするべく、リンク１２６を中断するようにＭＡＣモジュール１３６に指示するようシーケンス順序セット１３０をフォーマッティングするように、モジュール１２４に通知するとしてよい。また、モジュール１２８は、データフローを瞬間的に一時停止するようにリンクパートナ１１８に通知するよう、そして、リンクパートナ側で「高速」リンク再トレーニングを開始するよう、リンク中断コード１４０をフォーマッティングするとしてよい。ＰＣＳモジュール１２８は、ノード１０２とリンクパートナ１１８との間のリンクの少なくとも１つのチャネルにおいて「高速」リンク再トレーニング処理を開始するようモジュール１２４に通知するとしてよい。モジュール１２４は、上述したように、トレーニングフレーム１３８をフォーマッティングして、「高速」リンク再トレーニング処理を開始するべく、フォーマッティングされたトレーニングフレーム１３８をリンクパートナ１１８との間でやり取りするとしてよい。ノード１０２およびリンクパートナ１１８が新しいＦＥＣステートを構築すると、モジュール１２４は、上述したように、「高速」リンク再トレーニング処理およびリンク中断コードを用いてデータフローを再開するようリンクパートナ１１８に通知するようにリンク中断コード１４０をフォーマッティングするとしてよい。こうして、ノード１０２は、リンクパートナ１１８との間のリンクがアクティブ状態のままで、ノード１０２とリンクパートナ１１８との間でリンク障害を発生させることなく、データモード期間においてＦＥＣステートを動的にイネーブルおよび／またはディセーブルすることが出来るようになる。これらの処理は、処理オーバーヘッド、スループット速度および／またはパケットインテグリティに関して従来の方法に比べて大きな利点を持つとしてよい。言うまでもなく、リンクパートナ１１８は、同様に動作するよう構成されているとしてよい。
【００３５】
上述した実施形態例は、ノード１０２とリンクパートナ１１８との間においてデータモード期間中にＦＥＣモード／ステートを変更するさまざまなインバンド信号伝達方式の技術を提供している。他の実施形態では他のインバンド信号伝達方式を利用するとしてよい。例えば、ノード１０２は、修正されたワードセットでエンコードされているＣＧＭＩＩ  ＴＸＴおよびＴＸＤレーンエンコーディング信号を生成するよう構成されているとしてよい。これに代えて、または、これに加えて、ノード１０２は、エネルギー高効率イーサネット（登録商標）（ＥＥＥ）通信プロトコルで特定されているように、低電力アイドルウェイクイベントにおいて、修正されたコマンドセットを生成するよう構成されているとしてよい。言うまでもなく、これらは、本発明によってデータモード期間中にＦＥＣモード／ステートを変更するために利用されるインバンド信号伝達方式の技術の一例に過ぎず、当業者であれば他の技術も認め得る。このような技術はすべてこの文脈において本開示の範囲内であるとする。
【００３６】
図２は、本開示の一実施形態に係る処理を説明するフローチャート２００である。具体的には、フローチャート２００は、自動ネゴシエーション期間におけるノード素子の処理を説明するためのものである。本実施形態の処理は、データモード期間において少なくとも１つの順方向誤り訂正（ＦＥＣ）モードを解決するよう求める要求で、リンクパートナとの自動ネゴシエーション期間において、リンクコードワードベースページをフォーマッティングすること２０２を含む。データモード期間は、自動ネゴシエーション期間の後に発生し、データモード期間は概して、ノードおよびリンクパートナがデータパケットをやり取りするリンクアップステートを定義している。処理はさらに、リンクコードワードベースページをリンクパートナに送信すること２０４を含む。処理はさらに、リンクパートナが、データモード期間においてＦＥＣモードを解決することが可能か否かを判断すること２０６を含む。リンクパートナがデータモード期間においてＦＥＣモードを解決することが出来ない場合、処理はさらに、自動ネゴシエーション期間（および／またはリンクトレーニング期間）において特定のＦＥＣモードをイネーブルすること２０８を含むとしてよい。リンクパートナがデータモード期間においてＦＥＣモードを解決することが出来る場合、自動ネゴシエーション期間は、自動ネゴシエーション期間中にＦＥＣモードをイネーブルすることなく完了するとしてよい２１０。または、これに代えて、自動ネゴシエーション期間は、自動ネゴシエーション期間および／またはリンクトレーニング期間において特定のＦＥＣモードをイネーブルすることによって完了するとしてもよい。
【００３７】
図３は、本開示の別の実施形態に係る処理を説明するフローチャート３００である。具体的には、フローチャート３００は、データモード期間中のノード素子の処理の一実施形態例を説明する。本実施形態に係る処理は、データモード期間において、ネットワークノード素子とリンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定すること３０２を含む。処理はさらに、少なくとも１つのチャネル品質パラメータは、少なくとも１つのサポートされているＦＥＣモードをイネーブルまたはディセーブルする必要性を示すか否かを判断すること３０４を含むとしてよい。例えば、ＦＥＣモードが既に（例えば、自動ネゴシエーション期間、リンクトレーニング期間および／またはデータモード期間において）イネーブルされている場合、チャネル品質パラメータは、現在のＦＥＣモードがディセーブルされれば、および／または、別のＦＥＣモードがイネーブルされれば、チャネルが許容可能なパケットインテグリティを持つ旨を示すとしてよい。これに代えて、ＦＥＣモードが現在イネーブルされていない場合、チャネル品質パラメータは、チャネルが劣化したので少なくとも１つのＦＥＣモードをイネーブルすることでパケットインテグリティが改善する旨を示すとしてよい。少なくとも１つのチャネル品質パラメータが少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルする必要性を示す（３０４）場合、処理はさらに、少なくとも１つのチャネルについて適切なモードを選択すること３０６を含むとしてよい。処理３０６は、チャネル品質パラメータが少なくとも１つのＦＥＣモードをイネーブルする必要性を示していると仮定する。この処理は、チャネル品質パラメータが全てのＦＥＣモードがディセーブルされている旨を示す場合には省略されるとしてよい。処理はさらに、ノード素子においてデータフローを一時停止させること３０８を含むとしてよい。処理はさらに、少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルするべくリンクパートナとの間でインバンド制御コードをやり取りすること３１０を含むとしてよい。処理はさらに、ＦＥＣモードがイネーブルまたはディセーブルされると、ノード素子によってリンクパートナとの間でデータフローを再開すること３１２を含む。処理は、３０２に続くとしてよい（３１３に示す）。少なくとも１つのチャネル品質パラメータは少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルする必要性を示さない場合（３０４）、処理は３０２に続くとしてよい（３０５で示す）。
【００３８】
図４は、本開示の別の実施形態に係る処理を説明するフローチャート４００である。具体的には、フローチャート４００は、データモード期間におけるノード素子の処理の別の実施形態例を示す。本実施形態に係る処理は、データモード期間において、ネットワークノード素子とリンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定すること４０２を含む。処理はさらに、少なくとも１つのチャネル品質パラメータが少なくとも１つのサポートされているＦＥＣモードをイネーブルまたはディセーブルする必要性を示すか否かを決定すること４０４を含むとしてよい。例えば、ＦＥＣモードが既にイネーブルされている場合（例えば、自動ネゴシエーション期間、リンクトレーニング期間および／またはデータモード期間において）、チャネル品質パラメータは、現在のＦＥＣモードがディセーブルされると、および／または、別のＦＥＣモードがイネーブルされると、チャネルは許容可能なパケットインテグリティを持つ旨を示すとしてよい。これに代えて、ＦＥＣモードが現在イネーブルされていない場合、チャネル品質パラメータは、チャネルが劣化したので少なくとも１つのＦＥＣモードをイネーブルすることでパケットインテグリティが改善する旨を示すとしてよい。少なくとも１つのチャネル品質パラメータが少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルする必要性を示している場合（４０４）、処理はさらに、少なくとも１つのチャネルについて適切なモードを選択すること４０６を含むとしてよい。処理４０６は、チャネル品質パラメータは少なくとも１つのＦＥＣモードをイネーブルする必要性を示すと仮定するとしてよく、この処理は、チャネル品質パラメータが全てのＦＥＣモードがディセーブルされている旨を示す場合には省略されるとしてよい。処理はさらに、ノード素子においてデータフローを一時停止させること４０８を含むとしてよい。処理はさらに、少なくとも１つのＦＥＣモード４１０をイネーブルまたはディセーブルするべくノード素子とリンクパートナとの間で「高速」リンク再トレーニングシーケンスを開始することを含むとしてよい。処理はさらに、ＦＥＣモードがイネーブルまたはディセーブルされると、ノード素子によってリンクパートナとの間でデータフローを再開すること４１２を含む。処理は４０２に続くとしてよい（４１３に示す）。少なくとも１つのチャネル品質パラメータは少なくとも１つのＦＥＣモードをイネーブルまたはディセーブルする必要性を示さない場合（４０４）、処理は４０２に続くとしてよい（４０５で示す）。
【００３９】
図５は、本開示の別の実施形態に係る処理を説明するためのフローチャート５００である。具体的には、フローチャート５００は、自動ネゴシエーション期間およびデータモード期間におけるノード素子の処理を示す。本実施形態に係る処理は、後続のデータモード期間において少なくとも１つのＦＥＣモードを解決するよう、ネットワークノード素子によって自動ネゴシエーション期間において、要求すること５０２を含む。自動ネゴシエーション期間およびデータモード期間は、イーサネット（登録商標）通信プロトコルによって定められており、自動ネゴシエーション期間はデータモード期間の前に発生する。処理はさらに、データモード期間において、ネットワークノード素子とリンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定すること５０４を含むとしてよい。処理はさらに、データモード期間において、少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、ネットワークノード素子によって利用されるべく、少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを決定すること５０６を含むとしてよい。
【００４０】
図２、図３、図４および図５のフローチャートはさまざまな実施形態に係る処理を示すが、図２、図３、図４および／または図５に示す処理の全てが他の実施形態について必要なわけではないと理解されたい。また、本開示の他の実施形態では、図２、図３、図４および／または図５に示す処理および／または本明細書に説明する他の処理は、図面のいずれにも具体的に図示していない方法で組み合わせ得ると本願では十分に考えられ、このような実施形態は図２、図３、図４および／または図５に図示したものより処理の数が増減するとしてよい。このように、一の図面に正確に図示されていない特徴および／または処理に関する請求項は、本開示の範囲および内容に含まれるものとする。
【００４１】
上記の内容は、システムアーキテクチャおよび方法の例として挙げられており、本開示は変形することが可能である。例えば、ノード１０２および／またはリンクパートナ１１８はさらに、ホストプロセッサ、チップセット回路およびシステムメモリを含むとしてよい。ホストプロセッサは、１または複数のプロセッサコアを含むとしてよく、システムソフトウェアを実行するよう構成されているとしてよい。システムソフトウェアは、例えば、オペレーティングシステムコード（例えば、ＯＳカーネルコード）およびローカルエリアネットワーク（ＬＡＮ）ドライバコードを含むとしてよい。ＬＡＮドライバコードは、ネットワークコントローラ１０４の処理を少なくとも部分的に制御するよう構成されているとしてよい。システムメモリは、ネットワークコントローラ１０４が送受信する１または複数のデータパケットを格納するよう構成されているＩ／Ｏメモリバッファを含むとしてよい。チップセット回路は概して、プロセッサと、ネットワークコントローラ１０４と、システムメモリとの間における通信を制御する「ノースブリッジ」回路（不図示）を含むとしてよい。
【００４２】
ノード１０２および／またはリンクパートナ１１８はさらに、システムリソースを管理し、例えば、ノード１０２で実行されるタスクを制御するオペレーティングシステム（ＯＳ、不図示）を含むとしてよい。例えば、ＯＳは、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）、ＨＰ−ＵＸ、Ｌｉｎｕｘ（登録商標）またはＵＮＩＸ（登録商標）を用いて実装されるとしてよいが、他のオペレーティングシステムを利用するとしてよい。一部の実施形態によると、ＯＳは、１または複数のプロセッシングユニットで実行されるさまざまなオペレーティングシステム（仮想マシン）に対して、下方のハードウェアに対する抽象化レイヤを実現する仮想マシンモニタ（またはハイパーバイザ）で置換するとしてもよい。オペレーティングシステムおよび／または仮想マシンは、１または複数のプロトコルスタックを実現するとしてよい。プロトコルスタックは、パケットを処理する１または複数のプログラムを実行するとしてよい。プロトコルスタックの一例は、ネットワークを介して送受信するパケットを扱う（例えば、処理または生成する））１または複数のプログラムを含むＴＣＰ／ＩＰ（トランスポートコントロールプロトコル／インターネットプロトコル）プロトコルスタックである。プロトコルスタックはこれに代えて、専用サブシステム、例えば、ＴＣＰオフロードエンジンおよび／またはネットワークコントローラ１０４等に含まれるとしてよい。ＴＣＰオフロードエンジン回路は、ホストＣＰＵおよび／またはホストソフトウェアが関与することなく、例えば、パケット転送、パケットセグメント化、パケット再構築、エラーチェック、送信確認応答、送信再試行等を提供するよう構成されているとしてよい。
【００４３】
システムメモリは、半導体ファームウェアメモリ、プログラマブルメモリ、不揮発性メモリ、リードオンリーメモリ、電気的プログラマブルメモリ、ランダムアクセスメモリ、フラッシュメモリ、磁気ディスクメモリおよび／または光ディスクメモリといった種類のメモリのうち１または複数を含むとしてよい。これに加えて、または、これに代えて、システムメモリは、他の種類のコンピュータ可読メモリおよび／または後に開発されるコンピュータ可読メモリを含むとしてよい。
【００４４】
本明細書で説明する処理の実施形態は、１または複数のプロセッサによって実現されると方法を実行する複数の命令を、個別に、または、組み合わせて、格納している１または複数の格納媒体を含むシステムで実現されるとしてよい。プロセッサは、例えば、ネットワークコントローラ１０４におけるプロセッシングユニットおよび／またはプログラマブル回路、および／または、他のプロセッシングユニットまたはプログラマブル回路を含むとしてよい。このように、本明細書に記載した方法に係る処理は複数の物理デバイス、例えば、複数の異なる物理的な位置に存在する複数の処理構造にわたって分配されるものとする。格納媒体は、任意の種類の有形で非一時的な格納媒体、例えば、フロッピー（登録商標）ディスク、光ディスク、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスクリライタブル（ＣＤ−ＲＷ）および光磁気ディスクを含む任意の種類のディスク、リードオンリーメモリ（ＲＯＭ）等の半導体デバイス、ダイナミックＲＡＭおよびスタティックＲＡＭ等のランダムアクセスメモリ（ＲＡＭ）、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気カードまたは光カード、または、電子命令を格納するのに適した任意の種類の格納媒体を含むとしてよい。
【００４５】
「回路」という用語は、本明細書の任意の実施形態で用いられる場合、例えば、単体または組み合わせて、ハードワイヤード回路、プログラマブル回路、ステートマシン回路、および／または、プログラマブル回路で実行される命令を格納するファームウェアを含むとしてよい。「モジュール」という用語は、本明細書で用いられる場合、単体または組み合わせて、回路および／またはコードおよび／または命令セット（例えば、ソフトウェア、ファームウェア等）を含むとしてよい。
【００４６】
したがって、本開示は、イーサネット（登録商標）通信プロトコルを用いてリンクパートナとの間で通信するよう構成されているネットワークコントローラを含むネットワークノード素子の例を提供する。ネットワークコントローラはさらに、データモード期間において少なくとも１つの順方向誤り訂正（ＦＥＣ）モードを解決するよう、自動ネゴシエーション期間において、要求するよう構成されている。自動ネゴシエーション期間およびデータモード期間は、イーサネット（登録商標）通信プロトコルによって定められており、自動ネゴシエーション期間はデータモード期間の前に発生する。ネットワークノード素子はさらに、データモード期間において、ネットワークコントローラとリンクパートナとの間における通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定し、データモード期間において、少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいてネットワークノード素子が利用する少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを決定するよう構成されている。
【００４７】
本開示はさらに、１または複数のプロセッサによって実行されると以下の処理が実行される命令を、個別にまたは組み合わせて、格納している１または複数の格納媒体を備えるシステムを提供する。実行される処理として、データモード期間中に少なくとも１つのＦＥＣモードを解決するよう、ノード素子とリンクパートナとの間の自動ネゴシエーション期間において、要求する処理と、ネットワークノード素子とリンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを、データモード期間において、決定する処理と、少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを、データモード期間において決定する処理とを含み、自動ネゴシエーション期間およびデータモード期間は、イーサネット（登録商標）通信プロトコルによって定義されており、自動ネゴシエーション期間はデータモード期間より前に発生する。
【００４８】
本開示はさらに、順方向誤り訂正（ＦＥＣ）プロトコルを解決する方法を提供する。当該方法は、ネットワークノード素子によって、データモード期間において少なくとも１つのＦＥＣモードを解決するよう、ネットワークノード素子とリンクパートナとの間における自動ネゴシエーション期間において、要求する段階を含む。自動ネゴシエーション期間およびデータモード期間は、イーサネット（登録商標）通信プロトコルによって定義されており、自動ネゴシエーション期間はデータモード期間より前に発生する。当該方法はさらに、ネットワークノード素子によって、データモード期間において、ネットワークノード素子とリンクパートナとの間の通信リンクの少なくとも１つのチャネルの少なくとも１つのチャネル品質パラメータを決定する段階、および、ネットワークノード素子によってデータモード期間において、少なくとも１つのチャネル品質パラメータに少なくとも部分的に基づいて、ネットワークノード素子が利用する少なくとも１つのＦＥＣモードをイネーブルするかまたはディセーブルするかを決定する段階を含む。
【００４９】
本明細書で用いた用語および表現は、説明のための用語であって限定するためではなく、このような用語および表現を用いたとしても、図示および説明した特徴の均等物（またはその一部）を排除する意図はなく、特許請求の範囲内でさまざまな変形例が可能であると認められたい。したがって、特許請求の範囲はそのような均等物をすべて含むものとする。
【００５０】
さまざまな特徴、側面および実施形態を本明細書で説明してきた。特徴、側面および実施形態は、当業者であれば理解されるように、互いに組み合わせることも可能であり、変更および変形も可能である。本開示は、このため、このような組み合わせ、変更および変形についても含むものと考えられたい。
【図１】
0005992058.tif 000002
【図１Ａ】
0005992058.tif 000003
【図１Ｂ】
0005992058.tif 000004
【図１Ｃ】
0005992058.tif 000005
【図１Ｄ】
0005992058.tif 000006
【図１Ｅ】
0005992058.tif 000007
【図２】
0005992058.tif 000008
【図３】
0005992058.tif 000009
【図４】
0005992058.tif 000010
【図５】
0005992058.tif 000011