JP6092353B2 - 近接伝送構成 - Google Patents

近接伝送構成 Download PDF

Info

Publication number
JP6092353B2
JP6092353B2 JP2015224765A JP2015224765A JP6092353B2 JP 6092353 B2 JP6092353 B2 JP 6092353B2 JP 2015224765 A JP2015224765 A JP 2015224765A JP 2015224765 A JP2015224765 A JP 2015224765A JP 6092353 B2 JP6092353 B2 JP 6092353B2
Authority
JP
Japan
Prior art keywords
data
protocol
communication
wireless connection
proximity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015224765A
Other languages
English (en)
Other versions
JP2016119653A (ja
Inventor
ランガナタン シュリダラン
ランガナタン シュリダラン
Original Assignee
インテル コーポレイション
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2016119653A publication Critical patent/JP2016119653A/ja
Application granted granted Critical
Publication of JP6092353B2 publication Critical patent/JP6092353B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/72Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Communication Control (AREA)

Description

本開示は、一般に、コンピュータ通信の分野に関し、より詳細には、近接無線通信に関する。
コンピューティングデバイスは、より小さなフォームファクタにますますなりつつある。これと相まってバッテリ寿命が延び、無線通信ネットワーキングが、モバイル用に構成されるコンピューティングデバイスの急速な発展を可能にしている。そのようなモバイルコンピューティングデバイスは、より大きくより重くより扱いにくいデスクトップコンピューティングデバイスにますます取って代わるようになってきている。
コンピューティングデバイス間の相互通信を可能にする様々な無線通信ソリューションが存在する。一般的なソリューションは、WiFi(登録商標)、Bluetooth(登録商標)、近距離無線通信(NFC:near field communication)技術を含む。NFCの場合、およそ10cmの距離を介するデバイス間のデータの交換を可能にする短距離高周波数無線通信技術が提供される。通信プロトコル及びオペレーションは、ISO14443近接カード規格(非接触カード、無線周波数ID(RFID))の拡張であり、ECMA−340及びISO/IEC18092技術規格において規定されている。いくつかのデバイスにおいてNFCを使用して、スマートカード及びリーダのインタフェースを単一のデバイスに統合する。NFCデバイスは、既存のISO14443スマートカード及びリーダの両方と通信できるだけでなく、他のNFCデバイスとも通信でき、それにより、既存の非接触通信インフラストラクチャと互換性がある。数ある用途の中でもとりわけ、スマートフォン、スマートカード、及び他の電子デバイスを利用する電子決済を容易にするのを支援するために、NFCが使用されている。
様々な図における同様の参照番号及び記号は、同様の要素を示す。
一実施形態に従った、コンピュータシステム内のI/Oデバイスを接続するシリアルポイントツーポイントインターコネクトを含むシステムの簡略化されたブロック図。 一実施形態に従った階層化プロトコルスタックの簡略化されたブロック図。 2つのポートを接続するシリアルポイントツーポイントリンクの一実施形態を示す図。 近接無線通信技術を利用する例示的なコンピューティングデバイスを示す図。 近接無線通信ソリューションを利用する2つのコンピューティングデバイスの表現を示す図。 近接無線通信チャネルの構成を示すフローチャート。 コンピューティングシステムの一実施形態のブロック図。 システムオンチップを含むコンピューティングシステムの別の実施形態のブロック図。
以下の説明において、本発明の完全な理解を提供するために、具体的なタイプのプロセッサ及びシステム構成、具体的なハードウェア構造、具体的なアーキテクチャ詳細及びマイクロアーキテクチャ詳細、具体的なレジスタ構成、具体的な命令タイプ、具体的なシステムコンポーネント、具体的なプロセッサパイプライン段、具体的なインターコネクトレイヤ、具体的なパケット/トランザクション構成、具体的なトランザクション名、具体的なプロトコル交換、具体的なリンク幅、具体的な実装、並びにオペレーション等の例といった多数の具体的な詳細が記載されている。しかしながら、本開示の主題を実施するために、これらの具体的な詳細は必ずしも使用される必要がないことが当業者には明らかであろう。他の例においては、具体的な代替プロセッサアーキテクチャ、説明するアルゴリズムのための具体的なロジック回路/コード、具体的なファームウェアコード、低レベルインターコネクトオペレーション、具体的なロジック構成、具体的な製造技術及び材料、具体的なコンパイラ実装、コードにおけるアルゴリズムの具体的な表現、具体的な電力ダウン及びゲート化技術/ロジック、並びに、コンピュータシステムの他の具体的なオペレーション詳細等の既知のコンポーネント又は方法は、本開示を不必要に曖昧にするのを避けるために、詳述されていない。
以下の実施形態は、コンピューティングプラットフォーム又はマイクロプロセッサ等の特定の集積回路におけるエネルギ節約、エネルギ効率、処理効率等に関して説明され得るが、他の実施形態は、他のタイプの集積回路及びロジックデバイスに適用可能である。本明細書で説明する実施形態の類似する技術及び教示は、そのような特徴から同様に利益を受けることができる他のタイプの回路又は半導体デバイスに適用可能である。例えば、開示する実施形態は、サーバコンピュータシステム、デスクトップコンピュータシステム、ラップトップ、ウルトラブック(登録商標)に限定されるものではなく、ハンドヘルドデバイス、スマートフォン、タブレット、他の薄型ノートブック、システムオンチップ(SOC)デバイス、及び組み込みアプリケーション等の他のデバイスにおいても使用することができる。ハンドヘルドデバイスのいくつかの例は、携帯電話機、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末(PDA)、及びハンドヘルドPCを含む。ここで、高性能インターコネクトのための類似する技術が、低電力インターコネクトにおいて性能を増大させる(あるいは、電力を節約する)ために適用され得る。組み込みアプリケーションは、一般に、マイクロコントローラ、デジタル信号プロセッサ(DSP)、システムオンチップ、ネットワークコンピュータ(NetPC)、セットトップボックス、ネットワークハブ、ワイドエリアネットワーク(WAN)スイッチ、又は以下で教示される機能及びオペレーションを実行できる任意の他のシステムを含む。さらに、本明細書で説明する装置、方法、及びシステムは、物理コンピューティングデバイスに限定されるものではなく、エネルギ節約及びエネルギ効率のためのソフトウェア最適化にも関連し得る。以下の説明において直ちに明らかになるように、本明細書で説明する方法、装置、及びシステムの実施形態は(ハードウェアに関するものでも、ファームウェアに関するものでも、ソフトウェアに関するものでも、又はそれらの組合せに関するものでも)、性能への配慮とのバランスをとった「環境保全技術」の未来に不可欠である。
コンピューティングシステムが発展するにつれて、そのコンポーネントはより複雑化している。最適なコンポーネントオペレーションのための帯域幅要件が満たされることを確実にするために、コンポーネントを接続しコンポーネント間で通信するためのインターコネクトアーキテクチャも複雑さが増している。さらに、異なるマーケットセグメントが、それぞれのマーケットに適する異なる態様のインターコネクトアーキテクチャを要求している。例えば、サーバは、より高い性能を必要とする一方で、モバイルエコシステムは、省電力化のための全体性能、フォームファクタ、及び使い勝手を犠牲にすることが時としてある。多種多様なインターコネクトは、潜在的に、本明細書で説明する主題から利益を受けることができる。
数ある例の中でもとりわけ、ユニバーサルシリアルバス(USB)3.1アーキテクチャ、ペリフェラルコンポーネントインターコネクト(PCI)エクスプレス(PCIe)インターコネクトアーキテクチャ、及びクイックパスインターコネクト(QPI)ファブリックアーキテクチャは、数ある例の中でもとりわけ、本明細書で説明する1以上の原理に従って、潜在的に改善させることができる。例えば、PCIeの主要な目的は、異なるベンダからのデバイス及びコンポーネントを、複数のマーケットセグメント(クライアント(デスクトップ及びモバイル)、サーバ(スタンダード及びエンタープライズ)、及び組み込み通信デバイス)に及ぶオープンアーキテクチャにおいて一緒に使用できるようにすることである。PCIエクスプレスは、多様な将来のコンピューティング通信プラットフォームのために定められた高性能汎用I/Oインターコネクトである。使用モデル、ロード−ストアアーキテクチャ、及びソフトウェアインタフェース等のいくつかのPCI属性は、改訂を通じて維持されている一方で、以前のパラレルバス実装は、拡張性の高い完全にシリアルなインタフェースに取って代わられている。PCIエクスプレスのより最近のバージョンは、ポイントツーポイントインターコネクト、スイッチベース技術、及びパケット化プロトコルにおける進歩を利用して、新たなレベルの性能及び機能を提供している。電力管理、サービス品質(QoS)、ホットプラグ/ホットスワップサポート、データインテグリティ、及びエラーハンドリングは、PCIエクスプレスによりサポートされる先進的な機能の一部である。別の例として、USB3.xは、ホストとデバイスとを接続するインターコネクトのアドレスを指定して、例えば、電話機/ファックス/モデムアダプタ、留守番電話機、スキャナ、PDA、キーボード、マウス等といった様々な周辺デバイスを介してホストの機能を拡張する。例えば、USBは、外付け周辺デバイスをパーソナルコンピュータ(PC)に接続するためのユーザフレンドリなプラグアンドプレイ方式を提供することができる。USBを使用して、カメラと直接インタフェースをとるインタフェースにプリンタを接続することや、キーボード、マウス、及び外付けディスプレイにモバイルデバイスを接続すること等、他のデバイス間の接続を容易にすることができる。実際、USBポートは、自動車、テレビジョン、及びセットトップボックスを含むより多くの他の機器にますます組み込みこまれるようになってきている。さらに、USBの電力供給機能は、USBポートが、数あるソリューションの中でもとりわけ、モバイルデバイス充電ソリューションとしても機能することを可能にしている。本明細書における主要な説明は、時おり特定のアーキテクチャ又はプロトコルを参照することがあるが、本明細書で説明するコンセプトの態様は、PCIe準拠アーキテクチャ、USB準拠アーキテクチャ、QPI準拠アーキテクチャ、MIPI準拠アーキテクチャ、又は他の既知のインターコネクトアーキテクチャ等の他のインターコネクトアーキテクチャに適用可能であることを理解すべきである。
図1を参照すると、コンポーネントのセットを相互接続するポイントツーポイントリンクを含むファブリックの一実施形態が示されている。システム100は、プロセッサ105と、コントローラハブ115に接続されたシステムメモリ110と、を含む。プロセッサ105は、マイクロプロセッサ、ホストプロセッサ、組み込みプロセッサ、コプロセッサ、又は他のプロセッサ等の任意の処理要素を含み得る。プロセッサ105は、フロントサイドバス(FSB)106を介してコントローラハブ115に接続される。一実施形態において、FSB106は、以下で説明するシリアルポイントツーポイントインターコネクトである。別の実施形態では、リンク106は、異なるインターコネクト規格に準拠するシリアルな差動インターコネクトアーキテクチャを含む。
システムメモリ110は、ランダムアクセスメモリ(RAM)、不揮発性(NV)メモリ、又はシステム100内のデバイスによりアクセス可能な他のメモリ等の任意のメモリデバイスを含む。システムメモリ110は、メモリインタフェース116を介してコントローラハブ115に接続される。メモリインタフェースの例は、ダブルデータレート(DDR)メモリインタフェース、デュアルチャネルDDRメモリインタフェース、及びダイナミックRAM(DRAM)メモリインタフェースを含む。
一実施形態において、コントローラハブ115は、例えばインターコネクション階層におけるルートハブ、ルートコンプレックス、又はルートコントローラを含み得る。コントローラハブ115の例は、チップセット、メモリコントローラハブ(MCH)、ノースブリッジ、インターコネクトコントローラハブ(ICH)、サウスブリッジ、及びルートコントローラ/ハブを含む。しばしば、用語チップセットとは、2つの物理的に別個のコントローラハブ、例えば、インターコネクトコントローラハブ(ICH)に接続されたメモリコントローラハブ(MCH)を指す。現在のシステムは、プロセッサ105と統合されたMCHをしばしば含む一方で、コントローラハブ115は、以下で説明するのと同様の態様で、I/Oデバイスと通信する。いくつかの実施形態において、ピアツーピアルーティングが、ルートコンプレックス115を介して任意的にサポートされる。
ここで、コントローラハブ115は、シリアルリンク119を介してスイッチ/ブリッジ120に接続される。入力/出力モジュール117及び121(インタフェース/ポート117及び121とも呼ばれ得る)は、コントローラハブ115とスイッチ120との間の通信を提供するための階層化プロトコルスタックを含み得る/実装し得る。一実施形態において、複数のデバイスが、スイッチ120に接続可能である。
スイッチ/ブリッジ120は、デバイス125からコントローラハブ115に向けてアップストリームに、すなわち、ルートコンプレックスに向けて階層を上方に、且つ、プロセッサ105又はシステムメモリ110からデバイス125に向けてダウンストリームに、すなわち、ルートコントローラから階層を下方に、パケット/メッセージをルーティングすることができる。一実施形態において、スイッチ120は、複数の仮想PCIツーPCIブリッジデバイスの論理アセンブリと呼ばれる。デバイス125は、I/Oデバイス、ネットワークインタフェースコントローラ(NIC)、アドインカード、オーディオプロセッサ、ネットワークプロセッサ、ハードドライブ、記憶デバイス、CD/DVD ROM、モニタ、プリンタ、マウス、キーボード、ルータ、ポータブル記憶デバイス、Firewire(登録商標)デバイス、ユニバーサルシリアルバス(USB)デバイス、スキャナ、及び他の入力/出力デバイス等の、電子システムに接続される任意の内蔵デバイス、外付けデバイス、内蔵コンポーネント、又は外付けコンポーネントを含む。デバイスは、近接無線接続を開始して近接無線接続を用いて他のデバイスと通信する機能を含み得る。いくつかの文脈において、デバイスは、エンドポイントと呼ばれることもある。具体的に図示されてはいないが、デバイス125は、レガシデバイス又は他のバージョンのデバイスをサポートするための、あるいは、そのようなデバイスによりサポートされるファブリックを相互接続するためのブリッジ(例えば、PCIeからPCI/PCI−Xへのブリッジ)を含んでもよい。
グラフィックスアクセラレータ130がまた、シリアルリンク132を介してコントローラハブ115に接続され得る。一実施形態において、グラフィックスアクセラレータ130はMCHに接続され、MCHはICHに接続される。スイッチ120及びI/Oデバイス125は、その後にICHに接続される。I/Oモジュール131及び118はまた、グラフィックスアクセラレータ130とコントローラハブ115との間で通信するための階層化プロトコルスタックを実装する。上述したMCHと同様に、グラフィックスコントローラ又はグラフィックスアクセラレータ130自体は、プロセッサ105に統合されてもよい。
図2に移ると、階層化プロトコルスタックの一実施形態が示されている。階層化プロトコルスタック200は、QPIスタック、PCIeスタック、USBスタック、次世代高性能コンピューティングインターコネクト(HPI)スタック、又は他の階層化スタック等の任意の形態の階層化通信スタックを含み得る。一実施形態において、プロトコルスタック200は、トランザクションレイヤ205、リンクレイヤ210、及び物理レイヤ220を含み得る。図1におけるインタフェース117、118、121、122、126、及び131等の1以上のインタフェースが、通信プロトコルスタック200として表現され得る。通信プロトコルスタックとしての表現は、プロトコルスタックを実装する/含むインタフェース又はモジュールとも呼ばれ得る。
パケットを使用して、コンポーネント間で情報を通信することができる。トランザクションレイヤ205及び/又はデータリンクレイヤ210においてパケットを形成して、送信コンポーネントから受信コンポーネントへ情報を搬送することができる。送信パケットは、他のレイヤを介してフローするので、送信パケットは、他のレイヤにおいてパケットを処理するために使用された追加の情報を用いて拡張される。受信側では逆のプロセスが生じ、パケットは、物理レイヤ220の表現からデータリンクレイヤ210の表現に変換され、最終的に、受信デバイスのトランザクションレイヤ205が処理できる(トランザクションレイヤパケットの)形に変換される。
一実施形態において、トランザクションレイヤ205は、デバイスの処理コアと、データリンクレイヤ210及び物理レイヤ220等のインターコネクトアーキテクチャと、の間のインタフェースを提供することができる。この点に関して、トランザクションレイヤ205の主要な役割は、パケット(すなわち、トランザクションレイヤパケットつまりTLP)の組み立て(assembly)及び分解(disassembly)を含み得る。トランザクションレイヤ205はまた、TLPのためのクレジットベースフロー制御を管理することができる。いくつかの実装において、スプリットトランザクション、すなわち、時間分離されたリクエスト及びレスポンスを含むトランザクションを利用して、数ある例の中でもとりわけ、ターゲットデバイスがレスポンスのためのデータを収集しながら、リンクが他のトラフィックを搬送するのを可能にする。
いくつかのプロトコルではクレジットベースフロー制御を使用して、インターコネクトファブリックを利用する仮想チャネル及びネットワークを実現することができる。一例において、デバイスは、トランザクションレイヤ205における各受信バッファの初期クレジット量を通知することができる。図1におけるコントローラハブ115等の、リンクの反対の端にある外部デバイスは、各TLPにより消費されるクレジットの数をカウントすることができる。トランザクションがクレジット制限を超えない場合、このトランザクションが送信され得る。レスポンスを受信すると、クレジット量が復元される。そのようなクレジットスキームの利点の一例は、数ある潜在的利点の中でもとりわけ、クレジット制限に直面しない場合、クレジットリターンの遅延が性能に影響を及ぼさないことである。
一実施形態において、4つのトランザクションアドレス空間は、構成アドレス空間、メモリアドレス空間、入力/出力アドレス空間、及びメッセージアドレス空間を含み得る。メモリ空間トランザクションは、メモリマッピングされた位置との間でデータを転送するためのリードリクエスト及びライトリクエストのうちの1以上を含む。一実施形態において、メモリ空間トランザクションは、32ビットアドレス等のショートアドレスフォーマット又は64ビットアドレス等のロングアドレスフォーマットといった2つの異なるアドレスフォーマットを使用することができる。構成空間トランザクションを使用して、インターコネクトに接続された様々なデバイスの構成空間にアクセスすることができる。構成空間に対するトランザクションは、リードリクエスト及びライトリクエストを含み得る。メッセージ空間トランザクション(又は、単にメッセージ)は、インターコネクトエージェント間のインバンド通信をサポートするために規定され得る。したがって、例示的な一実施形態において、トランザクションレイヤ205は、パケットヘッダ/ペイロード206を組み立てることができる。
リンクレイヤ210(データリンクレイヤ210とも呼ばれる)は、トランザクションレイヤ205(又はプロトコルレイヤ)と物理レイヤ220との間の中間段として動作することができる。一実施形態において、データリンクレイヤ210の役割は、リンク上の2つのコンポーネント間でトランザクションレイヤパケット(TLP)を交換するための信頼できる機構を提供することである。データリンクレイヤ210の一方の側は、トランザクションレイヤ205により組み立てられたTLPを受け入れ、パケットシーケンス識別子211、すなわち、識別番号又はパケット番号を付与し、誤り検出コードすなわちCRC212を計算及び付与し、物理レイヤを介した外部デバイスへの伝送のために、変更されたTLPを物理レイヤ220に送信する。
一例において、物理レイヤ220は、パケットを外部デバイスに物理的に送信するための論理サブブロック221及び電気サブブロック222を含む。ここで、論理サブブロック221は、物理レイヤ220の「デジタル」機能の役割を果たす。この点に関して、論理サブブロック221は、物理サブブロック222により送信される出力情報を準備するための送信セクションと、リンクレイヤ210に渡す前に受信した情報を特定及び準備するための受信セクションと、を含む。
物理ブロック222は、送信機及び受信機を含む。送信機には、論理サブブロック221によりシンボルが供給され、送信機は、シンボルをシリアル化して外部デバイスに送信する。受信機には、外部デバイスからシリアル化されたシンボルが供給され、受信機は、受信信号をビットストリームに変換する。ビットストリームは、シリアル化解除され、論理サブブロック221に供給される。例示的な一実施形態において、10ビットシンボルが送受信される場合、8b/10b伝送コードが使用される。ここで、フレーム223を含むパケットをフレーム化するために、特別なシンボルが使用される。加えて、一例において、受信機はまた、入力されたシリアルストリームから復元されたシンボルクロックを提供する。
上述したように、トランザクションレイヤ205、リンクレイヤ210、及び物理レイヤ220が、プロトコルスタックの特定の実施形態(PCIeプロトコルスタック等)を参照して説明されたが、階層化プロトコルスタックは、これに限定されるものではない。実際、任意の階層化プロトコルが、含まれてもよく/実装されてもよく、本明細書で説明した特徴に加えて、他の追加的特徴又は代替的特徴を採用してもよい。一例として、階層化プロトコルとして表されるポート/インタフェースは、(1)パケットを組み立てるための第1のレイヤ、すなわち、トランザクションレイヤ、(2)パケットをシーケンス化するための第2のレイヤ、すなわち、リンクレイヤ、及び(3)パケットを送信するための第3のレイヤ、すなわち、物理レイヤを含み得る。具体例として、本明細書で説明する高性能インターコネクト階層化プロトコルが利用される。
次に図3を参照すると、シリアルポイントツーポイントファブリックの例示的な一実施形態が示されている。シリアルポイントツーポイントリンク305は、シリアルデータを伝送するための任意の伝送パスを含み得る。したがって、デバイスは、データを別のデバイスに送信するための送信ロジックと、データを別のデバイスから受信するための受信ロジックと、を有することができる。すなわち、2つの伝送パス(例えば、1つはアップストリーム用であり、もう1つはダウンストリーム用である)が、リンク305のいくつかの実装に含まれ得る。
伝送パスとは、伝送回線、銅回線、光回線、無線通信チャネル、赤外線通信リンク、又は他の通信パス等の、データを伝送するための任意のパスを指す。リンクは、1つのレーンをサポートすることができる(各レーンは、差動信号ペアのセット(送信用の1つのペアと受信用の1つのペア)を表す)。帯域幅をスケーリングするために、リンクは、(例えばm及びnにより示される)複数のレーンを集約することができる。ここで、レーンの数は、1、2、4、8、12、16、32、64個のレーン又はさらに広いレーン等、リンク305のサポートされる可能なリンク幅を表す。
図3の特定の例において、デバイスは、ポート310を有し、ポート310を利用して、リンク305を容易にすることができる。ポート310は、リンク305を介して、別のエンドポイントデバイスのポート315とデータを通信することができる。一実施形態において、ポート310は、送信ポート320及び受信ポート325を含み得る。さらに、送信ポート320をダウンストリームサブリンク330において利用して、対応するレーン(例えばレーン0〜m)を介して、データを他のデバイスに送信することができる。同様に、受信ポート325は、他のデバイスから、アップストリームサブリンク335(レーン0〜nを含む)を介して、データを受信することができる。
いくつかのリンクは、差動ペアを利用して、差動信号を伝送するための2つの伝送パスを実現することができる。一例として、第1の回線が、低電圧レベルから高電圧レベルに切り替わるとき、すなわち、立ち上がりエッジのとき、他の回線は、高論理レベルから低論理レベルに遷移し得る、すなわち、立ち下がりエッジになり得る。差動信号は、数ある例示的な利点の中でもとりわけ、潜在的に、より良好な信号インテグリティすなわちクロスカップリング(cross-coupling)、電圧オーバーシュート/アンダーシュート、リンギング(ringing)等のより良好な電気特性を示し得る。これは、数ある潜在的利点の中でもとりわけ、より良好なタイミングウィンドウ(timing window)を可能にし、これは、より高速な伝送周波数を可能にする。
一実施形態において、例えば、リンクの特性を適応させて構成するための定められたスーパーシーケンス(supersequence)との関連で、トレーニングシーケンス、オーダードセット(ordered set)、及び制御シーケンスのうちの1以上の送信を含むリンクトレーニングが提供され得る。適応の場合、レーンの電気特性が、例えば、送信機と受信機との間で伝送されるサンプルデータに基づいて、送信機と受信機との間で調整され得る。例えば、受信機適応(receiver adaptation)は、受信機においてリンクのレーンを適応させるために、送信機が、ロジックを含むデータパターンを受信機に送信することと、受信機が、電気特性を調整することと、を含み得る。送信機適応(transmitter adaptation)は、送信機においてレーンを適応させるために、送信機が、サンプルデータを受信機に送信することと、受信機が、調整を行うために送信機により使用され得るフィードバックを送信機に送信することと、を含み得る。受信機は、送信機において行われた調整に基づいて、フィードバックを送信し続けることができる。同じスーパーシーケンスを受信する送信デバイス及び受信デバイスの両方により、各デバイスは、スーパーシーケンスを利用して、さらなる初期化タスクをさらに行うことができる。例えば、各デバイスは、スーパーシーケンスを利用して、デバウンス、ビットロック、バイトロック、デスクランブル、及びデスキューを行うことができる。さらなる初期化情報は、スーパーシーケンスに含まれるTSのヘッダ及びペイロードを通じて通信され得る。
いくつかの例において、スーパーシーケンスの一部は、(数ある例の中でもとりわけ、例えば、シーケンスビットを擬似ランダムビットシーケンス(PRBS)とXOR演算することにより)スクランブルされ得る。一実施形態において、オーダードセット及び制御シーケンスは、スクランブル又はスタガーされず、全てのレーン上で、同一且つ同時に全て伝送される。オーダードセットの有効な受信(valid reception)は、オーダードセットの少なくとも一部(又は、複数の部分的オーダードセットのあるオーダードセットの全体)のチェックを含み得る。オーダードセットは、電気的アイドルオーダードセット(EIOS:electrical idle ordered set)又はEIEOS等の電気的オーダードセット(EOS:electrically ordered set、electrical ordered set)を含み得る。一実施形態において、スーパーシーケンスは、トレーニングシーケンスストリーム内のEIEOS等のEOSの挿入を含み得、スーパーシーケンス(及び電気的オーダードセット)は、短間隔(例えば、およそ千単位(one-thousand unit)間隔(又は、〜1KUI))で繰り返され得る。トレーニングスーパーシーケンスは、デスキュー、構成、初期化ターゲットの通信、レーンマップ等のうちの1以上のために使用され得る。EIEOSは、数ある例の中でもとりわけ、非アクティブ状態からアクティブ状態にレーンを遷移させること、良好なレーンをスクリーニングすること、シンボル及びTS境界を特定することのうちの1以上のために使用され得る。シーケンスのスクランブルされた部分は、例えば、数ある例示的なタスクの中でもとりわけ、適応、デスキュー等の他の構成タスクを円滑にするために使用され得る。
いくつかの実装において、遅延修正(latency fixing)も提供され得る。遅延は、伝送媒体によりもたらされる遅延だけでなく、リンクの他の側にあるエージェントによる処理から生じる遅延も含み得る。レーンの遅延は、リンクの初期化中に判別され得る。さらに、遅延の変化も判別され得る。判別された遅延から、遅延修正を開始して、そのような変化を補償し、レーンの予想された遅延を一定の予想値に戻すことができる。レーン上の一貫した遅延を維持することは、数あるファクタの中でもとりわけ、いくつかのシステムにおいてデターミニズム(determinism)を維持することにとって重要である。
近接技術を用いることにより、デバイス間の通信を容易にすることができる。近接通信は、デバイス間の無線ネットワーク接続を容易にするために、それらのデバイスを(例えば、ミリセンチメートル又はインチのオーダーで)近付けることを必要とし得る。いくつかの場合において、無線接続を容易にするために、デバイスは、互いと接触される(あるいは、ほぼ接触される)必要がある。近接ネットワーク技術は、従来の近距離無線通信(NFC)に加えて、高帯域幅近接接続を可能にする高周波数技術等の例も含み得る。例えば、いくつかの例において、近距離無線通信リンクとは、数ある例の中でもとりわけ、送信アンテナと受信アンテナとの間の距離が、大まかに、2D/lambda(Dは放射源の最大寸法であり、lambdaは波長である)未満である、送信アンテナと受信アンテナとの間の無線リンクを指すことがある。一実装において、ミリメートル波(EHF)信号をキャリアとして利用し、適切な変調方法を用いて、高帯域幅を維持しながら、近距離無線接続又は他の近接無線接続を介してデータを送信することができる。例えば、新たな近接技術は、100Mbps以下の低速技術(例えば、I2C、I2S、GPIO)からマルチGbps高速プロトコル(例えば、USB3、PCIe)に至る範囲の通信プロトコルのための媒体としての役割を果たすことができる。
デバイスは、物理コネクタを用いることなくデバイス間通信を容易にするために、近接技術を組み込むことができる。この特徴により、物理的開口のフォームファクタを有さない(あるいは、少しの物理的開口しか有さない)デバイスを開発することが可能になり、これにより、なめらかで防水性の高い、あるいは、他の例示的な利点を有することができる、より魅力的な工業デザインが可能になる。高速近接技術は、そのような接続の使用を拡大させることができる。なぜならば、高速近接技術は、数ある例の中でもとりわけ、PCIe、QPI、高精細度マルチメディアインタフェース(HDMI(登録商標))、Thunderbolt等の人気の高い高速プロトコルをサポートする可能性を有しているからである。既存の近接技術は、その能力において、スケーリング及び相互運用に制限されている。例えば、既存の近接技術は、数ある例示的な欠点の中でもとりわけ、各リンクパートナによりサポートされている異なるプロトコル及び機能を発見するためのスケーラブルなフレームワークを有していない。一例として、既存の近接ソリューションは、機能及びユースケースの限定されたサブセットに対するサポートをハードコードする傾向にある。例えば、近接通信サポートは、特定のモードをサポートしてリンクパートナの特定のクラス(例えば、デバイスの対応するドック)と通信するためだけにハードコードされ得る。
上記の例示的な欠点のうちの少なくともいくつかに対処するための機能を含むソリューションが提供され得る。例えば、近接無線接続を容易にすることができるシステムが提供され得る。このシステムは、2つのデバイスが、構成及びモードを通信して、複数の利用可能なプロトコルの中から、近接無線接続を介した通信において使用される特定のプロトコルを決定することを可能にする。いくつかの例において、既存のプロトコルの一部(及びプロトコルを実装するために使用されるハードウェア)を利用して、近接無線通信を介したデバイス間の通信のためのコントラクト(contract)のネゴシエーションを容易にするのを支援することができる。そのようなプロトコルは、数ある例の中でもとりわけ、USB Type−C等のユニバーサルI/Oソリューションを確立することを目的とするプロトコルを含み得る。
図4に移ると、スマートフォン又は他のモバイルコンピューティングデバイス等の例示的なエンドポイントコンピューティングデバイス405を示す簡略化されたブロック図400が示されている。コンピューティングデバイス405は、近接通信モジュールを有する。近接通信モジュールは、複数の異なるコンピューティングデバイス(例えば、410、415、420、425、430、435)との通信において使用される複数の異なるモード及びプロトコルのネゴシエーション及び構成を容易にすることができる。例えば、数ある例の中でもとりわけ、プリンタ410、外部メモリデバイス415、及びディスプレイデバイス420等の多種多様な従来のパーソナルコンピューティングペリフェラルのうちの1つとの近接無線接続が確立され得る。他のデバイス(例えば、410、415、420、425、430、435)とのデバイス405の接続のうちのいくつかにおいては、異なるプロトコルが利用され得る。デバイス405は、デバイス405の近接通信モジュールを利用して、数ある例の中でもとりわけ、自動車(例えば、425)のオンボードコンピューティングシステム、家庭用スマートアプライアンス、産業用スマートアプライアンス、ホームオートメーションシステム等の従来型でないコンピューティングデバイスにさらに接続することができる。さらに、デバイス405は、他のスマートフォン、タブレット、ラップトップ、デスクトップ、セットトップボックス、ゲームシステム、及び同様のもの等の他のパーソナルコンピューティングデバイス及びホスト(例えば、430、435)と通信することができる。他のデバイス(例えば、410、415、420、425、430、435)は、それぞれの近接通信モジュールを用いて、コンピューティングデバイス405と通信する。実際、これらの他のコンピューティングデバイスのうちの1以上(例えば、430)は、他のデバイス(例えば、410、415、420、425、435)とペアリングして、それぞれの近接無線通信チャネルを介して他のデバイス(例えば、410、415、420、425、435)と通信することができる。
一実装において、2つのデバイス(例えば、405と、410、415、420、425、430、435のうちのいずれか1つ)の間の通信セッションにおけるモード及び役割(role)のネゴシエーションを容易にするためのプロトコルが提供され得る。いくつかの例において、デバイス405は、ホストとして動作できるのに対し、デバイス405が接続する他のデバイス(例えば、プリンタ410)は、アクセサリ又はハブ(例えば、USB「デバイス」)の役割を担う。他の例では、近接無線チャネルを介して通信するデバイスは両方とも、数ある例の中でもとりわけ、ホスト役割を担うことができる。
さらに他の例では、デバイスは、アダプタデバイスを用いる別のデバイスと通信することができる。アダプタデバイスは、デバイス405と通信するための近接通信モジュールと、別のデバイスのレガシポートに接続するための有線コネクタと、を含み得る。それにより、デバイス405は、デバイス405の近接通信モジュールを利用して、アダプタデバイスを用いる別のデバイスに接続することができる。アダプタデバイスは、数ある例の中でもとりわけ、別のデバイスとデバイス405との間の無線接続ポイントとして機能する。
図5に移ると、第1のリンクパートナ505(例えば、コンピューティングデバイス405)及び他のリンクパートナ510(例えば、デバイス410、415、420、425、430、435のうちの1つ)の例示的な実装を示すブロック図500が示されている。リンクパートナ505は、システムオンチップ(SoC)515及び近接通信モジュール520を有し、SoC515及び近接通信モジュール520を統合することができる。近接通信モジュール520は、近接無線チャネルを介して無線信号を送受信するための近接無線機及びアンテナを含み得る。SoC515は、伝送媒体として近接無線チャネルを使用する第1のリンクパートナ505の様々な低速I/Oコンポーネント及び高速I/Oコンポーネントをサポートするコンポーネントを集積することができる。SoCは、数ある例の中でもとりわけ、モノシリックシングルチップSoC又は複数のチップとして実装することができる。
他のリンクパートナ(例えば、510)との近接無線通信の確立を容易にするロジックが、リンクパートナ505のコンポーネントのうちの1以上及び/又は近接無線通信モジュール520に含まれ得る。他のリンクパートナ510も同様に、近接通信モジュール525及び対応するロジックを有することができる。そのようなロジックは、アソシエーション時におけるリンクパートナの機能の動的発見をサポートし、近接無線接続を介して使用される対応するプロトコルをネゴシエートするために、ハードウェア及び/又はソフトウェアにより実装され得る。リンクパートナの機能を動的に発見することにより、接続ロジックは、リンクパートナの適切なホスト/デバイス役割を適切に担い、リンクパートナと通信する際に使用するために、1つ(又は複数)の代替プロトコルを採用するかどうかを判定し、それにより、適切な通信を確立することができる。さらに、このロジックは、1つの通信プロトコルユースケースのために近接通信をハードコードする必要性をなくし、且つ、多様な使用にわたる相互運用性を著しく向上させることができる近接通信フレームワークをサポートすることができる。
近接通信モジュール(例えば、520、525)は、近接無線リンクのための媒体を実装することができ、近接無線リンクを介した高速データ伝送及び低速データ伝送の両方のための機能を含み得る。近接無線機は、SoC515を用いて、(例えば低速ポート530からの)低速信号を、近接無線リンクを介する無線信号に変換することができ、同様に、SoC515を用いて、到来する低周波無線信号を、集積されたSoC(及び他のコンポーネント)により用いられる信号に変換することができる。近接無線機は、同様に、無線送信のための高速送信ポート(例えば、535)からの信号を変換することができ、高速受信ポート540用の高速無線信号を受信することができる。
一例において、近接通信モジュール520は、特にポート530、535、540のために提供され得る。さらに、近接通信モジュール520は、近接通信リンクの多数の高速レーン545を用いて送受信されるデータをサポートする近接通信リンクの開始及び構成を実行するよう構成され得る。近接無線リンクが確立されると、さらなる近接無線機(すなわち、無線機及びアンテナ)(例えば、550、555)が呼び出され、さらなる近接無線機を利用して、近接無線リンクを介してデータを通信することができる。それに対応して、リンクパートナ510も同様に、相手のリンクパートナのさらなる無線機(例えば、550、555)と通信するための複数の近接無線機(例えば、560、565)を有することができる。
図6に移ると、近接無線通信リンクの確立及び使用における例示的な技法を表すフローチャート600が示されている。例えば、開始ステップ605は、近接無線リンクのネゴシエーションを開始することができる。いくつかの実装において、開始ステップ605は、デバイスが、ビーコンプロトコル(beaconing protocol)を用いてリンクパートナの存在を識別することを含み得る。ビーコンプロトコルは、リンクデバイスが、近接プロトコルをサポートしている別のデバイス(すなわち、潜在的リンクパートナ)に近接していることを検出する際に使用されるよう構成され得る。実際には、ビーコンプロトコルは、近接伝送に専用であってもよい。いくつかの例において、リンクパートナをデバイスの数センチメートル以内に移動させることにより、そのリンクパートナを、そのデバイスと近接状態にさせることができる。他の例では、数ある例の中でもとりわけ、デバイスが、リンクパートナと少なくとも一部が物理的に接触されるまで、適切な近接状態が検出されない。
両リンクパートナデバイスが、1以上の開始ステップ605を通じて、他方の存在及び互換性を検出した後、それらのデバイスは、チャネル構成エントリハンドシェーク610を実行することができる。チャネル構成エントリハンドシェーク610は、チャネル構成モードへのエントリを示すために実行され得る。一例において、ハンドシェーク610は、近接リンクを介する予め定められた低速データシーケンス(例えば、「0101」)の送信を含み得る。開始ステップ605の後、(例えば、620に)進む前に、リンクパートナは、このデータシーケンスを送信することができ、各デバイスは、相手のリンクパートナからのこのデータシーケンスの受信をモニタリングする(例えば、615)。いくつかの実装において、このデータシーケンスは、デバイスの無線機とSoCとの間の低速I/Oインタフェース(例えば、汎用入力/出力(GPIO)インタフェース)を介して、送受信され得る。さらに、いくつかの実装では、チャネル構成モード又はチャネル構成状態への両リンクパートナのエントリ(例えば、620)を調整することに加えて、両リンクパートナ間で、ある程度のチャネル調整(channel conditioning)及びリンク適応を促進しネゴシエートすることを可能にするために、より複雑なデータシーケンスが伝送され得る。例えば、このデータシーケンスは、電気的オーダードセット、一連のトレーニングシーケンスに類似するクオリティ(quality)を含んでもよいし、そのようなクオリティから構成されてもよいし、あるいは、数ある例の中でもとりわけ、同期化又はデスキュー等の、リンクパートナの様々な適応タスクの実行を可能にするためのクオリティを含む別のデータシーケンスを含んでもよいし、そのようなデータシーケンスから構成されてもよい。
チャネル構成状態にある間、各リンクパートナは、それぞれのチャネル構成プリファレンス又はチャネル構成モードを、相手のリンクパートナに送信することができる。例えば、ハンドシェーク610の後、各リンクパートナは、対応するデバイスが通信において担うことを意図しているモードを示す予め定義された反復コード(repeating pre-defined encoding)を含む信号を送信することができる。いくつかの例において、このような信号は、低速インタフェースを介する低速信号として送受信され得る。一例として、表1は、単純化された一実装における、構成段階620中に使用され得る例示的なコード値を含む。これらは、可能な例示的な実装を示すためだけに提示されているに過ぎず、本明細書で説明する主題から逸脱することがなければ、代替コードが利用されてもよいことを理解すべきである。例えば、さらなるモードをサポートするために、より長いコードが定義されてもよい。実際、数ある考慮事項の中でもとりわけ、新たなモードが定義又は追加されるように、サポートされるモードのセットを拡張することを可能にするコード値を定義することができる。
Figure 0006092353
表1の例により示されるように、モードは、リンクパートナのタイプに対応し得る。いくつかの場合において、デバイスは、複数のモードをサポートすることができ、通知されるモードは、デバイスの現在の使用を反映し得る。例えば、ユーザは、特定のモードでデバイスを使用することを選択することができる。他の例では、モードは、デバイスの検出されたコンテキストに基づいて、自動的に設定されてもよい。コンテキストは、デバイスにより使用されているアプリケーションに関連し得、数ある例の中でもとりわけ、デバイスの状態を説明するデータから発見され得る。さらに、モードは、相手のリンクパートナにより通知されるモードに依存し得る。例えば、いくつかの実装において、リンクパートナは、相手のリンクパートナにより通知された招待モード(complimentary mode)に基づいて、且つその招待モードに応じて、複数のサポートされているモードの中から、相手のリンクパートナに通知される特定のモードを決定することができる。
相手のリンクパートナの通知されたモードを受信して適切に解釈すると、デバイスは、(例えば、625において)構成状態イグジット信号(configuration state exit signal)を送信することにより、通知信号の受信が成功したことを示すことができる。このイグジット信号は、イグジットハンドシェーク625に関連するものとして送信され得る。例えば、イグジットハンドシェーク625は、チャネル構成状態からのイグジットを示すために実行され得る。例示的な一実装において、低周波イグジットハンドシェーク信号(例えば、「1010」)は、同じシーケンスが近接無線チャネルを介してリンクパートナから受信されるまで、送信され得る。いくつかの例において、このシーケンスは、デバイスの無線機とSoCとの間のGPIOインタフェースを用いて送受信され得る。(例えば、630において、)各デバイスが、他のデバイスからこのハンドシェーク信号を受信して識別したときに、両デバイスは、チャネル構成モードから出ることができる。
いくつかの実装において、デバイスの相手のリンクパートナの動作モードを識別することにより、そのデバイスは、近接無線チャネルを介してそのリンクパートナとどのように通信して相互動作するかを特定することが可能になる。これは、そのリンクパートナの動作モードに基づく、特定のプロトコルの選択、又は、その特定のプロトコルのサブ機能の実行を含み得る。例えば、両デバイスは、1つのプロトコルしかサポートしていないことがあり、そのプロトコルの機能の完全なセットのサブセットしか、それらデバイスのうちの少なくとも一方によりサポートされていないことがある(例えば、USBの場合、機能は、数ある例の中でもとりわけ、役割(例えば、ホスト役割のみ/デバイス役割のみ/両方の役割)及び速度(例えば、高速、超高速、3.1)を含み得る)。デバイスの相手のリンクパートナは、自身がサポートしているプロトコル及び/又はプロトコル機能について、同様に決定することができる。いくつかの場合において、両リンクパートナにより通知された役割又はモードの組合せは、リンク上で使用される特定の通信プロトコル又は方法にマッピングされ得る。例えば、第1のリンクパートナは、第1のモードを通知することがあり、第2のリンクパートナは、第2のモードを通知することがある。第1のリンクパートナ及び第2のリンクパートナの各々は、自身のモードを理解しており、他方のリンクパートナのモードを受信するので、各リンクパートナは、セッションにおいて伴われるモードのペアを理解する。モードのこの組合せ又はペアリングに基づいて、両デバイスはそれぞれ、使用すべき同じ適切な通信プロトコル(及び/又はプロトコル機能)を特定することができる。次いで、両デバイスは、メイン機能モード(例えば、645)に進み、特定されたプロトコルに従って、リンクを介する通信を開始することができる。
他の実装では、リンクの構成が、複数の段階で生じてもよい。例えば、チャネル構成段階(例えば、620)に加えて、2つのリンクパートナは、さらなる段階(例えば、650)を利用して、より細かいレベルでリンクを構成し、且つ、代替プロトコル、プロトコル機能、及びモード(又は、早期構成段階(例えば、620)中に特定されたモード又はプロトコルのサブプロトコル又はサブモード)を可能にするために、リンクの構成のネゴシエーションを続けることを試みることができる。一例として、少なくともいくつかのリンクパートナによりサポートされるプロトコルネゴシエーションモードが提供され得る。このより細かいネゴシエーションをサポートしていないデバイスのために、(例えば、640において、)リンクパートナがそれぞれプロトコルネゴシエーションモードをサポートしているかどうかを最初に確認することにより、後方互換性が保たれ得る。例えば、チャネル構成段階から出ると(625)、各リンクパートナは、コード化された信号を通じて、各リンクパートナがさらなるプロトコルネゴシエーション段階をサポートしているかどうかを通知することができる。このプロトコルネゴシエーション段階は、特定の通信プロトコルに従う信号及びメッセージの送信を含み得、デバイスがこのプロトコルネゴシエーション段階に入ることができるかどうかは、この特定のプロトコルをサポートするデバイスの能力に依存し得る。一例において、リンクパートナは、ハンドシェークを通じて、このプロトコルネゴシエーション段階(例えば、650)の自身のサポートを通知することができる。例えば、第1の信号は、このプロトコルネゴシエーション段階が送信デバイスによりサポートされていることを示すことができるのに対し、第2の信号は、このプロトコルネゴシエーション段階がサポートされていないことを示す。表2は、プロトコルネゴシエーション段階ハンドシェークシグナリングの例示的な一実装を示しているが、他の実装は、数ある例の中でもとりわけ、代替シグナリング値及び代替ハンドシェークプロトコルを採用してもよい。一例において、(例えば、640において、)2つのリンクパートナのうちいずれか一方が、このプロトコルネゴシエーションモードをサポートしていないと通知した場合、両リンクパートナは、以前の1以上のリンク構成段階(例えば、620)の結果だけに基づいて、リンク構成を終了させることができる。しかしながら、両デバイスが、プロトコルネゴシエーション段階650を実施する場合、それらのデバイスは、(例えば、635、640における)ハンドシェークに基づいて、このプロトコルネゴシエーション段階に入ることができる。
Figure 0006092353
いくつかの実装において、プロトコルネゴシエーション段階650は、より洗練されたコード(more sophisticated encoding)を含むパケット化されたデータ及び/又はメッセージの送信を含み得る。さらに、いくつかの例では、より高速なデータ伝送を利用して、デバイス間でプロトコルネゴシエーション段階メッセージを送信することができる(しかしながら、低速シグナリングが、代わりに利用されてもよい)。一例において、以前のリンク構成段階(例えば、620)において通知されたデバイスのモードを利用して、どの通信プロトコル及びプロトコル機能が、デバイス間の通信において使用するのに適しているかを各デバイスに通知することができる。例えば、各デバイスは、自身のサポートプロトコルのうちの1以上を特定し、プロトコルネゴシエーションメッセージにおいて、サポートプロトコルのうちの好適なプロトコルを通知することができる。いくつかの例において、リンクパートナのうちの一方は、プロトコルネゴシエーションにおいて、マスタの役割を担うことができる。さらに、デバイスは、複数の高速通信プロトコルを含む複数の異なる通信プロトコルをサポートすることができる。そのようなプロトコルは、例えば、とりわけ、PCIe、USB、LLI(low latency interface)、Unipro、CSI(camera interface specification)、DSI(display serial interface)、QPI、HDMI(登録商標)、I2S(inter-IC sound)、DisplayPort、Thunderboltを含み得る。デバイスのモード及び/又はそのデバイスの相手のリンクパートナのモードに基づいて、そのデバイスは、複数のプロトコルから適切なプロトコルを選択し、そのプロトコルが近接無線接続を介した通信において採用されるべきであるとリクエストすることができる。デバイスはまた、プロトコルネゴシエーション段階において、リンクパートナによりサポートされているプロトコルを示すメッセージを受信することができ、両デバイスによりサポートされている特定のプロトコルを指示又は確認することができる。いくつかの実装において、近接無線通信は、デバイスのための統合無線I/Oとしての役割を果たすことができ、デバイスが、潜在的に、デバイスの複数のサポートされている通信プロトコルのうちのいずれか1つを介して多様なデバイスと通信できるようにする。
プロトコルネゴシエーション段階650中に利用される特定のプロトコルは、プロトコルネゴシエーションを終了させ、プロトコルネゴシエーション段階650から出るためのメッセージ及びステップを含み得る。いくつかの場合において、さらなる構成段階が、サポートされ得、リンクのメイン機能モード650に進む前に、プロトコルネゴシエーション段階650の結果に基づいて、さらなる構成段階に入ることができる。図6の特定の例において、プロトコルネゴシエーションモード650から出ると、両デバイスは、メイン機能モードに入り、前の構成ネゴシエーション段階620、650を通じてネゴシエートされたプロトコル及び構成コントラクト(configuration contract)に従って、近接無線通信チャネルを介して実体的な通信を交換することができる。メイン機能モード645は、ネゴシエートされたプロトコルの仕様(又は、仕様の無線バージョン)に従った高速シグナリングを含み得る。リンクが、複数の近接無線機の全て又はサブセットを用いて(図5の例に示される)複数のレーンのデータを通信する場合、それら近接無線機のうちの1つ(例えば、プライマリな近接無線通信モジュール及び無線機(例えば、520、525))は、ネゴシエーション段階に対応することができ、結果として生じるリンク構成に基づいて、メイン機能モードにおける(例えば、そのプライマリな無線機との)通信に対応させるために、任意の数の残りの無線機(例えば、550、555、560、565)を呼び出すことができる。
例示的な一実装において、リンクパートナのモード及びサポートされているプロトコルを動的に発見し、対応する近接無線リンクを構成するために利用される構成段階のうちの1以上において使用されるプロトコルは、USB3.1等の非無線通信プロトコルを含む他のプロトコルをサポートするために利用されるハードウェア及び原理に基づき得る。例示的な一例として、USB Type−C有線インフラストラクチャの少なくとも一部を利用して、近接無線チャネルにおける構成段階のうちの1以上を可能にすることができる。これにより、近接無線通信のために、Type−Cハードウェアプラットフォーム及びソフトウェアドライバを再利用することが可能になる。これはまた、数ある例の中でもとりわけ、Type−C物理コネクタのサポートを可能にするアダプタの設計を単純化させることができる。ハンドシェークコード及びシーケンス等、Type−Cプラットフォームの諸態様を再利用することができる。例えば、物理的接続の場合におけるType−Cコネクタの構成チャネル(CC)ピンにおいて見られるピンの電圧レベルは、(例えば、チャネル構成段階620において、)近接伝送を用いて、デジタル表現により通信される。さらに、USB電源供給(PD:power delivery)モードの諸態様を再利用して、数ある例の中でもとりわけ、プロトコルネゴシエーション段階(650)を容易にすることができる。一例として、USB PDプロトコルを利用して、数ある例の中でもとりわけ、高電圧充電及び代替プロトコルモードサポート等のさらなるオプションを通信することができる。
本明細書で説明した原理及び特徴は、数ある例の中でもとりわけ、メインフレーム、サーバシステム、パーソナルコンピュータ、モバイルコンピュータ(タブレット、スマートフォン、パーソナルデジタルシステム等)、スマートアプライアンス、ゲームコンソール又はエンターテイメントコンソール、及びセットトップボックスを含む様々なコンピューティングデバイスに組み込むことができる。例えば、図7は、命令を実行する実行ユニットを含むプロセッサを有するよう構成されている例示的なコンピュータシステムのブロック図を示している。図7において、本発明の一実施形態に従った1以上の特徴を実装しているインターコネクトのうちの1以上が示されている。システム700は、本明細書で説明した実施形態において等、本発明に従ってデータを処理するアルゴリズムを実行するロジックを含む実行ユニットを用いるプロセッサ702等のコンポーネントを含む。システム700は、PENTIUM(登録商標) III、PENTIUM(登録商標) 4、Xeon、Itanium、XScale、及び/又はStrongARMマイクロプロセッサに基づく処理システムを表しているが、他のシステム(他のマイクロプロセッサを有するPC、エンジニアリングワークステーション、セットトップボックス、及び同様のものを含む)が使用されてもよい。一実施形態において、例示的なシステム700は、ワシントン州レッドモンドのMicrosoft Corporationから入手可能なWINDOWS(登録商標)オペレーティングシステムのバージョンを実行するが、他のオペレーティングシステム(例えばUNIX(登録商標)及びLinux(登録商標))、組み込みソフトウェア、及び/又はグラフィカルユーザインタフェースが使用されてもよい。したがって、本発明の実施形態は、ハードウェア回路とソフトウェアとの特定の組合せに限定されるものではない。
実施形態は、コンピュータシステムに限定されるものではない。本発明の代替実施形態が、ハンドヘルドデバイス及び組み込みアプリケーション等の他のデバイスにおいて使用されてもよい。ハンドヘルドデバイスのいくつかの例は、携帯電話機、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末(PDA)、及びハンドヘルドPCを含む。組み込みアプリケーションは、マイクロコントローラ、デジタル信号プロセッサ(DSP)、システムオンチップ、ネットワークコンピュータ(NetPC)、セットトップボックス、ネットワークハブ、ワイドエリアネットワーク(WAN)スイッチ、又は、少なくとも1つの実施形態に従って1以上の命令を実行することができる任意の他のシステムを含み得る。
この図示される実施形態において、プロセッサ702は、少なくとも1つの命令を実行するためにアルゴリズムを実施する1以上の実行ユニット708を含む。一実施形態が、シングルプロセッサデスクトップシステム又はシングルプロセッササーバシステムのコンテキストにおいて説明され得るが、代替実施形態は、マルチプロセッサシステムに含まれてもよい。システム700は、「ハブ」システムアーキテクチャの一例である。コンピュータシステム700は、データ信号を処理するプロセッサ702を含む。例示的な一例として、プロセッサ702は、複合命令セットコンピュータ(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、命令セットの組合せを実装するプロセッサ、又は、例えばデジタル信号プロセッサ等の任意の他のプロセッサデバイスを含む。プロセッサ702は、プロセッサ702とシステム700内の他のコンポーネントとの間でデータ信号を伝送するプロセッサバス710に接続される。システム700の要素(例えば、グラフィックスアクセラレータ712、メモリコントローラハブ716、メモリ720、I/Oコントローラハブ724、無線トランシーバ726、フラッシュBIOS728、ネットワークコントローラ734、オーディオコントローラ736、シリアル拡張ポート738、I/Oコントローラ740等)は、当業者に周知である従来の機能を実行する。
一実施形態において、プロセッサ702は、レベル1(L1)内部キャッシュメモリ704を含む。アーキテクチャに応じて、プロセッサ702は、1つの内部キャッシュを有してもよいし、複数のレベルの内部キャッシュを有してもよい。他の実施形態は、特定の実装及び要求に応じて、内部キャッシュ及び外部キャッシュの両方の組合せを含む。レジスタファイル706は、整数レジスタ、浮動小数点レジスタ、ベクトルレジスタ、バンクレジスタ、シャドーレジスタ、チェックポイントレジスタ、ステータスレジスタ、及び命令ポインタレジスタを含む様々なレジスタに異なるタイプのデータを記憶する。
整数演算及び浮動小数点演算を実行するロジックを含む実行ユニット708は、プロセッサ702に存在する。一実施形態において、プロセッサ702は、マイクロコードを記憶するマイクロコードROM(ucode ROM)を含み、マイクロコードは、実行されたときに、所定のマクロ命令のためのアルゴリズムを実行する、あるいは、複雑なシナリオを処理する。ここで、マイクロコードは、潜在的に、プロセッサ702に対してロジックバグ/修正を処理するために更新可能である。一実施形態では、実行ユニット708は、圧縮命令セット(packed instruction set)709を処理するためのロジックを含む。汎用プロセッサ702の命令セットに圧縮命令セット709を含めることにより、命令を実行する関連回路とともに、多くのマルチメディアアプリケーションにより用いられるオペレーションが、汎用プロセッサ702内の圧縮データを用いて実行され得る。このように、多くのマルチメディアアプリケーションは、圧縮データに対してオペレーションを実行するためにプロセッサのデータバスの全幅を使用することにより、加速されて、より効率的に実行される。これにより、1以上のオペレーションを実行するために、一度に1データ要素ずつ、より小さな単位のデータをプロセッサのデータバスを介して転送する必要性が潜在的になくなる。
実行ユニット708の代替実施形態は、マイクロコントローラ、組み込みプロセッサ、グラフィックスデバイス、DSP、及び他のタイプのロジック回路で用いられてもよい。システム700は、メモリ720を含む。メモリ720は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリデバイス、又は他のメモリデバイスを含む。メモリ720は、プロセッサ702により実行される、データ信号により表される命令及び/又はデータを記憶する。
本発明の前述した特徴又は態様のうちの任意のものを、図7に示される1以上のインターコネクトに対して使用できることに留意されたい。例えば、プロセッサ702の内部ユニットを接続するためのオンダイインターコネクト(ODI)(図示せず)が、上述した本発明の1以上の態様を実装する。あるいは、本発明は、プロセッサバス710(例えば、他の既知の高性能コンピューティングインターコネクト)、メモリ720への高帯域幅メモリパス718、グラフィックスアクセラレータ712へのポイントツーポイントリンク(例えば、PCIe準拠ファブリック)、コントローラハブインターコネクト722、I/Oインターコネクト、又は他の図示されるコンポーネントを接続するための他のインターコネクト(例えば、USB、PCI、PCIe)に関連する。そのようなコンポーネントのいくつかの例は、オーディオコントローラ736、ファームウェアハブ(フラッシュBIOS)728、無線トランシーバ726、データストレージ723、ユーザ入力インタフェース及びキーボードインタフェース742を含むレガシI/Oコントローラ710、ユニバーサルシリアルバス(USB)等のシリアル拡張ポート738、及びネットワークコントローラ734を含む。データ記憶デバイス723は、ハードディスクドライブ、フロッピディスクドライブ、CD−ROMデバイス、フラッシュメモリデバイス、又は他の大容量記憶デバイスを含み得る。
次に図8に移ると、本発明に従ったシステムオンチップ(SOC)設計の一実施形態が示されている。具体的且つ例示的な例として、SOC800は、ユーザ機器(UE)に含まれる。一実施形態において、UEとは、ハンドヘルド電話機、スマートフォン、タブレット、超薄型ノートブック、ブロードバンドアダプタを有するノートブック、又は任意の他の同様の通信デバイス等、通信のためにエンドユーザにより使用される任意のデバイスを指す。しばしば、UEは、基地局又はノードに接続し、実際、GSM(登録商標)ネットワーク内の移動局(MS)に対応し得る。
ここで、SOC800は、2つのコア(806及び807)を含む。上記の説明と同様、コア806及び807は、Intel(登録商標)のArchitecture Coreベースのプロセッサ、Advanced Micro Devices, Inc.(AMD(登録商標))のプロセッサ、MIPSベースのプロセッサ、ARMベースのプロセッサ設計、又はこれらの顧客に加えて、これらの実施権者又は採用者等、命令セットアーキテクチャに従い得る。コア806及び807は、システム800の他の要素と通信するためにバスインタフェースユニット809及びL2キャッシュに関連付けられるキャッシュコントロール808に接続される。インターコネクト810は、IOSF、AMBA、又は上述した他のインターコネクト等のオンチップインターコネクトを含み、本明細書で説明した1以上の態様を実装することができる。
インターコネクト810は、加入者識別モジュール(SIM)カードとインタフェースをとるSIM830、SOC800を初期化及びブートするためにコア806及び807により実行されるブートコードを保持するブートROM835、外部メモリ(例えばDRAM860)とインタフェースをとるSDRAMコントローラ840、不揮発性メモリ(例えばフラッシュ865)とインタフェースをとるフラッシュコントローラ845、ペリフェラルとインタフェースをとるペリフェラルコントロール850(例えばシリアルペリフェラルインタフェース)、入力(例えばタッチ対応入力)を表示して受け取るためのビデオコーデック820及びビデオインタフェース825、グラフィックス関連計算を実行するGPU815等といった他のコンポーネントへの通信チャネルを提供する。これらのインタフェースのうちのいずれも、本明細書で説明した本発明の諸態様を組み込むことができる。
加えて、このシステムは、Bluetooth(登録商標)モジュール870、3Gモデム875、GPS885、及びWiFi(登録商標)885等の通信用ペリフェラルを示している。上述したように、UEは、通信用無線機を含むことに留意されたい。結果として、これらのペリフェラル通信モジュールの全てが必要であるとは限らない。しかしながら、UEのある形態では、外部通信用無線機が含まれる。
限定された数の実施形態を参照して本発明について説明したが、当業者は、これら実施形態からの多数の変更形態及び変形形態を理解するであろう。添付の請求項は、本発明の真の主旨及び範囲内に属する全てのそのような変更形態及び変形形態をカバーすることが意図されている。
設計は、作成からシミュレーション、さらに製造までの様々な段階を経て行われ得る。設計を表すデータは、複数の態様でその設計を表し得る。まず、シミュレーションにおいて有用であるものとして、ハードウェア記述言語(HDL)又は別の機能記述言語を用いてハードウェアを表すことができる。さらに、設計プロセスのいくつかの段階において、ロジックゲート及び/又はトランジスタゲートを有する回路レベルモデルを作成することができる。さらに、ほとんどの設計は、ある段階において、ハードウェアモデルにおける様々なデバイスの物理的配置を表すデータのレベルに到達する。従来の半導体製造技術が使用される場合、ハードウェアモデルを表すデータは、集積回路を製造するために使用されるマスクの様々なマスク層上の様々な特徴の有無を示すデータであり得る。いくつかの実装において、そのようなデータは、グラフィックデータシステムII(GDS II)、オープンアートワークシステムインターチェンジスタンダード(OASIS)、又は同様のフォーマット等のデータベースファイルフォーマットで記憶され得る。
いくつかの実装において、ソフトウェアベースのハードウェアモデル、並びにHDLオブジェクト及び他の機能記述言語オブジェクトは、数ある例の中でもとりわけ、レジスタ転送言語(RTL)ファイルを含み得る。そのようなオブジェクトは、設計ツールが、HDLオブジェクト(又はモデル)を受け取り、記述されたハードウェアの属性のためにHDLオブジェクトを解析し、HDLオブジェクトから物理回路及び/又はオンチップレイアウトを判別できるように、マシンにより解析可能であり得る。設計ツールの出力を使用して、物理デバイスを製造することができる。例えば、設計ツールは、HDLオブジェクトから、HDLオブジェクトにおいてモデル化されたシステムを実現するために実装されるであろう数ある属性の中でもとりわけ、バス幅、レジスタ(サイズ及びタイプを含む)、メモリブロック、物理リンクパス、ファブリックトポロジ等、様々なハードウェア要素及び/又はファームウェア要素の構成を判別することができる。設計ツールは、システムオンチップ(SoC)及び他のハードウェアデバイスのトポロジ及びファブリック構成を判別するためのツールを含み得る。いくつかの例において、HDLオブジェクトを基礎として使用して、記述されたハードウェアを製造するために製造機器が使用できるモデル及び設計ファイルを作成することができる。実際、HDLオブジェクト自体が、記述されたハードウェアをもたらすために、入力として製造システムソフトウェアに提供され得る。
設計の任意の表現において、データは、任意の形態のマシン読み取り可能な媒体に記憶され得る。メモリ、又は、ディスク等の磁気ストレージ若しくは光ストレージが、情報を伝送するために変調又は生成された光波又は電波を介して伝送されるそのような情報を記憶するためのマシン読み取り可能な媒体であり得る。コード又は設計を示す、あるいはコード又は設計を搬送する電気搬送波が伝送される場合、電気信号のコピー、バッファリング、又は再伝送が実行される程度に、新たなコピーがなされる。したがって、通信プロバイダ又はネットワークプロバイダは、搬送波にエンコードされる情報等の、本開示の実施形態の技術を具現化する製品を、有体のマシン読み取り可能な媒体に、少なくとも一時的に記憶させることができる。
本明細書で用いられるモジュールとは、ハードウェア、ソフトウェア、及び/又はファームウェアの任意の組合せを指す。一例として、モジュールは、マイクロコントローラ等の、マイクロコントローラにより実行されるよう適合されたコードを記憶する非一時的な媒体に関連付けられたハードウェアを含む。したがって、一実施形態において、モジュールとは、非一時的な媒体に保持されるコードを認識及び/又は実行するよう特に構成されているハードウェアを指す。さらに、別の実施形態において、モジュールとは、予め定められたオペレーションを実行するためにマイクロコントローラにより実行されるよう特に適合されているコードを含む非一時的な媒体を指す。また、推測できるように、さらに別の実施形態では、(この例における)用語モジュールとは、マイクロコントローラと非一時的な媒体との組合せを指すこともある。しばしば、別のものとして示されるモジュール境界は、変わるものであり、オーバーラップすることもある。例えば、第1のモジュール及び第2のモジュールは、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組合せを共有することがあるのに対し、何らかの独立したハードウェア、ソフトウェア、又はファームウェアを保有することもある。一実施形態において、用語ロジックの使用は、トランジスタ、レジスタ、又は、プログラマブルロジックデバイス等の他のハードウェアといったハードウェアを含む。
一実施形態において、語句「〜よう構成されている」の使用は、指定又は決定されたタスクを実行するために、装置、ハードウェア、ロジック、又は要素の配置、集約、製造、販売の申出、輸入及び/又は設計を行うことを指す。この例において、動作していない装置又は装置の要素は、指定されたタスクを実行するよう設計、結合、及び/又は相互接続されている場合、指定されたタスクを実行するようなお「構成されている」。純粋に例示的な例として、ロジックゲートは、動作中、0又は1を供給し得る。しかしながら、クロックにイネーブル信号を供給する「よう構成されている」ロジックゲートは、1又は0を供給し得る全ての潜在的なロジックゲートを含むわけではない。代わりに、ロジックゲートは、動作中、1又は0の出力がクロックをイネーブルする何らかの形で結合されるものである。再度、用語「〜よう構成されている」の使用は、動作を必要としないが、代わりに、装置、ハードウェア、及び/又は要素の潜在的状態にフォーカスする。ここで、潜在的状態においては、装置、ハードウェア、及び/又は要素は、装置、ハードウェア、及び/又は要素が動作しているときに特定のタスクを実行するよう意図されている。
さらに、一実施形態において、語句「〜することができる」及び/又は語句「〜するよう動作可能な」の使用は、指定された態様で、装置、ロジック、ハードウェア、及び/又は要素の使用を可能にするように意図されている、装置、ロジック、ハードウェア、及び/又は要素を指す。一実施形態において、「〜することができる」又は「〜するよう動作可能な」の使用は、上述のように、装置、ロジック、ハードウェア、及び/又は要素の潜在的状態を指し、ここで、潜在的状態においては、装置、ロジック、ハードウェア、及び/又は要素は、動作していないが、指定された態様で、装置の使用を可能にするように意図されている。
本明細書で用いられる値は、数、状態、論理状態、又は二値論理状態の任意の既知の表現を含む。しばしば、ロジックレベル、ロジック値、又は論理値の使用は、単に二値ロジック状態を表す1及び0として表される。例えば、1は、高論理レベルを指し、0は、低論理レベルを指す。一実施形態において、トランジスタ又はフラッシュセル等の記憶セルは、1つの論理値又は複数の論理値を保持することができる。しかしながら、コンピュータシステムにおいて、値の他の表現が使用されている。例えば、十進数10は、二進数1010及び十六進数Aとして表すこともできる。したがって、値は、コンピュータシステム内で保持することができる情報の任意の表現を含む。
さらに、状態は、値又は値の一部により表され得る。一例として、論理1等の第1の値は、デフォルト状態又は初期状態を表し得る一方で、論理0等の第2の値は、非デフォルト状態を表し得る。加えて、一実施形態において、用語リセット及び用語セットとはそれぞれ、デフォルト値又はデフォルト状態、及び、更新された値又は更新された状態を指す。例えば、デフォルト値は、潜在的に、高論理値(すなわちリセット)を含む一方で、更新された値は、潜在的に、低論理値(すなわちセット)を含む。値の任意の組合せを利用して、任意の数の状態を表すことができることに留意されたい。
上記の方法、ハードウェア、ソフトウェア、ファームウェア、又はコードセットの実施形態は、処理要素により実行可能である、マシンアクセス可能な媒体、マシン読み取り可能な媒体、コンピュータアクセス可能な媒体、又はコンピュータ読み取り可能な媒体に記憶された命令又はコードを介して実施することができる。非一時的なマシンアクセス可能/読み取り可能な媒体は、コンピュータ又は電子システム等のマシンにより読み取り可能な形で情報を提供する(すなわち、記憶及び/又は伝送する)任意の機構を含む。例えば、非一時的なマシンアクセス可能な媒体は、スタティックRAM(SRAM)又はダイナミックRAM(DRAM)等のRAM、ROM、磁気記憶媒体又は光記憶媒体、フラッシュメモリデバイス、電気記憶デバイス、光記憶デバイス、音響記憶デバイス、一時的な(伝搬)信号(例えば、搬送波、赤外線信号、デジタル信号)から受け取られた情報を保持する他の形態の記憶デバイス等を含む。これらは、そこから情報を受け取り得る非一時的な媒体と区別される。
本発明の実施形態を実施するようロジックをプログラムするために使用される命令は、DRAM、キャッシュ、フラッシュメモリ、又は他のストレージ等、システム内のメモリに記憶され得る。さらに、命令は、ネットワークを介して、あるいは、他のコンピュータ読み取り可能な媒体により配布されてもよい。したがって、マシン読み取り可能な媒体は、次のものに限定されるものではないが、フロッピディスク、光ディスク、コンパクトディスク読み取り専用メモリ(CD−ROM)、光磁気ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、磁気カード、光カード、フラッシュメモリ、又は、電気信号、光信号、音響信号、若しくは他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号等)によるインターネットを介した情報の伝送において使用される有体のマシン読み取り可能なストレージ等の、マシン(例えばコンピュータ)により読み取り可能な形で情報を記憶又は伝送する任意の機構を含み得る。したがって、コンピュータ読み取り可能な媒体は、マシン(例えばコンピュータ)により読み取り可能な形で電子的命令又は電子的情報を記憶又は伝送するのに適した任意のタイプの有体のマシン読み取り可能な媒体を含む。
以下の例は、本明細書に従った実施形態に関連する。1以上の実施形態が、方法、装置、システム、マシン読み取り可能なストレージ、マシン読み取り可能な媒体、ハードウェアベースのロジック及び/又はソフトウェアベースのロジック(例えばレーンモニタ)を提供できる。そのような実施形態において、近接通信モジュールは、第1のデバイスと第2のデバイスとの間で近接無線接続を開始し、チャネル構成モジュールは、前記近接無線接続を介して、前記第1のデバイスの1以上のサポートされているチャネル構成を前記第2のデバイスに通知する第1のデータを送信し、前記近接無線接続を介して、前記第2のデバイスの1以上のサポートされているチャネル構成を前記第1のデバイスに通知する第2のデータを受信する。前記第1のデータ及び前記第2のデータに基づいて、前記第1のデバイスの複数のモードの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のモードを決定するモードセレクタが提供される。
少なくとも1つの例において、複数の通信プロトコルの中から、前記第2のデバイスとの通信において使用される特定の通信プロトコルを決定するプロトコルセレクタが提供される。
少なくとも1つの例において、前記プロトコルセレクタは、前記第2のデバイスから信号を受信し、前記信号から、前記第2のデバイスが、ネゴシエーションプロトコルが使用されるプロトコルネゴシエーション段階をサポートしているかどうかを判定する。
少なくとも1つの例において、前記第2のデバイスが前記プロトコルネゴシエーション段階をサポートしているとの判定は、前記第1のデバイス及び前記第2のデバイスに、前記プロトコルネゴシエーション段階に入らせ、前記第1のデバイス及び前記第2のデバイスは、前記通信において使用される前記特定の通信プロトコルを決定するために、前記プロトコルネゴシエーション段階において、前記ネゴシエーションプロトコルに従ってメッセージを通信する。
少なくとも1つの例において、前記第2のデバイスが前記プロトコルネゴシエーション段階をサポートしていないとの判定は、前記特定のモードに少なくとも部分的に基づいて、前記通信において使用されるプロトコルを決定させる。
少なくとも1つの例において、前記ネゴシエーションプロトコルは、ユニバーサルシリアルバス(USB)電力供給(PD)プロトコルに基づくプロトコルを含む。
少なくとも1つの例において、前記第1のデバイスは、近接無線チャネルを介した通信において、前記複数の通信プロトコルのうちのいずれか1つの使用をサポートしている。
少なくとも1つの例において、前記複数のモードは、ホストモード、デバイスモード、及びアダプタモードを含む。
少なくとも1つの例において、前記特定のモードに従って、前記近接無線接続を介して前記第2のデバイスに特定のデータを送信する送信機が提供される。
少なくとも1つの例において、前記特定のデータは、前記第2のデータから前記第2のデバイスのために決定されたモードにさらに基づいて送信される。
少なくとも1つの例において、前記送信機は、前記特定のデータを送信するために複数の近接無線機を使用し、前記複数の近接無線機は、前記第1のデバイスの物理チャネルのリンク幅に対応する。
少なくとも1つの例において、前記第1のデータ及び前記第2のデータは、チャネル構成段階において送信され、前記第1のデバイス及び前記第2のデバイスは、対応するハンドシェークを用いて、前記チャネル構成段階に入り、前記チャネル構成段階から出る。
1以上の実施形態が、方法、装置、システム、マシン読み取り可能なストレージ、マシン読み取り可能な媒体、ハードウェアベースのロジック及び/又はソフトウェアベースのロジック(例えばレーンモニタ)を提供できる。そのような実施形態において、近接無線接続を介して別のデバイスと通信するための無線送信機及び無線受信機を含む近接通信モジュールが提供される。前記近接無線接続を介して、特定のデバイスによりサポートされている1以上のサポートされているインターコネクトプロトコルを前記別のデバイスに通知する第1のデータを送信し、前記近接無線接続を介して、前記別のデバイスによりサポートされている1以上のインターコネクトプロトコルを前記特定のデバイスに通知する第2のデータを受信し、複数のインターコネクトプロトコルの中から、前記近接無線接続を介した前記特定のデバイスと前記別のデバイスとの間の通信において使用される、前記特定のデバイス及び前記別のデバイスの両方によりサポートされている少なくとも1つの特定のインターコネクトプロトコルを選択するプロトコル構成モジュールが提供され得る。
少なくとも1つの例において、前記複数のインターコネクトプロトコルは、HDMI(登録商標)、USB、及びPCIeを含む。
少なくとも1つの例において、前記第1のデータ及び前記第2のデータはそれぞれ、プロトコルネゴシエーションプロトコルに従って前記近接無線接続を介して伝送される1以上のメッセージを含む。
少なくとも1つの例において、前記プロトコル構成モジュールは、前記プロトコルネゴシエーションプロトコルから受信された信号から、前記別のデバイスが前記プロトコルネゴシエーションプロトコルをサポートしているかどうかを判定する。
1以上の実施形態が、装置、システム、マシン読み取り可能なストレージ、マシン読み取り可能な媒体、ハードウェアベースのロジック及び/又はソフトウェアベースのロジック、並びに方法を提供できる。そのような実施形態において、第1のデバイスと第2のデバイスとの間で近接無線接続を開始し、第1のチャネル構成段階に入り、前記第1のチャネル構成段階において、前記近接無線接続を介して、前記第1のデバイスの1以上のサポートされているモードを前記第2のデバイスに通知する第1のデータを送信し、前記第1のチャネル構成段階において、前記近接無線接続を介して、前記第2のデバイスの1以上のサポートされているモードを前記第1のデバイスに通知する第2のデータを受信し、複数のプロトコルの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のプロトコルを決定するために、第2のチャネル構成段階に入る。
1以上の実施形態が、第1の近接通信モジュールを有する第1のデバイスであって、複数のモードの第1のサブセット及び複数の通信プロトコルの第1のサブセットをサポートしている第1のデバイスと、第2の近接通信モジュールを有する第2のデバイスであって、複数のモードの第2のサブセット及び複数の通信プロトコルの第2のサブセットをサポートしている第2のデバイスと、を含む装置及びシステムを提供できる。前記第1のデバイス及び前記第2のデバイスは、前記第1の近接通信モジュール及び前記第2の近接通信モジュールにより容易にされる近接無線接続を介してネゴシエートして、前記近接無線接続を介した前記第2のデバイスとの後続の通信において、前記複数のモードの前記第1のサブセットのうちどのモードが前記第1のデバイスにより使用されるかを決定し、前記後続の通信において、前記複数のモードの前記第2のサブセットのうちどのモードが前記第2のデバイスにより使用されるかを決定し、前記複数の通信プロトコルの中から、前記後続の通信において使用される特定の通信プロトコルを決定する。
少なくとも1つの例において、前記第1のデバイス及び前記第2のデバイスの各々は、高速近接無線接続をサポートしており、前記複数の通信プロトコルのうちの少なくとも一部は、高速通信プロトコルを含む。
少なくとも1つの例において、前記第1のデバイスは、ホストデバイスを含み、前記第2のデバイスは、ホストデバイス、ペリフェラルデバイス、及びアダプタデバイスのうちの1つを含む。
本明細書を通じた「一実施形態」又は「実施形態」に対する言及は、その実施形態に関して説明した特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書を通じた様々な箇所における語句「一実施形態において」又は語句「実施形態において」の記載は、必ずしも全てが同じ実施形態を指しているわけではない。さらに、特定の特徴、構造、又は特性は、1以上の実施形態において任意の適切な態様で組み合わせることができる。
本明細書において、具体的且つ例示的な実施形態を参照して詳細な説明を提供した。しかしながら、特許請求の範囲に記載される本発明のより広い範囲及び主旨から逸脱することなく、そのような実施形態に様々な修正及び変更を加えることが可能であることが明らかであろう。したがって、本明細書及び図面は、限定ではなく例示とみなされるべきである。さらに、実施形態及び他の例示的な言葉の前述の使用は、必ずしも同じ実施形態又は同じ例を指すわけではなく、異なる別の実施形態を指すこともあるし、同じ実施形態を指すこともある。

Claims (14)

  1. 第1のデバイスと第2のデバイスとの間で近接無線接続を開始する近接通信モジュールと、
    前記近接無線接続を介して、前記第1のデバイスの1以上のサポートされているチャネル構成を前記第2のデバイスに通知する第1のデータを送信し、
    前記近接無線接続を介して、前記第2のデバイスの1以上のサポートされているチャネル構成を前記第1のデバイスに通知する第2のデータを受信する
    チャネル構成モジュールと、
    前記第1のデータ及び前記第2のデータに基づいて、前記第1のデバイスの複数のモードの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のモードを決定するモードセレクタと、
    前記特定のモードに従って、前記近接無線接続を介して前記第2のデバイスに特定のデータを送信する送信機であって、前記送信機は、前記特定のデータを送信するために複数の近接無線機を使用し、前記複数の近接無線機は、前記第1のデバイスの物理チャネルのリンク幅に対応する、送信機と、
    を備えた装置。
  2. 複数の通信プロトコルの中から、前記第2のデバイスとの通信において使用される特定の通信プロトコルを決定するプロトコルセレクタをさらに備えた、
    請求項1記載の装置。
  3. 前記プロトコルセレクタは、
    前記第2のデバイスから信号を受信し、
    前記信号から、前記第2のデバイスが、ネゴシエーションプロトコルが使用されるプロトコルネゴシエーション段階をサポートしているかどうかを判定する、
    請求項2記載の装置。
  4. 前記第2のデバイスが前記プロトコルネゴシエーション段階をサポートしているとの判定は、前記第1のデバイス及び前記第2のデバイスに、前記プロトコルネゴシエーション段階に入らせ、前記第1のデバイス及び前記第2のデバイスは、前記通信において使用される前記特定の通信プロトコルを決定するために、前記プロトコルネゴシエーション段階において、前記ネゴシエーションプロトコルに従ってメッセージを通信する、
    請求項3記載の装置。
  5. 前記第2のデバイスが前記プロトコルネゴシエーション段階をサポートしていないとの判定は、前記特定のモードに少なくとも基づいて、前記通信において使用されるプロトコルを決定させる、
    請求項3記載の装置。
  6. 前記ネゴシエーションプロトコルは、ユニバーサルシリアルバス(USB)電力供給(PD)プロトコルに基づくプロトコルを含む、
    請求項3記載の装置。
  7. 前記第1のデバイスは、近接無線チャネルを介した通信において、前記複数の通信プロトコルのうちのいずれか1つの使用をサポートしている、
    請求項2記載の装置。
  8. 前記複数のモードは、ホストモード、デバイスモード、及びアダプタモードを含む、
    請求項1記載の装置。
  9. 前記特定のデータは、前記第2のデータから前記第2のデバイスのために決定されたモードにさらに基づいて送信される、
    請求項記載の装置。
  10. 前記第1のデータ及び前記第2のデータは、チャネル構成段階において送信され、前記第1のデバイス及び前記第2のデバイスは、対応するハンドシェークを用いて、前記チャネル構成段階に入り、前記チャネル構成段階から出る、
    請求項1記載の装置。
  11. コンピューティングデバイスに、
    第1のデバイスと第2のデバイスとの間で近接無線接続を開始させ、
    第1のチャネル構成段階に入らせ、
    前記第1のチャネル構成段階において、前記近接無線接続を介して、前記第1のデバイスの複数のサポートされているモードを前記第2のデバイスに通知する第1のデータを送信させ、
    前記第1のチャネル構成段階において、前記近接無線接続を介して、前記第2のデバイスの1以上のサポートされているモードを前記第1のデバイスに通知する第2のデータを受信させ、
    複数のプロトコルの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のプロトコルを決定させるために、第2のチャネル構成段階に入らせ、
    前記第1のデータ及び前記第2のデータに基づいて、前記第1のデバイスの前記複数のサポートされているモードの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のモードを決定させ、
    前記特定のモードに従って、複数の近接無線機を使用して、前記近接無線接続を介して前記第2のデバイスに特定のデータを送信させ、
    前記複数の近接無線機は、前記第1のデバイスの物理チャネルのリンク幅に対応する、
    コンピュータプログラム。
  12. データを通信するための方法であって、
    第1のデバイスと第2のデバイスとの間で近接無線接続を開始するステップと、
    第1のチャネル構成段階に入るステップと、
    前記第1のチャネル構成段階において、前記近接無線接続を介して、前記第1のデバイスの複数のサポートされているモードを前記第2のデバイスに通知する第1のデータを送信するステップと、
    前記第1のチャネル構成段階において、前記近接無線接続を介して、前記第2のデバイスの1以上のサポートされているモードを前記第1のデバイスに通知する第2のデータを受信するステップと、
    複数のプロトコルの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のプロトコルを決定するために、第2のチャネル構成段階に入るステップと、
    前記第1のデータ及び前記第2のデータに基づいて、前記第1のデバイスの前記複数のサポートされているモードの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のモードを決定するステップと、
    前記特定のモードに従って、複数の近接無線機を使用して、前記近接無線接続を介して前記第2のデバイスに特定のデータを送信するステップであって、前記複数の近接無線機は、前記第1のデバイスの物理チャネルのリンク幅に対応する、ステップと、
    を含む方法。
  13. 第1のデバイスと第2のデバイスとの間で近接無線接続を開始する手段と、
    第1のチャネル構成段階に入る手段と、
    前記第1のチャネル構成段階において、前記近接無線接続を介して、前記第1のデバイスの複数のサポートされているモードを前記第2のデバイスに通知する第1のデータを送信する手段と、
    前記第1のチャネル構成段階において、前記近接無線接続を介して、前記第2のデバイスの1以上のサポートされているモードを前記第1のデバイスに通知する第2のデータを受信する手段と、
    複数のプロトコルの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のプロトコルを決定するために、第2のチャネル構成段階に入る手段と、
    前記第1のデータ及び前記第2のデータに基づいて、前記第1のデバイスの前記複数のサポートされているモードの中から、前記近接無線接続を介した前記第2のデバイスとの通信において使用される特定のモードを決定する手段と、
    前記特定のモードに従って、複数の近接無線機を使用して、前記近接無線接続を介して前記第2のデバイスに特定のデータを送信する手段であって、前記複数の近接無線機は、前記第1のデバイスの物理チャネルのリンク幅に対応する、手段と、
    を含むシステム。
  14. 請求項11記載のコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
JP2015224765A 2014-12-18 2015-11-17 近接伝送構成 Active JP6092353B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/576,170 US9723431B2 (en) 2014-12-18 2014-12-18 Close proximity transport configuration
US14/576,170 2014-12-18

Publications (2)

Publication Number Publication Date
JP2016119653A JP2016119653A (ja) 2016-06-30
JP6092353B2 true JP6092353B2 (ja) 2017-03-08

Family

ID=54703744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015224765A Active JP6092353B2 (ja) 2014-12-18 2015-11-17 近接伝送構成

Country Status (6)

Country Link
US (1) US9723431B2 (ja)
EP (1) EP3035713B1 (ja)
JP (1) JP6092353B2 (ja)
KR (1) KR101794606B1 (ja)
CN (1) CN105721021B (ja)
TW (1) TWI556108B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940295B2 (en) * 2015-08-14 2018-04-10 Keyssa, Inc. Extremely high frequency systems and methods of operating the same to establish USB data transport protocols
US10019546B1 (en) 2015-10-30 2018-07-10 Amazon Technologies, Inc. Modular system on chip configuration system
US10882408B2 (en) * 2016-08-24 2021-01-05 Keyssa Systems, Inc. Mechanical connectors for contactless communication units
EP3544151B1 (en) * 2016-11-15 2023-01-04 LG Electronics Inc. Wireless power transfer method and apparatus for same
US20180329855A1 (en) * 2017-05-12 2018-11-15 Intel Corporation Alternate protocol negotiation in a high performance interconnect
CN112804142A (zh) * 2018-09-06 2021-05-14 华为技术有限公司 发送报文的方法、网络设备及计算机存储介质
US11086358B2 (en) * 2018-10-02 2021-08-10 Google Llc Systems, devices, and methods of wireless communication for wearable computing devices
US11051154B2 (en) 2018-10-03 2021-06-29 Google Llc Systems and methods for wirelessly coupling a wearable computing device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146130B2 (en) 2003-02-24 2006-12-05 Qualcomm Incorporated Wireless local access network system detection and selection
JP4432787B2 (ja) * 2005-01-31 2010-03-17 ソニー株式会社 通信装置、通信方法、およびプログラム
US20090282130A1 (en) * 2008-05-12 2009-11-12 Nokia Corporation Resource sharing via close-proximity wireless communication
US8200265B2 (en) * 2008-12-23 2012-06-12 Interdigital Patent Holdings, Inc. Data transfer between wireless devices
JP5197387B2 (ja) 2009-01-05 2013-05-15 キヤノン株式会社 通信装置および通信装置の制御方法
JP4599449B2 (ja) * 2009-04-15 2010-12-15 株式会社東芝 電子機器及び通信制御方法
US8797942B2 (en) 2009-09-25 2014-08-05 Telefonaktiebolaget Lm Ericsson (Publ) Random access with full coverage on selected resources
JP5487877B2 (ja) 2009-10-20 2014-05-14 セイコーエプソン株式会社 Usbデバイス装置
US8621098B2 (en) * 2009-12-10 2013-12-31 At&T Intellectual Property I, L.P. Method and apparatus for providing media content using a mobile device
CN101867396A (zh) * 2010-04-29 2010-10-20 中兴通讯股份有限公司 基于nfc的电子凭证的传输方法和***、pos机和nfc终端
US8823494B1 (en) * 2010-11-19 2014-09-02 Logitech Europe S.A. Systems and methods for wireless device connection and pairing
US8971800B2 (en) * 2011-05-31 2015-03-03 Qualcomm Incorporated Methods and apparatus for improving NFC activation and data exchange reporting mechanisms
JP5939819B2 (ja) 2012-01-31 2016-06-22 キヤノン株式会社 通信装置、通信装置の制御方法、通信システム、プログラム
US8818276B2 (en) * 2012-05-16 2014-08-26 Nokia Corporation Method, apparatus, and computer program product for controlling network access to guest apparatus based on presence of hosting apparatus
US9516452B2 (en) * 2012-06-28 2016-12-06 Intel Corporation Wireless data transfer with improved transport mechanism selection
US9445267B2 (en) * 2012-08-31 2016-09-13 Apple Inc. Bump or close proximity triggered wireless technology

Also Published As

Publication number Publication date
TWI556108B (zh) 2016-11-01
JP2016119653A (ja) 2016-06-30
KR20160074389A (ko) 2016-06-28
US20160183031A1 (en) 2016-06-23
US9723431B2 (en) 2017-08-01
EP3035713B1 (en) 2018-08-29
CN105721021B (zh) 2020-06-16
KR101794606B1 (ko) 2017-12-01
EP3035713A1 (en) 2016-06-22
CN105721021A (zh) 2016-06-29
TW201626239A (zh) 2016-07-16

Similar Documents

Publication Publication Date Title
JP6092353B2 (ja) 近接伝送構成
US10083147B2 (en) Apparatuses and methods for multilane universal serial bus (USB2) communication over embedded universal serial bus (eUSB2)
US11758028B2 (en) Alternate protocol negotiation in a high performance interconnect
US9830292B2 (en) Architected protocol for changing link operating mode
US9390046B2 (en) Controlling a physical link of a first protocol using an extended capability structure of a second protocol
US9559905B2 (en) Type-C retimer state machine and a protocol for inband control and configuration
US10474607B2 (en) Adapt link training based on source capability information
US20180173666A1 (en) APPARATUSES AND METHODS TO COUPLE AN EMBEDDED UNIVERSAL SERIAL BUS (eUSB) CIRCUIT TO A UNIVERSAL SERIAL BUS (USB) TRANSCEIVER INTERFACE CIRCUIT
KR20210065834A (ko) 양방향 멀티레인 링크들에 대한 부분 링크 폭 상태들
CN107710180B (zh) 柔性互连架构
CN113434446A (zh) 灵活总线协议协商和启用序列
US11474967B2 (en) Systems, methods, and devices for dynamic high speed lane direction switching for asymmetrical interfaces
US20130318279A1 (en) Providing A Load/Store Communication Protocol With A Low Power Physical Unit
US20180011813A1 (en) Serial mid-speed interface
US20190042087A1 (en) Non-volatile memory using a reduced number of interconnect terminals
US20160179739A1 (en) Symmetrically coupled differential channel
US9959222B2 (en) In-band configuration mode

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170208

R150 Certificate of patent or registration of utility model

Ref document number: 6092353

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250