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

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

Info

Publication number
JP2009015837A
JP2009015837A JP2008167256A JP2008167256A JP2009015837A JP 2009015837 A JP2009015837 A JP 2009015837A JP 2008167256 A JP2008167256 A JP 2008167256A JP 2008167256 A JP2008167256 A JP 2008167256A JP 2009015837 A JP2009015837 A JP 2009015837A
Authority
JP
Japan
Prior art keywords
pipe
memory
host
hmb3
hmc2
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
JP2008167256A
Other languages
English (en)
Other versions
JP5367310B2 (ja
Inventor
Tang He Ronald Guo
タン フゥー (ロナルド) グゥオ
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)

Abstract

【課題】ホストとデバイスの間のデータ転送のための方法を提供する。
【解決手段】ホストは、データトラフィックを編成する通信機器と見なされる。デバイスは、ホストに依存するものと見なされる。階層星型トポロジにおいては、通常、1つのホストに接続された多数のデバイスが存在する。ホスト(H)とデバイス(D1、D2)の間の、パイプ(CTRL1、CTRL2、B_I1、B_I2、B_I3、B_O1、B_O2、B_O3)を経由するデータ転送のための方法が提示される。ホスト(H)内の利用可能なメモリは、多数のセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)に分割される。セグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)の割当ては、パイプトラフィックに依存して、パイプ(CTRL1、CTRL2、B_I1、B_I2、B_I3、B_O1、B_O2、B_O3)の間で変更される。
【選択図】図1

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 (10)

  1. ホスト(H)とデバイス(D1、D2)の間の、パイプ(CTRL1、CTRL2、B_I1、B_I2、B_I3、B_O1、B_O2、B_O3)を経由するデータ転送のための方法であって、前記ホスト(H)内の利用可能なメモリは、最大で単一のパイプ(CTRL1、CTRL2、B_I1、B_I2、B_I3、B_O1、B_O2、B_O3)に割り当てられる多数のセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)に分割され、少なくとも1つのメモリセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)は、少なくとも1つの入出力パイプペアに割り当てられ、前記少なくとも1つのメモリセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)の前記割当ては、パイプトラフィックに依存して、前記少なくとも1つのパイプペア(CTRL1、B_I1、B_O1およびCTRL2、B_I2、B_I3、B_O2、B_O3)のパイプの間で切り換えられることを特徴とする方法。
  2. 1つまたは多数のフラグは、どのパイプ(CTRL1、CTRL2、B_I1、B_I2、B_I3、B_O1、B_O2、B_O3)に前記メモリセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)が現時点で割り当てられているかを示す各メモリセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)に追加されることを特徴とする請求項1に記載の方法。
  3. どのデバイス(D1、D2)に前記メモリセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)が割り当てられるかを伝えるのに、別個のフラグが使われ、何本のパイプ(CTRL1、CTRL2、B_I1、B_I2、B_I3、B_O1、B_O2、B_O3)が前記メモリセグメントにアクセスできるかを伝えるのに、別のフラグが使われることを特徴とする請求項2に記載の方法。
  4. バルク転送モードが使われることを特徴とする請求項1乃至3のいずれかに記載の方法。
  5. 前記ホスト内のメモリは、デバイス(D1、D2)から前記ホスト(H)への通信のケースではバルクインパイプ(B_I1、B_I2、B_I3)に、ホスト(H)からデバイス(D1、D2)への通信のケースではバルクアウトパイプ(B_O1、B_O2、B_O3)に割り振られることを特徴とする請求項4に記載の方法。
  6. 多数のインパイプ(B_I2、B_I3)または多数のアウトパイプ(B_O2、B_O3)のケースでは、前記ホスト(H)内のメモリ(HMB2、HMB3、HMB4)は、特定のパイプ(B_I2、B_I3、B_O2、B_O3)内部でのトラフィックに応じて、特定のインパイプ(B_I2、B_I3)または特定のアウトパイプ(B_O2、B_O3)に割り振られることを特徴とする請求項1乃至5のいずれかに記載の方法。
  7. メモリ全体がセグメント化され、全メモリセグメントが割り当てられることを特徴とする請求項1乃至6のいずれかに記載の方法。
  8. 1つまたは複数のメモリセグメントは、制御移行(CTRL1、CTRL2)用のバッファ(HMC1、HMC2)として排他的に使われることを特徴とする請求項1乃至7のいずれかに記載の方法。
  9. 前記データ伝送はUSB伝送であることを特徴とする請求項1乃至8のいずれかに記載の方法。
  10. パイプ(CTRL1、CTRL2、B_I1、B_I2、B_I3、B_O1、B_O2、B_O3)を経由した、別のデバイス(D1、D2)との通信を確立するためのデータ転送手段(H)を有する機器であって、利用可能なメモリは、最大で単一のパイプ(CTRL1、CTRL2、B_I1、B_I2、B_I3、B_O1、B_O2、B_O3)に割り当てられる多数のセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)に分割され、入力/出力パイプペアに少なくとも1つのメモリセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)を割り当て、パイプトラフィックに依存して、前記少なくとも1つのパイプペア(CTRL1、B_I1、B_O1およびCTRL2、B_I2、B_I3、B_O2、B_O3)のパイプの間の前記少なくとも1つのメモリセグメント(HMC1、HMC2、HMB1、HMB2、HMB3、HMB4)の割当てを変更するパイプトラフィック判定手段および切換え手段をさらに提供されることを特徴とする機器。
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 true JP2009015837A (ja) 2009-01-22
JP5367310B2 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 瑞昱半导体股份有限公司 查找表建立及内存地址查询方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157966A (ja) * 2002-11-07 2004-06-03 Nec Electronics Corp エンドポイント・メモリ制御方法、エンドポイント・メモリ制御装置、usb装置および記憶媒体
JP2006252334A (ja) * 2005-03-11 2006-09-21 Seiko Epson Corp データ転送制御方法、データ転送制御装置

