(57)【要約】      （修正有）【課題】近接無線通信を容易にする装置、システム、方法を提供する。【解決手段】第１のデバイス５０５と第２のデバイス５１０との間で近接無線接続が開始される。チャネル構成モジュールは、前記近接無線接続を介して、第１のデバイス５０５の１以上のサポートされているチャネル構成を、第２のデバイス５１０に通知する第１のデータを送信し、前記近接無線接続を介して、第２のデバイス５１０の１以上のサポートされているチャネル構成を、第１のデバイス５０５に通知する第２のデータを受信する。第１のデータ及び第２のデータに基づいて、第１のデバイス５０５の複数のモードの中から、前記近接無線接続を介した第２のデバイス５１０との通信において使用される特定のモードが決定される。【選択図】図５
2016119653.tif 000002
【特許請求の範囲】
【請求項１】
第１のデバイスと第２のデバイスとの間で近接無線接続を開始する近接通信モジュールと、
前記近接無線接続を介して、前記第１のデバイスの１以上のサポートされているチャネル構成を前記第２のデバイスに通知する第１のデータを送信し、
前記近接無線接続を介して、前記第２のデバイスの１以上のサポートされているチャネル構成を前記第１のデバイスに通知する第２のデータを受信する
チャネル構成モジュールと、
前記第１のデータ及び前記第２のデータに基づいて、前記第１のデバイスの複数のモードの中から、前記近接無線接続を介した前記第２のデバイスとの通信において使用される特定のモードを決定するモードセレクタと、
を備えた装置。
【請求項２】
複数の通信プロトコルの中から、前記第２のデバイスとの通信において使用される特定の通信プロトコルを決定するプロトコルセレクタをさらに備えた、
請求項１記載の装置。
【請求項３】
前記プロトコルセレクタは、
前記第２のデバイスから信号を受信し、
前記信号から、前記第２のデバイスが、ネゴシエーションプロトコルが使用されるプロトコルネゴシエーション段階をサポートしているかどうかを判定する、
請求項２記載の装置。
【請求項４】
前記第２のデバイスが前記プロトコルネゴシエーション段階をサポートしているとの判定は、前記第１のデバイス及び前記第２のデバイスに、前記プロトコルネゴシエーション段階に入らせ、前記第１のデバイス及び前記第２のデバイスは、前記通信において使用される前記特定の通信プロトコルを決定するために、前記プロトコルネゴシエーション段階において、前記ネゴシエーションプロトコルに従ってメッセージを通信する、
請求項３記載の装置。
【請求項５】
前記第２のデバイスが前記プロトコルネゴシエーション段階をサポートしていないとの判定は、前記特定のモードに少なくとも部分的に基づいて、前記通信において使用されるプロトコルを決定させる、
請求項３記載の装置。
【請求項６】
前記ネゴシエーションプロトコルは、ユニバーサルシリアルバス（ＵＳＢ）電力供給（ＰＤ）プロトコルに基づくプロトコルを含む、
請求項３記載の装置。
【請求項７】
前記第１のデバイスは、近接無線チャネルを介した通信において、前記複数の通信プロトコルのうちのいずれか１つの使用をサポートしている、
請求項２記載の装置。
【請求項８】
前記複数のモードは、ホストモード、デバイスモード、及びアダプタモードを含む、
請求項１記載の装置。
【請求項９】
前記特定のモードに従って、前記近接無線接続を介して前記第２のデバイスに特定のデータを送信する送信機をさらに備えた、
請求項１記載の装置。
【請求項１０】
前記特定のデータは、前記第２のデータから前記第２のデバイスのために決定されたモードにさらに基づいて送信される、
請求項９記載の装置。
【請求項１１】
前記送信機は、前記特定のデータを送信するために複数の近接無線機を使用し、前記複数の近接無線機は、前記第１のデバイスの物理チャネルのリンク幅に対応する、
請求項９記載の装置。
【請求項１２】
前記第１のデータ及び前記第２のデータは、チャネル構成段階において送信され、前記第１のデバイス及び前記第２のデバイスは、対応するハンドシェークを用いて、前記チャネル構成に入り、前記チャネル構成から出る、
請求項１記載の装置。
【請求項１３】
近接無線接続を介して別のデバイスと通信するための無線送信機及び無線受信機を含む近接通信モジュールと、
前記近接無線接続を介して、特定のデバイスによりサポートされている１以上のインターコネクトプロトコルを前記別のデバイスに通知する第１のデータを送信し、
前記近接無線接続を介して、前記別のデバイスによりサポートされている１以上のインターコネクトプロトコルを前記特定のデバイスに通知する第２のデータを受信し、
複数のインターコネクトプロトコルの中から、前記近接無線接続を介した前記特定のデバイスと前記別のデバイスとの間の通信において使用される、前記特定のデバイス及び前記別のデバイスの両方によりサポートされている少なくとも１つの特定のインターコネクトプロトコルを選択する
プロトコル構成モジュールと、
を備えた装置。
【請求項１４】
前記複数のインターコネクトプロトコルは、ＨＤＭＩ（登録商標）、ＵＳＢ、及びＰＣＩｅを含む、
請求項１３記載の装置。
【請求項１５】
前記第１のデータ及び前記第２のデータはそれぞれ、プロトコルネゴシエーションプロトコルに従って前記近接無線接続を介して伝送される１以上のメッセージを含む、
請求項１３記載の装置。
【請求項１６】
前記プロトコル構成モジュールは、前記プロトコルネゴシエーションプロトコルから受信された信号から、前記別のデバイスが前記プロトコルネゴシエーションプロトコルをサポートしているかどうかを判定する、
請求項１５記載の装置。
【請求項１７】
コンピューティングデバイスに、
第１のデバイスと第２のデバイスとの間で近接無線接続を開始させ、
第１のチャネル構成段階に入らせ、
前記第１のチャネル構成段階において、前記近接無線接続を介して、前記第１のデバイスの１以上のサポートされているモードを前記第２のデバイスに通知する第１のデータを送信させ、
前記第１のチャネル構成段階において、前記近接無線接続を介して、前記第２のデバイスの１以上のサポートされているモードを前記第１のデバイスに通知する第２のデータを受信させ、
複数のプロトコルの中から、前記近接無線接続を介した前記第２のデバイスとの通信において使用される特定のプロトコルを決定させるために、第２のチャネル構成段階に入らせる、
コンピュータプログラム。
【請求項１８】
システムであって、
第１の近接通信モジュールを有する第１のデバイスであって、複数のモードの第１のサブセット及び複数の通信プロトコルの第１のサブセットをサポートしている第１のデバイスと、
第２の近接通信モジュールを有する第２のデバイスであって、複数のモードの第２のサブセット及び複数の通信プロトコルの第２のサブセットをサポートしている第２のデバイスと、
を含み、
前記第１のデバイス及び前記第２のデバイスは、前記第１の近接通信モジュール及び前記第２の近接通信モジュールにより容易にされる近接無線接続を介してネゴシエートして、
前記近接無線接続を介した前記第２のデバイスとの後続の通信において、前記複数のモードの前記第１のサブセットのうちどのモードが前記第１のデバイスにより使用されるかを決定し、
前記後続の通信において、前記複数のモードの前記第２のサブセットのうちどのモードが前記第２のデバイスにより使用されるかを決定し、
前記複数の通信プロトコルの中から、前記後続の通信において使用される特定の通信プロトコルを決定する、
システム。
【請求項１９】
前記第１のデバイス及び前記第２のデバイスの各々は、高速近接無線接続をサポートしており、前記複数の通信プロトコルのうちの少なくとも一部は、高速通信プロトコルを含む、
請求項１８記載のシステム。
【請求項２０】
前記第１のデバイスは、ホストデバイスを含み、前記第２のデバイスは、ホストデバイス、ペリフェラルデバイス、及びアダプタデバイスのうちの１つを含む、
請求項１８記載のシステム。
【請求項２１】
データを通信するための方法であって、
第１のデバイスと第２のデバイスとの間で近接無線接続を開始するステップと、
第１のチャネル構成段階に入るステップと、
前記第１のチャネル構成段階において、前記近接無線接続を介して、前記第１のデバイスの１以上のサポートされているモードを前記第２のデバイスに通知する第１のデータを送信するステップと、
前記第１のチャネル構成段階において、前記近接無線接続を介して、前記第２のデバイスの１以上のサポートされているモードを前記第１のデバイスに通知する第２のデータを受信するステップと、
複数のプロトコルの中から、前記近接無線接続を介した前記第２のデバイスとの通信において使用される特定のプロトコルを決定するために、第２のチャネル構成段階に入るステップと、
を含む方法。
【請求項２２】
第１のデバイスと第２のデバイスとの間で近接無線接続を開始する手段と、
第１のチャネル構成段階に入る手段と、
前記第１のチャネル構成段階において、前記近接無線接続を介して、前記第１のデバイスの１以上のサポートされているモードを前記第２のデバイスに通知する第１のデータを送信する手段と、
前記第１のチャネル構成段階において、前記近接無線接続を介して、前記第２のデバイスの１以上のサポートされているモードを前記第１のデバイスに通知する第２のデータを受信する手段と、
複数のプロトコルの中から、前記近接無線接続を介した前記第２のデバイスとの通信において使用される特定のプロトコルを決定するために、第２のチャネル構成段階に入る手段と、
を含むシステム。
【請求項２３】
請求項１７記載のコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンピュータ通信の分野に関し、より詳細には、近接無線通信に関する。
【背景技術】
【０００２】
コンピューティングデバイスは、より小さなフォームファクタにますますなりつつある。これと相まってバッテリ寿命が延び、無線通信ネットワーキングが、モバイル用に構成されるコンピューティングデバイスの急速な発展を可能にしている。そのようなモバイルコンピューティングデバイスは、より大きくより重くより扱いにくいデスクトップコンピューティングデバイスにますます取って代わるようになってきている。
【０００３】
コンピューティングデバイス間の相互通信を可能にする様々な無線通信ソリューションが存在する。一般的なソリューションは、ＷｉＦｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離無線通信（ＮＦＣ：near  field  communication）技術を含む。ＮＦＣの場合、およそ１０ｃｍの距離を介するデバイス間のデータの交換を可能にする短距離高周波数無線通信技術が提供される。通信プロトコル及びオペレーションは、ＩＳＯ１４４４３近接カード規格（非接触カード、無線周波数ＩＤ（ＲＦＩＤ））の拡張であり、ＥＣＭＡ−３４０及びＩＳＯ／ＩＥＣ１８０９２技術規格において規定されている。いくつかのデバイスにおいてＮＦＣを使用して、スマートカード及びリーダのインタフェースを単一のデバイスに統合する。ＮＦＣデバイスは、既存のＩＳＯ１４４４３スマートカード及びリーダの両方と通信できるだけでなく、他のＮＦＣデバイスとも通信でき、それにより、既存の非接触通信インフラストラクチャと互換性がある。数ある用途の中でもとりわけ、スマートフォン、スマートカード、及び他の電子デバイスを利用する電子決済を容易にするのを支援するために、ＮＦＣが使用されている。
【図面の簡単な説明】
【０００４】
様々な図における同様の参照番号及び記号は、同様の要素を示す。
【図１】一実施形態に従った、コンピュータシステム内のＩ／Ｏデバイスを接続するシリアルポイントツーポイントインターコネクトを含むシステムの簡略化されたブロック図。
【図２】一実施形態に従った階層化プロトコルスタックの簡略化されたブロック図。
【図３】２つのポートを接続するシリアルポイントツーポイントリンクの一実施形態を示す図。
【図４】近接無線通信技術を利用する例示的なコンピューティングデバイスを示す図。
【図５】近接無線通信ソリューションを利用する２つのコンピューティングデバイスの表現を示す図。
【図６】近接無線通信チャネルの構成を示すフローチャート。
【図７】コンピューティングシステムの一実施形態のブロック図。
【図８】システムオンチップを含むコンピューティングシステムの別の実施形態のブロック図。
【発明を実施するための形態】
【０００５】
以下の説明において、本発明の完全な理解を提供するために、具体的なタイプのプロセッサ及びシステム構成、具体的なハードウェア構造、具体的なアーキテクチャ詳細及びマイクロアーキテクチャ詳細、具体的なレジスタ構成、具体的な命令タイプ、具体的なシステムコンポーネント、具体的なプロセッサパイプライン段、具体的なインターコネクトレイヤ、具体的なパケット／トランザクション構成、具体的なトランザクション名、具体的なプロトコル交換、具体的なリンク幅、具体的な実装、並びにオペレーション等の例といった多数の具体的な詳細が記載されている。しかしながら、本開示の主題を実施するために、これらの具体的な詳細は必ずしも使用される必要がないことが当業者には明らかであろう。他の例においては、具体的な代替プロセッサアーキテクチャ、説明するアルゴリズムのための具体的なロジック回路／コード、具体的なファームウェアコード、低レベルインターコネクトオペレーション、具体的なロジック構成、具体的な製造技術及び材料、具体的なコンパイラ実装、コードにおけるアルゴリズムの具体的な表現、具体的な電力ダウン及びゲート化技術／ロジック、並びに、コンピュータシステムの他の具体的なオペレーション詳細等の既知のコンポーネント又は方法は、本開示を不必要に曖昧にするのを避けるために、詳述されていない。
【０００６】
以下の実施形態は、コンピューティングプラットフォーム又はマイクロプロセッサ等の特定の集積回路におけるエネルギ節約、エネルギ効率、処理効率等に関して説明され得るが、他の実施形態は、他のタイプの集積回路及びロジックデバイスに適用可能である。本明細書で説明する実施形態の類似する技術及び教示は、そのような特徴から同様に利益を受けることができる他のタイプの回路又は半導体デバイスに適用可能である。例えば、開示する実施形態は、サーバコンピュータシステム、デスクトップコンピュータシステム、ラップトップ、ウルトラブック（登録商標）に限定されるものではなく、ハンドヘルドデバイス、スマートフォン、タブレット、他の薄型ノートブック、システムオンチップ（ＳＯＣ）デバイス、及び組み込みアプリケーション等の他のデバイスにおいても使用することができる。ハンドヘルドデバイスのいくつかの例は、携帯電話機、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末（ＰＤＡ）、及びハンドヘルドＰＣを含む。ここで、高性能インターコネクトのための類似する技術が、低電力インターコネクトにおいて性能を増大させる（あるいは、電力を節約する）ために適用され得る。組み込みアプリケーションは、一般に、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、システムオンチップ、ネットワークコンピュータ（ＮｅｔＰＣ）、セットトップボックス、ネットワークハブ、ワイドエリアネットワーク（ＷＡＮ）スイッチ、又は以下で教示される機能及びオペレーションを実行できる任意の他のシステムを含む。さらに、本明細書で説明する装置、方法、及びシステムは、物理コンピューティングデバイスに限定されるものではなく、エネルギ節約及びエネルギ効率のためのソフトウェア最適化にも関連し得る。以下の説明において直ちに明らかになるように、本明細書で説明する方法、装置、及びシステムの実施形態は（ハードウェアに関するものでも、ファームウェアに関するものでも、ソフトウェアに関するものでも、又はそれらの組合せに関するものでも）、性能への配慮とのバランスをとった「環境保全技術」の未来に不可欠である。
【０００７】
コンピューティングシステムが発展するにつれて、そのコンポーネントはより複雑化している。最適なコンポーネントオペレーションのための帯域幅要件が満たされることを確実にするために、コンポーネントを接続しコンポーネント間で通信するためのインターコネクトアーキテクチャも複雑さが増している。さらに、異なるマーケットセグメントが、それぞれのマーケットに適する異なる態様のインターコネクトアーキテクチャを要求している。例えば、サーバは、より高い性能を必要とする一方で、モバイルエコシステムは、省電力化のための全体性能、フォームファクタ、及び使い勝手を犠牲にすることが時としてある。多種多様なインターコネクトは、潜在的に、本明細書で説明する主題から利益を受けることができる。
【０００８】
数ある例の中でもとりわけ、ユニバーサルシリアルバス（ＵＳＢ）３．１アーキテクチャ、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）エクスプレス（ＰＣＩｅ）インターコネクトアーキテクチャ、及びクイックパスインターコネクト（ＱＰＩ）ファブリックアーキテクチャは、数ある例の中でもとりわけ、本明細書で説明する１以上の原理に従って、潜在的に改善させることができる。例えば、ＰＣＩｅの主要な目的は、異なるベンダからのデバイス及びコンポーネントを、複数のマーケットセグメント（クライアント（デスクトップ及びモバイル）、サーバ（スタンダード及びエンタープライズ）、及び組み込み通信デバイス）に及ぶオープンアーキテクチャにおいて一緒に使用できるようにすることである。ＰＣＩエクスプレスは、多様な将来のコンピューティング通信プラットフォームのために定められた高性能汎用Ｉ／Ｏインターコネクトである。使用モデル、ロード−ストアアーキテクチャ、及びソフトウェアインタフェース等のいくつかのＰＣＩ属性は、改訂を通じて維持されている一方で、以前のパラレルバス実装は、拡張性の高い完全にシリアルなインタフェースに取って代わられている。ＰＣＩエクスプレスのより最近のバージョンは、ポイントツーポイントインターコネクト、スイッチベース技術、及びパケット化プロトコルにおける進歩を利用して、新たなレベルの性能及び機能を提供している。電力管理、サービス品質（ＱｏＳ）、ホットプラグ／ホットスワップサポート、データインテグリティ、及びエラーハンドリングは、ＰＣＩエクスプレスによりサポートされる先進的な機能の一部である。別の例として、ＵＳＢ３．ｘは、ホストとデバイスとを接続するインターコネクトのアドレスを指定して、例えば、電話機／ファックス／モデムアダプタ、留守番電話機、スキャナ、ＰＤＡ、キーボード、マウス等といった様々な周辺デバイスを介してホストの機能を拡張する。例えば、ＵＳＢは、外付け周辺デバイスをパーソナルコンピュータ（ＰＣ）に接続するためのユーザフレンドリなプラグアンドプレイ方式を提供することができる。ＵＳＢを使用して、カメラと直接インタフェースをとるインタフェースにプリンタを接続することや、キーボード、マウス、及び外付けディスプレイにモバイルデバイスを接続すること等、他のデバイス間の接続を容易にすることができる。実際、ＵＳＢポートは、自動車、テレビジョン、及びセットトップボックスを含むより多くの他の機器にますます組み込みこまれるようになってきている。さらに、ＵＳＢの電力供給機能は、ＵＳＢポートが、数あるソリューションの中でもとりわけ、モバイルデバイス充電ソリューションとしても機能することを可能にしている。本明細書における主要な説明は、時おり特定のアーキテクチャ又はプロトコルを参照することがあるが、本明細書で説明するコンセプトの態様は、ＰＣＩｅ準拠アーキテクチャ、ＵＳＢ準拠アーキテクチャ、ＱＰＩ準拠アーキテクチャ、ＭＩＰＩ準拠アーキテクチャ、又は他の既知のインターコネクトアーキテクチャ等の他のインターコネクトアーキテクチャに適用可能であることを理解すべきである。
【０００９】
図１を参照すると、コンポーネントのセットを相互接続するポイントツーポイントリンクを含むファブリックの一実施形態が示されている。システム１００は、プロセッサ１０５と、コントローラハブ１１５に接続されたシステムメモリ１１０と、を含む。プロセッサ１０５は、マイクロプロセッサ、ホストプロセッサ、組み込みプロセッサ、コプロセッサ、又は他のプロセッサ等の任意の処理要素を含み得る。プロセッサ１０５は、フロントサイドバス（ＦＳＢ）１０６を介してコントローラハブ１１５に接続される。一実施形態において、ＦＳＢ１０６は、以下で説明するシリアルポイントツーポイントインターコネクトである。別の実施形態では、リンク１０６は、異なるインターコネクト規格に準拠するシリアルな差動インターコネクトアーキテクチャを含む。
【００１０】
システムメモリ１１０は、ランダムアクセスメモリ（ＲＡＭ）、不揮発性（ＮＶ）メモリ、又はシステム１００内のデバイスによりアクセス可能な他のメモリ等の任意のメモリデバイスを含む。システムメモリ１１０は、メモリインタフェース１１６を介してコントローラハブ１１５に接続される。メモリインタフェースの例は、ダブルデータレート（ＤＤＲ）メモリインタフェース、デュアルチャネルＤＤＲメモリインタフェース、及びダイナミックＲＡＭ（ＤＲＡＭ）メモリインタフェースを含む。
【００１１】
一実施形態において、コントローラハブ１１５は、例えばインターコネクション階層におけるルートハブ、ルートコンプレックス、又はルートコントローラを含み得る。コントローラハブ１１５の例は、チップセット、メモリコントローラハブ（ＭＣＨ）、ノースブリッジ、インターコネクトコントローラハブ（ＩＣＨ）、サウスブリッジ、及びルートコントローラ／ハブを含む。しばしば、用語チップセットとは、２つの物理的に別個のコントローラハブ、例えば、インターコネクトコントローラハブ（ＩＣＨ）に接続されたメモリコントローラハブ（ＭＣＨ）を指す。現在のシステムは、プロセッサ１０５と統合されたＭＣＨをしばしば含む一方で、コントローラハブ１１５は、以下で説明するのと同様の態様で、Ｉ／Ｏデバイスと通信する。いくつかの実施形態において、ピアツーピアルーティングが、ルートコンプレックス１１５を介して任意的にサポートされる。
【００１２】
ここで、コントローラハブ１１５は、シリアルリンク１１９を介してスイッチ／ブリッジ１２０に接続される。入力／出力モジュール１１７及び１２１（インタフェース／ポート１１７及び１２１とも呼ばれ得る）は、コントローラハブ１１５とスイッチ１２０との間の通信を提供するための階層化プロトコルスタックを含み得る／実装し得る。一実施形態において、複数のデバイスが、スイッチ１２０に接続可能である。
【００１３】
スイッチ／ブリッジ１２０は、デバイス１２５からコントローラハブ１１５に向けてアップストリームに、すなわち、ルートコンプレックスに向けて階層を上方に、且つ、プロセッサ１０５又はシステムメモリ１１０からデバイス１２５に向けてダウンストリームに、すなわち、ルートコントローラから階層を下方に、パケット／メッセージをルーティングすることができる。一実施形態において、スイッチ１２０は、複数の仮想ＰＣＩツーＰＣＩブリッジデバイスの論理アセンブリと呼ばれる。デバイス１２５は、Ｉ／Ｏデバイス、ネットワークインタフェースコントローラ（ＮＩＣ）、アドインカード、オーディオプロセッサ、ネットワークプロセッサ、ハードドライブ、記憶デバイス、ＣＤ／ＤＶＤ  ＲＯＭ、モニタ、プリンタ、マウス、キーボード、ルータ、ポータブル記憶デバイス、Ｆｉｒｅｗｉｒｅ（登録商標）デバイス、ユニバーサルシリアルバス（ＵＳＢ）デバイス、スキャナ、及び他の入力／出力デバイス等の、電子システムに接続される任意の内蔵デバイス、外付けデバイス、内蔵コンポーネント、又は外付けコンポーネントを含む。デバイスは、近接無線接続を開始して近接無線接続を用いて他のデバイスと通信する機能を含み得る。いくつかの文脈において、デバイスは、エンドポイントと呼ばれることもある。具体的に図示されてはいないが、デバイス１２５は、レガシデバイス又は他のバージョンのデバイスをサポートするための、あるいは、そのようなデバイスによりサポートされるファブリックを相互接続するためのブリッジ（例えば、ＰＣＩｅからＰＣＩ／ＰＣＩ−Ｘへのブリッジ）を含んでもよい。
【００１４】
グラフィックスアクセラレータ１３０がまた、シリアルリンク１３２を介してコントローラハブ１１５に接続され得る。一実施形態において、グラフィックスアクセラレータ１３０はＭＣＨに接続され、ＭＣＨはＩＣＨに接続される。スイッチ１２０及びＩ／Ｏデバイス１２５は、その後にＩＣＨに接続される。Ｉ／Ｏモジュール１３１及び１１８はまた、グラフィックスアクセラレータ１３０とコントローラハブ１１５との間で通信するための階層化プロトコルスタックを実装する。上述したＭＣＨと同様に、グラフィックスコントローラ又はグラフィックスアクセラレータ１３０自体は、プロセッサ１０５に統合されてもよい。
【００１５】
図２に移ると、階層化プロトコルスタックの一実施形態が示されている。階層化プロトコルスタック２００は、ＱＰＩスタック、ＰＣＩｅスタック、ＵＳＢスタック、次世代高性能コンピューティングインターコネクト（ＨＰＩ）スタック、又は他の階層化スタック等の任意の形態の階層化通信スタックを含み得る。一実施形態において、プロトコルスタック２００は、トランザクションレイヤ２０５、リンクレイヤ２１０、及び物理レイヤ２２０を含み得る。図１におけるインタフェース１１７、１１８、１２１、１２２、１２６、及び１３１等の１以上のインタフェースが、通信プロトコルスタック２００として表現され得る。通信プロトコルスタックとしての表現は、プロトコルスタックを実装する／含むインタフェース又はモジュールとも呼ばれ得る。
【００１６】
パケットを使用して、コンポーネント間で情報を通信することができる。トランザクションレイヤ２０５及び／又はデータリンクレイヤ２１０においてパケットを形成して、送信コンポーネントから受信コンポーネントへ情報を搬送することができる。送信パケットは、他のレイヤを介してフローするので、送信パケットは、他のレイヤにおいてパケットを処理するために使用された追加の情報を用いて拡張される。受信側では逆のプロセスが生じ、パケットは、物理レイヤ２２０の表現からデータリンクレイヤ２１０の表現に変換され、最終的に、受信デバイスのトランザクションレイヤ２０５が処理できる（トランザクションレイヤパケットの）形に変換される。
【００１７】
一実施形態において、トランザクションレイヤ２０５は、デバイスの処理コアと、データリンクレイヤ２１０及び物理レイヤ２２０等のインターコネクトアーキテクチャと、の間のインタフェースを提供することができる。この点に関して、トランザクションレイヤ２０５の主要な役割は、パケット（すなわち、トランザクションレイヤパケットつまりＴＬＰ）の組み立て（assembly）及び分解（disassembly）を含み得る。トランザクションレイヤ２０５はまた、ＴＬＰのためのクレジットベースフロー制御を管理することができる。いくつかの実装において、スプリットトランザクション、すなわち、時間分離されたリクエスト及びレスポンスを含むトランザクションを利用して、数ある例の中でもとりわけ、ターゲットデバイスがレスポンスのためのデータを収集しながら、リンクが他のトラフィックを搬送するのを可能にする。
【００１８】
いくつかのプロトコルではクレジットベースフロー制御を使用して、インターコネクトファブリックを利用する仮想チャネル及びネットワークを実現することができる。一例において、デバイスは、トランザクションレイヤ２０５における各受信バッファの初期クレジット量を通知することができる。図１におけるコントローラハブ１１５等の、リンクの反対の端にある外部デバイスは、各ＴＬＰにより消費されるクレジットの数をカウントすることができる。トランザクションがクレジット制限を超えない場合、このトランザクションが送信され得る。レスポンスを受信すると、クレジット量が復元される。そのようなクレジットスキームの利点の一例は、数ある潜在的利点の中でもとりわけ、クレジット制限に直面しない場合、クレジットリターンの遅延が性能に影響を及ぼさないことである。
【００１９】
一実施形態において、４つのトランザクションアドレス空間は、構成アドレス空間、メモリアドレス空間、入力／出力アドレス空間、及びメッセージアドレス空間を含み得る。メモリ空間トランザクションは、メモリマッピングされた位置との間でデータを転送するためのリードリクエスト及びライトリクエストのうちの１以上を含む。一実施形態において、メモリ空間トランザクションは、３２ビットアドレス等のショートアドレスフォーマット又は６４ビットアドレス等のロングアドレスフォーマットといった２つの異なるアドレスフォーマットを使用することができる。構成空間トランザクションを使用して、インターコネクトに接続された様々なデバイスの構成空間にアクセスすることができる。構成空間に対するトランザクションは、リードリクエスト及びライトリクエストを含み得る。メッセージ空間トランザクション（又は、単にメッセージ）は、インターコネクトエージェント間のインバンド通信をサポートするために規定され得る。したがって、例示的な一実施形態において、トランザクションレイヤ２０５は、パケットヘッダ／ペイロード２０６を組み立てることができる。
【００２０】
リンクレイヤ２１０（データリンクレイヤ２１０とも呼ばれる）は、トランザクションレイヤ２０５（又はプロトコルレイヤ）と物理レイヤ２２０との間の中間段として動作することができる。一実施形態において、データリンクレイヤ２１０の役割は、リンク上の２つのコンポーネント間でトランザクションレイヤパケット（ＴＬＰ）を交換するための信頼できる機構を提供することである。データリンクレイヤ２１０の一方の側は、トランザクションレイヤ２０５により組み立てられたＴＬＰを受け入れ、パケットシーケンス識別子２１１、すなわち、識別番号又はパケット番号を付与し、誤り検出コードすなわちＣＲＣ２１２を計算及び付与し、物理レイヤを介した外部デバイスへの伝送のために、変更されたＴＬＰを物理レイヤ２２０に送信する。
【００２１】
一例において、物理レイヤ２２０は、パケットを外部デバイスに物理的に送信するための論理サブブロック２２１及び電気サブブロック２２２を含む。ここで、論理サブブロック２２１は、物理レイヤ２２０の「デジタル」機能の役割を果たす。この点に関して、論理サブブロック２２１は、物理サブブロック２２２により送信される出力情報を準備するための送信セクションと、リンクレイヤ２１０に渡す前に受信した情報を特定及び準備するための受信セクションと、を含む。
【００２２】
物理ブロック２２２は、送信機及び受信機を含む。送信機には、論理サブブロック２２１によりシンボルが供給され、送信機は、シンボルをシリアル化して外部デバイスに送信する。受信機には、外部デバイスからシリアル化されたシンボルが供給され、受信機は、受信信号をビットストリームに変換する。ビットストリームは、シリアル化解除され、論理サブブロック２２１に供給される。例示的な一実施形態において、１０ビットシンボルが送受信される場合、８ｂ／１０ｂ伝送コードが使用される。ここで、フレーム２２３を含むパケットをフレーム化するために、特別なシンボルが使用される。加えて、一例において、受信機はまた、入力されたシリアルストリームから復元されたシンボルクロックを提供する。
【００２３】
上述したように、トランザクションレイヤ２０５、リンクレイヤ２１０、及び物理レイヤ２２０が、プロトコルスタックの特定の実施形態（ＰＣＩｅプロトコルスタック等）を参照して説明されたが、階層化プロトコルスタックは、これに限定されるものではない。実際、任意の階層化プロトコルが、含まれてもよく／実装されてもよく、本明細書で説明した特徴に加えて、他の追加的特徴又は代替的特徴を採用してもよい。一例として、階層化プロトコルとして表されるポート／インタフェースは、（１）パケットを組み立てるための第１のレイヤ、すなわち、トランザクションレイヤ、（２）パケットをシーケンス化するための第２のレイヤ、すなわち、リンクレイヤ、及び（３）パケットを送信するための第３のレイヤ、すなわち、物理レイヤを含み得る。具体例として、本明細書で説明する高性能インターコネクト階層化プロトコルが利用される。
【００２４】
次に図３を参照すると、シリアルポイントツーポイントファブリックの例示的な一実施形態が示されている。シリアルポイントツーポイントリンク３０５は、シリアルデータを伝送するための任意の伝送パスを含み得る。したがって、デバイスは、データを別のデバイスに送信するための送信ロジックと、データを別のデバイスから受信するための受信ロジックと、を有することができる。すなわち、２つの伝送パス（例えば、１つはアップストリーム用であり、もう１つはダウンストリーム用である）が、リンク３０５のいくつかの実装に含まれ得る。
【００２５】
伝送パスとは、伝送回線、銅回線、光回線、無線通信チャネル、赤外線通信リンク、又は他の通信パス等の、データを伝送するための任意のパスを指す。リンクは、１つのレーンをサポートすることができる（各レーンは、差動信号ペアのセット（送信用の１つのペアと受信用の１つのペア）を表す）。帯域幅をスケーリングするために、リンクは、（例えばｍ及びｎにより示される）複数のレーンを集約することができる。ここで、レーンの数は、１、２、４、８、１２、１６、３２、６４個のレーン又はさらに広いレーン等、リンク３０５のサポートされる可能なリンク幅を表す。
【００２６】
図３の特定の例において、デバイスは、ポート３１０を有し、ポート３１０を利用して、リンク３０５を容易にすることができる。ポート３１０は、リンク３０５を介して、別のエンドポイントデバイスのポート３１５とデータを通信することができる。一実施形態において、ポート３１０は、送信ポート３２０及び受信ポート３２５を含み得る。さらに、送信ポート３２０をダウンストリームサブリンク３３０において利用して、対応するレーン（例えばレーン０〜ｍ）を介して、データを他のデバイスに送信することができる。同様に、受信ポート３２５は、他のデバイスから、アップストリームサブリンク３３５（レーン０〜ｎを含む）を介して、データを受信することができる。
【００２７】
いくつかのリンクは、差動ペアを利用して、差動信号を伝送するための２つの伝送パスを実現することができる。一例として、第１の回線が、低電圧レベルから高電圧レベルに切り替わるとき、すなわち、立ち上がりエッジのとき、他の回線は、高論理レベルから低論理レベルに遷移し得る、すなわち、立ち下がりエッジになり得る。差動信号は、数ある例示的な利点の中でもとりわけ、潜在的に、より良好な信号インテグリティすなわちクロスカップリング（cross-coupling）、電圧オーバーシュート／アンダーシュート、リンギング（ringing）等のより良好な電気特性を示し得る。これは、数ある潜在的利点の中でもとりわけ、より良好なタイミングウィンドウ（timing  window）を可能にし、これは、より高速な伝送周波数を可能にする。
【００２８】
一実施形態において、例えば、リンクの特性を適応させて構成するための定められたスーパーシーケンス（supersequence）との関連で、トレーニングシーケンス、オーダードセット（ordered  set）、及び制御シーケンスのうちの１以上の送信を含むリンクトレーニングが提供され得る。適応の場合、レーンの電気特性が、例えば、送信機と受信機との間で伝送されるサンプルデータに基づいて、送信機と受信機との間で調整され得る。例えば、受信機適応（receiver  adaptation）は、受信機においてリンクのレーンを適応させるために、送信機が、ロジックを含むデータパターンを受信機に送信することと、受信機が、電気特性を調整することと、を含み得る。送信機適応（transmitter  adaptation）は、送信機においてレーンを適応させるために、送信機が、サンプルデータを受信機に送信することと、受信機が、調整を行うために送信機により使用され得るフィードバックを送信機に送信することと、を含み得る。受信機は、送信機において行われた調整に基づいて、フィードバックを送信し続けることができる。同じスーパーシーケンスを受信する送信デバイス及び受信デバイスの両方により、各デバイスは、スーパーシーケンスを利用して、さらなる初期化タスクをさらに行うことができる。例えば、各デバイスは、スーパーシーケンスを利用して、デバウンス、ビットロック、バイトロック、デスクランブル、及びデスキューを行うことができる。さらなる初期化情報は、スーパーシーケンスに含まれるＴＳのヘッダ及びペイロードを通じて通信され得る。
【００２９】
いくつかの例において、スーパーシーケンスの一部は、（数ある例の中でもとりわけ、例えば、シーケンスビットを擬似ランダムビットシーケンス（ＰＲＢＳ）とＸＯＲ演算することにより）スクランブルされ得る。一実施形態において、オーダードセット及び制御シーケンスは、スクランブル又はスタガーされず、全てのレーン上で、同一且つ同時に全て伝送される。オーダードセットの有効な受信（valid  reception）は、オーダードセットの少なくとも一部（又は、複数の部分的オーダードセットのあるオーダードセットの全体）のチェックを含み得る。オーダードセットは、電気的アイドルオーダードセット（ＥＩＯＳ：electrical  idle  ordered  set）又はＥＩＥＯＳ等の電気的オーダードセット（ＥＯＳ：electrically  ordered  set、electrical  ordered  set）を含み得る。一実施形態において、スーパーシーケンスは、トレーニングシーケンスストリーム内のＥＩＥＯＳ等のＥＯＳの挿入を含み得、スーパーシーケンス（及び電気的オーダードセット）は、短間隔（例えば、およそ千単位（one-thousand  unit）間隔（又は、〜１ＫＵＩ））で繰り返され得る。トレーニングスーパーシーケンスは、デスキュー、構成、初期化ターゲットの通信、レーンマップ等のうちの１以上のために使用され得る。ＥＩＥＯＳは、数ある例の中でもとりわけ、非アクティブ状態からアクティブ状態にレーンを遷移させること、良好なレーンをスクリーニングすること、シンボル及びＴＳ境界を特定することのうちの１以上のために使用され得る。シーケンスのスクランブルされた部分は、例えば、数ある例示的なタスクの中でもとりわけ、適応、デスキュー等の他の構成タスクを円滑にするために使用され得る。
【００３０】
いくつかの実装において、遅延修正（latency  fixing）も提供され得る。遅延は、伝送媒体によりもたらされる遅延だけでなく、リンクの他の側にあるエージェントによる処理から生じる遅延も含み得る。レーンの遅延は、リンクの初期化中に判別され得る。さらに、遅延の変化も判別され得る。判別された遅延から、遅延修正を開始して、そのような変化を補償し、レーンの予想された遅延を一定の予想値に戻すことができる。レーン上の一貫した遅延を維持することは、数あるファクタの中でもとりわけ、いくつかのシステムにおいてデターミニズム（determinism）を維持することにとって重要である。
【００３１】
近接技術を用いることにより、デバイス間の通信を容易にすることができる。近接通信は、デバイス間の無線ネットワーク接続を容易にするために、それらのデバイスを（例えば、ミリセンチメートル又はインチのオーダーで）近付けることを必要とし得る。いくつかの場合において、無線接続を容易にするために、デバイスは、互いと接触される（あるいは、ほぼ接触される）必要がある。近接ネットワーク技術は、従来の近距離無線通信（ＮＦＣ）に加えて、高帯域幅近接接続を可能にする高周波数技術等の例も含み得る。例えば、いくつかの例において、近距離無線通信リンクとは、数ある例の中でもとりわけ、送信アンテナと受信アンテナとの間の距離が、大まかに、２Ｄ２／ｌａｍｂｄａ（Ｄは放射源の最大寸法であり、ｌａｍｂｄａは波長である）未満である、送信アンテナと受信アンテナとの間の無線リンクを指すことがある。一実装において、ミリメートル波（ＥＨＦ）信号をキャリアとして利用し、適切な変調方法を用いて、高帯域幅を維持しながら、近距離無線接続又は他の近接無線接続を介してデータを送信することができる。例えば、新たな近接技術は、１００Ｍｂｐｓ以下の低速技術（例えば、Ｉ２Ｃ、Ｉ２Ｓ、ＧＰＩＯ）からマルチＧｂｐｓ高速プロトコル（例えば、ＵＳＢ３、ＰＣＩｅ）に至る範囲の通信プロトコルのための媒体としての役割を果たすことができる。
【００３２】
デバイスは、物理コネクタを用いることなくデバイス間通信を容易にするために、近接技術を組み込むことができる。この特徴により、物理的開口のフォームファクタを有さない（あるいは、少しの物理的開口しか有さない）デバイスを開発することが可能になり、これにより、なめらかで防水性の高い、あるいは、他の例示的な利点を有することができる、より魅力的な工業デザインが可能になる。高速近接技術は、そのような接続の使用を拡大させることができる。なぜならば、高速近接技術は、数ある例の中でもとりわけ、ＰＣＩｅ、ＱＰＩ、高精細度マルチメディアインタフェース（ＨＤＭＩ（登録商標））、Ｔｈｕｎｄｅｒｂｏｌｔ等の人気の高い高速プロトコルをサポートする可能性を有しているからである。既存の近接技術は、その能力において、スケーリング及び相互運用に制限されている。例えば、既存の近接技術は、数ある例示的な欠点の中でもとりわけ、各リンクパートナによりサポートされている異なるプロトコル及び機能を発見するためのスケーラブルなフレームワークを有していない。一例として、既存の近接ソリューションは、機能及びユースケースの限定されたサブセットに対するサポートをハードコードする傾向にある。例えば、近接通信サポートは、特定のモードをサポートしてリンクパートナの特定のクラス（例えば、デバイスの対応するドック）と通信するためだけにハードコードされ得る。
【００３３】
上記の例示的な欠点のうちの少なくともいくつかに対処するための機能を含むソリューションが提供され得る。例えば、近接無線接続を容易にすることができるシステムが提供され得る。このシステムは、２つのデバイスが、構成及びモードを通信して、複数の利用可能なプロトコルの中から、近接無線接続を介した通信において使用される特定のプロトコルを決定することを可能にする。いくつかの例において、既存のプロトコルの一部（及びプロトコルを実装するために使用されるハードウェア）を利用して、近接無線通信を介したデバイス間の通信のためのコントラクト（contract）のネゴシエーションを容易にするのを支援することができる。そのようなプロトコルは、数ある例の中でもとりわけ、ＵＳＢ  Ｔｙｐｅ−Ｃ等のユニバーサルＩ／Ｏソリューションを確立することを目的とするプロトコルを含み得る。
【００３４】
図４に移ると、スマートフォン又は他のモバイルコンピューティングデバイス等の例示的なエンドポイントコンピューティングデバイス４０５を示す簡略化されたブロック図４００が示されている。コンピューティングデバイス４０５は、近接通信モジュールを有する。近接通信モジュールは、複数の異なるコンピューティングデバイス（例えば、４１０、４１５、４２０、４２５、４３０、４３５）との通信において使用される複数の異なるモード及びプロトコルのネゴシエーション及び構成を容易にすることができる。例えば、数ある例の中でもとりわけ、プリンタ４１０、外部メモリデバイス４１５、及びディスプレイデバイス４２０等の多種多様な従来のパーソナルコンピューティングペリフェラルのうちの１つとの近接無線接続が確立され得る。他のデバイス（例えば、４１０、４１５、４２０、４２５、４３０、４３５）とのデバイス４０５の接続のうちのいくつかにおいては、異なるプロトコルが利用され得る。デバイス４０５は、デバイス４０５の近接通信モジュールを利用して、数ある例の中でもとりわけ、自動車（例えば、４２５）のオンボードコンピューティングシステム、家庭用スマートアプライアンス、産業用スマートアプライアンス、ホームオートメーションシステム等の従来型でないコンピューティングデバイスにさらに接続することができる。さらに、デバイス４０５は、他のスマートフォン、タブレット、ラップトップ、デスクトップ、セットトップボックス、ゲームシステム、及び同様のもの等の他のパーソナルコンピューティングデバイス及びホスト（例えば、４３０、４３５）と通信することができる。他のデバイス（例えば、４１０、４１５、４２０、４２５、４３０、４３５）は、それぞれの近接通信モジュールを用いて、コンピューティングデバイス４０５と通信する。実際、これらの他のコンピューティングデバイスのうちの１以上（例えば、４３０）は、他のデバイス（例えば、４１０、４１５、４２０、４２５、４３５）とペアリングして、それぞれの近接無線通信チャネルを介して他のデバイス（例えば、４１０、４１５、４２０、４２５、４３５）と通信することができる。
【００３５】
一実装において、２つのデバイス（例えば、４０５と、４１０、４１５、４２０、４２５、４３０、４３５のうちのいずれか１つ）の間の通信セッションにおけるモード及び役割（role）のネゴシエーションを容易にするためのプロトコルが提供され得る。いくつかの例において、デバイス４０５は、ホストとして動作できるのに対し、デバイス４０５が接続する他のデバイス（例えば、プリンタ４１０）は、アクセサリ又はハブ（例えば、ＵＳＢ「デバイス」）の役割を担う。他の例では、近接無線チャネルを介して通信するデバイスは両方とも、数ある例の中でもとりわけ、ホスト役割を担うことができる。
【００３６】
さらに他の例では、デバイスは、アダプタデバイスを用いる別のデバイスと通信することができる。アダプタデバイスは、デバイス４０５と通信するための近接通信モジュールと、別のデバイスのレガシポートに接続するための有線コネクタと、を含み得る。それにより、デバイス４０５は、デバイス４０５の近接通信モジュールを利用して、アダプタデバイスを用いる別のデバイスに接続することができる。アダプタデバイスは、数ある例の中でもとりわけ、別のデバイスとデバイス４０５との間の無線接続ポイントとして機能する。
【００３７】
図５に移ると、第１のリンクパートナ５０５（例えば、コンピューティングデバイス４０５）及び他のリンクパートナ５１０（例えば、デバイス４１０、４１５、４２０、４２５、４３０、４３５のうちの１つ）の例示的な実装を示すブロック図５００が示されている。リンクパートナ５０５は、システムオンチップ（ＳｏＣ）５１５及び近接通信モジュール５２０を有し、ＳｏＣ５１５及び近接通信モジュール５２０を統合することができる。近接通信モジュール５２０は、近接無線チャネルを介して無線信号を送受信するための近接無線機及びアンテナを含み得る。ＳｏＣ５１５は、伝送媒体として近接無線チャネルを使用する第１のリンクパートナ５０５の様々な低速Ｉ／Ｏコンポーネント及び高速Ｉ／Ｏコンポーネントをサポートするコンポーネントを集積することができる。ＳｏＣは、数ある例の中でもとりわけ、モノシリックシングルチップＳｏＣ又は複数のチップとして実装することができる。
【００３８】
他のリンクパートナ（例えば、５１０）との近接無線通信の確立を容易にするロジックが、リンクパートナ５０５のコンポーネントのうちの１以上及び／又は近接無線通信モジュール５２０に含まれ得る。他のリンクパートナ５１０も同様に、近接通信モジュール５２５及び対応するロジックを有することができる。そのようなロジックは、アソシエーション時におけるリンクパートナの機能の動的発見をサポートし、近接無線接続を介して使用される対応するプロトコルをネゴシエートするために、ハードウェア及び／又はソフトウェアにより実装され得る。リンクパートナの機能を動的に発見することにより、接続ロジックは、リンクパートナの適切なホスト／デバイス役割を適切に担い、リンクパートナと通信する際に使用するために、１つ（又は複数）の代替プロトコルを採用するかどうかを判定し、それにより、適切な通信を確立することができる。さらに、このロジックは、１つの通信プロトコルユースケースのために近接通信をハードコードする必要性をなくし、且つ、多様な使用にわたる相互運用性を著しく向上させることができる近接通信フレームワークをサポートすることができる。
【００３９】
近接通信モジュール（例えば、５２０、５２５）は、近接無線リンクのための媒体を実装することができ、近接無線リンクを介した高速データ伝送及び低速データ伝送の両方のための機能を含み得る。近接無線機は、ＳｏＣ５１５を用いて、（例えば低速ポート５３０からの）低速信号を、近接無線リンクを介する無線信号に変換することができ、同様に、ＳｏＣ５１５を用いて、到来する低周波無線信号を、集積されたＳｏＣ（及び他のコンポーネント）により用いられる信号に変換することができる。近接無線機は、同様に、無線送信のための高速送信ポート（例えば、５３５）からの信号を変換することができ、高速受信ポート５４０用の高速無線信号を受信することができる。
【００４０】
一例において、近接通信モジュール５２０は、特にポート５３０、５３５、５４０のために提供され得る。さらに、近接通信モジュール５２０は、近接通信リンクの多数の高速レーン５４５を用いて送受信されるデータをサポートする近接通信リンクの開始及び構成を実行するよう構成され得る。近接無線リンクが確立されると、さらなる近接無線機（すなわち、無線機及びアンテナ）（例えば、５５０、５５５）が呼び出され、さらなる近接無線機を利用して、近接無線リンクを介してデータを通信することができる。それに対応して、リンクパートナ５１０も同様に、相手のリンクパートナのさらなる無線機（例えば、５５０、５５５）と通信するための複数の近接無線機（例えば、５６０、５６５）を有することができる。
【００４１】
図６に移ると、近接無線通信リンクの確立及び使用における例示的な技法を表すフローチャート６００が示されている。例えば、開始ステップ６０５は、近接無線リンクのネゴシエーションを開始することができる。いくつかの実装において、開始ステップ６０５は、デバイスが、ビーコンプロトコル（beaconing  protocol）を用いてリンクパートナの存在を識別することを含み得る。ビーコンプロトコルは、リンクデバイスが、近接プロトコルをサポートしている別のデバイス（すなわち、潜在的リンクパートナ）に近接していることを検出する際に使用されるよう構成され得る。実際には、ビーコンプロトコルは、近接伝送に専用であってもよい。いくつかの例において、リンクパートナをデバイスの数センチメートル以内に移動させることにより、そのリンクパートナを、そのデバイスと近接状態にさせることができる。他の例では、数ある例の中でもとりわけ、デバイスが、リンクパートナと少なくとも一部が物理的に接触されるまで、適切な近接状態が検出されない。
【００４２】
両リンクパートナデバイスが、１以上の開始ステップ６０５を通じて、他方の存在及び互換性を検出した後、それらのデバイスは、チャネル構成エントリハンドシェーク６１０を実行することができる。チャネル構成エントリハンドシェーク６１０は、チャネル構成モードへのエントリを示すために実行され得る。一例において、ハンドシェーク６１０は、近接リンクを介する予め定められた低速データシーケンス（例えば、「０１０１」）の送信を含み得る。開始ステップ６０５の後、（例えば、６２０に）進む前に、リンクパートナは、このデータシーケンスを送信することができ、各デバイスは、相手のリンクパートナからのこのデータシーケンスの受信をモニタリングする（例えば、６１５）。いくつかの実装において、このデータシーケンスは、デバイスの無線機とＳｏＣとの間の低速Ｉ／Ｏインタフェース（例えば、汎用入力／出力（ＧＰＩＯ）インタフェース）を介して、送受信され得る。さらに、いくつかの実装では、チャネル構成モード又はチャネル構成状態への両リンクパートナのエントリ（例えば、６２０）を調整することに加えて、両リンクパートナ間で、ある程度のチャネル調整（channel  conditioning）及びリンク適応を促進しネゴシエートすることを可能にするために、より複雑なデータシーケンスが伝送され得る。例えば、このデータシーケンスは、電気的オーダードセット、一連のトレーニングシーケンスに類似するクオリティ（quality）を含んでもよいし、そのようなクオリティから構成されてもよいし、あるいは、数ある例の中でもとりわけ、同期化又はデスキュー等の、リンクパートナの様々な適応タスクの実行を可能にするためのクオリティを含む別のデータシーケンスを含んでもよいし、そのようなデータシーケンスから構成されてもよい。
【００４３】
チャネル構成状態にある間、各リンクパートナは、それぞれのチャネル構成プリファレンス又はチャネル構成モードを、相手のリンクパートナに送信することができる。例えば、ハンドシェーク６１０の後、各リンクパートナは、対応するデバイスが通信において担うことを意図しているモードを示す予め定義された反復コード（repeating  pre-defined  encoding）を含む信号を送信することができる。いくつかの例において、このような信号は、低速インタフェースを介する低速信号として送受信され得る。一例として、表１は、単純化された一実装における、構成段階６２０中に使用され得る例示的なコード値を含む。これらは、可能な例示的な実装を示すためだけに提示されているに過ぎず、本明細書で説明する主題から逸脱することがなければ、代替コードが利用されてもよいことを理解すべきである。例えば、さらなるモードをサポートするために、より長いコードが定義されてもよい。実際、数ある考慮事項の中でもとりわけ、新たなモードが定義又は追加されるように、サポートされるモードのセットを拡張することを可能にするコード値を定義することができる。
【表１】
2016119653.tif 000003
【００４４】
表１の例により示されるように、モードは、リンクパートナのタイプに対応し得る。いくつかの場合において、デバイスは、複数のモードをサポートすることができ、通知されるモードは、デバイスの現在の使用を反映し得る。例えば、ユーザは、特定のモードでデバイスを使用することを選択することができる。他の例では、モードは、デバイスの検出されたコンテキストに基づいて、自動的に設定されてもよい。コンテキストは、デバイスにより使用されているアプリケーションに関連し得、数ある例の中でもとりわけ、デバイスの状態を説明するデータから発見され得る。さらに、モードは、相手のリンクパートナにより通知されるモードに依存し得る。例えば、いくつかの実装において、リンクパートナは、相手のリンクパートナにより通知された招待モード（complimentary  mode）に基づいて、且つその招待モードに応じて、複数のサポートされているモードの中から、相手のリンクパートナに通知される特定のモードを決定することができる。
【００４５】
相手のリンクパートナの通知されたモードを受信して適切に解釈すると、デバイスは、（例えば、６２５において）構成状態イグジット信号（configuration  state  exit  signal）を送信することにより、通知信号の受信が成功したことを示すことができる。このイグジット信号は、イグジットハンドシェーク６２５に関連するものとして送信され得る。例えば、イグジットハンドシェーク６２５は、チャネル構成状態からのイグジットを示すために実行され得る。例示的な一実装において、低周波イグジットハンドシェーク信号（例えば、「１０１０」）は、同じシーケンスが近接無線チャネルを介してリンクパートナから受信されるまで、送信され得る。いくつかの例において、このシーケンスは、デバイスの無線機とＳｏＣとの間のＧＰＩＯインタフェースを用いて送受信され得る。（例えば、６３０において、）各デバイスが、他のデバイスからこのハンドシェーク信号を受信して識別したときに、両デバイスは、チャネル構成モードから出ることができる。
【００４６】
いくつかの実装において、デバイスの相手のリンクパートナの動作モードを識別することにより、そのデバイスは、近接無線チャネルを介してそのリンクパートナとどのように通信して相互動作するかを特定することが可能になる。これは、そのリンクパートナの動作モードに基づく、特定のプロトコルの選択、又は、その特定のプロトコルのサブ機能の実行を含み得る。例えば、両デバイスは、１つのプロトコルしかサポートしていないことがあり、そのプロトコルの機能の完全なセットのサブセットしか、それらデバイスのうちの少なくとも一方によりサポートされていないことがある（例えば、ＵＳＢの場合、機能は、数ある例の中でもとりわけ、役割（例えば、ホスト役割のみ／デバイス役割のみ／両方の役割）及び速度（例えば、高速、超高速、３．１）を含み得る）。デバイスの相手のリンクパートナは、自身がサポートしているプロトコル及び／又はプロトコル機能について、同様に決定することができる。いくつかの場合において、両リンクパートナにより通知された役割又はモードの組合せは、リンク上で使用される特定の通信プロトコル又は方法にマッピングされ得る。例えば、第１のリンクパートナは、第１のモードを通知することがあり、第２のリンクパートナは、第２のモードを通知することがある。第１のリンクパートナ及び第２のリンクパートナの各々は、自身のモードを理解しており、他方のリンクパートナのモードを受信するので、各リンクパートナは、セッションにおいて伴われるモードのペアを理解する。モードのこの組合せ又はペアリングに基づいて、両デバイスはそれぞれ、使用すべき同じ適切な通信プロトコル（及び／又はプロトコル機能）を特定することができる。次いで、両デバイスは、メイン機能モード（例えば、６４５）に進み、特定されたプロトコルに従って、リンクを介する通信を開始することができる。
【００４７】
他の実装では、リンクの構成が、複数の段階で生じてもよい。例えば、チャネル構成段階（例えば、６２０）に加えて、２つのリンクパートナは、さらなる段階（例えば、６５０）を利用して、より細かいレベルでリンクを構成し、且つ、代替プロトコル、プロトコル機能、及びモード（又は、早期構成段階（例えば、６２０）中に特定されたモード又はプロトコルのサブプロトコル又はサブモード）を可能にするために、リンクの構成のネゴシエーションを続けることを試みることができる。一例として、少なくともいくつかのリンクパートナによりサポートされるプロトコルネゴシエーションモードが提供され得る。このより細かいネゴシエーションをサポートしていないデバイスのために、（例えば、６４０において、）リンクパートナがそれぞれプロトコルネゴシエーションモードをサポートしているかどうかを最初に確認することにより、後方互換性が保たれ得る。例えば、チャネル構成段階から出ると（６２５）、各リンクパートナは、コード化された信号を通じて、各リンクパートナがさらなるプロトコルネゴシエーション段階をサポートしているかどうかを通知することができる。このプロトコルネゴシエーション段階は、特定の通信プロトコルに従う信号及びメッセージの送信を含み得、デバイスがこのプロトコルネゴシエーション段階に入ることができるかどうかは、この特定のプロトコルをサポートするデバイスの能力に依存し得る。一例において、リンクパートナは、ハンドシェークを通じて、このプロトコルネゴシエーション段階（例えば、６５０）の自身のサポートを通知することができる。例えば、第１の信号は、このプロトコルネゴシエーション段階が送信デバイスによりサポートされていることを示すことができるのに対し、第２の信号は、このプロトコルネゴシエーション段階がサポートされていないことを示す。表２は、プロトコルネゴシエーション段階ハンドシェークシグナリングの例示的な一実装を示しているが、他の実装は、数ある例の中でもとりわけ、代替シグナリング値及び代替ハンドシェークプロトコルを採用してもよい。一例において、（例えば、６４０において、）２つのリンクパートナのうちいずれか一方が、このプロトコルネゴシエーションモードをサポートしていないと通知した場合、両リンクパートナは、以前の１以上のリンク構成段階（例えば、６２０）の結果だけに基づいて、リンク構成を終了させることができる。しかしながら、両デバイスが、プロトコルネゴシエーション段階６５０を実施する場合、それらのデバイスは、（例えば、６３５、６４０における）ハンドシェークに基づいて、このプロトコルネゴシエーション段階に入ることができる。
【表２】
2016119653.tif 000004
【００４８】
いくつかの実装において、プロトコルネゴシエーション段階６５０は、より洗練されたコード（more  sophisticated  encoding）を含むパケット化されたデータ及び／又はメッセージの送信を含み得る。さらに、いくつかの例では、より高速なデータ伝送を利用して、デバイス間でプロトコルネゴシエーション段階メッセージを送信することができる（しかしながら、低速シグナリングが、代わりに利用されてもよい）。一例において、以前のリンク構成段階（例えば、６２０）において通知されたデバイスのモードを利用して、どの通信プロトコル及びプロトコル機能が、デバイス間の通信において使用するのに適しているかを各デバイスに通知することができる。例えば、各デバイスは、自身のサポートプロトコルのうちの１以上を特定し、プロトコルネゴシエーションメッセージにおいて、サポートプロトコルのうちの好適なプロトコルを通知することができる。いくつかの例において、リンクパートナのうちの一方は、プロトコルネゴシエーションにおいて、マスタの役割を担うことができる。さらに、デバイスは、複数の高速通信プロトコルを含む複数の異なる通信プロトコルをサポートすることができる。そのようなプロトコルは、例えば、とりわけ、ＰＣＩｅ、ＵＳＢ、ＬＬＩ（low  latency  interface）、Ｕｎｉｐｒｏ、ＣＳＩ（camera  interface  specification）、ＤＳＩ（display  serial  interface）、ＱＰＩ、ＨＤＭＩ（登録商標）、Ｉ２Ｓ（inter-IC  sound）、ＤｉｓｐｌａｙＰｏｒｔ、Ｔｈｕｎｄｅｒｂｏｌｔを含み得る。デバイスのモード及び／又はそのデバイスの相手のリンクパートナのモードに基づいて、そのデバイスは、複数のプロトコルから適切なプロトコルを選択し、そのプロトコルが近接無線接続を介した通信において採用されるべきであるとリクエストすることができる。デバイスはまた、プロトコルネゴシエーション段階において、リンクパートナによりサポートされているプロトコルを示すメッセージを受信することができ、両デバイスによりサポートされている特定のプロトコルを指示又は確認することができる。いくつかの実装において、近接無線通信は、デバイスのための統合無線Ｉ／Ｏとしての役割を果たすことができ、デバイスが、潜在的に、デバイスの複数のサポートされている通信プロトコルのうちのいずれか１つを介して多様なデバイスと通信できるようにする。
【００４９】
プロトコルネゴシエーション段階６５０中に利用される特定のプロトコルは、プロトコルネゴシエーションを終了させ、プロトコルネゴシエーション段階６５０から出るためのメッセージ及びステップを含み得る。いくつかの場合において、さらなる構成段階が、サポートされ得、リンクのメイン機能モード６５０に進む前に、プロトコルネゴシエーション段階６５０の結果に基づいて、さらなる構成段階に入ることができる。図６の特定の例において、プロトコルネゴシエーションモード６５０から出ると、両デバイスは、メイン機能モードに入り、前の構成ネゴシエーション段階６２０、６５０を通じてネゴシエートされたプロトコル及び構成コントラクト（configuration  contract）に従って、近接無線通信チャネルを介して実体的な通信を交換することができる。メイン機能モード６４５は、ネゴシエートされたプロトコルの仕様（又は、仕様の無線バージョン）に従った高速シグナリングを含み得る。リンクが、複数の近接無線機の全て又はサブセットを用いて（図５の例に示される）複数のレーンのデータを通信する場合、それら近接無線機のうちの１つ（例えば、プライマリな近接無線通信モジュール及び無線機（例えば、５２０、５２５））は、ネゴシエーション段階に対応することができ、結果として生じるリンク構成に基づいて、メイン機能モードにおける（例えば、そのプライマリな無線機との）通信に対応させるために、任意の数の残りの無線機（例えば、５５０、５５５、５６０、５６５）を呼び出すことができる。
【００５０】
例示的な一実装において、リンクパートナのモード及びサポートされているプロトコルを動的に発見し、対応する近接無線リンクを構成するために利用される構成段階のうちの１以上において使用されるプロトコルは、ＵＳＢ３．１等の非無線通信プロトコルを含む他のプロトコルをサポートするために利用されるハードウェア及び原理に基づき得る。例示的な一例として、ＵＳＢ  Ｔｙｐｅ−Ｃ有線インフラストラクチャの少なくとも一部を利用して、近接無線チャネルにおける構成段階のうちの１以上を可能にすることができる。これにより、近接無線通信のために、Ｔｙｐｅ−Ｃハードウェアプラットフォーム及びソフトウェアドライバを再利用することが可能になる。これはまた、数ある例の中でもとりわけ、Ｔｙｐｅ−Ｃ物理コネクタのサポートを可能にするアダプタの設計を単純化させることができる。ハンドシェークコード及びシーケンス等、Ｔｙｐｅ−Ｃプラットフォームの諸態様を再利用することができる。例えば、物理的接続の場合におけるＴｙｐｅ−Ｃコネクタの構成チャネル（ＣＣ）ピンにおいて見られるピンの電圧レベルは、（例えば、チャネル構成段階６２０において、）近接伝送を用いて、デジタル表現により通信される。さらに、ＵＳＢ電源供給（ＰＤ：power  delivery）モードの諸態様を再利用して、数ある例の中でもとりわけ、プロトコルネゴシエーション段階（６５０）を容易にすることができる。一例として、ＵＳＢ  ＰＤプロトコルを利用して、数ある例の中でもとりわけ、高電圧充電及び代替プロトコルモードサポート等のさらなるオプションを通信することができる。
【００５１】
本明細書で説明した原理及び特徴は、数ある例の中でもとりわけ、メインフレーム、サーバシステム、パーソナルコンピュータ、モバイルコンピュータ（タブレット、スマートフォン、パーソナルデジタルシステム等）、スマートアプライアンス、ゲームコンソール又はエンターテイメントコンソール、及びセットトップボックスを含む様々なコンピューティングデバイスに組み込むことができる。例えば、図７は、命令を実行する実行ユニットを含むプロセッサを有するよう構成されている例示的なコンピュータシステムのブロック図を示している。図７において、本発明の一実施形態に従った１以上の特徴を実装しているインターコネクトのうちの１以上が示されている。システム７００は、本明細書で説明した実施形態において等、本発明に従ってデータを処理するアルゴリズムを実行するロジックを含む実行ユニットを用いるプロセッサ７０２等のコンポーネントを含む。システム７００は、ＰＥＮＴＩＵＭ（登録商標）  ＩＩＩ、ＰＥＮＴＩＵＭ（登録商標）  ４、Ｘｅｏｎ、Ｉｔａｎｉｕｍ、ＸＳｃａｌｅ、及び／又はＳｔｒｏｎｇＡＲＭマイクロプロセッサに基づく処理システムを表しているが、他のシステム（他のマイクロプロセッサを有するＰＣ、エンジニアリングワークステーション、セットトップボックス、及び同様のものを含む）が使用されてもよい。一実施形態において、例示的なシステム７００は、ワシントン州レッドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムのバージョンを実行するが、他のオペレーティングシステム（例えばＵＮＩＸ（登録商標）及びＬｉｎｕｘ（登録商標））、組み込みソフトウェア、及び／又はグラフィカルユーザインタフェースが使用されてもよい。したがって、本発明の実施形態は、ハードウェア回路とソフトウェアとの特定の組合せに限定されるものではない。
【００５２】
実施形態は、コンピュータシステムに限定されるものではない。本発明の代替実施形態が、ハンドヘルドデバイス及び組み込みアプリケーション等の他のデバイスにおいて使用されてもよい。ハンドヘルドデバイスのいくつかの例は、携帯電話機、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末（ＰＤＡ）、及びハンドヘルドＰＣを含む。組み込みアプリケーションは、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、システムオンチップ、ネットワークコンピュータ（ＮｅｔＰＣ）、セットトップボックス、ネットワークハブ、ワイドエリアネットワーク（ＷＡＮ）スイッチ、又は、少なくとも１つの実施形態に従って１以上の命令を実行することができる任意の他のシステムを含み得る。
【００５３】
この図示される実施形態において、プロセッサ７０２は、少なくとも１つの命令を実行するためにアルゴリズムを実施する１以上の実行ユニット７０８を含む。一実施形態が、シングルプロセッサデスクトップシステム又はシングルプロセッササーバシステムのコンテキストにおいて説明され得るが、代替実施形態は、マルチプロセッサシステムに含まれてもよい。システム７００は、「ハブ」システムアーキテクチャの一例である。コンピュータシステム７００は、データ信号を処理するプロセッサ７０２を含む。例示的な一例として、プロセッサ７０２は、複合命令セットコンピュータ（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、命令セットの組合せを実装するプロセッサ、又は、例えばデジタル信号プロセッサ等の任意の他のプロセッサデバイスを含む。プロセッサ７０２は、プロセッサ７０２とシステム７００内の他のコンポーネントとの間でデータ信号を伝送するプロセッサバス７１０に接続される。システム７００の要素（例えば、グラフィックスアクセラレータ７１２、メモリコントローラハブ７１６、メモリ７２０、Ｉ／Ｏコントローラハブ７２４、無線トランシーバ７２６、フラッシュＢＩＯＳ７２８、ネットワークコントローラ７３４、オーディオコントローラ７３６、シリアル拡張ポート７３８、Ｉ／Ｏコントローラ７４０等）は、当業者に周知である従来の機能を実行する。
【００５４】
一実施形態において、プロセッサ７０２は、レベル１（Ｌ１）内部キャッシュメモリ７０４を含む。アーキテクチャに応じて、プロセッサ７０２は、１つの内部キャッシュを有してもよいし、複数のレベルの内部キャッシュを有してもよい。他の実施形態は、特定の実装及び要求に応じて、内部キャッシュ及び外部キャッシュの両方の組合せを含む。レジスタファイル７０６は、整数レジスタ、浮動小数点レジスタ、ベクトルレジスタ、バンクレジスタ、シャドーレジスタ、チェックポイントレジスタ、ステータスレジスタ、及び命令ポインタレジスタを含む様々なレジスタに異なるタイプのデータを記憶する。
【００５５】
整数演算及び浮動小数点演算を実行するロジックを含む実行ユニット７０８は、プロセッサ７０２に存在する。一実施形態において、プロセッサ７０２は、マイクロコードを記憶するマイクロコードＲＯＭ（ｕｃｏｄｅ  ＲＯＭ）を含み、マイクロコードは、実行されたときに、所定のマクロ命令のためのアルゴリズムを実行する、あるいは、複雑なシナリオを処理する。ここで、マイクロコードは、潜在的に、プロセッサ７０２に対してロジックバグ／修正を処理するために更新可能である。一実施形態では、実行ユニット７０８は、圧縮命令セット（packed  instruction  set）７０９を処理するためのロジックを含む。汎用プロセッサ７０２の命令セットに圧縮命令セット７０９を含めることにより、命令を実行する関連回路とともに、多くのマルチメディアアプリケーションにより用いられるオペレーションが、汎用プロセッサ７０２内の圧縮データを用いて実行され得る。このように、多くのマルチメディアアプリケーションは、圧縮データに対してオペレーションを実行するためにプロセッサのデータバスの全幅を使用することにより、加速されて、より効率的に実行される。これにより、１以上のオペレーションを実行するために、一度に１データ要素ずつ、より小さな単位のデータをプロセッサのデータバスを介して転送する必要性が潜在的になくなる。
【００５６】
実行ユニット７０８の代替実施形態は、マイクロコントローラ、組み込みプロセッサ、グラフィックスデバイス、ＤＳＰ、及び他のタイプのロジック回路で用いられてもよい。システム７００は、メモリ７２０を含む。メモリ７２０は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリデバイス、又は他のメモリデバイスを含む。メモリ７２０は、プロセッサ７０２により実行される、データ信号により表される命令及び／又はデータを記憶する。
【００５７】
本発明の前述した特徴又は態様のうちの任意のものを、図７に示される１以上のインターコネクトに対して使用できることに留意されたい。例えば、プロセッサ７０２の内部ユニットを接続するためのオンダイインターコネクト（ＯＤＩ）（図示せず）が、上述した本発明の１以上の態様を実装する。あるいは、本発明は、プロセッサバス７１０（例えば、他の既知の高性能コンピューティングインターコネクト）、メモリ７２０への高帯域幅メモリパス７１８、グラフィックスアクセラレータ７１２へのポイントツーポイントリンク（例えば、ＰＣＩｅ準拠ファブリック）、コントローラハブインターコネクト７２２、Ｉ／Ｏインターコネクト、又は他の図示されるコンポーネントを接続するための他のインターコネクト（例えば、ＵＳＢ、ＰＣＩ、ＰＣＩｅ）に関連する。そのようなコンポーネントのいくつかの例は、オーディオコントローラ７３６、ファームウェアハブ（フラッシュＢＩＯＳ）７２８、無線トランシーバ７２６、データストレージ７２３、ユーザ入力インタフェース及びキーボードインタフェース７４２を含むレガシＩ／Ｏコントローラ７１０、ユニバーサルシリアルバス（ＵＳＢ）等のシリアル拡張ポート７３８、及びネットワークコントローラ７３４を含む。データ記憶デバイス７２３は、ハードディスクドライブ、フロッピディスクドライブ、ＣＤ−ＲＯＭデバイス、フラッシュメモリデバイス、又は他の大容量記憶デバイスを含み得る。
【００５８】
次に図８に移ると、本発明に従ったシステムオンチップ（ＳＯＣ）設計の一実施形態が示されている。具体的且つ例示的な例として、ＳＯＣ８００は、ユーザ機器（ＵＥ）に含まれる。一実施形態において、ＵＥとは、ハンドヘルド電話機、スマートフォン、タブレット、超薄型ノートブック、ブロードバンドアダプタを有するノートブック、又は任意の他の同様の通信デバイス等、通信のためにエンドユーザにより使用される任意のデバイスを指す。しばしば、ＵＥは、基地局又はノードに接続し、実際、ＧＳＭ（登録商標）ネットワーク内の移動局（ＭＳ）に対応し得る。
【００５９】
ここで、ＳＯＣ８００は、２つのコア（８０６及び８０７）を含む。上記の説明と同様、コア８０６及び８０７は、Ｉｎｔｅｌ（登録商標）のＡｒｃｈｉｔｅｃｔｕｒｅ  Ｃｏｒｅベースのプロセッサ、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．（ＡＭＤ（登録商標））のプロセッサ、ＭＩＰＳベースのプロセッサ、ＡＲＭベースのプロセッサ設計、又はこれらの顧客に加えて、これらの実施権者又は採用者等、命令セットアーキテクチャに従い得る。コア８０６及び８０７は、システム８００の他の要素と通信するためにバスインタフェースユニット８０９及びＬ２キャッシュに関連付けられるキャッシュコントロール８０８に接続される。インターコネクト８１０は、ＩＯＳＦ、ＡＭＢＡ、又は上述した他のインターコネクト等のオンチップインターコネクトを含み、本明細書で説明した１以上の態様を実装することができる。
【００６０】
インターコネクト８１０は、加入者識別モジュール（ＳＩＭ）カードとインタフェースをとるＳＩＭ８３０、ＳＯＣ８００を初期化及びブートするためにコア８０６及び８０７により実行されるブートコードを保持するブートＲＯＭ８３５、外部メモリ（例えばＤＲＡＭ８６０）とインタフェースをとるＳＤＲＡＭコントローラ８４０、不揮発性メモリ（例えばフラッシュ８６５）とインタフェースをとるフラッシュコントローラ８４５、ペリフェラルとインタフェースをとるペリフェラルコントロール８５０（例えばシリアルペリフェラルインタフェース）、入力（例えばタッチ対応入力）を表示して受け取るためのビデオコーデック８２０及びビデオインタフェース８２５、グラフィックス関連計算を実行するＧＰＵ８１５等といった他のコンポーネントへの通信チャネルを提供する。これらのインタフェースのうちのいずれも、本明細書で説明した本発明の諸態様を組み込むことができる。
【００６１】
加えて、このシステムは、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール８７０、３Ｇモデム８７５、ＧＰＳ８８５、及びＷｉＦｉ（登録商標）８８５等の通信用ペリフェラルを示している。上述したように、ＵＥは、通信用無線機を含むことに留意されたい。結果として、これらのペリフェラル通信モジュールの全てが必要であるとは限らない。しかしながら、ＵＥのある形態では、外部通信用無線機が含まれる。
【００６２】
限定された数の実施形態を参照して本発明について説明したが、当業者は、これら実施形態からの多数の変更形態及び変形形態を理解するであろう。添付の請求項は、本発明の真の主旨及び範囲内に属する全てのそのような変更形態及び変形形態をカバーすることが意図されている。
【００６３】
設計は、作成からシミュレーション、さらに製造までの様々な段階を経て行われ得る。設計を表すデータは、複数の態様でその設計を表し得る。まず、シミュレーションにおいて有用であるものとして、ハードウェア記述言語（ＨＤＬ）又は別の機能記述言語を用いてハードウェアを表すことができる。さらに、設計プロセスのいくつかの段階において、ロジックゲート及び／又はトランジスタゲートを有する回路レベルモデルを作成することができる。さらに、ほとんどの設計は、ある段階において、ハードウェアモデルにおける様々なデバイスの物理的配置を表すデータのレベルに到達する。従来の半導体製造技術が使用される場合、ハードウェアモデルを表すデータは、集積回路を製造するために使用されるマスクの様々なマスク層上の様々な特徴の有無を示すデータであり得る。いくつかの実装において、そのようなデータは、グラフィックデータシステムＩＩ（ＧＤＳ  ＩＩ）、オープンアートワークシステムインターチェンジスタンダード（ＯＡＳＩＳ）、又は同様のフォーマット等のデータベースファイルフォーマットで記憶され得る。
【００６４】
いくつかの実装において、ソフトウェアベースのハードウェアモデル、並びにＨＤＬオブジェクト及び他の機能記述言語オブジェクトは、数ある例の中でもとりわけ、レジスタ転送言語（ＲＴＬ）ファイルを含み得る。そのようなオブジェクトは、設計ツールが、ＨＤＬオブジェクト（又はモデル）を受け取り、記述されたハードウェアの属性のためにＨＤＬオブジェクトを解析し、ＨＤＬオブジェクトから物理回路及び／又はオンチップレイアウトを判別できるように、マシンにより解析可能であり得る。設計ツールの出力を使用して、物理デバイスを製造することができる。例えば、設計ツールは、ＨＤＬオブジェクトから、ＨＤＬオブジェクトにおいてモデル化されたシステムを実現するために実装されるであろう数ある属性の中でもとりわけ、バス幅、レジスタ（サイズ及びタイプを含む）、メモリブロック、物理リンクパス、ファブリックトポロジ等、様々なハードウェア要素及び／又はファームウェア要素の構成を判別することができる。設計ツールは、システムオンチップ（ＳｏＣ）及び他のハードウェアデバイスのトポロジ及びファブリック構成を判別するためのツールを含み得る。いくつかの例において、ＨＤＬオブジェクトを基礎として使用して、記述されたハードウェアを製造するために製造機器が使用できるモデル及び設計ファイルを作成することができる。実際、ＨＤＬオブジェクト自体が、記述されたハードウェアをもたらすために、入力として製造システムソフトウェアに提供され得る。
【００６５】
設計の任意の表現において、データは、任意の形態のマシン読み取り可能な媒体に記憶され得る。メモリ、又は、ディスク等の磁気ストレージ若しくは光ストレージが、情報を伝送するために変調又は生成された光波又は電波を介して伝送されるそのような情報を記憶するためのマシン読み取り可能な媒体であり得る。コード又は設計を示す、あるいはコード又は設計を搬送する電気搬送波が伝送される場合、電気信号のコピー、バッファリング、又は再伝送が実行される程度に、新たなコピーがなされる。したがって、通信プロバイダ又はネットワークプロバイダは、搬送波にエンコードされる情報等の、本開示の実施形態の技術を具現化する製品を、有体のマシン読み取り可能な媒体に、少なくとも一時的に記憶させることができる。
【００６６】
本明細書で用いられるモジュールとは、ハードウェア、ソフトウェア、及び／又はファームウェアの任意の組合せを指す。一例として、モジュールは、マイクロコントローラ等の、マイクロコントローラにより実行されるよう適合されたコードを記憶する非一時的な媒体に関連付けられたハードウェアを含む。したがって、一実施形態において、モジュールとは、非一時的な媒体に保持されるコードを認識及び／又は実行するよう特に構成されているハードウェアを指す。さらに、別の実施形態において、モジュールとは、予め定められたオペレーションを実行するためにマイクロコントローラにより実行されるよう特に適合されているコードを含む非一時的な媒体を指す。また、推測できるように、さらに別の実施形態では、（この例における）用語モジュールとは、マイクロコントローラと非一時的な媒体との組合せを指すこともある。しばしば、別のものとして示されるモジュール境界は、変わるものであり、オーバーラップすることもある。例えば、第１のモジュール及び第２のモジュールは、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組合せを共有することがあるのに対し、何らかの独立したハードウェア、ソフトウェア、又はファームウェアを保有することもある。一実施形態において、用語ロジックの使用は、トランジスタ、レジスタ、又は、プログラマブルロジックデバイス等の他のハードウェアといったハードウェアを含む。
【００６７】
一実施形態において、語句「〜よう構成されている」の使用は、指定又は決定されたタスクを実行するために、装置、ハードウェア、ロジック、又は要素の配置、集約、製造、販売の申出、輸入及び／又は設計を行うことを指す。この例において、動作していない装置又は装置の要素は、指定されたタスクを実行するよう設計、結合、及び／又は相互接続されている場合、指定されたタスクを実行するようなお「構成されている」。純粋に例示的な例として、ロジックゲートは、動作中、０又は１を供給し得る。しかしながら、クロックにイネーブル信号を供給する「よう構成されている」ロジックゲートは、１又は０を供給し得る全ての潜在的なロジックゲートを含むわけではない。代わりに、ロジックゲートは、動作中、１又は０の出力がクロックをイネーブルする何らかの形で結合されるものである。再度、用語「〜よう構成されている」の使用は、動作を必要としないが、代わりに、装置、ハードウェア、及び／又は要素の潜在的状態にフォーカスする。ここで、潜在的状態においては、装置、ハードウェア、及び／又は要素は、装置、ハードウェア、及び／又は要素が動作しているときに特定のタスクを実行するよう意図されている。
【００６８】
さらに、一実施形態において、語句「〜することができる」及び／又は語句「〜するよう動作可能な」の使用は、指定された態様で、装置、ロジック、ハードウェア、及び／又は要素の使用を可能にするように意図されている、装置、ロジック、ハードウェア、及び／又は要素を指す。一実施形態において、「〜することができる」又は「〜するよう動作可能な」の使用は、上述のように、装置、ロジック、ハードウェア、及び／又は要素の潜在的状態を指し、ここで、潜在的状態においては、装置、ロジック、ハードウェア、及び／又は要素は、動作していないが、指定された態様で、装置の使用を可能にするように意図されている。
【００６９】
本明細書で用いられる値は、数、状態、論理状態、又は二値論理状態の任意の既知の表現を含む。しばしば、ロジックレベル、ロジック値、又は論理値の使用は、単に二値ロジック状態を表す１及び０として表される。例えば、１は、高論理レベルを指し、０は、低論理レベルを指す。一実施形態において、トランジスタ又はフラッシュセル等の記憶セルは、１つの論理値又は複数の論理値を保持することができる。しかしながら、コンピュータシステムにおいて、値の他の表現が使用されている。例えば、十進数１０は、二進数１０１０及び十六進数Ａとして表すこともできる。したがって、値は、コンピュータシステム内で保持することができる情報の任意の表現を含む。
【００７０】
さらに、状態は、値又は値の一部により表され得る。一例として、論理１等の第１の値は、デフォルト状態又は初期状態を表し得る一方で、論理０等の第２の値は、非デフォルト状態を表し得る。加えて、一実施形態において、用語リセット及び用語セットとはそれぞれ、デフォルト値又はデフォルト状態、及び、更新された値又は更新された状態を指す。例えば、デフォルト値は、潜在的に、高論理値（すなわちリセット）を含む一方で、更新された値は、潜在的に、低論理値（すなわちセット）を含む。値の任意の組合せを利用して、任意の数の状態を表すことができることに留意されたい。
【００７１】
上記の方法、ハードウェア、ソフトウェア、ファームウェア、又はコードセットの実施形態は、処理要素により実行可能である、マシンアクセス可能な媒体、マシン読み取り可能な媒体、コンピュータアクセス可能な媒体、又はコンピュータ読み取り可能な媒体に記憶された命令又はコードを介して実施することができる。非一時的なマシンアクセス可能／読み取り可能な媒体は、コンピュータ又は電子システム等のマシンにより読み取り可能な形で情報を提供する（すなわち、記憶及び／又は伝送する）任意の機構を含む。例えば、非一時的なマシンアクセス可能な媒体は、スタティックＲＡＭ（ＳＲＡＭ）又はダイナミックＲＡＭ（ＤＲＡＭ）等のＲＡＭ、ＲＯＭ、磁気記憶媒体又は光記憶媒体、フラッシュメモリデバイス、電気記憶デバイス、光記憶デバイス、音響記憶デバイス、一時的な（伝搬）信号（例えば、搬送波、赤外線信号、デジタル信号）から受け取られた情報を保持する他の形態の記憶デバイス等を含む。これらは、そこから情報を受け取り得る非一時的な媒体と区別される。
【００７２】
本発明の実施形態を実施するようロジックをプログラムするために使用される命令は、ＤＲＡＭ、キャッシュ、フラッシュメモリ、又は他のストレージ等、システム内のメモリに記憶され得る。さらに、命令は、ネットワークを介して、あるいは、他のコンピュータ読み取り可能な媒体により配布されてもよい。したがって、マシン読み取り可能な媒体は、次のものに限定されるものではないが、フロッピディスク、光ディスク、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光磁気ディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能なプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、磁気カード、光カード、フラッシュメモリ、又は、電気信号、光信号、音響信号、若しくは他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号等）によるインターネットを介した情報の伝送において使用される有体のマシン読み取り可能なストレージ等の、マシン（例えばコンピュータ）により読み取り可能な形で情報を記憶又は伝送する任意の機構を含み得る。したがって、コンピュータ読み取り可能な媒体は、マシン（例えばコンピュータ）により読み取り可能な形で電子的命令又は電子的情報を記憶又は伝送するのに適した任意のタイプの有体のマシン読み取り可能な媒体を含む。
【００７３】
以下の例は、本明細書に従った実施形態に関連する。１以上の実施形態が、方法、装置、システム、マシン読み取り可能なストレージ、マシン読み取り可能な媒体、ハードウェアベースのロジック及び／又はソフトウェアベースのロジック（例えばレーンモニタ）を提供できる。そのような実施形態において、近接通信モジュールは、第１のデバイスと第２のデバイスとの間で近接無線接続を開始し、チャネル構成モジュールは、前記近接無線接続を介して、前記第１のデバイスの１以上のサポートされているチャネル構成を前記第２のデバイスに通知する第１のデータを送信し、前記近接無線接続を介して、前記第２のデバイスの１以上のサポートされているチャネル構成を前記第１のデバイスに通知する第２のデータを受信する。前記第１のデータ及び前記第２のデータに基づいて、前記第１のデバイスの複数のモードの中から、前記近接無線接続を介した前記第２のデバイスとの通信において使用される特定のモードを決定するモードセレクタが提供される。
【００７４】
少なくとも１つの例において、複数の通信プロトコルの中から、前記第２のデバイスとの通信において使用される特定の通信プロトコルを決定するプロトコルセレクタが提供される。
【００７５】
少なくとも１つの例において、前記プロトコルセレクタは、前記第２のデバイスから信号を受信し、前記信号から、前記第２のデバイスが、ネゴシエーションプロトコルが使用されるプロトコルネゴシエーション段階をサポートしているかどうかを判定する。
【００７６】
少なくとも１つの例において、前記第２のデバイスが前記プロトコルネゴシエーション段階をサポートしているとの判定は、前記第１のデバイス及び前記第２のデバイスに、前記プロトコルネゴシエーション段階に入らせ、前記第１のデバイス及び前記第２のデバイスは、前記通信において使用される前記特定の通信プロトコルを決定するために、前記プロトコルネゴシエーション段階において、前記ネゴシエーションプロトコルに従ってメッセージを通信する。
【００７７】
少なくとも１つの例において、前記第２のデバイスが前記プロトコルネゴシエーション段階をサポートしていないとの判定は、前記特定のモードに少なくとも部分的に基づいて、前記通信において使用されるプロトコルを決定させる。
【００７８】
少なくとも１つの例において、前記ネゴシエーションプロトコルは、ユニバーサルシリアルバス（ＵＳＢ）電力供給（ＰＤ）プロトコルに基づくプロトコルを含む。
【００７９】
少なくとも１つの例において、前記第１のデバイスは、近接無線チャネルを介した通信において、前記複数の通信プロトコルのうちのいずれか１つの使用をサポートしている。
【００８０】
少なくとも１つの例において、前記複数のモードは、ホストモード、デバイスモード、及びアダプタモードを含む。
【００８１】
少なくとも１つの例において、前記特定のモードに従って、前記近接無線接続を介して前記第２のデバイスに特定のデータを送信する送信機が提供される。
【００８２】
少なくとも１つの例において、前記特定のデータは、前記第２のデータから前記第２のデバイスのために決定されたモードにさらに基づいて送信される。
【００８３】
少なくとも１つの例において、前記送信機は、前記特定のデータを送信するために複数の近接無線機を使用し、前記複数の近接無線機は、前記第１のデバイスの物理チャネルのリンク幅に対応する。
【００８４】
少なくとも１つの例において、前記第１のデータ及び前記第２のデータは、チャネル構成段階において送信され、前記第１のデバイス及び前記第２のデバイスは、対応するハンドシェークを用いて、前記チャネル構成段階に入り、前記チャネル構成段階から出る。
【００８５】
１以上の実施形態が、方法、装置、システム、マシン読み取り可能なストレージ、マシン読み取り可能な媒体、ハードウェアベースのロジック及び／又はソフトウェアベースのロジック（例えばレーンモニタ）を提供できる。そのような実施形態において、近接無線接続を介して別のデバイスと通信するための無線送信機及び無線受信機を含む近接通信モジュールが提供される。前記近接無線接続を介して、特定のデバイスによりサポートされている１以上のサポートされているインターコネクトプロトコルを前記別のデバイスに通知する第１のデータを送信し、前記近接無線接続を介して、前記別のデバイスによりサポートされている１以上のインターコネクトプロトコルを前記特定のデバイスに通知する第２のデータを受信し、複数のインターコネクトプロトコルの中から、前記近接無線接続を介した前記特定のデバイスと前記別のデバイスとの間の通信において使用される、前記特定のデバイス及び前記別のデバイスの両方によりサポートされている少なくとも１つの特定のインターコネクトプロトコルを選択するプロトコル構成モジュールが提供され得る。
【００８６】
少なくとも１つの例において、前記複数のインターコネクトプロトコルは、ＨＤＭＩ（登録商標）、ＵＳＢ、及びＰＣＩｅを含む。
【００８７】
少なくとも１つの例において、前記第１のデータ及び前記第２のデータはそれぞれ、プロトコルネゴシエーションプロトコルに従って前記近接無線接続を介して伝送される１以上のメッセージを含む。
【００８８】
少なくとも１つの例において、前記プロトコル構成モジュールは、前記プロトコルネゴシエーションプロトコルから受信された信号から、前記別のデバイスが前記プロトコルネゴシエーションプロトコルをサポートしているかどうかを判定する。
【００８９】
１以上の実施形態が、装置、システム、マシン読み取り可能なストレージ、マシン読み取り可能な媒体、ハードウェアベースのロジック及び／又はソフトウェアベースのロジック、並びに方法を提供できる。そのような実施形態において、第１のデバイスと第２のデバイスとの間で近接無線接続を開始し、第１のチャネル構成段階に入り、前記第１のチャネル構成段階において、前記近接無線接続を介して、前記第１のデバイスの１以上のサポートされているモードを前記第２のデバイスに通知する第１のデータを送信し、前記第１のチャネル構成段階において、前記近接無線接続を介して、前記第２のデバイスの１以上のサポートされているモードを前記第１のデバイスに通知する第２のデータを受信し、複数のプロトコルの中から、前記近接無線接続を介した前記第２のデバイスとの通信において使用される特定のプロトコルを決定するために、第２のチャネル構成段階に入る。
【００９０】
１以上の実施形態が、第１の近接通信モジュールを有する第１のデバイスであって、複数のモードの第１のサブセット及び複数の通信プロトコルの第１のサブセットをサポートしている第１のデバイスと、第２の近接通信モジュールを有する第２のデバイスであって、複数のモードの第２のサブセット及び複数の通信プロトコルの第２のサブセットをサポートしている第２のデバイスと、を含む装置及びシステムを提供できる。前記第１のデバイス及び前記第２のデバイスは、前記第１の近接通信モジュール及び前記第２の近接通信モジュールにより容易にされる近接無線接続を介してネゴシエートして、前記近接無線接続を介した前記第２のデバイスとの後続の通信において、前記複数のモードの前記第１のサブセットのうちどのモードが前記第１のデバイスにより使用されるかを決定し、前記後続の通信において、前記複数のモードの前記第２のサブセットのうちどのモードが前記第２のデバイスにより使用されるかを決定し、前記複数の通信プロトコルの中から、前記後続の通信において使用される特定の通信プロトコルを決定する。
【００９１】
少なくとも１つの例において、前記第１のデバイス及び前記第２のデバイスの各々は、高速近接無線接続をサポートしており、前記複数の通信プロトコルのうちの少なくとも一部は、高速通信プロトコルを含む。
【００９２】
少なくとも１つの例において、前記第１のデバイスは、ホストデバイスを含み、前記第２のデバイスは、ホストデバイス、ペリフェラルデバイス、及びアダプタデバイスのうちの１つを含む。
【００９３】
本明細書を通じた「一実施形態」又は「実施形態」に対する言及は、その実施形態に関して説明した特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書を通じた様々な箇所における語句「一実施形態において」又は語句「実施形態において」の記載は、必ずしも全てが同じ実施形態を指しているわけではない。さらに、特定の特徴、構造、又は特性は、１以上の実施形態において任意の適切な態様で組み合わせることができる。
【００９４】
本明細書において、具体的且つ例示的な実施形態を参照して詳細な説明を提供した。しかしながら、特許請求の範囲に記載される本発明のより広い範囲及び主旨から逸脱することなく、そのような実施形態に様々な修正及び変更を加えることが可能であることが明らかであろう。したがって、本明細書及び図面は、限定ではなく例示とみなされるべきである。さらに、実施形態及び他の例示的な言葉の前述の使用は、必ずしも同じ実施形態又は同じ例を指すわけではなく、異なる別の実施形態を指すこともあるし、同じ実施形態を指すこともある。
【図１】
2016119653.tif 000005
【図２】
2016119653.tif 000006
【図３】
2016119653.tif 000007
【図４】
2016119653.tif 000008
【図５】
2016119653.tif 000009
【図６】
2016119653.tif 000010
【図７】
2016119653.tif 000011
【図８】
2016119653.tif 000012
【外国語明細書】
2016119653000001.pdf
2016119653000002.pdf
2016119653000003.pdf
2016119653000004.pdf