(57)【要約】  宇宙船に搭載して使用されるSpaceFibre等のリンクで使用されるマルチレーン通信インタフェースが提供される。インタフェースは、遠端マルチレーン通信インタフェースと協働して近端において動作する場合、１つ又は複数のレーンを介して遠端とシンボル同期を確立する論理と、シンボル同期を維持している間、遠端とデータワードを送受信する（Ａ）論理と、レーンステータスの変更を検出する（６１０）論理と、シンボル同期を維持している間、レーンステータスの変更を検出した（６１０）場合、データワードの送信を停止する（Ｂ）論理と、近端がデータワードを通信する準備ができたと判断されるまで（６０４）、データワードの代わりに近端レーンステータス制御ワードを遠端に送信し（Ｂ）、データワードの送信を再開する（Ｃ）論理と、データワードが遠端により受信されるまで（６０８）、近端レーン位置合わせ信号を遠端に送信する（Ｃ）論理とを含む。
2019507549.tif 000002
【特許請求の範囲】
【請求項１】
近端及び遠端を有するリンクで使用されるマルチレーン通信インタフェースであって、前記マルチレーン通信インタフェースは、遠端マルチレーン通信インタフェースと協働して近端において動作する場合、
１つ又は複数のレーンを介して前記遠端インタフェースとシンボル同期を確立する論理と、
前記シンボル同期を維持している間、前記遠端インタフェースとデータワードを送受信する論理と、
レーンステータスの変更を検出する論理と、
前記シンボル同期を維持している間、前記レーンステータスの変更を検出した場合、
（ａ）データワードの送信を停止する論理と、
（ｂ）前記近端がデータワードを通信する準備ができたと判断されるまで、データワードの代わりに近端レーンステータス制御ワードを前記遠端に送信し、データワードの送信を再開する論理と、
（ｃ）データワードが前記遠端により受信されるまで、近端レーン位置合わせ信号を前記遠端に送信する論理と
を含む、マルチレーン通信インタフェース。
【請求項２】
前記遠端インタフェースから送信された遠端レーンステータス制御ワードを受信することにより、前記レーンステータス変更を検出する論理を含む、請求項１に記載のマルチレーン通信インタフェース。
【請求項３】
前記遠端インタフェースから送信された前記遠端レーンステータス制御ワードを受信することにより、前記レーンステータス変更を検出した場合、他のレーンの前記レーンステータスを変更せずに、それに従って近端レーンのアクティブステータスを更新する論理を更に含む、請求項２に記載のマルチレーン通信インタフェース。
【請求項４】
前記遠端においてアクティブではない近端レーンをディセーブルすることにより、前記近端レーンの前記アクティブステータスを更新する論理を含む、請求項３に記載のマルチレーン通信インタフェース。
【請求項５】
前記近端におけるデータエラー又は構成変更を検出することにより、前記レーンステータス変更を検出し、前記レーンステータス変更が検出される場合、他のレーンの前記レーンステータスを変更せずに、それに従って近端レーンの前記アクティブステータスを更新する論理を更に含む、請求項１〜４のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項６】
前記近端がデータワードを送信する準備ができていない間、前記リンクのデータリンクレイヤへの受信データワードの受け渡しを停止する論理を更に含む、請求項１〜５のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項７】
ステップ（ｂ）において、
前記近端における近端レーンステータスを特定する論理、
前記特定された近端レーンステータスを、前記遠端インタフェースから遠端レーンステータス制御ワードにおいて受信した遠端レーンステータスと照合する論理、及び
全てのレーンが位置合わせされたと判断する論理
により、前記近端がデータワードを送信する準備ができていると判断する、請求項１〜６のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項８】
全てのレーンが位置合わせされたか否かは、前記遠端インタフェースから遠端レーン位置合わせ信号を受信することにより判断される、請求項７に記載のマルチレーン通信インタフェース。
【請求項９】
前記遠端から受信する前記遠端レーン位置合わせ信号は、前記遠端におけるレーン送信ステータスについての情報を含む、請求項８に記載のマルチレーン通信インタフェース。
【請求項１０】
前記近端がデータワードを送信する準備ができたと判断された後、時間期間以内にエラーが検出される場合、前記近端がデータワードを送信する準備ができていないと判断する論理を更に含み、前記時間期間は、任意の処理遅延を含む前記リンクの往復遅延である、請求項７〜９のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項１１】
ステップ（ｃ）において、前記遠端に送信される前記近端レーン位置合わせ信号は、前記近端における前記レーン送信ステータスについての情報を含む、請求項１〜１０のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項１２】
前記リンクは、単方向レーン及び双方向レーンの両方を含む任意の数の物理レーンを有する、請求項１〜１１のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項１３】
各レーンで、前記遠端インタフェースが送信ドライバ又は受信ドライバをディセーブルした場合、各レーンが単方向になることを検出する論理を更に含み、前記マルチレーン通信インタフェースは、前記リンクの残りの帯域幅を使用して、前記リンクの動的構成変更に適応するように動作可能である、請求項１〜１２のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項１４】
前記レーンステータス変更が検出される場合、前記近端がデータワードを送信する準備ができていない間、送信することができないデータワードは、前記マルチレーン通信インタフェースに記憶され、それにより、外部データソースが、前記マルチレーン通信インタフェースによりデータワードを送信することができないことを検出することを回避する、請求項１〜１３のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項１５】
請求項１〜１４のいずれか一項に記載のマルチレーン通信インタフェースを含む通信リンク。
【請求項１６】
近端及び遠端を有するマルチレーン通信リンクを介して通信する方法であって、前記リンクの遠端と協働して近端において実行される場合、
１つ又は複数のレーンを介して前記遠端インタフェースとシンボル同期を確立するステップと、
前記シンボル同期を維持している間、前記遠端インタフェースとデータワードを送受信するステップと、
レーンステータスの変更を検出するステップと、
前記シンボル同期を維持している間、前記レーンステータスの変更を検出した場合、
（ａ）データワードの送信を停止するステップと、
（ｂ）前記近端がデータワードを通信する準備ができたと判断されるまで、データワードの代わりに近端レーンステータス制御ワードを前記遠端に送信し、データワードの送信を再開するステップと、
（ｃ）データワードが前記遠端により受信されるまで、近端レーン位置合わせ信号を前記遠端に送信するステップと
を含む、通信方法。
【請求項１７】
前記レーンステータス変更を検出するステップは、前記遠端インタフェースから送信された遠端レーンステータス制御ワードを受信することにより、前記レーンステータス変更を検出することを含む、請求項１６に記載の通信方法。
【請求項１８】
前記遠端インタフェースから送信された前記遠端レーンステータス制御ワードを受信することにより、前記レーンステータス変更を検出した場合、他のレーンの前記レーンステータスを変更せずに、それに従って近端レーンのアクティブステータスを更新するステップを更に含む、請求項１７に記載の通信方法。
【請求項１９】
前記遠端においてアクティブではない近端レーンをディセーブルすることにより、前記近端レーンの前記アクティブステータスを更新するステップを含む、請求項１８に記載の通信方法。
【請求項２０】
前記近端におけるデータエラー又は構成変更を検出することにより、前記レーンステータス変更を検出し、前記レーンステータス変更が検出される場合、他のレーンの前記レーンステータスを変更せずに、それに従って近端レーンの前記アクティブステータスを更新することを更に含む、請求項１６〜１９のいずれか一項に記載の通信方法。
【請求項２１】
前記近端がデータワードを送信する準備ができていない間、前記リンクのデータリンクレイヤへの受信データワードの受け渡しを停止することを更に含む、請求項１６〜２０のいずれか一項に記載の通信方法。
【請求項２２】
ステップ（ｂ）において、
前記近端における近端レーンステータスを特定し、
前記特定された近端レーンステータスを、前記遠端インタフェースから遠端レーンステータス制御ワードにおいて受信した遠端レーンステータスと照合し、
全てのレーンが位置合わせされたと判断する
ことにより、前記近端がデータワードを送信する準備ができていると判断する、請求項１６〜２１のいずれか一項に記載の通信方法。
【請求項２３】
全てのレーンが位置合わせされたか否かは、前記遠端インタフェースから遠端レーン位置合わせ信号を受信することにより判断される、請求項２２に記載の通信方法。
【請求項２４】
前記遠端から受信する前記遠端レーン位置合わせ信号は、前記遠端におけるレーン送信ステータスについての情報を含む、請求項２３に記載の通信方法。
【請求項２５】
前記近端がデータワードを送信する準備ができたと判断された後、時間期間以内にエラーが検出される場合、前記近端がデータワードを送信する準備ができていないと判断するステップを更に含み、前記時間期間は、任意の処理遅延を含む前記リンクの往復遅延である、請求項２２〜２４のいずれか一項に記載の通信方法。
【請求項２６】
ステップ（ｃ）において、前記遠端に送信される前記近端レーン位置合わせ信号は、前記近端における前記レーン送信ステータスについての情報を含む、請求項１６〜２５のいずれか一項に記載の通信方法。
【請求項２７】
前記マルチレーン通信リンクは、単方向レーン及び双方向レーンの両方を含む任意の数の物理レーンを有する、請求項１６〜２６のいずれか一項に記載の通信方法。
【請求項２８】
各レーンで、前記遠端インタフェースが送信ドライバ又は受信ドライバをディセーブルした場合、各レーンが単方向になることを検出することを更に含み、前記方法は、前記リンクの残りの帯域幅を使用して、前記リンクの動的構成変更に適応することを含む、請求項１６〜２７のいずれか一項に記載の通信方法。
【請求項２９】
前記レーンステータス変更が検出される場合、前記近端がデータワードを送信する準備ができていない間、送信することができないデータワードは、マルチレーン通信インタフェースに記憶され、それにより、外部データソースが、前記マルチレーン通信リンクによりデータワードを送信することができないことを検出することを回避する、請求項１６〜２８のいずれか一項に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチレーン通信リンクに関する。より詳細には、本発明は、マルチレーン通信リンクで使用されるマルチレーン通信インタフェース、マルチレーン通信リンクそれ自体、及び関連する通信方法に関する。本発明は、SpaceFibre通信リンクに適用し得る。
【背景技術】
【０００２】
SpaceWire及びSpaceFibreは、宇宙船に搭載して使用されるデータ処理ネットワークである。SpaceWireは、主要データ処理プロトコルの１つとして確立され、多くのＥＳＡ（欧州宇宙機関）航空機、ＮＡＳＡ（米航空宇宙局）航空機、及びＪＡＸＡ（日本宇宙航空研究開発機構）航空機で使用されている。SpaceFibreは、広く使用されているSpaceWireの機能を補完する、超高速シリアルデータリンクを高データレートペイロードに提供する新興規格である。
【０００３】
SpaceFibreは、銅線及び光ファイバケーブルの両方を介して実行される宇宙船搭載データリンク及びネットワーク技術である。SpaceFibreは、当初は合成開口レーダ（ＳＡＲ）及びマルチスペクトル撮像機器のような超高速データレート機器をターゲットとし、内蔵ＱｏＳ（サービス品質）及びＦＤＩＲ（故障検出・分離・回復）機能並びにSpaceWire技術へのその後方互換性により、より広い宇宙船搭載通信用途を果たすことが可能である。SpaceFibreは２．５Ｇビット／ｓ以上で動作し、現在の飛行適格技術を用いたSpaceWireリンクのスループットの１２倍のスループットを提供し、複数のSpaceWireデバイスからのデータを１つのSpaceFibreリンクを介して集中させることができる。これは実質的にケーブルハーネスの質量を低減し、冗長戦略を簡易化する。
【０００４】
図１は、Parkesら著「SpaceFibre:A Multi-Gigabit/s Interconnect for Spacecraft Onboard Data Handling」、Aerospace Conference,2015 IEEEに開示されるようなSpaceFibreマルチレーン通信リンクのプロトコルスタックを示す。
【０００５】
ネットワークレイヤプロトコル１０２は、SpaceFibreネットワークを介してアプリケーション情報を転送する２つのサービスを提供する：パケットインタフェース１０４を介したパケット転送サービス及びブロードキャストメッセージインタフェース１０６を介したブロードキャストメッセージサービス。パケット転送サービスは、SpaceWireと同じパケットフォーマット及びルーティング概念を使用して、SpaceFibreネットワークを介してSpaceFibreパケットを転送する。ブロードキャストメッセージサービスは、時間及び同期情報を搬送するショートメッセージをネットワーク上の全てのノードにブロードキャストする。
【０００６】
データリンクレイヤ１０８は、サービス品質及びフロー制御をSpaceFibreリンクに提供する。データリンクレイヤ１０８は、ＱｏＳをサポートするためにリンクを介して送信すべき情報をフレーム化し、パケットデータをスクランブルして、電磁放射を低減する。データリンクレイヤ１０８は、エラー回復機能も提供し、欠落した又はエラーを含んで到着した任意のフレーム又は制御ワードを検出し、それらを再送する。
【０００７】
一般に、マルチレーンリンクは、複数の物理レーンからなる論理リンクを使用してデータを転送するデータ通信システムである。
【０００８】
図１を参照すると、マルチレーンレイヤ１１０は、幾つかのSpaceFibreレーンを平行して動作し、より高いデータスループットを提供することが可能である。Parkesらにおいて、レーン故障の場合、マルチレーンレイヤがグレースフルデグラデーションへのサポートを提供し、機能している残りのレーンにトラフィックを自動的に分散し、いかなる外部介入もなくこれを高速で行うことが開示されている。しかし、これがいかに達成されるかは、そこに開示されていない。
【０００９】
レーンレイヤ１１２は、SpaceFibreレーンにわたる通信を確立し、データ及び制御ワードをシンボルに符号化し、レーンを介してシンボルを送受信し、受信したシンボルを復号化してデータ及び制御ワードにし、エラーがレーン上で発生した場合、レーンを介して通信を再確立する。データは、受信機において、８Ｂ／１０Ｂ符号化及び復号化を使用して、送信に向けてシンボルに符号化される。８Ｂ／１０Ｂシンボルは、SpaceFibreインタフェースのＡＣ結合をサポートするＤＣ平衡型である。
【００１０】
物理レイヤ１１４は、８Ｂ／１０Ｂシンボルを直列化し、物理インタフェース１１６を経由して物理媒体を介して送信する。受信機において、物理レイヤは、シリアルビットストリームからクロック及びデータを復元し、シンボル境界を特定し、８Ｂ／１０Ｂシンボルを復元する。電気ケーブル及び光ファイバケーブルの両方がSpaceFibreによりサポートされる。
【００１１】
管理レイヤ１１８は、管理インタフェース１２０を介してSpaceFibreプロトコルスタック内の全てのレイヤの構成、制御、及び監視をサポートする。
【００１２】
マルチレーン化での従来の手法に伴う問題は、構成後、レーン数が固定され、任意の数の双方向レーン及び単方向レーンの混合が可能ではないことである。
【００１３】
別の問題は、従来の手法では、故障回復時間が長く、したがって、リンクがレーン故障から回復している間に送信されなかったあらゆるデータが、エンドユーザの動作に影響せずに小さな内部バッファに記憶することができないことである。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
マルチレーンデータリンクが、レーンステータス及び構成の変更に動的に適応することが望ましい。プロトコルスタック内のマルチレーンレイヤが、グレースフルデグラデーションへのサポートを提供し、いかなる外部介入もなく高速に、機能している残りのレーンにトラフィックを自動的に分散することが望ましい。フォールトトレラント機能及び節電機能を有し、任意の数のレーン、例えば、最高で１６のレーンを使用可能な非対称マルチレーンシリアルリンクを提供することが望ましい。
【課題を解決するための手段】
【００１５】
本発明の第１の態様によれば、近端及び遠端を有するリンクで使用されるマルチレーン通信インタフェースが提供され、本マルチレーン通信インタフェースは、遠端マルチレーン通信インタフェースと協働して近端において動作する場合、
１つ又は複数のレーンを介して遠端インタフェースとシンボル同期を確立する論理と、
シンボル同期を維持している間、遠端インタフェースとデータワードを送受信する論理と、
レーンステータスの変更を検出する論理と、
シンボル同期を維持している間、レーンステータスの変更を検出した場合、
（ａ）データワードの送信を停止する論理と、
（ｂ）近端がデータワードを送信する準備ができたと判断されるまで、データワードの代わりに近端レーンステータス制御ワードを遠端に送信し、データワードの送信を再開する論理と、
（ｃ）データワードが遠端により受信されるまで、近端レーン位置合わせ信号を遠端に送信する論理と
を含む。
【００１６】
好ましくは、本マルチレーン通信インタフェースは、遠端インタフェースから送信された遠端レーンステータス制御ワードを受信することにより、レーンステータス変更を検出する論理を含む。
【００１７】
好ましくは、本マルチレーン通信インタフェースは、遠端インタフェースから送信された遠端レーンステータス制御ワードを受信することにより、レーンステータス変更を検出した場合、他のレーンのレーンステータスを変更せずに、それに従って近端レーンのアクティブステータスを更新する論理を更に含む。
【００１８】
好ましくは、本マルチレーン通信インタフェースは、遠端においてアクティブではない近端レーンをディセーブルすることにより、近端レーンのアクティブステータスを更新する論理を含む。
【００１９】
好ましくは、本マルチレーン通信インタフェースは、近端におけるデータエラー又は構成変更を検出することにより、レーンステータス変更を検出し、レーンステータス変更が検出される場合、他のレーンのレーンステータスを変更せずに、それに従って近端レーンのアクティブステータスを更新する論理を更に含む。
【００２０】
好ましくは、本マルチレーン通信インタフェースは、近端がデータワードを送信する準備ができていない間、リンクのデータリンクレイヤへの受信データワードの受け渡しを停止する論理を更に含む。
【００２１】
好ましくは、本マルチレーン通信インタフェースは、ステップ（ｂ）において、
近端における近端レーンステータスを特定する論理、
特定された近端レーンステータスを、遠端インタフェースから遠端レーンステータス制御ワードにおいて受信した遠端レーンステータスと照合する論理、及び
全てのレーンが位置合わせされたと判断する論理
により、近端がデータワードを送信する準備ができていると判断する。
【００２２】
好ましくは、全てのレーンが位置合わせされたか否かは、遠端インタフェースから遠端レーン位置合わせ信号を受信することにより判断される。
【００２３】
好ましくは、遠端から受信する遠端レーン位置合わせ信号は、遠端におけるレーン送信ステータスについての情報を含む。
【００２４】
好ましくは、本マルチレーン通信インタフェースは、近端がデータワードを送信する準備ができたと判断された後、時間期間以内にエラーが検出される場合、近端がデータワードを送信する準備ができていないと判断する論理を更に含み、時間期間は、任意の処理遅延を含むリンクの往復遅延である。
【００２５】
好ましくは、ステップ（ｃ）において、遠端に送信される近端レーン位置合わせ信号は、近端におけるレーン送信ステータスについての情報を含む。
【００２６】
好ましくは、リンクは、単方向レーン及び双方向レーンの両方を含む任意の数の物理レーンを有する。
【００２７】
好ましくは、本マルチレーン通信インタフェースは、各レーンで、遠端インタフェースが送信ドライバ又は受信ドライバをディセーブルした場合、各レーンが単方向になることを検出する論理を更に含み、本マルチレーン通信インタフェースは、リンクの残りの帯域幅を使用して、リンクの動的構成変更に適応するように動作可能である。
【００２８】
好ましくは、レーンステータス変更が検出される場合、近端がデータワードを送信する準備ができていない間、送信することができないデータワードは、本マルチレーン通信インタフェースに記憶され、それにより、外部データソースが、本マルチレーン通信インタフェースによりデータワードを送信することができないことを検出することを回避する。
【００２９】
本発明の第２の態様によれば、第１の態様によるマルチレーン通信インタフェースを含む通信リンクが提供される。
【００３０】
本発明の第３の態様によれば、近端及び遠端を有するマルチレーン通信リンクを介して通信する方法が提供され、本方法は、リンクの遠端と協働して近端において実行される場合、
１つ又は複数のレーンを介して遠端インタフェースとシンボル同期を確立するステップと、
シンボル同期を維持している間、遠端インタフェースとデータワードを送受信するステップと、
レーンステータスの変更を検出するステップと、
シンボル同期を維持している間、レーンステータスの変更を検出した場合、
（ａ）データワードの送信を停止するステップと、
（ｂ）近端がデータワードを送信する準備ができたと判断されるまで、データワードの代わりに近端レーンステータス制御ワードを遠端に送信し、データワードの送信を再開するステップと、
（ｃ）データワードが遠端により受信されるまで、近端レーン位置合わせ信号を遠端に送信するステップと
を含む。
【００３１】
好ましくは、レーンステータス変更を検出するステップは、遠端インタフェースから送信された遠端レーンステータス制御ワードを受信することにより、レーンステータス変更を検出することを含む。
【００３２】
好ましくは、本方法は、遠端インタフェースから送信された遠端レーンステータス制御ワードを受信することにより、レーンステータス変更を検出した場合、他のレーンのレーンステータスを変更せずに、それに従って近端レーンのアクティブステータスを更新するステップを更に含む。
【００３３】
好ましくは、本方法は、遠端においてアクティブではない近端レーンをディセーブルすることにより、近端レーンのアクティブステータスを更新するステップを含む。
【００３４】
好ましくは、本方法は、近端におけるデータエラー又は構成変更を検出することにより、レーンステータス変更を検出し、レーンステータス変更が検出される場合、他のレーンのレーンステータスを変更せずに、それに従って近端レーンのアクティブステータスを更新することを更に含む。
【００３５】
好ましくは、本方法は、近端がデータワードを送信する準備ができていない間、リンクのデータリンクレイヤへの受信データワードの受け渡しを停止することを更に含む。
【００３６】
好ましくは、ステップ（ｂ）において、
近端における近端レーンステータスを特定し、
特定された近端レーンステータスを、遠端インタフェースから遠端レーンステータス制御ワードにおいて受信した遠端レーンステータスと照合し、
全てのレーンが位置合わせされたと判断する
ことにより、近端がデータワードを送信する準備ができていると判断する。
【００３７】
好ましくは、全てのレーンが位置合わせされたか否かは、遠端インタフェースから遠端レーン位置合わせ信号を受信することにより判断される。
【００３８】
好ましくは、遠端から受信する遠端レーン位置合わせ信号は、遠端におけるレーン送信ステータスについての情報を含む。
【００３９】
好ましくは、本方法は、近端がデータワードを送信する準備ができたと判断された後、時間期間以内にエラーが検出される場合、近端がデータワードを送信する準備ができていないと判断するステップを更に含み、時間期間は、任意の処理遅延を含むリンクの往復遅延である。
【００４０】
好ましくは、ステップ（ｃ）において、遠端に送信される近端レーン位置合わせ信号は、近端におけるレーン送信ステータスについての情報を含む。
【００４１】
好ましくは、マルチレーン通信リンクは、単方向レーン及び双方向レーンの両方を含む任意の数の物理レーンを有する。
【００４２】
好ましくは、本方法は、各レーンで、遠端インタフェースが送信ドライバ又は受信ドライバをディセーブルした場合、各レーンが単方向になることを検出することを更に含み、方法は、リンクの残りの帯域幅を使用して、リンクの動的構成変更に適応することを含む。
【００４３】
好ましくは、レーンステータス変更が検出される場合、近端がデータワードを送信する準備ができていない間、送信することができないデータワードは、マルチレーン通信インタフェースに記憶され、それにより、外部データソースが、マルチレーン通信インタフェースによりデータワードを送信することができないことを検出することを回避する。
【００４４】
本発明の第４の態様によれば、プログラムコードを含む非一時的コンピュータ可読媒体が提供され、プログラムコードは、第３の態様の方法を実行するように回路又は少なくとも１つのコンピュータの少なくとも１つのプロセッサを構成するように構成される。
【００４５】
本発明の第５の態様によれば、プログラムコードを含むコンピュータ可読媒体が提供され、プログラムコードは、第３の態様の方法を実行するように回路又は少なくとも１つのコンピュータの少なくとも１つのプロセッサを構成するように構成され、本コンピュータ可読媒体は、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、フラッシュメモリ記憶装置、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、及び読み取り専用メモリ（ＲＯＭ）からなる群から選択される。
【００４６】
本発明は、マルチレーン通信インタフェースに関する。以下の説明は、本発明の実施態様に関連する具体的な情報を含む。本願で特に考察された様式とは異なる様式で本発明を実施し得ることを当業者は認識する。さらに、本発明の具体的な詳細の幾つかは、本発明を曖昧にしないように考察されていない。
【００４７】
本願における図面及び図面に付随する詳細な説明は、本発明の単なる例示的な実施形態に関する。簡潔さを保つために、本発明の他の実施形態は、本願に特に記載されず、本図面により特に示されない。
【００４８】
本発明の実施形態について、図面を参照して単なる例としてこれより説明する。
【図面の簡単な説明】
【００４９】
【図１】SpaceFibreマルチレーン通信リンクのプロトコルスタックを示す。
【図２】異なる構成及びステータスを有する４つのレーンを有するマルチレーンリンクの例を示す。
【図３】本明細書に記載される各タイプのワードの使用及びワードがいかに多重化されるかを示す概念図である。
【図４】本発明の実施形態により位置合わせ及びアクティブワードを実施するように特定の制御ワードをいかに定義することができるかの例を示す。
【図５】幾つかのレーンから受信されたワードの位置合わせを示す。
【図６】本発明の実施形態によるマルチレーン通信インタフェースのリンク状態図である。
【図７】単方向受信のみのレーンが、エラー、節電設定、又は他の構成変更に起因してディセーブルされる場合、マルチレーン通信インタフェースがいかに動作するかの例を示す。
【発明を実施するための形態】
【００５０】
この説明及び特許請求の範囲では、マルチレーンリンクは、２つのデバイス間のポイントツーポイント接続であり、少なくとも１つの双方向レーン及び０以上の単方向レーンを含み、１つ又は複数のアクティブレーンを使用して情報を送受信する。
【００５１】
本発明の実施形態は、故障又は節電構成変更に起因して送信レーン及び受信レーンの数に任意の変更がある場合、任意の奇数又は偶数の物理レーン（単方向又は双方向）を有するマルチレーンリンクが自動的に動作を継続できるようにするマルチレーン通信インタフェースを提供し得る。したがって、マルチレーンリンクは、なお利用可能なレーンを使用して動作することが可能であり、それにより、１つのレーンが故障する場合又は非アクティブ化される場合、マルチレーンリンクは残りの全てのレーンを用いて機能する。データが常に、送信された順序と同じ順序で検索されることを保証することができ、それにより、複数の非同期イベント（故障又はレーン構成変更）がリンクの両端で発生する場合であっても、順序通りのデータ完全性が保証される。
【００５２】
マルチレーンリンクは、どのレーンがもはや、データの送信又は受信に利用できないかを自動的に検出する。故障回復時間は最小に抑えられ、したがって、リンクがレーン故障から回復している間に送出されなかったあらゆるデータは、エンドユーザの動作に影響せずに、小さな内部バッファに記憶することができる。これにより、外部データソースが、マルチレーン通信インタフェースによりデータを送信することができないことを検出することが回避される。
【００５３】
本発明の実施形態では、マルチレーンリンクの各レーンは、同じリンクの他のレーンから独立して動作し得る。したがって、８Ｂ１０Ｂ符号化方式における不一致エラー等のリンクの１つのレーンでの復号化エラーは、他の解決策（例えば、PCI Express及びRapid IO)を用いて生じるようにリンクの他のレーンのステータスに影響しない。
【００５４】
本発明の実施形態では、レーンは、任意の時間にアクティブ化及び非アクティブ化することができる。従来の手法では、レーンは一緒に初期化されなければならず、動作中のレーンの数が変わった場合、全てのレーンを再初期化する必要がある。
【００５５】
本発明の実施形態では、リンクは任意の数のレーンで構成することができ、レーンは単方向又は双方向であることができる。従来の手法（例えば、PCI Express及びRapid IO）では、レーン数は２の倍数でなければならない。
【００５６】
図２は、異なる構成及びステータスを有する４つのレーンを有するマルチレーンリンクの例を示す。マルチレーンリンクは、リンクの近端においてデバイス２０４に接続される近端マルチレーン通信インタフェース２０２を有する。遠端マルチレーン通信インタフェース２０６が、リンクの遠端においてデバイス２０８に接続される。
【００５７】
レーン０は機能中の双方向レーンである。レーン１は、近端における送信機Ｔｘが節電を理由にディセーブルされている双方向レーンであり、したがって、単方向レーンとして機能している。レーン２は、エラー２１０に起因して故障した双方向レーンであり、もはや使用することはできない。レーン３は、リンクの一端部において送信機Ｔｘを有し、他端部において受信機Ｒｘを有するだけであるため、単方向レーンとしてのみ機能することができる。
【００５８】
Rapid IO及びPCI Express等の従来の手法では、レーンステータスは独立していない。そのような手法では、リンクの一端部が構成を決定し、この構成で全てのレーンを開始しようとする。他端部も同じことを行い、両端部は、他端部が使用中の構成の情報を受信する。端部は、構成が一致しないと判断する場合、他端に一致する可能性が最も高い新しい構成で全てを再開する。したがって、リンクは、全てのレーンをリセットすることにより再初期化され、ビット同期又はシンボル同期を維持しない。このシステムは、システム初期化時の構成の変更をサポートしない。構成変更の例は、図２を参照して説明したように、ユーザがレーンをディセーブルする場合又はレーンが機能停止する場合である。
【００５９】
図３は、本明細書に記載される各タイプのデータユニットの使用及びデータユニットがいかに多重化されるかを示す概念図である。
【００６０】
レーン３０２は、ワードと呼ばれる複数のデータユニットで情報を送信する。異なるタイプのワードについてこれより説明する。データワード３０４は、アプリケーション３０６により生成され、ユーザデータコンテンツを搬送する。制御ワード３０８は、任意の通信プロトコル３１０により生成される。プロトコル３１０は、マルチプレクサ３１２から出力するデータワード又は制御ワードを選択する（点線）。
【００６１】
位置合わせ及びアクティブワード３１４は、リンクステータス及びレーンステータス３１６に関連する制御ワードである。リンクステータスは、図５を参照して説明するマルチレーン位置合わせメカニズムに関連する。各レーンのステータスを搬送する位置合わせ及びアクティブワード３１４は、リンクステータス３２０に応じてマルチプレクサ３１８による出力に選択される。データワード３０４及び他の制御ワード３０８と多重化された位置合わせ及びアクティブワード３１４は、レーン番号０・・・Ｎ−１により定義されるレーン順序に従って、マルチレーン分配器３２２によりＮ個のレーン３０２を介して分配される。
【００６２】
図４は、本発明の実施形態により位置合わせ及びアクティブワードを実施するように特定の制御ワードをいかに定義することができるかの例を示す。
【００６３】
４つのシンボルをそれぞれ有する位置合わせワード４０２及びアクティブワード４０４が示される。両ワードにおいて、最初のシンボルはカンマであり、２番目のシンボルはワードのタイプ：位置合わせ又はアクティブを識別する。
【００６４】
位置合わせワード４０２の３番目のシンボルは、ワードの送信に使用されたレーンの現在の数及び位置合わせワードの送信に使用されたレーンのレーン番号を含む。４番目のシンボルは、エラーから保護するチェックサム値である。
【００６５】
アクティブワード４０４の３番目及び４番目のシンボルは、どのレーンが、アクティブ状態のレーン初期化状態機械を有するかを示す。これらの２つのシンボルの各ビットには、レーン番号０から開始して最高で１５までの対応するレーン番号が関連付けられる。
【００６６】
本発明の実施形態は、リンクの片側の準備ができているが、逆側がまだ準備ができていない場合であっても、随時、構成を変更することができるため、従来の手法よりもロバストである。送信に使用されているレーンの数を含む位置合わせワードを使用する効果は、位置合わせチェック及びレーン数チェックを同時に行うことができるため、有益さを提供する。
【００６７】
例では、マルチレーンリンクの各レーンは、単方向受信のみのレーン、単方向送信のみのレーン、又はデータの送受信の両方が可能な双方向レーンとして設定することができる。レーンは随時、イネーブル又はディセーブルすることができる。イネーブルされた各レーンは、アクティブ状態又は非アクティブ状態であることができる。アクティブ状態のレーンは、データワード及び制御ワードの受信のみ、送信のみ、又は正確に送受信の両方を行うことが予期される。
【００６８】
レーンは、以下の条件の１つ又は複数が満たされる場合、アクティブ状態であると見なし得る。
・両端がデータを正確に送受信する準備ができている。
・レーンが単方向受信のみのレーンとして設定され、データを正確に受信することが可能な場合、又は
・リンクの他のレーンが、リンクの遠端において、このレーンがアクティブ状態であるとの情報を受信する場合。
【００６９】
これにより、単方向送信のみのレーンがアクティブ状態に達することができる。また、これにより、遠端において、レーンが節電を理由にして単方向受信のみのレーンとして設定される場合を検出することもできる。この場合、レーンは、前に送信のみと設定されていなかった場合、送信のみのレーンとして設定される。
【００７０】
アクティブ状態のレーンは、以下の条件の１つ又は複数を満たす場合、この状態から出ることができる。
・レーンがユーザによりディセーブルされる場合、
・レーンがデータを受信可能であるように設定されるが、受信機ドライバが、有効な信号がないことを示す場合、又はこのレーンの実測ビットエラーレートが高すぎる場合；ビットエラーレートは、例えば、８Ｂ１０Ｂ復号化エラーの数を数えることにより測定することができる、
・レーンが、節電したいため、若しくは多すぎるエラーを検出中であり、データを正確に受信することができないため、他端がそのレーンをディセーブルすることになることを示すワードを受信する場合、又は
・レーンが単方向送信のみのレーンとして設定され、リンクの他のレーンが、リンクの遠端において、このレーンがアクティブ状態ではないとの情報を受信した場合。
【００７１】
１つのレーンが、そのレーン上で受信したエラーに起因して故障した場合、そのレーンのステータスのみが更新され、他のレーンのレーンステータスは変わらないままである。これは、１つのレーンにエラーがある場合、それによりリンク全体が全てのレーンを再開する他の手法と異なる。
【００７２】
マルチレーンリンクは２つ以上のレーンで構成される。マルチレーンリンクの各レーンは、値０〜最高でＮ−１値まで、割り当てられたレーン番号を有し、ここで、Ｎはリンクが有するレーンの数である。
【００７３】
任意の特定の時間において、リンクは、データワード及び制御ワードを送受信する準備ができている又はできていないと見なすことができる。リンクが準備できている場合、送信すべきデータワードは、レーン番号と同じ順序に従ってワード単位でリンクのアクティブレーンに分配される。制御ワードも、同じようにアクティブレーンに分配することができ、又は同じ制御ワードをコピーし、全てのアクティブレーンに同時に送信することができる。また、リンクが準備できている場合のみ、データワード及び制御ワードは、割り当てられたレーン番号と同じ順序に従って、ワード単位でリンクの全てのアクティブレーンから受信することができる。
【００７４】
リンクが準備できていないと見なされる場合、リンクはデータワードを送受信することができない。
【００７５】
電源投入後、リンクはまず、準備ができていないと見なされる。リンクは、準備できていない場合、レーン番号で識別される、リンクのどのレーンがアクティブ状態であるかの情報を提供するワードを送信する。これらのワードは、この例ではアクティブワードと呼ばれ、リンクが準備できている場合には送信されず、したがって、リンクが準備できていないことを遠端に示すためにも使用される。アクティブ制御ワードは、どのレーンがアクティブであるかをリンクの遠端に通知するのに使用される。アクティブ制御ワードは、前に受信したアクティブ制御ワードと同じ場合、有効である。
【００７６】
リンクの各レーンは、異なるスキューを有することができ、したがって、各レーンにより受信されるワードは位置合わせされて、ワードが送信された順序と同じ順序で処理されるという効果を有する。位置合わせプロセスを助けるために、この例では位置合わせワードと呼ばれる特定のワードが、レーン間の最悪状況スキューよりも長い期間で定期的に、全てのアクティブレーンを介して同時に送信される。アクティブワードの受信により示されるように、位置合わせワードは、リンクが準備できていない場合又はリンクの遠端が準備できていない場合、送信される。位置合わせワードは、データの送信に使用中のレーンの数、すなわち、アクティブであり、位置合わせワードを送信するリンクの端部においてデータワード及び制御ワードを送信可能なレーンの数の情報を搬送する。各位置合わせワードは、位置合わせワードを送信したレーンのレーン番号を搬送することもできる。位置合わせ制御ワードは、アクティブレーンにわたり行を位置合わせするのに使用される。位置合わせ制御ワードは、どのレーンがアクティブな送信中のレーンであるかをリンクの他端に通知するために、マルチレーンリンクの各端により送信される。リンクは、レーンを再位置合わせする必要がある場合、リンク内の全てのレーンが位置合わせされるまで、位置合わせ制御ワードが組み入れられたアクティブ制御ワードを定期的に繰り返し送信する。
【００７７】
図５は、幾つかのレーンからのワードの位置合わせを示す。
【００７８】
ステップ５０２において：再位置合わせが必要であるため、全てのレーンで７つのアクティブワード、それに続いて位置合わせワードが送信される。レーンは位置合わせされておらず、したがって、１つの位置合わせワードは他のワードからずれて受信される。全てのレーンが読み取られる。
【００７９】
ステップ５０４において：位置合わせワードが、７つのアクティブワードの後、全てのレーンで送信される。レーン０及びレーン３は、位置合わせを含むが、全てのレーンが位置合わせを含むわけではないため、読み取られない。
【００８０】
ステップ５０６において：全てのレーンは出力において位置合わせを有し、したがって、全てのレーンが読み取られる。続くワード（ワード０〜ワード５）は実際には、位置合わせがリンクの他端に通知されるまで、更なるアクティブ制御ワードである。明確にするために、これらのワードは付番される。
【００８１】
ステップ５０８において：位置合わせされたデータが全てのレーンから読み取られる。
【００８２】
レーン位置合わせは、リンクの各アクティブレーンが、情報がレーンから読み取られるとき、完全な行のワードが一緒に読み取られるように正確に位置合わせされることを保証する。リンクの様々なレーンにわたるわずかな遅延差も、あるレーンが、他のレーンからの同じ行内のワードよりもわずかに早く又は遅く利用可能になる行内にワードを有することに繋がり得る。これは、行について誤ったデータを読み取ることに繋がり得る。行位置合わせは、遅延差が補償され、行の全てのワードが並び、一緒に読み取られることが可能な状態であることを保証する。位置合わせ後、読み取られる最初の行は、受信したＮ個のワードの第１の集合を含み、次の行はＮ個のワードの次の集合を含み、以下同様である。
【００８３】
行位置合わせを実行するために、位置合わせＦＩＦＯが各レーンに提供される。各位置合わせＦＩＦＯは、受信した行の位置合わせを可能にするのに十分なデータワード又は制御ワードを記憶することが可能である。データワード又は制御ワードがレーンレイヤから到着すると、ワードはそのレーンの位置合わせＦＩＦＯに配置される。位置合わせＦＩＦＯから読み取られる次のワードが有効な位置合わせ制御ワードである場合、そのワードが位置合わせＦＩＦＯから読み取られるだけであり、全てのアクティブレーンから読み取られる次のワードが有効な位置合わせ制御ワードである場合、有効な位置合わせ制御ワードは、エラーがないワードである。読み取られる次のワードが、データワード又は位置合わせ制御ワード以外の制御ワードである場合、そのワードは位置合わせＦＩＦＯから読み取られる。あらゆるアクティブレーンの位置合わせＦＩＦＯから読み取られる次のワードが、有効な位置合わせ制御ワードである場合、行は完全に位置合わせされ、全ての位置合わせ制御ワードは位置合わせＦＩＦＯから同時に読み取られる。
【００８４】
行が完全に位置合わせされ、位置合わせ制御ワードが読み取られると、続く各行は、位置合わせずれ状況が生じ、位置合わせをもう一度行う必要があるときまで、位置合わせされたデータワード及び制御ワードを含み、各行が読み取られる。ワードを配置する必要がある場合、１つの位置合わせＦＩＦＯが満杯であるとき、全ての位置合わせＦＩＦＯはフラッシュされる。これは、位置合わせワードが失われなかった場合、行うことができる。
【００８５】
図６は、本発明の実施形態によるマルチレーン通信インタフェースの挙動を示す状態機械の状態図である。
【００８６】
マルチレーン通信インタフェースは、近端及び遠端と呼ばれるリンクの２つの端部を有するマルチレーンリンクの両端部において使用される。以下の例では、マルチレーン通信インタフェースは、遠端マルチレーン通信インタフェースと協働して近端において動作する。その場合、遠端マルチレーン通信インタフェースは、近端マルチレーン通信インタフェースと同じように動作し得る。
【００８７】
マルチレーン通信インタフェースは、リンクを初期化し、遠端インタフェースとのシンボル同期を確立する論理を有する。この論理は、図６に示され、ソフトウェア又は及び／又は論理回路を含む論理において実施し得る位置合わせ状態機械により制御される。
【００８８】
リンクがリセットされる（６０２）と、位置合わせ状態機械は非準備状態Ｂになる。遠端インタフェースとのシンボル同期が確立される。
【００８９】
非準備状態Ｂにおいて、リンクのレーンはまだ位置合わせされておらず、したがって、データワードを送信又は受信することができない。レーンを位置合わせするために、位置合わせ状態機械は、リンクの各レーンを介してアクティブ制御ワードを送信し、定期的に位置合わせ制御ワードを送信するように、例えば、７つのアクティブワードごとに１つの位置合わせワードを送信するようにマルチレーン論理に命令する。
【００９０】
位置合わせ制御ワード及びアクティブ制御ワードが受信される場合、それらの制御ワードは、リンクの遠端におけるどのレーンがアクティブであるかについての情報を含む。これは、リンクの近端におけるレーンの状態と比較することができ、一致する場合、近端はデータワードの送信を開始する準備ができる。位置合わせＦＩＦＯは、各アクティブレーンを介してアクティブ制御ワード及び位置合わせ制御ワードを受信し、それらを位置合わせする。行の位置合わせが達成され、アクティブ制御ワード及び位置合わせ制御ワードに含まれた遠端状態情報が、近端状態情報と一致すると、レーンは位置合わせされ（６０４）、位置合わせ状態機械は近端準備状態Ｃに移動することができる。
【００９１】
レーンが位置合わせ６０４になるには、以下の全ての条件が満たされる。
・レーン間のスキューを補償するレーン位置合わせプロセスが完了し、したがって、リンクの近端は、遠端により送信された順序と同じ順序でワードをアクティブレーンから受信する。この条件は、全てのアクティブレーンによる位置合わせワードの同時受信により確認される。リンクが既に準備状態である場合、これもまた、全てのレーンにより同時に送信された制御ワードの受信により確認することができる。
・最後に受信した位置合わせワードにより示されるように、リンクの遠端においてデータの送信に使用されるレーン数は、データの受信に使用されているレーンの数と一致する。
・各レーンの両端に割り当てられるレーン番号は同じである。これは、レーンが準備できていないときに送信されている位置合わせワードの内容又は他のワードの内容により確認される。
・アクティブであるレーンは、リンクの両端において同じである。これは、アクティブワードの受信により確認される。
【００９２】
近端準備状態Ｃでは、位置合わせ状態機械は、アクティブ制御ワードの送信を止めるようにマルチレーン論理に命令し、マルチレーン論理が、シンボル同期を維持しながら、データワードを送受信できるようにする。位置合わせワードはなお、定期的に送信されて、シンボル同期をなお維持しながら、リンクの遠端における位置合わせプロセスが完了することを保証する。
【００９３】
レーンの行の位置合わせずれは、幾つかの理由のいずれか１つにより生じ得る。
・アクティブ状態であるリンクの近端におけるレーンは変わることができ、すなわち、アクティブレーンは、アクティブであることを止めることができ、又はアクティブではなかったレーンがアクティブになることができ、
・アクティブ状態であるリンクの遠端におけるレーンは、変わることができ、これは、アクティブ制御ワードにおいて示され、
・位置合わせＦＩＦＯはオーバーフローし得、
・制御ワードとデータワードが混じったものを同じ行に含む受信行は、無効であり得、
・エラーを含む位置合わせ制御ワードを受信し得、又は
・近端準備状態になった後短い時間期間内に、エラーを含む制御ワード又はデータワードを受信し得る。このエラーは、行位置合わせが検出されたとき、リンクの２つの端部間のラインを移動中であった。このチェックは、両側が、１つ又は複数のレーンでのエラーに起因して一貫しない状態で終わらないことを保証する。インタフェースは、近端がデータワードを送信する準備ができているとの判断後、ある時間期間内にエラーが検出される場合、近端が、データワードを送信する準備ができてないと判断する論理を有する。時間期間は、任意の処理遅延を含むリンクの往復遅延である。時間期間は、好ましくは、４μｓ未満である。時間期間は、ワードを送信する時間の最悪状況の和に、遠端に到達するまでの遅延、遠端におけるこのワードの処理、近端に到達するまでに遠端で生じたワードの遅延を加えたものの結果である。この時間期間後、近端インタフェースは、アウェアであり、時間期間の開始から変わっていない場合、近端の現在状況の最新版である情報を遠端から受信することができる。プロトコルがロバストであるためには、近端は、リンクが準備状態になってから時間期間が経過するまで、エラーを取得受信することができない。
【００９４】
近端準備状態Ｃにおいて、位置合わせずれ状況が生じる（６０６）場合、位置合わせ状態機械は再び非準備状態Ｂに戻る。したがって、受信したアクティブ制御ワードを介して変更が検出される場合、近端インタフェースは、遠端インタフェースから送信される遠端レーンステータスデータを受信することにより、レーンステータスの変更を検出することができる。非準備状態Ｂにあるとき、位置合わせ状態機械は、正確な行位置合わせを達成するために必要なステップをマルチレーン論理に実行させる。
【００９５】
近端準備状態Ｃにおいて、データワードが受信され、位置合わせずれが生じない（６０８）場合、位置合わせ状態機械は両端準備状態Ａに移る。位置合わせ状態機械は、アクティブ制御ワード及び位置合わせ制御ワードを送信せず、データワード及び他のデータリンクレイヤ制御ワードを送受信するようにマルチレーン論理に命令する。両端準備状態Ａにおいて、マルチレーンリンクの両端は、完全に位置合わせされ、アクティブであるレーンを使用してデータを転送することが可能である。
【００９６】
位置合わせ状態機械が両端準備状態Ａにある場合、位置合わせずれ状況が生じるか、又はリンクの遠端におけるアクティブレーン（すなわち、レーンステータス）の変更を示すアクティブワードが受信される（６１０）とき、位置合わせ状態機械は、近端非準備状態Ｂに移り、レーン位置合わせプロセスをもう一度開始する。したがって、ここでも、近端インタフェースは、遠端インタフェースから送信された遠端レーンステータスデータを受信することにより、レーンステータスの変更を検出することができる。
【００９７】
したがって、レーンステータスの変更が検出されると、論理は、
（ａ）シンボル同期を維持しながら、データワードの送信を停止し、
（ｂ）近端がデータワードを送信する準備ができていると判断されるまで、シンボル同期を維持しながら、データワードの代わりに近端レーンステータス制御ワード（アクティブワード）を遠端に送信し、シンボル同期を維持しながら、データワードの送信を再開し、
（ｃ）データワードが遠端から受信されるまで、シンボル同期を維持しながら、近端レーン位置合わせ信号（位置合わせワード）を遠端に送信する。
【００９８】
マルチレーン通信インタフェースの使用により、リンクの各端において、どのレーンがアクティブで、データ送信の準備ができているかを常時監視するリンクが、全システムの完全初期化を必要とせずに、構成及びステータスを変更するように動的に反応することができる。故障の発生又は節電構成変更に起因して、１つ又は複数のレーンのステータスがアクティブから非アクティブに又は非アクティブからアクティブに変わったことをリンクが検出する場合、リンクはユーザデータの送信を即座に停止し、シンボル同期を維持しながら、各レーンのステータス情報（すなわち、状態ＡからＢへの遷移）を送信し始める。これにより、リンクの遠端が、無効レーン順序があるとき、ユーザデータを処理することが回避され、近端においてデータの受信に使用されているレーンが、遠端がこのデータの送信に使用したレーンと同じであることを遠端が検証できるようにする。このステータス情報の受信により遠端において検出される不一致がある場合も、遠端はユーザデータの送信を停止し、代わりに、各レーンのステータス情報を送信する。リンクは、各レーンのステータスがリンクの両端で同じであり、各レーン間の異なるスキューが補償されるようにレーンが位置合わせされたことが確認されるとすぐに、データの送信を再開することができる。
【００９９】
故障又は新しいレーン構成が検出された後すぐに、リンクの遠端のレーンステータスはもう一度、近端のレーンステータスと照合される。双方向レーンの場合、レーンは、遠端がアクティブ状態になったか、又はアクティブ状態から出たかをそれ自体で検出することができる。単方向送信のみのレーンの場合、レーンは、遠端がアクティブ状態になったか、又はアクティブ状態から出たときをリンクにより通知され、したがって、それに従ってそれ自体のステータスを変更することができる。これは、リンクに存在する少なくとも１つの双方向レーンを通して行われる。
【０１００】
位置合わせワードは、異なるレーンスキューの検出及び補償に使用されるとともに、いくつのレーンがアクティブであり、データ送信可能な状態であるかの情報も含む。リンクは、この制御ワードが受信され、その内容が確認される場合、すなわち、送信に使用されるレーンの示された数が、受信に現在使用中のレーンに等しい場合、ユーザデータの送信を再開することができる。この制御ワードは、リンクのいずれかの端部が非準備になる場合、定期的に送信される。これにより、リンクの両端は、１つ又は複数のレーン上に、転送情報の損失に繋がるエラーがある場合であっても動作を再開することができる。
【０１０１】
図７は、単方向受信のみのレーンが、エラー又は節電設定に起因してディセーブルされる場合、マルチレーン通信インタフェースがいかに動作するかの例を示す。この例では、Ｌと記されるリンクの左端において、このレーンは単方向送信のみのレーンであり、したがって、左端は、Ｒと記された右端がディセーブル中であることを検出する手段を持たない。アクティブワードを使用して、本手法は、送信のみのレーンがディセーブルされ、両端が使用中のレーンの数で一致することを保証する。１つ又は複数のレーンに追加のエラー又は構成変更がある場合であっても、レーン順序に関連するデータ完全性は保証される。
【０１０２】
リンクの２つの端部はそれぞれ、本発明の実施形態によるそれ自体のマルチレーン通信インタフェースを有して示されている。時間軸は上から下である。
【０１０３】
「両端準備」状態Ａで開始される左端インタフェースを有する左端Ｌを考えると、
ステップ７０２において：
・アクティブワードが、異なる状態のレーンの１つで受信される。
・Ｔｘのみのレーンに、他端がアクティブ状態ではないことが通知され、したがって、そのレーンもアクティブ状態から出る。
・左端インタフェースは「近端非準備」状態Ｂに移る。
ステップ７０４において：
・位置合わせワードが、近端（左端）における受信に使用されるレーンの数に等しいフィールドの送信に使用されるレーンの数と共に受信される。
・準備状態に移るために左端インタフェースに必要な他の全ての条件が満たされる。
・左端インタフェースは「近端準備」状態Ｃに移る。
ステップ７０６において：
・リンク（右端）の逆側が非準備状態Ｂであることを示すアクティブワードを受信中であるため、左端は、データワードと制御ワードとの間にインタリーブされた位置合わせワードを定期的に送信する。
ステップ７０８において：
・リンクの他端（右端）が近端準備状態Ｃに達したことを示すデータワードを受信し、したがって、この時点で、両端が準備状態である。
・左端インタフェースは「両端リンク準備」状態Ａに移る。
【０１０４】
「両端リンク準備」状態Ａで開始される右端インタフェースを有する右端Ｒを考えると、
ステップ７１０において：
・受信のみのレーンが、多すぎるエラーを検出し、ディセーブルされる。
・それに従ってアクティブ状態のレーン数が変わる。
・右端インタフェースは「近端非準備」状態Ｂに移る。
・続けて受信したデータワードは破棄される。
ステップ７１２において：
・リンクの右端はなお非準備状態であるため、データワードは破棄される。
・リンクの右端は非準備状態であるため、位置合わせワードが、アクティブワード間にインタリーブされて定期的に送信される。
ステップ７１４において：
・エラーが発生し、位置合わせワードは受信されない。
ステップ７１６において：
・リンクはなお非準備状態であるため、データワードは破棄される。
ステップ７１８において：
・位置合わせワードが、近端（右端）において受信に使用されるレーンの数に等しいフィールドの送信に使用されるレーンの数と共に受信される。
・準備状態に移るために右端インタフェースに必要な他の全ての条件が満たされる。
・右端インタフェースは「近端準備」状態Ｃに移る。
ステップ７２０において：
・リンクの他端（左端）が近端準備状態Ｃであることを示すデータワードを受信し、したがって、リンクの両端は、この時点で、準備状態である。
・右端インタフェースは「両端リンク準備」状態Ａに移る。
【０１０５】
本発明の１つ又は複数の実施形態により提供される利点は以下である。
【０１０６】
マルチレーンリンクは、任意の数の単方向レーン（送信又は受信）及び双方向レーンと共に動作することができる。利用可能な総帯域幅は、プロトコルオーバーヘッドを計上せずに、各レーンの個々の帯域幅の和である。
【０１０７】
リンクは、リンクの遠端において使用中の送信レーン及び受信レーンの数及びそれらが単方向であるか、それとも双方向であるかを自動的に検出する。
【０１０８】
リンクのレーンは、ステータスが随時変更可能であるため、固有の「ホットプラグ」機能を有する。
【０１０９】
リンクの各レーンは、他のレーンを考慮せずに独立して構成することができる。
【０１１０】
レーンが故障するか、又はディセーブルされる場合、それは他のレーンの動作に影響しない。
【０１１１】
ポート幅（アプリケーションとのインタフェースのサイズ）は、リンク幅（レーン数）から独立している。
【０１１２】
複数のレーンを介したデータ分配により損なわれる恐れがある順序通りのデータ送出は、１つ若しくは複数のレーンでのエラーに起因して任意の数のワードが失われる場合又はリンクの各端でレーン構成及びステータスに複数の非同期変更がある場合であっても保証される。受信機は、不正確なレーン順序でデータを処理する前に、遠端におけるレーン順序が変わったことを検出する。
【０１１３】
１つのレーンのステータス又は構成に変更がある場合、システムは、時間切れタイマが切れるまで又はレーンの再初期化を待つことなく、残りのレーンを用いてデータ転送を再開することができる。
【０１１４】
革新的なマルチレーン通信インタフェースが、少なくとも幾つかの実施形態では、上述したような本発明の論理の様々なステップを実行するソフトウェアコードを含む論理及び／又は論理回路により実施されることは当業者には明らかである。論理回路は、ＶＨＤＬ（ＶＨＳＩＣハードウェア記述言語）コードが設計されたコンピュータチップを含み得る。さらに、そのようなコンピュータチップの設計に必要なソフトウェアコード又はコードは、当然ながら、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、フラッシュメモリ記憶装置、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、又は読み取り専用メモリ（ＲＯＭ）、及び本願において特に言及されない多くの他のコンピュータ可読媒体等の任意のコンピュータ可読媒体に記憶し、及び／又は読み出すことができる。
【０１１５】
本発明の上記説明から、本発明の範囲から逸脱せずに、本発明の概念を実施するために様々な技法が使用可能であることが明らかである。さらに、本発明は特定の実施形態を特に参照して説明したが、本発明の趣旨及び範囲から逸脱せずに、形態及び詳細が変更可能なことを当業者は理解する。したがって、記載された実施形態は、全ての点に関して、限定ではなく例示として見なされるべきである。本発明が本明細書に記載される特定の実施形態に限定されず、本発明の範囲から逸脱せずに、多くの再構成、変更、及び置換が可能なことも理解されたい。
【図１】
2019507549.tif 000003
【図２】
2019507549.tif 000004
【図３】
2019507549.tif 000005
【図４】
2019507549.tif 000006
【図５】
2019507549.tif 000007
【図６】
2019507549.tif 000008
【図７】
2019507549.tif 000009
【手続補正書】
【提出日】平成30年10月15日(2018.10.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
２つ以上のレーンで構成され、近端及び遠端を有するマルチレーンリンクで使用されるマルチレーン通信インタフェースであって、前記マルチレーン通信インタフェースは、遠端マルチレーン通信インタフェースと協働して近端において動作する場合、
１つ又は複数のレーンを介して前記遠端インタフェースとシンボル同期を確立する論理と、
前記シンボル同期を維持している間、前記遠端インタフェースとデータワードを送受信する論理と、
レーンステータスの変更を検出する論理と、
前記シンボル同期を維持している間、前記レーンステータスの変更を検出した場合、
（ａ）データワードの送信を停止する論理と、
（ｂ）前記近端がデータワードを送信する準備ができたと判断されるまで、データワードの代わりに近端レーンステータス制御ワードを前記遠端に送信し、データワードの送信を再開する論理と、
（ｃ）データワードが前記遠端により受信されるまで、近端レーン位置合わせ信号を前記遠端に送信する論理と
を含み、
前記近端は、
（ｂ１）遠端レーン位置合わせ信号を前記遠端インタフェースから受信することにより、全てのレーンが位置合わせされたと判断する論理、
（ｂ２）前記遠端から受信される遠端レーン位置合わせ信号に含まれるレーン送信ステータスについての情報により示される、前記遠端により送信に使用されるレーン数が、前記近端により受信に現在使用されているレーン数に等しいことを確認する論理、及び
（ｂ３）前記近端にける近端レーンステータスを特定し、前記特定された近端レーンステータスを前記遠端インタフェースから遠端レーンステータス制御ワードにおいて受信した遠端レーンステータスと照合する論理
によりデータワードを送信する準備ができると判断される、マルチレーン通信インタフェース。
【請求項２】
前記遠端インタフェースから送信された遠端レーンステータス制御ワードを受信することにより、前記レーンステータス変更を検出する論理を含む、請求項１に記載のマルチレーン通信インタフェース。
【請求項３】
前記遠端インタフェースから送信された前記遠端レーンステータス制御ワードを受信することにより、前記レーンステータス変更を検出した場合、他のレーンの前記レーンステータスを変更せずに、それに従って近端レーンのアクティブステータスを更新する論理を更に含む、請求項２に記載のマルチレーン通信インタフェース。
【請求項４】
前記遠端においてアクティブではない近端レーンをディセーブルすることにより、前記近端レーンの前記アクティブステータスを更新する論理を含む、請求項３に記載のマルチレーン通信インタフェース。
【請求項５】
前記近端におけるデータエラー又は構成変更を検出することにより、前記レーンステータス変更を検出し、前記レーンステータス変更が検出される場合、他のレーンの前記レーンステータスを変更せずに、それに従って近端レーンの前記アクティブステータスを更新する論理を更に含む、請求項１〜４のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項６】
前記近端がデータワードを送信する準備ができていない間、前記リンクのデータリンクレイヤへの受信データワードの受け渡しを停止する論理を更に含む、請求項１〜５のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項７】
（ｂ１）全てのレーンが位置合わせされたと判断すること及び
（ｂ２）前記遠端が送信に使用するレーン数が、前記近端が受信に現在使用しているレーン数に等しいことを確認すること
は、同時に行われる、請求項１〜６のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項８】
前記近端がデータワードを送信する準備ができたと判断された後、時間期間以内にエラーが検出される場合、前記近端がデータワードを送信する準備ができていないと判断する論理を更に含み、前記時間期間は、任意の処理遅延を含む前記リンクの往復遅延である、請求項１〜７のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項９】
ステップ（ｃ）において、前記遠端に送信される前記近端レーン位置合わせ信号は、前記近端における前記レーン送信ステータスについての情報を含む、請求項１〜８のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項１０】
前記リンクは、前記リンク内の他のレーンから独立して動作し、独立して構成することができる単方向レーン及び双方向レーンの両方を含む任意の数の物理レーンを有する、請求項１〜９のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項１１】
各レーンで、前記遠端インタフェースが送信ドライバ又は受信ドライバをディセーブルした場合、各レーンが単方向になることを検出する論理を更に含み、前記マルチレーン通信インタフェースは、前記リンクの残りの帯域幅を使用して、前記リンクの動的構成変更に適応するように動作可能である、請求項１〜１０のいずれか一項に記載のマルチレーン通信インタフェース。
【請求項１２】
請求項１〜１１のいずれか一項に記載のマルチレーン通信インタフェースを含む通信リンク。
【請求項１３】
２つ以上のレーンで構成され、近端及び遠端を有するマルチレーン通信リンクを介して通信する方法であって、前記リンクの遠端と協働して近端において実行される場合、
１つ又は複数のレーンを介して前記遠端インタフェースとシンボル同期を確立するステップと、
前記シンボル同期を維持している間、前記遠端インタフェースとデータワードを送受信するステップと、
レーンステータスの変更を検出するステップと、
前記シンボル同期を維持している間、および前記レーンステータスの変更を検出した場合、
（ａ）データワードの送信を停止するステップと、
（ｂ）前記近端がデータワードを送信する準備ができたと判断されるまで、データワードの代わりに近端レーンステータス制御ワードを前記遠端に送信し、データワードの送信を再開するステップと、
（ｃ）データワードが前記遠端により受信されるまで、近端レーン位置合わせ信号を前記遠端に送信するステップと
を含み、
前記近端は、
（ｂ１）遠端レーン位置合わせ信号を前記遠端インタフェースから受信することにより、全てのレーンが位置合わせされたと判断し、
（ｂ２）前記遠端から受信される遠端レーン位置合わせ信号に含まれるレーン送信ステータスについての情報により示される、前記遠端により送信に使用されるレーン数が、前記近端により受信に現在使用されているレーン数に等しいことを確認し、
（ｂ３）前記近端にける近端レーンステータスを特定し、前記特定された近端レーンステータスを前記遠端インタフェースから遠端レーンステータス制御ワードにおいて受信した遠端レーンステータスと照合すること
によりデータワードを送信する準備ができると判断される、方法。
【請求項１４】
前記レーンステータス変更を検出するステップは、前記遠端インタフェースから送信された遠端レーンステータス制御ワードを受信することにより、前記レーンステータス変更を検出することを含む、請求項１３に記載の通信方法。
【請求項１５】
前記近端におけるデータエラー又は構成変更を検出することにより、前記レーンステータス変更を検出し、前記レーンステータス変更が検出される場合、他のレーンの前記レーンステータスを変更せずに、それに従って近端レーンの前記アクティブステータスを更新することを更に含む、請求項１３または１４に記載の通信方法。
【請求項１６】
（ｂ１）全てのレーンが位置合わせされたと判断すること及び
（ｂ２）前記遠端が送信に使用するレーン数が、前記近端が受信に現在使用しているレーン数に等しいことを確認すること
は、同時に行われる、請求項１３〜１５のいずれか一項に記載の方法。
【請求項１７】
前記近端がデータワードを送信する準備ができたと判断された後、時間期間以内にエラーが検出される場合、前記近端がデータワードを送信する準備ができていないと判断するステップを更に含み、前記時間期間は、任意の処理遅延を含む前記リンクの往復遅延である、請求項１３〜１６のいずれか一項に記載の通信方法。
【請求項１８】
各レーンで、前記遠端インタフェースが送信ドライバ又は受信ドライバをディセーブルした場合、各レーンが単方向になることを検出することを更に含み、前記方法は、前記リンクの残りの帯域幅を使用して、前記リンクの動的構成変更に適応することを含む、請求項１３〜１７のいずれか一項に記載の通信方法。
【国際調査報告】
2019507549.tif 000010
2019507549.tif 000011