Family Cites Families (5)

* 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インタフェースシステム
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157966A (ja) * 2002-11-07 2004-06-03 Nec Electronics Corp エンドポイント・メモリ制御方法、エンドポイント・メモリ制御装置、usb装置および記憶媒体
JP2006252334A (ja) * 2005-03-11 2006-09-21 Seiko Epson Corp データ転送制御方法、データ転送制御装置

Also Published As

Publication number Publication date
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
JP5367310B2 (ja) 2013-12-11
EP2017740B1 (en) 2020-04-08
EP2017740A2 (en) 2009-01-21

Similar Documents

Publication Publication Date Title
KR101077900B1 (ko) 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치
JP5054818B2 (ja) インターフェース装置、通信システム、不揮発性記憶装置、通信モード切換方法および集積回路
CN102263698B (zh) 虚拟通道的建立方法、数据传输的方法及线卡
KR100795441B1 (ko) 짧은 대기시간의 인터럽트 및 제어 신호, 핫플러그 에러 검출 및 복구, 그리고 대역폭 할당을 하는 통신 버스
US20040030712A1 (en) Efficient routing of packet data in a scalable processing resource
WO2008124998A1 (fr) Méthode et dispositif d'ajustement dynamique de la largeur de bande d'un canal hdlc
WO2010123143A1 (ja) 送信装置、送信方法及び送信装置の制御プログラム
KR100557215B1 (ko) 유에스비 디바이스의 엔드포인트 제어 장치 및 그 방법
US6735210B1 (en) Transmit queue caching
CN107852423B (zh) 用于usb 2.0带宽保留的方法及系统
KR100605657B1 (ko) 수신된 데이터를 처리하는 방법 및 장치와, 하나 이상의 원격 디바이스로부터 데이터를 수신하는 수신 디바이스
CN102750245B (zh) 报文接收方法、报文接收模块、装置及系统
CN116644010A (zh) 一种数据处理方法、装置、设备及介质
JP5367310B2 (ja) ホストとデバイスの間のデータ転送のための方法および機器
US20040268009A1 (en) Transceiving network controller and method for controlling buffer memory allocation and data flow
KR101197294B1 (ko) QoS 및 전송 효율 개선을 위한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법
US7346078B2 (en) Processing of received data within a multiple processor device
JP2014187430A (ja) 通信システム、中継装置、通信方法、及びプログラム
JP5960220B2 (ja) I/oリンクのレーン分割多重化
JP2015099963A (ja) 伝送装置及びシステム及び方法
JP2009009250A (ja) 通信システム、通信機器及びそれらに用いるデータ転送方法
CN109165099B (zh) 一种电子设备、内存拷贝方法及装置
JP2001306482A (ja) 入出力制御方法および装置
JP2006313427A (ja) パケット処理装置
JP2006180431A (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