JP5367310B2 - ホストとデバイスの間のデータ転送のための方法および機器 - Google Patents

ホストとデバイスの間のデータ転送のための方法および機器 Download PDF

Info

Publication number
JP5367310B2
JP5367310B2 JP2008167256A JP2008167256A JP5367310B2 JP 5367310 B2 JP5367310 B2 JP 5367310B2 JP 2008167256 A JP2008167256 A JP 2008167256A JP 2008167256 A JP2008167256 A JP 2008167256A JP 5367310 B2 JP5367310 B2 JP 5367310B2
Authority
JP
Japan
Prior art keywords
pipe
memory
pipes
host
data
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.)
Expired - Fee Related
Application number
JP2008167256A
Other languages
English (en)
Other versions
JP2009015837A (ja
Inventor
タン フゥー (ロナルド) グゥオ
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2009015837A publication Critical patent/JP2009015837A/ja
Application granted granted Critical
Publication of JP5367310B2 publication Critical patent/JP5367310B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ホストとデバイスの間のデータ転送のための方法、ならびにそれぞれの機器に関する。ホストは、データトラフィックを編成する通信機器と見なされる。デバイスは、ホストに依存するものと見なされる。階層星型トポロジにおいては、通常、1つのホストに接続された多数のデバイスが存在する。
概して、たとえばUSBプロトコルと呼ばれることが多いユニバーサルシリアルバスプロトコルを用いるデータ通信の間、ホスト内の利用可能なメモリは、多数のセグメントに分割することができる。各メモリセグメントが、たとえば双方向制御トラフィック用のバッファであり、着信データトラフィック用のバッファであり、または発信データトラフィック用のバッファである特定の機能性に割り振られる。メモリ要求は、使用されるUSBデバイスに強く依存する。USBデバイスの要件は、デバイスのベンダによってフルカスタムに定義することもでき、デバイスが、ある特定のUSBクラスに属してもよい。USBクラスは、たとえばHIDクラスとも呼ばれるヒューマンインタフェースデバイスクラス、大容量記憶デバイスクラス、映像デバイスクラス、ハブ、ワイヤレスコントローラおよびそれ以外でよい。USBクラスは、このクラスに属すデバイスの特定の挙動を定義する。
大容量記憶デバイスクラスに属すデバイスは、たとえば、大きなバースト性があるデータを特色とする。したがって、こうしたデバイスは、USBエンドポイントタイプとして、バルク転送を用いる。バルク転送は、いかなる待ち時間も最低限の帯域幅も保証せず、割り振られていないバス帯域幅を使用することになる。通常、大容量記憶デバイスは、主にデバイスからホストへの、いわゆる「読込み」、またはホストからデバイスへの、いわゆる「書込み」データストリームを有することを特徴とする。デバイスからホストへの、かつその逆でもデータレートが等しい双方向データ伝送は存在しない。
USB通信はパイプを経由して実施され、各パイプは、ホスト側ならびにデバイス側にあるエンドポイントに接続される。各エンドポイント上でのデータ伝送は、相互に独立している。2つのエンドポイントの間のデータ伝送は、常に一方向である。双方向データ伝送のためには、ホスト内の少なくとも2つのエンドポイントおよびデバイス内の対応する2つのエンドポイントが必要である。唯一の例外は、双方向に動作する制御パイプである。各ホストと各デバイスの間には、ただ1つの制御パイプが確立される。
各エンドポイントは、機能性を確実にするために、一定量のメモリを割り振る。このメモリのサイズが、接続の速度をある程度まで決定する。
たとえば、特許文献1の要約は、共有メモリ上の固定サイズのバッファ区域をパイプに割り振るデータ転送制御方法およびデータ転送制御装置を開示している。さらに、固定サイズのメモリが、各ポートに割り振られる。
上述したように、固定サイズのメモリが各パイプに割り振られ、データ転送が主に一方向である場合、割り振られたかなりの量のメモリが非効率的に使われる。さらに、固定サイズのメモリが各ポートに、したがって接続されている各デバイスに割り振られると、デバイスが小さいメモリを必要とする場合はたくさんのメモリが浪費されることになる。
特開2006−252334公報
本発明の目的は、公知のソリューションを改良することである。
本発明によると、ホストデバイス内の利用可能なバッファメモリは、多数のセグメントに分割される。デバイスがポートに接続された場合、制御パイプに対して実施される何らかの制御移行を行った後、デバイスおよびホストは、各々がデバイス内のエンドポイントで終端する、他のデバイス固有のパイプを開くことになる。ホスト内の双方向通信リンク、INパイプおよびOUTパイプの確立は、デバイス内の対応するエンドポイントと同様に必要である。本発明によると、IN−OUTパイプペアにメモリセグメントが割り振られる。このメモリは、通信の方向に応じて、INパイプまたはOUTパイプいずれかに割り当てられる。
続いて、本発明の基本的思想は、一方向伝送につながる。というのは、ある特定のデバイス用に使われるメモリが、一定の時間に、INパイプまたはOUTパイプにのみ割り振られるからである。双方向伝送は、時間の経過によるINパイプとOUTパイプの間のメモリの切換え中に達成される。したがって、データ伝送の方向は、継続的に変えることができる。したがって、メモリは、現時点で使用中のエンドポイントに割り振られるだけであり、どのメモリも割り振られず、使われない。提案されるソリューションは、メモリの浪費がほとんど省かれるという利点を有し、利用可能なメモリ全体を効率的に使う。IN−OUTパイプペアは、割り当てられたただ1つの記憶域を有するものに限定されない。多数のメモリセグメントを単一のIN−OUTパイプペアに割り当てることも本発明の範囲内であり、より速い伝送を実現する。1つのポートに属す、同じタイプの多数のパイプ、つまり多数のINパイプまたは多数のOUTパイプのケースでは、多数のメモリセグメントは、異なるタイプのパイプの間で切り換えることもでき、後で説明するように、同じタイプのパイプの間で切り換えることもできる。
有利なやり方では、メモリセグメントがINパイプまたはOUTパイプに割り振られることを示すのに、1つまたは多数のフラグが使われる。このメモリセグメントは、複雑さを低く抑えて切り換えることができ、現時点でアクティブなパイプを識別するのに、フラグを使うこともできる。こうすることにより、ある特定のメモリセグメントの高速な再割振りが可能になり、システムを柔軟に保つ。
有利なやり方では、2つのフラグが、メモリセグメントの系列を示す。このメモリセグメントを介して接続されるデバイスは、第1のフラグによって識別される。第2のフラグは、デバイス内の何本のパイプ、したがって何個のエンドポイントが、このメモリセグメントにアクセスできるかを示す。
有利には、本発明は、バルク転送モード用に用いられる。このエンドポイントタイプは、多くのケースにおいて主に一方向に送られる、バースト性があるデータを特徴とする。通常、INパイプまたはOUTパイプいずれかは、主に使用されない。さらに、大きなバッファサイズを求めるパケットサイズは比較的大きくてよい。上述したような、スマートメモリ割振りシステムによる、利用可能なメモリの効果的使用は、大幅な性能向上につながる。
本発明によると、ポートを介してホストに送られるデータのケースではこのポートのINパイプにメモリが割り振られ、対応するデバイスにホストがデータを送っているケースではポートのOUTパイプにメモリが割り振られるように、異なるタイプのパイプの間での切換えが実施される。このタイプの割振りにより、メモリが最も効率的に使われる。
本発明によると、あるデバイスに対応する、ホスト内の多数のINパイプおよび多数のOUTパイプのケースでは、こうしたパイプに対して割り当てられるメモリセグメントの数は、ある特定のタイプのパイプの数を超える場合がある。言い換えると、INパイプまたはOUTパイプが利用可能であるよりも、多くのメモリセグメントが割り当てられる。このことは、1つのタイプの異なるパイプに、異なる数のメモリセグメントを割り当てることができることを意味する。たとえば、ある特定のパイプタイプは、INパイプでよい。OUTパイプは、別のパイプタイプと見なされる。ある特定のパイプに割り当てられるメモリセグメントの数は、データトラフィックによる時間の間に変わり得る。
たとえば、2つのINパイプおよび2つのOUTパイプのケースにおいて、ホストがデータを受信している場合、これは、2つのINパイプが活動化されていることを意味する。3つのメモリセグメントが前記2つのパイプに割り当てられた場合、3つのメモリセグメントは、2つのパイプに分散されなければならない。2つのメモリセグメントは、第1のINパイプに割り当てることができ、1つのメモリセグメントは、第2のINパイプに割り当てることができる。2つのパイプに対するメモリ要求が変化しつつある場合、3つのメモリセグメントを割当て直すことができ、その後、1つのメモリセグメントが第1のINパイプに割り当てられることになり、2つのメモリセグメントは、第2のINパイプに割り当てることができる。同じことが、OUTパイプに対しても当てはまる。これは、同じ方向の多数のパイプが1つのポート中で開かれ、このポートに割り当てられるメモリセグメントの数が、制御トラフィック用に予約されたものを考慮に入れずに、一方向のパイプの数を超えるときは常に成り立ち得る。たとえば、音声データおよび映像データが異なるパイプを通って伝送される動画の伝送中、よくあるケースだが、映像データが音声データを超えることになる。したがって、音声パイプよりも、映像パイプに割り当てられるメモリセグメントの方が多い。動画中で、非常にシンプルな映像データ、たとえばブラックスクリーンおよび同時に非常に大きな音声データ、たとえば低圧縮の音楽を有するシーケンスがある場合、音声データおよび映像データの比は、一時的に変わり得る。映像パイプに割り当てられた一部のメモリセグメントは、一時的に音声パイプに割当て直されることになる。
本発明の有利な一実施形態によると、データ転送用に利用可能なメモリ全体が共有される。言い換えると、利用可能なバッファメモリ全体がセグメントに分割され、全セグメントは、エンドポイントの必要に基づいて割り当てることができる。こうすることにより、当該分野において公知である方法を用いた場合は行うことができない、利用可能な全メモリの使用をより効率的に保証する。全メモリの共有は、本発明によって可能とされる。利用可能なメモリ全体が割り振られた場合でも、依然として新たなデバイスを別のポートに接続することができる。というのは、メモリ割振りシステムが柔軟であり、メモリは、システムをクラッシュさせることなく、新たに含められるデバイスに割り振ることができる。このことは、多数のメモリセグメントが既存のパイプの少なくとも1つに割り当てられ、したがって、メモリが欠乏しないという仮定の下で成り立つ。
有利な実施形態では、制御パイプに割り当てられるメモリセグメントは切り換えられない。制御パイプ上でのデータレートが低いので、制御パイプに対するメモリ要求は、一般に制限される。制御パイプ上の伝送は双方向であり、他のエンドポイントに起きた失速状態のクリアなど、重要な特徴を達成するのに、制御トラフィックを用いることができる。したがって、制御エンドポイントへの固定メモリの割当ては、あまりメモリを浪費せず、さらに、着信および発信トラフィック用に共通メモリを使うという、本発明の基本概念と違わない。さらに、制御パイプへの固定メモリの割当ては、システムの故障の危険性を削減する。
好ましくは、本発明は、USBプロトコルによるデータ転送のために実装される。ただし、本発明は有利には、パイプまたは他の仮想パスを経由するシーケンシャルデータ転送をサポートする他のプロトコルとともに用いることもできる。
次に、図面に示す例示的な実施形態を用いて、本発明をより詳しく説明する。
提示する発明の範囲は、説明する例に限定されない。
図1は、例示的な実施形態における、ホスト機器Hに接続された2つのデバイス機器D1、D2を示す。この説明は、接続された多数のまたはただ1つのデバイスを有する類似の実施形態にも当てはまる。説明する実施形態において、ホストHのみが、メモリ共有アルゴリズムを用いる。デバイスD1、D2は、各エンドポイントに別個のメモリを割り振る。それにも関わらず、メモリ共有は、こうしたデバイスにおいて同様に実装することができる。複数のメモリセグメントを、デバイス内の1つのエンドポイントに割り当ててもよい。
ホストHと第1のデバイスD1の間のデータ通信は、1つのインパイプB_I1および1つのアウトパイプB_O1を介して行われる。さらに、双方向制御パイプCTRL1が存在する。例示的な実施形態では、メモリHMC1が、制御パイプCTRL1に別個に割り当てられる。それにも関わらず、制御パイプに共有メモリセグメントを適用することも、本発明の範囲内である。
共有メモリHMB1が、インパイプB_I1およびアウトパイプB_O1に割り当てられる。この共有メモリは、1つのメモリセグメントまたは多数のメモリセグメントからなり得る。メモリは、着信データのケースにおいて、インパイプB_I1に割り当てられる。発信のケースでは、トラフィックメモリが、アウトパイプB_O1に割り当てられる。このことは、矢印で示される。1つまたは多数のフラグあるいは別の弁別手段が、各メモリセグメントに、どのパイプに現時点で属しているか印をつける。対応するパイプへのメモリセグメントの割当ておよび割当て直しは、たとえば後で説明するように行うことができる。
ホストHと第2のデバイスD2の間のデータ通信は、2つのインパイプB_I2、B_I3および2つのアウトパイプB_O2、B_O3を介して行われる。さらに、双方向制御パイプCTRL2が存在する。例示的な実施形態では、メモリHMC2が、制御パイプCTRL2に別個に割り当てられる。それにも関わらず、制御パイプに共有メモリセグメントを適用することも、本発明の範囲内である。
共有メモリHMB2、HMB3、HMB4が、インパイプB_I2、B_I3およびアウトパイプB_O2、B_O3に割り当てられる。この共有メモリは、多数のメモリセグメントからなり得る。メモリセグメントの数は、インまたはアウトパイプの数に対応し、あるいはメモリセグメントの数は、インまたはアウトパイプの数より大きい。メモリセグメントは、着信データのケースにおいて、インパイプB_I2、B_I3に割り当てられる。発信のケースでは、トラフィックメモリがアウトパイプB_O2、B_O3に割り当てられる。このことは、矢印で示される。フラグまたは別の弁別手段が、各メモリセグメントに、どのエンドポイントに属しているか印をつける。対応するパイプへのメモリセグメントの割当ておよび割当て直しは、たとえば後で説明するように行うことができる。
図2は、本発明による、ホスト内でのメモリ共有の方法を模式的に、詳細に示す。
S1 デバイスが接続される
S2 制御パイプにメモリを割り当てる
S3 通信をセットアップする
S4 バルク/ISO転送か?
S10 シーケンシャルモード
S11 多数のインまたはアウトパイプか?
S20 各パイプに別個にメモリセグメントを割り当てる
S30/S40 パイプペアにメモリセグメントを割り振る
S31/S70/S71 受信または送信?
S50/S72/S76 インパイプにメモリを割り当てる
S51/S73/S77 データを受信する
S60/S74/S78 アウトパイプにメモリを割り当てる
S61/S75/S79 データを送る
S1でホストのいずれかのUSBポートにデバイスが接続された場合、対応するポートに対して制御パイプが確立され、S2でこの制御パイプにメモリが割り当てられる。さらに、S3でセットアップが行われ、S4で、通信のモードが、デバイスのリクエストに従って識別される。時間依存デバイスのケースでは(N4)、たとえば割込み転送が確立される。S20で、インパイプおよびアウトパイプに別個にメモリが割り当てられ、当該分野において公知であるUSB接続が確立される。高いデータレートを用いる転送のケースでは(Y4)、たとえば、このような厳しい待ち時間要件のないバルク転送が確立される。いくつかの種類のアイソクロナス転送も、このカテゴリの範囲に収まる。継続的に動作し、提示する発明によってメモリを共有することが決定された場合(Y4)、S10でシーケンシャルモードが確立される。単一のインおよび単一のアウトパイプが確立された場合(N11)あるいはデバイス要件に従って、かつホスト資源に従って多数のインパイプおよび/または多数のアウトパイプが確立された場合(Y11)、S11での決定が行われる。単一のインパイプおよび単一のアウトパイプのケースでは(N11)、S30で、このパイプペアにメモリが割り振られる。このメモリは、バッファ容量を高めるための、唯一のメモリセグメントでも、多数のメモリセグメントでもよい。プロトコルに従って、S31で、受信モードR31、それとも送信モードT31が確立されるのか、決定が行われる。最初のケースでは(R31)、S50でインパイプにメモリが割り当てられ、S51でデータが受信される。後者のケースでは(T31)、S60でアウトパイプにメモリが割り当てられ、S61でデータが送られる。受信R31から送信モードT31への切換えおよびその反対が、S31での決定を用いて可能である。送信モードが終了された場合(F31)、S4で、同じデバイスに対して新たな送信モードを選ぶこともでき、または、図に示さない代替法で、デバイスを無効にすることもできる。多数のパイプのケースでは(Y11)、S40でパイプペアにメモリセグメントが割り振られる。多数のメモリセグメントは、様々なやり方で、たとえば上述したように、多数のパイプに割り振ることができる。
データが受信され(R70、R71)、または送られる(T70、T71)場合、各パイプペアに対して、決定が行われる。データ受信のケースでは、S72、S76で、上の説明に従って、メモリが割り振られ、S73、S77でデータが受信される。データ送信のケースでは、S74、S78で、上の説明に従ってメモリが割り振られ、S75、S79でデータが送られる。異なるエンドポイントペアの間でのメモリの再割振りは、M70、M71によって可能である。送信が終了された場合(F70、F71)、S4で、同じデバイスに対して新たな送信モードを選んでもよく、または、図に示さない代替法で、デバイスを無効にしてもよい。
図3は、デバイスに既に割り当てられているメモリを共有する、デバイス内の新たなエンドポイントをどのようにして確立することができるかを模式的に示す。
S100 既に割り当てられているメモリが利用可能か?
S110 新たなパイプが、既に利用可能なメモリセグメントにアクセスできる
S120 新たなメモリセグメントが割り当てられ、新たなパイプによってアクセス可能になる
S10で、シーケンシャルモードで通信が確立され、S30、S40で、上述したようにメモリが割り振られる。デバイス内の新たなパイプおよび一致するエンドポイントが確立された場合、S100で、既に割り当てられているメモリが利用可能かどうか調べられる。メモリが利用可能な場合(Y100)、このメモリセグメントが新たなパイプ用にも使われることになり、S110で、メモリセグメントのフラグ、すなわち何本のパイプがこのセグメントにアクセスできるかの指示が1だけ増加される。多数のインまたはアウトパイプは、継続的に動作する限り、同じメモリセグメントを使うことができる。どのメモリも利用可能でない場合、S120で、新たなメモリセグメントがこのデバイスに割り当てられ、どのデバイスにセグメントが属すかを示すフラグがセットされ、何本のパイプがこのセグメントにアクセスできるかを示すフラグが1にセットされる。
多数のデバイスが接続される、ホスト内のデータパイプに対する割り振られたメモリの共有を示す図である。 メモリを割り振り、メモリ共有を開始するための方法を示す図である。 新たに確立されたパイプへの、利用可能なメモリの割当てを示す図である。

Claims (8)

  1. ホストとデバイスとの間の、パイプを経由するデータ転送のための方法であって、前記ホスト内の利用可能なメモリは、複数のメモリセグメントに分割され、
    前記ホストにおいて前記デバイスに対応する1つの入力パイプおよび1つの出力パイプが確立され、前記入力パイプと前記出力パイプとが1つのパイプペアを構成する場合前記複数のメモリセグメントのうちの少なくとも1つのメモリセグメントを前記パイプペアに割り当てることを含み、前記ホストへの着信データの場合は、前記少なくとも1つのメモリセグメントを前記入力パイプに割り当て、前記ホストからの発信データの場合は、前記少なくとも1つのメモリセグメントを前記出力パイプに割り当てて、前記少なくとも1つのメモリセグメントを、一度に前記入力パイプと前記出力パイプのいずれか一方のみに対して使用し、
    前記ホストにおいて前記デバイスに対応する少なくとも2つの入力パイプと少なくとも2つの出力パイプを含む第1の数の入力パイプと第1の数の出力パイプが確立され、前記第1の数の入力パイプの各々と前記第1の数の出力パイプのうちの対応する出力パイプとが1つのパイプペアを構成することにより、第1の数のパイプペアを構成する場合、前記第1の数のパイプペアに対して前記複数のメモリセグメントのうちの第2の数のメモリセグメントを割り当てることを含み、前記第2の数は前記第1の数と等しいか前記第1の数より大きく、前記ホストと前記デバイスとの間のデータ転送のトラフィックに応じて前記第2の数のメモリセグメントを前記第1の数のパイプペアの間で再割り振りして、前記ホストへの着信データの場合は、前記第2の数のメモリセグメントの各々を前記第1の数の入力パイプのうちのいずれかに割り当てて、前記ホストからの発信データの場合は、前記第2の数のメモリセグメントの各々を前記第1の数の出力パイプのいずれかに割り当てる、前記方法。
  2. 各メモリセグメントに、該メモリセグメントが現時点でどのパイプに割り当てられているかを示す1つまたは複数のフラグを追加する、請求項1に記載の方法。
  3. 前記メモリセグメントがどのデバイスに割り当てられるかを伝えるのに別個のフラグを使用し、何本のパイプが前記メモリセグメントへのアクセスを有するかを伝えるのに別のフラグを使用する、請求項2に記載の方法。
  4. バルク転送モードを使用する、請求項1乃至3のいずれかに記載の方法。
  5. 前記メモリ全体をセグメント化して、全てのメモリセグメントを割り当てる、請求項1乃至のいずれかに記載の方法。
  6. 1つまたは複数のメモリセグメントを、制御移行用のバッファとして排他的に使用する、請求項1乃至のいずれかに記載の方法。
  7. データ伝送はUSB伝送である、請求項1乃至のいずれかに記載の方法。
  8. パイプを経由して別のデバイスとの通信を確立するためのデータ転送手段を有する機器であって、利用可能なメモリは、複数のメモリセグメントに分割され、少なくとも1つのメモリセグメントを割り当てるためのパイプトラフィック判定手段および切換え手段をさらに備え、
    前記データ転送手段において前記デバイスに対応する1つの入力パイプおよび1つの出力パイプが確立され、前記入力パイプと前記出力パイプとが1つのパイプペアを構成する場合前記パイプトラフィック判定手段は、前記複数のメモリセグメントのうちの少なくとも1つのメモリセグメント前記1つのパイプペアに割り当てるように構成され、前記切替え手段は、前記パイプトラフィック判定手段が前記データ転送手段への着信データであると決定したとき、前記少なくとも1つのメモリセグメントを前記入力パイプに割り当てて、前記切替え手段は、前記パイプトラフィック判定手段が前記データ転送手段からの発信データであると決定したとき、前記少なくとも1つのメモリセグメントを前記出力パイプに割り当て、前記少なくとも1つのメモリセグメントを、一度に前記入力パイプと前記出力パイプのいずれか一方に対してのみ使用し、
    前記データ転送手段において前記デバイスに対応する少なくとも2つの入力パイプと出力パイプを含む第1の数の入力パイプと第1の数の出力パイプが確立され、前記第1の数の入力パイプの各々と前記第1の数の出力パイプのうちの対応する出力パイプとが1つのパイプペアを構成することにより、第1の数のパイプペアを構成する場合前記パイプトラフィック判定手段は、前記第1の数のパイプペアに対して前記複数のメモリセグメントのうちの第2の数のメモリセグメントを割り当てるように構成され、前記第2の数は前記第1の数と等しいか前記第1の数より大きく、前記切替え手段は、前記デバイスとの間のデータ転送のトラフィックに応じて前記第2の数のメモリセグメントを前記第1の数のパイプペアの間で再割り振りし、前記切替え手段は、前記パイプトラフィック判定手段が前記データ転送手段への着信データであると決定したとき、前記第2の数のメモリセグメントの各々を前記第1の数の入力パイプのうちのいずれかに割り当てて、前記切替え手段は、前記パイプトラフィック判定手段が前記データ転送手段からの発信データであると決定したとき、前記第2の数のメモリセグメントの各々を前記第1の数の出力パイプのいずれかに割り当てる、前記機器。
JP2008167256A 2007-06-29 2008-06-26 ホストとデバイスの間のデータ転送のための方法および機器 Expired - Fee Related JP5367310B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07301188A EP2015194A1 (en) 2007-06-29 2007-06-29 Method for data transfer between host and device
EP07301188.4 2007-06-29

Publications (2)

Publication Number Publication Date
JP2009015837A JP2009015837A (ja) 2009-01-22
JP5367310B2 true JP5367310B2 (ja) 2013-12-11

Family

ID=38739509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008167256A Expired - Fee Related JP5367310B2 (ja) 2007-06-29 2008-06-26 ホストとデバイスの間のデータ転送のための方法および機器

Country Status (5)

Country Link
US (1) US8219726B2 (ja)
EP (2) EP2015194A1 (ja)
JP (1) JP5367310B2 (ja)
CN (1) CN101334763B (ja)
TW (1) TWI446182B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI497414B (zh) * 2009-06-23 2015-08-21 Phison Electronics Corp 檔案執行方法及系統
CN114461536A (zh) * 2020-11-10 2022-05-10 瑞昱半导体股份有限公司 查找表建立及内存地址查询方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3415567B2 (ja) * 2000-06-21 2003-06-09 エヌイーシーマイクロシステム株式会社 Usb転送制御方法およびusbコントローラ
JP2002312296A (ja) * 2001-04-10 2002-10-25 Nec Microsystems Ltd 周辺装置のusbインタフェース装置、その制御方法およびプログラム並びにusbインタフェースシステム
US7069373B2 (en) * 2002-11-07 2006-06-27 Nec Electronics America, Inc. USB endpoint controller flexible memory management
US7222201B2 (en) * 2003-01-06 2007-05-22 Plx Technology, Inc. Virtual endpoint for USB devices
JP3649226B2 (ja) * 2003-05-20 2005-05-18 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
EP1698976A1 (en) * 2005-03-03 2006-09-06 Siemens Aktiengesellschaft Priority-sensitive reallocation of buffer space
JP2006252334A (ja) 2005-03-11 2006-09-21 Seiko Epson Corp データ転送制御方法、データ転送制御装置

Also Published As

Publication number Publication date
JP2009015837A (ja) 2009-01-22
EP2017740A3 (en) 2015-06-17
US8219726B2 (en) 2012-07-10
TW200900947A (en) 2009-01-01
TWI446182B (zh) 2014-07-21
US20090043923A1 (en) 2009-02-12
CN101334763B (zh) 2013-04-17
CN101334763A (zh) 2008-12-31
EP2015194A1 (en) 2009-01-14
EP2017740B1 (en) 2020-04-08
EP2017740A2 (en) 2009-01-21

Similar Documents

Publication Publication Date Title
KR101077900B1 (ko) 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치
CN102263698B (zh) 虚拟通道的建立方法、数据传输的方法及线卡
WO2009147811A1 (ja) インターフェース装置、通信システム、不揮発性記憶装置、通信モード切換方法および集積回路
US7222201B2 (en) Virtual endpoint for USB devices
US10007625B2 (en) Resource allocation by virtual channel management and bus multiplexing
KR100557215B1 (ko) 유에스비 디바이스의 엔드포인트 제어 장치 및 그 방법
CN107852423B (zh) 用于usb 2.0带宽保留的方法及系统
WO2010123143A1 (ja) 送信装置、送信方法及び送信装置の制御プログラム
CN108280041A (zh) 一种内部集成电路主机的通信方法和装置
KR100605657B1 (ko) 수신된 데이터를 처리하는 방법 및 장치와, 하나 이상의 원격 디바이스로부터 데이터를 수신하는 수신 디바이스
JP5367310B2 (ja) ホストとデバイスの間のデータ転送のための方法および機器
GB2412757A (en) USB host having multiple endpoints which can be dynamically re-allocated to USB devices
KR101197294B1 (ko) QoS 및 전송 효율 개선을 위한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법
JP6036445B2 (ja) 通信システム、中継装置、通信方法、及びプログラム
US10257031B1 (en) Dynamic network capacity augmentation for server rack connectivity
JP5960220B2 (ja) I/oリンクのレーン分割多重化
JP2015099963A (ja) 伝送装置及びシステム及び方法
JP2001306482A (ja) 入出力制御方法および装置
GB2359709A (en) Data processing system with a dynamically adjustable channel framework
KR20220141686A (ko) PCIe 인터페이스 장치 및 그 동작 방법
JP2006180431A (ja) デジタル機器、デジタル機器の接続方法、及びプログラム
KR20020070619A (ko) 비동기식 전송 모드 교환기의 예약된 전용선 할당 방법
JPS61216067A (ja) アドレス付与方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130624

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130625

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130716

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: 20130820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130911

R150 Certificate of patent or registration of utility model

Ref document number: 5367310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees