JP2012105344A - プロトコルスタックのタイミングの管理 - Google Patents

プロトコルスタックのタイミングの管理 Download PDF

Info

Publication number
JP2012105344A
JP2012105344A JP2012004950A JP2012004950A JP2012105344A JP 2012105344 A JP2012105344 A JP 2012105344A JP 2012004950 A JP2012004950 A JP 2012004950A JP 2012004950 A JP2012004950 A JP 2012004950A JP 2012105344 A JP2012105344 A JP 2012105344A
Authority
JP
Japan
Prior art keywords
protocol stack
timing
stack
tunneling
protocol
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.)
Granted
Application number
JP2012004950A
Other languages
English (en)
Other versions
JP5422005B2 (ja
JP2012105344A5 (ja
Inventor
David J Harriman
ジェイ. ハリマン、デービット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2012105344A publication Critical patent/JP2012105344A/ja
Publication of JP2012105344A5 publication Critical patent/JP2012105344A5/ja
Application granted granted Critical
Publication of JP5422005B2 publication Critical patent/JP5422005B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Protocols for interworking; Protocol conversion
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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/28Timers or timing mechanisms used in protocols
    • 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
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】トンネリングインターコネクトを介してトンネリングを実行する場合に、トンネリングされるプロトコルの明示的および暗示的なタイマを管理するメカニズムを提供する。
【解決手段】方法は、トンネリングインターコネクトに結合されているプロトコルスタックにおいて通信を受信する段階と、トンネリングインターコネクトに対応付けられている遅延に対応するべく、通信種類は、変更後タイミングに影響されるか否かを決定する段階と、少なくとも1つのスタックロジックのタイミングを調整して、遅延に対応する段階と、調整されたタイミングを用いて通信を処理する段階とを備える。
【選択図】図3

Description

コンピュータプラットフォームは通常、さまざまなインターコネクトを用いて互いに結合された半導体素子を多数備えている。このようなインターコネクトまたはリンクは、プロトコルが異なっていることが多く、リンク上で実行される通信は、リンクが異なると、実行速度が異なり、準拠するプロトコルも異なる。一部のシステムでは、入出力(I/O)プロトコルの通信は、別のインターコネクトにおいてトンネリングされ得る。トンネリングは一般的に、第1のプロトコルに準拠した通信を受け取り、第2のプロトコルにしたがって動作するインターコネクトを介して当該通信を提供することを含む。例えば、第1のプロトコルのパケットに第2のプロトコルのヘッダを適用して、当該パケットをインターコネクトを介して送信することによって、第1のプロトコルのパケットがトンネリングされる。多くの場合、このようなプロトコルトンネリングは非常に上位のレベルで実行され、これら2つのプロトコルが有するソフトウェア抽象化が同じである一方、プロトコル間で共有されているハードウェアはない。このように、ソフトウェア互換性、性能、製品化までの時間において、上述したようなトンネリングによる利点は非常に小さい。
本発明の一実施形態に係る、共有物理層を介したリンクへのプロトコルスタックの接続を示すブロック図である。
本発明の別の実施形態に係る、共有物理層に結合されている複数の通信スタックを備えるシステムを示すブロック図である。
本発明の一実施形態に係る方法を説明するためのフローチャートである。
本発明の別の実施形態に係る、プロトコルスタックのインターフェースを動作させる方法を説明するためのフローチャートである。
本発明の一実施形態に係るシステムを示すブロック図である。
さまざまな実施形態によると、1以上の既存のIOプロトコルが、比較的低位のレベルで、別のインターコネクトにおいてトンネリングされ得る。本明細書では、「別のインターコネクト」を「トンネリングインターコネクト」と呼ぶことにする。一実施形態によると、このようなインターコネクトの一例として統合型(converged)IO(CIO)が挙げられる。CIOは、PCI Express(登録商標)仕様書の基本仕様書バージョン2.0(2007年1月17日発行)に従った(以降では、PCIe(登録商標)仕様書と呼ぶ)、PCIe(Peripheral Component Interconnect Express)プロトコルの通信、または、同様のプロトコルの通信をトンネリングするべく用いることができる。CIOの場合、PCIeハードウェアスタックの多くは直接実装されるので、ソフトウェア互換性、性能、および製品化までの時間において、利点が得られる。すなわち、低位のレベルのトンネリングにおいて、トンネリングされるプロトコルスタックは大半が実装されている。これとは対照的に、高位のレベルのトンネリングの場合は、ソフトウェアアーキテクチャは保存されるが、トンネリングされるプロトコルからのパケット、符号化、または有線用プロトコルメカニズムを必ずしも用いるわけではない。このように低位のトンネリングによって、PCIeプロトコルスタックのパケットを、例えば、トンネリングパケットにCIOヘッダを適合させることによって、CIOインターコネクトを介してトンネリングすることができる。このように送信されたトンネリングパケットを受信機が受信すると、受信機のCIOプロトコルスタックはヘッダを復号化して、受信機の対応PCIeプロトコルスタックにPCIeパケットを渡すことができる。
しかし、統合型インターコネクトに対するこのようなアプローチによって、抽象化という、より高位で行われるプロトコルのトンネリングとは対照的に、低位トンネリングに起因する問題が生じる。つまり、プロトコルのタイミングについて制約が潜在的に課されていることが多い。このような制約は、インターコネクトプロトコルのトンネリングされていない元々のインスタンス化では満足させられていたことが自明であるが、インターコネクトプロトコルをトンネリングする場合には、トンネリングに用いられるインターコネクトによる遅延が発生するために、管理するのがより困難になり得る。このような遅延は、トンネリングインターコネクト自身によって生じる場合もあり、または、その他のトンネリングされたプロトコルによるトラフィックによって生じる場合もある。
本発明の実施形態は、トンネリングインターコネクトを介してトンネリングを実行する場合に、トンネリングされるプロトコルの明示的および暗示的なタイマを管理するメカニズムを提供する。本明細書で説明する実施形態ではCIOを介してトンネリングされるPCIeプロトコルを一例として用いるが、本発明の範囲はこれに限定されるものではなく、同様の原理は、その他のトンネリングインターコネクト、および、有線インターコネクトおよび無線インターコネクトを始めとする、トンネリングに用いられるその他のインターコネクトにも応用され得ると理解されたい。
インターコネクトに関する、明示的および暗示的な、タイミング要件は、大きく分けて2つのカテゴリーに分類され得る。本明細書では、リンクタイミング要件および掛け時計タイミング要件と呼ぶ。リンクタイミング要件は、リンクプロトコル等の低位レベルに対応付けられており、リンク動作を円滑化して、検証に関する問題を最低限に抑えることを目的として通常設けられている。掛け時計タイミング要件は、高位レベルにおいて観察可能なイベント、例えば、オペレーティングシステム(OS)およびアプリケーションソフトウェアに対応付けられている。リンクタイミング要件は、プロトコルトンネリングによって生じる遅延に直接影響を受ける可能性があり、本発明の実施形態によって問題解決を図る要件である。通常、リンクタイミング要件は、約10マイクロ秒(μs)未満のオーダーであり得るが、掛け時計タイミング要件は、約10マイクロ秒(μs)よりも大きい。掛け時計タイミング要件は、プロトコルのトンネリングによって生じる比較的短時間(例えば、マイクロ秒)の遅延に影響されない程度に十分長い時間値(例えば、ミリ秒(ms))に対応付けられていることが多いので、プロトコルトンネリングには基本的に影響されない。また、このような要件は、特定のインターコネクトプロトコルを伝送するべく用いられるハードウェアメカニズムに関わらず(本来のもの、または、トンネリング用)等しく望ましい、アプリケーションソフトウェアにおいてユーザに見える動作停止(stall)の発生を防ぐというような、特性に対応付けられている。
以下に記載する表1は、PCIeに対応付けられている多数のタイミング要件を一覧にしたものであり、各要件と本開示との関係を示す。「説明」部分の記載は、PCI Express(登録商標)仕様書から引用していることに留意されたい。
Figure 2012105344
表1は、一部を例示することを目的とするものであって、PCIeにおけるタイミング関連の要件を全て完全に網羅したものではないことに留意されたい。
リンクタイミング要件は、PCIeスタック自身によって「測定」されるので、PCIeスタックの時間に対する概念が変わると、このようなタイミング要件を感知する方法も変化し得る。このような構成を実現するべく、時間変更を実現するためのメカニズムが、スタックタイミングをいつ、そして、どのように変更するかを決定するためのハードウェア、ソフトウェアまたはファームウェアと共に、提供されるとしてよい。
PCIeスタックの時間の概念を変更するメカニズムは、複数の方法で実現することができる。例えば、PCIeスタックロジックにおけるさまざまな要素に対するクロックをゲーティングまたはオフに制御して、対象となるロジックの時間を止めることによって、実現することができる。尚、この方法によれば、利用されていないPCIeスタックロジックの電力消費を低減するという効果もさらに得られる。ほかの実施形態によると、時間をカウントすべき場合を指し示す明示的な制御信号を、PCIeスタックロジックに追加することができる。スタック全体を1つの単位として制御することは一般的に十分ではなく、スタックのサブ構成要素は、プロトコルメカニズムが異なれば、異なるロジックブロックに対する影響も異なるので、半独立制御が実行され得る。同様に、リンクタイミング要件を遵守するべく、全ての通信についてタイミング変更が必要となるわけではない。一実施形態によると、制御ロジックを用いてPCIeスタックの時間の概念をいつおよびどのように調整するかを決定するとしてよく、当該ロジックはPCIeスタックの一部であってよい。
図1は、PCIeスタック(およびその他のトンネリングされたプロトコル)が共有トンネリングリンクにインターフェースされる様子を示すブロック図である。一実施形態によると、共有トンネリングリンクは、CIOリンクであってよい。図1に示すように、システム10は、第1のスタック20aと、第2のスタック20b(プロトコルスタック20と総称する)とを備える。一実施形態によると、第1のプロトコルスタック20aは、PCIeスタックであってよく、第2のプロトコルスタック20bは、ユニバーサルシリアルバス(USB)、ディスプレイインターコネクト、またはその他の同様のプロトコルスタックであってよい。図示の便宜上、PCIeプロトコルスタックの詳細のみを示す。具体的には、プロトコルスタック20aは、トランザクション層22と、データリンク層24と、インターフェースまたはガスケット層26とを有する。インターフェースまたはガスケット層26は、PCIeプロトコルとトンネリングプロトコルとの間のインターフェースとして機能する。このようなインターフェースロジックの動作の詳細は後述する。
図1に示すように、統合型IO層は、第1および第2のプロトコルスタック20と、リンク70との間に結合されるとしてよい。リンク70は、一実施形態によると、光リンク、電気リンク、またはその他の同様のリンクであってよい。図1に示すように、CIOプロトコルスタックは、CIOプロトコルトランスポート層30と、物理層の論理ブロック40と、物理層の電気ブロック50と、物理層の光ブロック60とを有するとしてよい。このように、ブロック40から60は、物理層と通信している複数のプロトコルによって共有されて、これらの複数のプロトコルの情報をリンク70によってトンネリングする共通物理層として機能する。
図2は、共有物理層に結合されている複数の通信スタックを備えるシステムを示す図である。具体的には、図2では、PCIe送信(Tx)および受信(Rx)スタック20aに加えて、複数のその他の送信および受信スタック20b−20dが設けられるとしてよい。同図に示すように、一対のマルチプレクサ35aおよび35b(マルチプレクサ35と総称する)が、これらのスタックと共有物理層40−60との間に、結合されているとしてよい。マルチプレクサ35は、プロトコルトランスポート層制御30の制御下で、動作させられるとしてよい。図2に示すように、CIOプロトコルトランスポート(PT)層30は、PCIeおよびその他のプロトコルをトンネリングするための、マルチプレクシングメカニズム(マルチプレクサ35aおよび35bに基づく)および制御メカニズムを実装する。PT層制御30は、送信機の抽象化と、送信機とは別個である受信機の操作を実装する。このような構造はこの説明の残りの部分でも用いるが、本発明の実施形態は、例えば、同時に送信機および受信機を抽象化することによって、または、単一の双方向接続を用いることによって、送信機および受信機を別々に制御するその他の種類のインターコネクトに応用され得る。
インターコネクトのタイミング制御を実装する方法は、実施形態によって異なるとしてよい。例えば、一部の実装によると、動的遅延バインディング(dynamic late binding)が生じるとしてよく、その結果、そのようなインターフェースロジックが、結合されるべきトンネリングインターコネクトを動的に決定でき、トンネリングインターコネクトに対応するべくプロトコルのタイミング要件を動的に制御する。ほかの実施形態によると、設計者は、システム開発時において、1以上のプロトコルスタックによって使用されるべきトンネリングインターコネクトを決定するとしてよく、このため、当該トンネリングインターコネクトによって影響され得るリンクタイミング要件が、システム設計時において決定され得る。このため、トンネリングインターコネクトとプロトコルスタックとの間で、例えばインターフェースロジックにおいて、プロトコルスタックのタイミングを制御するロジックが組み込まれ得る。プロトコルスタックのタイミングの制御は、例えば、トンネリングインターコネクトによって発生したさらなる遅延に対応するべくプロトコルスタックのタイミングの概念を変更することによって、実現する。
図3は、リンクタイミング要件を処理するための上述した方法の実装例、つまり、プロトコルスタックが共通物理層または別の物理層に動的に結合され得るように、インターフェースロジックによって実装され得る動的遅延バインディングの実装例を示す図である。具体的に説明すると、図3は、例えば、プロトコルスタック(所与のプロトコルの標準スタックであってよい)と、さまざまなプロトコルのパケットをトンネリングすることができる統合型インターコネクトのような共通物理層との間の通信のためのプロトコルスタックのインターフェースロジックで実装され得る方法100を説明するためのフローチャートである。図3に示すように、方法100は、トンネリングインターコネクトのタイミング遅延情報を取得することによって開始されるとしてよい(ブロック110)。この情報を取得する方法としては、さまざまな方法が実装され得る。例えば、一実施形態によると、共有物理層が、インターフェースロジックに対して所定の遅延情報の一覧を提供するとしてよい。これに代えて、インターフェースロジックは、共通物理層との間で発生しているパケット通信を分析して、タイミング遅延情報を決定するとしてもよい。より一般的には、一部の実施形態では所定の方法でタイミング情報を取得して、その他の実装でこのタイミング情報を動的に算出するとしてよい。それぞれについていくつかバリエーションが考えられ、例えば、人間が予め決定する場合と機械が予め決定する場合とがあってよく、または、算出される場合には、一度チェックするとしてもよいし、もしくは、定期的にチェックを繰り返すとしてもよい。尚、このような情報については例としてさまざまなものが考えられ、通信の性質および関連するロジックの実体に応じて、通信の種類によって発生する遅延も異なる。
図3に戻って、ブロック120に進む。ブロック120では、タイミング遅延情報が、第1のプロトコルスタックのタイミング要件に対してマッピングされるとしてよい。一例を挙げると、プロトコルスタックのタイミング要件は、上記の表1において記載したように、リンク層通信によって異なるとしてよい。そして、ひし形130に進み、マッピングに基づいて、第1のプロトコルスタックのタイミングの概念を変更する必要があるか否かを決定するとしてよい。すなわち、共通物理層内に存在し得るレイテンシのために、当該プロトコルスタックの所定のロジックに対応付けられている1以上のタイマを、例えば、加速、減速、ディセーブル等することによって、制御することができる。このようなタイミングの概念の変更が必要ない場合には、ブロック135に進み、プロトコルスタックの標準タイミングを用いてデータを送信および/または受信するとしてよい。
図3を参照しつつさらに説明すると、タイミングの概念を変更すべきであると決定される場合、ブロック140に進み、少なくとも1つのスタックロジックのタイミングを制御して、第1のプロトコルスタックのタイミングを変更するとしてよい。上述したように、このようなタイミングの変更は、タイマを制御すること、所定の間隔をカウントするように(またはしないように)ロジックを制御すること等に基づいて実現され得る。このようなタイミングの制御が実行された後、変更後のプロトコルスタックタイミングを用いて、所望のデータを送信/受信するとしてよい(ブロック150)。さらに図3に示すように、続いて、通信、つまり、所定のトランザクションが完了したか否かを判断するとしてよい(ひし形160)。完了していれば、当該方法を終了するとしてよい。完了していない場合は、ブロック140および150を繰り返すべく戻る。図3に図示する実施形態における具体的な実装に基づいて説明したが、本発明の範囲は、これに限定されない。
例えば、その他の実装例においては、所定のプロトコルスタックは、遅延が既知である既知のトンネリングインターコネクトを介してトンネリングされるように、システム設計が固定されるとしてもよい。したがって、システム設計時には、当該トンネリングインターコネクトに関して発生する可能性のあるいずれの遅延についても対応するべく、必要に応じて、さまざまなプロトコルトランザクションのタイミングの制御を実行するロジックが実装され得る。上記の表1は、リンク層タイミング要件の例を示している。
図4は、本発明の別の実施形態に係るプロトコルスタックのインターフェースを動作させる方法を示すフローチャートである。図4に示すように、方法200は、静的設計パラメータに基づいて、必要に応じて、プロトコルスタックのタイミングの概念を変更することができるインターフェースロジックによって実装され得る。図4に示すように、方法200は、トンネリングインターコネクトに対する通信またはトンネリングインターコネクトからの通信を受信することによって開始され得る(ブロック205)。このため、当該通信は、プロトコルスタックのインターフェースロジックにおいて、出力方向または入力方向で、受信される。インターフェースロジックではさまざまな種類の通信が処理されるとしてよい。例えば、肯定的応答(ACK)等のさまざまなプロトコルパケット、電力管理、フロー制御等に用いられる制御パケット、データパケットの送信および受信であってよい。
パケットの種類に基づいて、所定の通信の種類が、変更後タイミングに影響されるか否かを、インターフェースロジックにおいて決定するとしてよい(ひし形210)。例えば、インターフェースロジックは、所定の表を含むとしてもよいし、所定の表に対応付けられているとしてもよい(不揮発性メモリに存在するとしてよい)。この表は、トランザクションの種類と、その種類の通信についてプロトコルスタックのタイミングの概念を変更すべきか否かとを特定しており、さらに、適用可能な遅延の指定、タイミングを変更するべくインターフェースロジックが適用すべき制御方策の種類を示す命令またはその他の識別子を記載する。尚、この表は複数の部分に分割されているとしてよく、それぞれの部分は、所定のスタックに対応付けられており、それぞれの部分が、あるスタック−トンネリングインターコネクト関係専用のマッピングを提供している。
さらに図4を参照しつつ説明すると、変更が必要ない場合、標準のプロトコルスタックタイミングを用いて通信を処理するとしてよく、標準のプロトコルスタックタイミングを用いてデータを送信/受信してよい(ブロック220)。タイミングの概念を変更すべきであると決定される場合、ブロック230に進み、少なくとも1つのスタックロジックのタイミングを制御して、タイミングを変更するとしてよい。そして、変更後のプロトコルスタックタイミングを用いて所望のデータを送信/受信するとしてよい(ブロック240)。さらに図4に示すように、通信、つまり、所定のトランザクションが完了したか否かを決定するとしてよい(ひし形260)。完了している場合、当該方法を終了するとしてよい。完了していない場合、ブロック230および240を繰り返すべく戻る。リンクタイミング要件を処理する静的制御はこのように実現され得る。
上記の図3および図4に示すように、所定の通信の種類についてタイミング制御を変更することができる一方、その他の通信の種類については、変更なしで、通常のプロトコルスタックタイミングに従って処理が進められるとしてよい。以下の説明では、リンクタイミング要件に対応するべく、プロトコルスタックのタイミングを変更し得る場合の例をいくつか紹介する。
一実施形態によると、PT層制御30は、PCIeに割り当てられる送信機「スロット」を提供し得る。尚、この送信機「スロット」は、送信すべきPCIeトラフィックが存在しない場合、その他の種類のトラフィックにも利用可能である。このため、第1のプロトコルスタックに割り当てられたスロットは、第1のプロトコルスタックが何も送信しない場合には、別のプロトコルスタックによって用いられるとしてもよい。同様に、受信機においても、PCIeトラフィックが受信されるはずだが、ほかの構成要素が送信すべきPCIeトラフィックを有していないか、または、別の種類のより優先度が高いトラフィックを有しているかという理由で、受信機がその期間中PCIeトラフィックを一切受信しないという期間があり得る。
「PCIe期間」という考え方をPCIeスタックに正確に伝える上で、受信時刻および送信時刻はある程度別個に考えることができる。表1に記載した、L0s呼び出しポリシーおよび「L1が終了すると・・・」という要件のような、一部の場合によると、時刻が測定されるのは、1つの観点のみからである(このような場合は、送信機の観点である)。
しかし、Ack/Nakプロトコルの場合は、受信機および送信機の観点が両方とも考慮される必要がある。物理PCIeポートに基づいて送信パイプラインを伝播する際に特定のレイテンシを仮定して決定された、トランザクション層パケット(TLP)が送信された、PCIe送信機の観点での時間は、CIO送信パイプラインの遅延が異なっている場合には、不正確である場合がある。ほかの構成要素(つまり、受信機)は、自身のPCIeスタックが共有リンク上においてPCIe時間を割り当てられた場合にのみ応答が可能である。この割り当ては、自身の(受信機の)時間の概念を調整する必要がある旨を意味するものとして、受信機には感知される。PCIeスタックは、送信パイプラインの遅延を50ナノ秒(ns)と予測しているが、CIOリンクの送信パイプライン遅延は70nsだと仮定する。この場合、差分に対処するべく、20nsだけ、送信機の時間の概念を(この遅延を認識しているかどうかに応じて決まるプロトコルの側面について)停止または調整する必要がある。このようにすることで、送信機は、受信機(共有物理層によって遅延され得る)からのACK信号について適切な長さの時間だけ待機して、不適切にエラー信号が発行されないようにする。
受信機の場合は、ほかの構成要素の送信機がPCIeに対して割り当てた時間(利用した時間ではない)を考慮しなければならない。一部のケースでは、受信機に直接通知されるが、その他のケースでは、ほかの構成要素の受信機が時間の概念をどれだけ進めるべきかを指し示すメッセージ等のトンネリングプロトコルメカニズムが、トンネリングされたプロトコルのそれぞれについて、設けられるとしてよい。例えば、PCIe送信機に2つの100nsスロットが割り当てられるが、送信すべきPCIeトラフィックが少ないために、そのうち1つのみが送信機によって利用される場合、受信機は200nsを考慮しなければならない。このように、ほかの構成要素が送信に利用可能なスロットを利用せずに、タイミングルールを守らない場合、ルールを守らなかったことは受信機において認識可能である。これは、(割り当てられたものではなく)使用された送信スロットのみを考慮する場合には、この限りでない。
尚、所定のプロトコルについては多岐にわたる最適化が可能であるとしてよい。例えば、既知の帯域幅トラフィックは、実際に与えられているリンク抽象化には関係なく、カウンタメカニズムを用いて考慮するとしてよい。プロトコルの受信割り当ておよび送信割り当てが等しいことが保証されている場合、片方のみ(例えば、送信機)が、他方(受信機)の時間の概念が一致すべきであると理解していると考えてよい。
先述したように、本発明の実施形態は、CIOまたはPCI等の具体的な内容に左右されるものでは一切なく、ディスプレイ、USB、ネットワーク等のトンネリングされるその他のプロトコルに適用され得る。本発明の実施形態はさらに、その他のトンネリングプロトコル/環境、例えば、有線または無線USBインターコネクトを介したトンネリングPCIeにも適用される。
本発明の一実施形態に応じてトンネリングを実行することによって、より汎用度が高いハードウェアから成る一般的なハードウェア群によって、より多くの個別のIOアプリケーションで要件を満たすことができる。例えば、プラットフォームは12個のUSBポート、8個のPCIeポート、およびさまざまな特定用途向けのポート(例えば、ディスプレイ)を備えるとしてよい。トンネリングによって、これらのポートは、例えば16個の複合型ポートから成るポート群にまとめることができ、各ポートは、従前のポートのいずれ(1または複数)としても利用することができる。
本発明の実施形態は、多くの異なる種類のシステムで実装することができる。図5は、シリアルリンクであるトンネリングインターコネクトによってコントローラハブに結合された複数のデバイスを備える、本発明の一実施形態に係るシステムを示すブロック図である。システム300は、コントローラハブ315に結合されている、プロセッサ305と、システムメモリ310とを備える。プロセッサ305は、マイクロプロセッサ、ホストプロセッサ、埋め込み型プロセッサ、コプロセッサ等のプロセッサを含む任意の処理素子を含む。プロセッサ305は、フロントサイドバス(FSB)306を介して、コントローラハブ315に結合されている。一実施形態によると、FSB306は、シリアル方式のポイントツーポイント(PtP)インターコネクトである。
システムメモリ310は、ランダムアクセスメモリ(RAM)、不揮発性(NV)メモリ等の、システム300が備えるデバイスがアクセス可能なメモリなど、任意のメモリデバイスを含む。システムメモリ310は、メモリインターフェース316を介して、コントローラハブ315に結合される。
一実施形態によると、コントローラハブ315は、PCIeインターコネクト階層構造において、ルートハブまたはルートコントローラである。コントローラハブ315の例を挙げると、チップセット、メモリコントローラハブ(MCH)、ノースブリッジ、入出力コントローラハブ(ICH)、サウスブリッジ、およびルートコントローラ/ハブがある。尚、コントローラハブ315は、シリアルリンク319を介して、スイッチ/ブリッジ320に結合される。入出力モジュール317および321は、インターフェース/ポート317および321と呼ばれることもあるが、コントローラハブ315とスイッチ320との間の通信を実現するべく層状プロトコルスタックを含む/実装する。一実施形態によると、スイッチ320には複数のデバイスを結合することができる。
スイッチ320は、デバイス325からのパケット/メッセージを、上流、つまり、階層構造を上方向に、コントローラハブ315に対してルーティングすると共に、下流、つまり、階層構造を下方向に、コントローラハブ315から離れるように、デバイス325へとパケット/メッセージをルーティングする。IOモジュール322および326は、スイッチ320とデバイス325との間の通信を実行するべく、層状プロトコルスタックを実装する。一実施形態によると、IOモジュール326は、複数のプロトコルスタック、つまり、スタック327および328のパケットをトンネリングするためのトンネリング物理層であってよい。デバイス325は、電子システムに結合される、任意の内部または外部のデバイスまたは構成要素を含む。例えば、IOデバイス、ネットワークインターフェースコントローラ(NIC)、拡張カード、オーディオプロセッサ、ネットワークプロセッサ、ハードドライブ、ストレージデバイス、モニタ、プリンタ、マウス、キーボード、ルータ、ポータブルストレージデバイス、ファイヤワイヤデバイス、ユニバーサルシリアルバス(USB)デバイス、スキャナー、およびその他の入出力デバイスが挙げられる。
コントローラハブ315にはさらに、シリアルリンク332を介して、グラフィクスアクセラレータ330が接続されている。一実施形態によると、グラフィクスアクセラレータ330は、MCHに結合され、MCHはICHに結合されている。スイッチ320は、そしてIOデバイス325は、ICHに結合されている。IOモジュール331および318もまた、グラフィクスアクセラレータ330とコントローラハブ315との間において通信を実行するべく、層状プロトコルスタックを実装する。
本発明の実施形態は、符号で実装されるとしてよく、命令を格納しており、当該命令を実行するようにシステムをプログラミングするべく用いられる格納媒体に格納されるとしてよい。このような格納媒体は、これらに限定されるものではないが、フロッピーディスク(登録商標)、光ディスク、コンパクトディスクリードオンリーメモリ(CD−ROM)、書き換え可能コンパクトディスク(CD−RW)、および光磁気ディスク等の任意の種類のディスク、リードオンリーメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)およびスタティックランダムアクセスメモリ(SRAM)のようなランダムアクセスメモリ(RAM)、消去可能なプログラム可能リードオンリーメモリ(EPROM(登録商標))、フラッシュメモリ、電気的に消去可能なプログラム可能リードオンリーメモリ(EEPROM(登録商標))、磁気カードあるいは光カード等の半導体デバイス、または、電子的に命令を格納するのに適しているその他の任意の種類の媒体を含むとしてよい。
限られた数の実施形態に基づいて本発明を説明してきたが、当業者であれば、多くの変形および変更に想到するであろう。本願の請求項はこのような変形および変更を全て、本発明の真の精神および範囲内にあるものとして、含むものである。

Claims (19)

  1. 第1のプロトコルにしたがってデータを処理する第1のプロトコルスタックであって、前記第1のプロトコルスタックをトンネリングインターコネクトにインターフェースするインターフェースロジックを有する前記第1のプロトコルスタックと、
    前記第1のプロトコルスタックをリンクに結合する前記トンネリングインターコネクトと
    を備え、
    前記インターフェースロジックは、前記トンネリングインターコネクトによるトンネリングによって発生するタイミング遅延に少なくとも部分的に基づいて前記第1のプロトコルスタックの少なくとも1つのタイマを制御する
    装置。
  2. 前記インターフェースロジックは、前記タイミング遅延に対応付けられているタイミング遅延情報を、前記第1のプロトコルスタックの少なくとも1つのスタックロジックの、タイミングについての制約を示すタイミング要件に対応付ける
    請求項1に記載の装置。
  3. 前記インターフェースロジックは、前記タイミング遅延情報、及び前記タイミング遅延情報に対応付けられている前記タイミング要件に少なくとも部分的に基づいて、前記第1のプロトコルスタックの前記少なくとも1つのタイマを制御することによって、前記第1のプロトコルスタックのタイミングを変更するか否かを判断する
    請求項2に記載の装置。
  4. 前記インターフェースロジックは、前記タイミング遅延情報を前記タイミング要件に動的に対応付けして、前記第1のプロトコルスタックは、前記トンネリングインターコネクトの共通物理層または別の物理層に動的に結合される
    請求項2に記載の装置。
  5. 前記インターフェースロジックは、前記第1のプロトコルスタックの第1のスタックロジックが、前記第1のプロトコルの、タイミングについての制約を示すリンクタイミング要件を満たすべく、前記第1のスタックロジックに第1のクロック信号を供給する第1のクロックを、予め定められた時間にわたってディセーブルする
    請求項1に記載の装置。
  6. 前記トンネリングインターコネクトは、前記トンネリングインターコネクトのプロトコルによって、前記第1のプロトコルのパケットを前記リンクにトンネリングする
    請求項5に記載の装置。
  7. 前記リンクは、前記第1のプロトコルスタックと第2のプロトコルスタックとの間で共有する統合型インターコネクトであり、前記第1のプロトコルスタックは、PCIe(Peripheral Component Interconnect Express(登録商標))スタックである
    請求項1から6のいずれか1項に記載の装置。
  8. 前記トンネリングインターコネクトは、前記第1のプロトコルスタックに第1のスロットおよび第2のスロットを割り当てて、前記第2のプロトコルスタックに第3のスロットを割り当てる
    請求項7に記載の装置。
  9. 前記リンクに結合されており、前記トンネリングインターコネクトによりトンネリングされたパケットを受信する受信機
    をさらに備え、
    前記受信機は、前記リンクに結合されているインターフェースロジックによって、割り当てられた前記第1のスロットおよび前記第2のスロットを利用する
    請求項8に記載の装置。
  10. トンネリングインターコネクトに結合されている第1のプロトコルスタックのインターフェースロジックにおいて通信を受信する段階と、
    前記通信の通信種類に基づいてテーブルにアクセスして、前記通信種類に対応付けられている、前記トンネリングインターコネクトによるトンネリングによって発生するタイミング遅延を示すタイミング遅延情報を取得する段階と、
    前記タイミング遅延情報が示す遅延に対応するべく、前記通信の通信種類について前記第1のプロトコルスタックの少なくとも1つのスタックロジックのタイミングを制御するべきか否かを決定する段階と、
    前記決定する段階において変更するべきと決定した場合に、前記第1のプロトコルスタックの前記少なくとも1つのスタックロジックのタイミングを調整して、前記遅延に対応する段階と、
    調整された前記タイミングを用いて前記第1のプロトコルスタックにおいて前記通信を処理する段階と
    を備える方法。
  11. 前記テーブルは、不揮発性メモリに格納されており、前記トンネリングインターコネクトと前記第1のプロトコルスタックとの間のマッピングを含む第1の部分と、前記トンネリングインターコネクトと前記トンネリングインターコネクトに結合されている第2のプロトコルスタックとの間のマッピングを含む第2の部分とを有する
    請求項10に記載の方法。
  12. 前記第1のプロトコルスタックと前記第2のプロトコルスタックとの間で前記トンネリングインターコネクトを共有する段階と、
    前記第1のプロトコルスタックがあるスロットにおいて通信対象の情報を持たない場合に、前記第2のプロトコルスタックに前記第1のプロトコルスタックの前記スロットを与える段階と
    をさらに備える、請求項11に記載の方法。
  13. 前記少なくとも1つのスタックロジックの前記タイミングは、前記少なくとも1つのスタックロジックに結合されているクロックをオフにすることによって調整される
    請求項10から12のいずれか1項に記載の方法。
  14. 前記遅延に少なくとも部分的に基づいて、第2のスタックロジックのクロックを遅延させる段階
    をさらに備える、請求項13に記載の方法。
  15. 前記クロックを遅延して、予め定められた時間が経過するまで、前記トンネリングインターコネクトによって時間要件が満たされない場合にトリガされる、受信機からの肯定応答を受領していない旨を指し示すエラー信号が発行されないようにする段階
    をさらに備える、請求項14に記載の方法。
  16. リンクに結合されている物理層、および、前記物理層に結合されているプロトコルスタックを有する送信機と、
    前記リンクを介して前記送信機に結合されており、第1のプロトコルにしたがってデータを処理する第1のプロトコルスタックを有する受信機と、
    前記受信機に結合されているダイナミックランダムアクセスメモリ(DRAM)と
    を備え、
    前記第1のプロトコルスタックは、トンネリング物理層を介して、前記リンクに前記第1のプロトコルスタックをインターフェースする第1のインターフェースロジックを含み、前記第1のインターフェースロジックは、前記トンネリング物理層によるトンネリングによって発生するタイミング遅延に少なくとも部分的に基づいて、前記第1のプロトコルスタックの少なくとも1つの第1のスタックロジックのタイミングを変更する
    システム。
  17. 前記受信機はさらに、第2のプロトコルにしたがってデータを処理する第2のプロトコルスタックを有し、前記第2のプロトコルスタックは、前記タイミング遅延に少なくとも部分的に基づいて前記第2のプロトコルスタックの少なくとも1つの第2のスタックロジックのタイミングを変更する第2のインターフェースロジックを含む
    請求項16に記載のシステム。
  18. 前記トンネリング物理層は、前記第1のプロトコルスタックまたは前記第2のプロトコルスタックを選択して前記送信機からのパケットを受信させるコントローラを含む
    請求項17に記載のシステム。
  19. 前記第1のインターフェースロジックは、前記トンネリング物理層を介して前記送信機から受信したパケットの通信種類に基づいてテーブルにアクセスして、前記通信種類に対応付けられている、タイミング遅延情報を取得し、前記タイミング遅延情報が示す遅延に対応するべく、前記通信種類について前記第1のプロトコルスタックの前記少なくとも第1のスタックロジックのタイミングを変更するべきか否かを決定する
    請求項16から18のいずれか1項に記載のシステム。
JP2012004950A 2008-07-15 2012-01-13 プロトコルスタックのタイミングの管理 Expired - Fee Related JP5422005B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/218,410 US8218580B2 (en) 2008-07-15 2008-07-15 Managing timing of a protocol stack
US12/218,410 2008-07-15

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009165061A Division JP4909384B2 (ja) 2008-07-15 2009-07-13 プロトコルスタックのタイミングの管理

Publications (3)

Publication Number Publication Date
JP2012105344A true JP2012105344A (ja) 2012-05-31
JP2012105344A5 JP2012105344A5 (ja) 2012-08-23
JP5422005B2 JP5422005B2 (ja) 2014-02-19

Family

ID=41057862

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009165061A Expired - Fee Related JP4909384B2 (ja) 2008-07-15 2009-07-13 プロトコルスタックのタイミングの管理
JP2012004950A Expired - Fee Related JP5422005B2 (ja) 2008-07-15 2012-01-13 プロトコルスタックのタイミングの管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009165061A Expired - Fee Related JP4909384B2 (ja) 2008-07-15 2009-07-13 プロトコルスタックのタイミングの管理

Country Status (6)

Country Link
US (1) US8218580B2 (ja)
JP (2) JP4909384B2 (ja)
CN (1) CN101630301B (ja)
DE (1) DE102009032581B4 (ja)
GB (1) GB2461802B (ja)
TW (1) TWI424317B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010014686A1 (en) 2008-07-30 2010-02-04 Aleva Neurotherapeutics, S.A. Apparatus and method for optimized stimulation of a neurological target
EP2783727B1 (en) 2008-11-12 2016-11-09 Ecole Polytechnique Fédérale de Lausanne Microfabricated neurostimulation device
DE102009031181B4 (de) * 2009-06-29 2019-05-16 Atmel Corp. Schaltung eines Knotens, Verfahren zur Laufzeitmessung in einem Funknetz und Funknetz
WO2011067297A1 (en) 2009-12-01 2011-06-09 ECOLE POLYTECHNIQUE FéDéRALE DE LAUSANNE Microfabricated neurostimulation device and methods of making and using the same
EP2552536B1 (en) 2010-04-01 2016-06-08 Ecole Polytechnique Fédérale de Lausanne (EPFL) Device for interacting with neurological tissue
US8706944B2 (en) * 2010-12-22 2014-04-22 Intel Corporation Dual bus standard switching bus controller
US8856420B2 (en) * 2011-12-27 2014-10-07 Intel Corporation Multi-protocol I/O interconnect flow control
US8782321B2 (en) 2012-02-08 2014-07-15 Intel Corporation PCI express tunneling over a multi-protocol I/O interconnect
US8880923B2 (en) 2012-03-29 2014-11-04 Intel Corporation Link power management in an I/O interconnect
CN107092335B (zh) * 2012-05-22 2020-07-21 英特尔公司 优化的链路训练及管理机制
US8549205B1 (en) * 2012-05-22 2013-10-01 Intel Corporation Providing a consolidated sideband communication channel between devices
US8437343B1 (en) 2012-05-22 2013-05-07 Intel Corporation Optimized link training and management mechanism
US8446903B1 (en) 2012-05-22 2013-05-21 Intel Corporation Providing a load/store communication protocol with a low power physical unit
US9128811B2 (en) 2012-06-26 2015-09-08 Intel Corporation Assigning addresses to devices on an interconnect
US8924611B2 (en) 2012-06-26 2014-12-30 Intel Corporation Providing a serial protocol for a bidirectional serial interconnect
US8972640B2 (en) 2012-06-27 2015-03-03 Intel Corporation Controlling a physical link of a first protocol using an extended capability structure of a second protocol
MY169964A (en) 2012-06-29 2019-06-19 Intel Corp An architected protocol for changing link operating mode
US9292039B2 (en) * 2012-09-18 2016-03-22 Amazon Technologies, Inc. Adaptive service timeouts
US9261934B2 (en) 2013-03-15 2016-02-16 Intel Corporation Dynamic response improvement of hybrid power boost technology
US9612643B2 (en) 2014-03-29 2017-04-04 Intel Corporation Controlling the CPU slew rates based on the battery state of charge
US11311718B2 (en) 2014-05-16 2022-04-26 Aleva Neurotherapeutics Sa Device for interacting with neurological tissue and methods of making and using the same
CN110585588A (zh) 2014-05-16 2019-12-20 阿莱瓦神经治疗股份有限公司 可植入式微电极装置
US9403011B2 (en) 2014-08-27 2016-08-02 Aleva Neurotherapeutics Leadless neurostimulator
US9474894B2 (en) 2014-08-27 2016-10-25 Aleva Neurotherapeutics Deep brain stimulation lead
CN105450719B (zh) * 2014-09-30 2019-05-24 中国移动通信集团公司 一种系统间文件传输方法及装置
CN111478919B (zh) * 2014-11-19 2023-01-13 领特投资两合有限公司 用于利用应用触发的同步的pmd绑定的4线传输的系统
US9710406B2 (en) 2014-12-15 2017-07-18 Intel Corporation Data transmission using PCIe protocol via USB port
JP6166246B2 (ja) * 2014-12-16 2017-07-19 日本電信電話株式会社 データ処理方法、データ処理システム及びデータ処理プログラム
US9779053B2 (en) * 2014-12-23 2017-10-03 Intel Corporation Physical interface for a serial interconnect
US9946683B2 (en) 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty
EP3411111A1 (en) 2016-02-02 2018-12-12 Aleva Neurotherapeutics SA Treatment of autoimmune diseases with deep brain stimulation
US10331592B2 (en) * 2016-05-28 2019-06-25 Silicon Laboratories Inc. Communication apparatus with direct control and associated methods
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
US10702692B2 (en) 2018-03-02 2020-07-07 Aleva Neurotherapeutics Neurostimulation device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005117352A1 (ja) * 2004-05-28 2005-12-08 Nokia Corporation ネットワークシステム
JP2007282187A (ja) * 2006-03-16 2007-10-25 Ricoh Co Ltd 情報処理装置、情報処理システムおよびデータ通信方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2268373A (en) * 1992-06-20 1994-01-05 Ibm Error recovery in an information communication system
US5440545A (en) * 1993-08-02 1995-08-08 Motorola, Inc. Packet delivery system
US5758070A (en) * 1995-10-06 1998-05-26 Canon Kabushiki Kaisha System for dynamically determining a network media type of a LAN using frame type identifying value from a configuration table
US6064660A (en) * 1996-12-12 2000-05-16 Optimay Corporation GSM transceiver with portable protocol stack
IT1293882B1 (it) 1997-04-14 1999-03-11 Sip Dispositivo e procedimento per la trasmissione di segnali digitali, particolarmente su sistemi di tipo dect.
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6519254B1 (en) * 1999-02-26 2003-02-11 Lucent Technologies Inc. RSVP-based tunnel protocol providing integrated services
TW514788B (en) * 1999-04-23 2002-12-21 Via Tech Inc Method of delayed transaction in bus system and device using the method
KR20010090794A (ko) 1999-08-19 2001-10-19 롤페스 요하네스 게라투스 알베르투스 통신 시스템내에서 데이터 프레임의 재전송 효율을개선하는 방법 및 통신 장치
JP3297668B2 (ja) * 2000-04-26 2002-07-02 松下電器産業株式会社 符号/復号化装置及び符号/復号化方法
EP1170919A1 (en) * 2000-07-04 2002-01-09 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and device for improving the transmission efficiency in a communication system with a layered protocol stack
JP2002135264A (ja) * 2000-10-23 2002-05-10 Mitsubishi Electric Corp 通信システム
US20020073257A1 (en) * 2000-12-07 2002-06-13 Ibm Corporation Transferring foreign protocols across a system area network
WO2003019393A1 (en) 2001-08-24 2003-03-06 Intel Corporation A general intput/output architecture, protocol and related methods to implement flow control
DE10163342A1 (de) * 2001-12-21 2003-07-10 Elektro Beckhoff Gmbh Unterneh Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer
JP3899968B2 (ja) * 2002-03-18 2007-03-28 松下電器産業株式会社 通信端末および通信システム
US7096308B2 (en) * 2003-08-29 2006-08-22 Texas Instruments Incorporated LPC transaction bridging across a PCI—express docking connection
US7680943B2 (en) * 2003-10-20 2010-03-16 Transwitch Corporation Methods and apparatus for implementing multiple types of network tunneling in a uniform manner
US7174180B2 (en) * 2004-07-21 2007-02-06 Lucent Technologies Inc. Methods and apparatus for transmission scheduling in wireless networks
GB0420164D0 (en) * 2004-09-10 2004-10-13 Nokia Corp A scheduler
US20060101178A1 (en) * 2004-11-08 2006-05-11 Zhong Tina C Arbitration in a multi-protocol environment
US20060236017A1 (en) * 2005-04-18 2006-10-19 Mo Rooholamini Synchronizing primary and secondary fabric managers in a switch fabric
WO2006120590A1 (en) 2005-05-09 2006-11-16 Koninklijke Philips Electronics N.V. A tunnel device to be used in networks for etablishing a connection therebetween
CN101501651A (zh) * 2006-08-08 2009-08-05 皇家飞利浦电子股份有限公司 电子设备和控制通信的方法
US8023976B2 (en) * 2007-05-03 2011-09-20 Samsung Electronics Co., Ltd. Method and system for accurate clock synchronization for communication networks
US8078787B2 (en) * 2007-06-22 2011-12-13 Apple Inc. Communication between a host device and an accessory via an intermediate device
US8199688B2 (en) * 2008-03-22 2012-06-12 Qualcomm Incorporated Signaling and management of broadcast-multicast waveform embedded in a unicast waveform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005117352A1 (ja) * 2004-05-28 2005-12-08 Nokia Corporation ネットワークシステム
JP2007282187A (ja) * 2006-03-16 2007-10-25 Ricoh Co Ltd 情報処理装置、情報処理システムおよびデータ通信方法

Also Published As

Publication number Publication date
JP2010088106A (ja) 2010-04-15
GB0912137D0 (en) 2009-08-26
CN101630301A (zh) 2010-01-20
DE102009032581B4 (de) 2012-05-31
CN101630301B (zh) 2013-03-13
US20100014541A1 (en) 2010-01-21
JP4909384B2 (ja) 2012-04-04
GB2461802A (en) 2010-01-20
JP5422005B2 (ja) 2014-02-19
DE102009032581A1 (de) 2010-02-04
TW201009585A (en) 2010-03-01
GB2461802B (en) 2012-04-11
US8218580B2 (en) 2012-07-10
TWI424317B (zh) 2014-01-21

Similar Documents

Publication Publication Date Title
JP5422005B2 (ja) プロトコルスタックのタイミングの管理
US8478982B2 (en) Media access control security management in physical layer
US7290066B2 (en) Methods and structure for improved transfer rate performance in a SAS wide port environment
US11048569B1 (en) Adaptive timeout mechanism
US8516177B2 (en) Avoiding non-posted request deadlocks in devices by holding the sending of requests
TWI351615B (en) Apparatus,method,and system for controller link fo
CN101901205B (zh) 在PCIExpress上启用基于ID的流的方法和装置
EP2902914B1 (en) Data transmission method and device
US8161221B2 (en) Storage system provided with function for detecting write completion
EP1754160B1 (en) Bus connection device
US20170212579A1 (en) Storage Device With Power Management Throttling
US8386908B2 (en) Data transmission methods and universal serial bus host controllers utilizing the same
JP2005332250A (ja) データ処理装置およびフロー制御方法
TWI825327B (zh) 輕量橋接器電路以及用於多實體功能模擬的方法及物品
US20190121765A1 (en) System, Apparatus And Method For Hardware-Based Bi-Directional Communication Via Reliable High Performance Half-Duplex Link
CN104731635A (zh) 一种虚拟机访问控制方法,及虚拟机访问控制系统
US20080276029A1 (en) Method and System for Fast Flow Control
US8199648B2 (en) Flow control in a variable latency system
TW201717039A (zh) 用於通用序列匯流排2.0頻寬保留之方法及系統
CN105579952B (zh) 利用伪停顿的高速通道上的emi抑制
EP2726992B1 (en) Network control model driver
US10057176B2 (en) System and method for minimizing data loss in a network
CN106095714A (zh) Usb数据传输的存储装置及电子设备
TW202320526A (zh) 電力感知之輸入/輸出緩衝區分配技術
CN103870418A (zh) 一种基于pc104接口的在线配置方法及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130924

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131023

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131122

LAPS Cancellation because of no payment of annual fees