JP6222724B2 - USB device, USB system, data transfer method, and program - Google Patents
USB device, USB system, data transfer method, and program Download PDFInfo
- Publication number
- JP6222724B2 JP6222724B2 JP2013135197A JP2013135197A JP6222724B2 JP 6222724 B2 JP6222724 B2 JP 6222724B2 JP 2013135197 A JP2013135197 A JP 2013135197A JP 2013135197 A JP2013135197 A JP 2013135197A JP 6222724 B2 JP6222724 B2 JP 6222724B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- buffer
- usb
- data
- usb host
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Description
本発明は、USBデバイス、USBシステム、データ転送方法、及びプログラムに関する。 The present invention relates to a USB device, a USB system, a data transfer method, and a program.
近年、パソコンの周辺機器の接続などに用いられるインターフェース規格として、USB(Universal Serial Bus)規格が広く利用されている。USBシステムでは、USBホストと複数のUSBデバイスとの間でデータ通信が行われる。 In recent years, the USB (Universal Serial Bus) standard has been widely used as an interface standard used for connection of peripheral devices of personal computers. In the USB system, data communication is performed between a USB host and a plurality of USB devices.
特許文献1には、USB2.0の規格に応じたUSBインターフェース用のブリッジ装置が開示されている。特許文献1のブリッジ装置は、USBインターフェース部とバッファとを備えている。 Patent Document 1 discloses a bridge device for a USB interface that conforms to the USB 2.0 standard. The bridge device of Patent Document 1 includes a USB interface unit and a buffer.
特許文献2には、USB3.0規格の通信システムが開示されている。USB3.0 Super Speedでは、5Gbpsの転送速度での通信が可能になる。USBホストとUSBデバイスとの間のデータ転送をより高速化したいという要望がある。 Patent Document 2 discloses a communication system conforming to the USB 3.0 standard. USB3.0 Super Speed enables communication at a transfer rate of 5 Gbps. There is a demand for faster data transfer between a USB host and a USB device.
本発明は、高いデータ転送速度を有するUSBデバイス、USBシステム、データ転送方法、及びプログラムを提供するものである。 The present invention provides a USB device having a high data transfer speed, a USB system, a data transfer method, and a program.
本願発明の一態様にかかるUSBデバイスは、USBホストとの間でパケットを送受信するUSBインターフェースと、前記USBインターフェースを介して送信又は受信するパケットのパケットデータを複数格納するバッファと、前記バッファに格納された前記パケットデータ、又は前記バッファに格納する前記パケットデータが伝送されるシステムバスと、前記バッファの空き状況又は格納状況を示す値と閾値とを比較し、比較結果に応じて前記USBホストに通信準備が完了したことを示す準備完了パケットを送信する通信制御部と、を備えたものである。 A USB device according to an aspect of the present invention includes a USB interface that transmits and receives packets to and from a USB host, a buffer that stores a plurality of packet data of packets that are transmitted or received via the USB interface, and a buffer that stores the packet data. The system bus through which the packet data stored in the buffer or the packet data stored in the buffer is transmitted is compared with a threshold value and a value indicating the availability or storage status of the buffer. And a communication control unit that transmits a preparation completion packet indicating that the communication preparation is completed.
本願発明の一態様にかかるデータ転送方法は、USBデバイスのバッファに、USBホストから受信したパケット又は前記USBホストに送信するパケットのパケットデータを格納し、前記USBデバイスのシステムバスに前記パケットデータを送出し、前記バッファの空き状況又は格納状況を示す値と閾値とを比較して、前記USBホストに通信準備が完了したことを示す準備完了パケットを送信し、前記準備完了パケットに応答して、前記USBホストがパケットを送信するものである。 In the data transfer method according to one aspect of the present invention, packet data of a packet received from a USB host or a packet to be transmitted to the USB host is stored in a buffer of the USB device, and the packet data is stored in a system bus of the USB device. Sending, comparing the value indicating the buffer availability or storage status with a threshold value, sending a ready packet indicating that communication preparation is completed to the USB host, and responding to the ready packet, The USB host transmits a packet.
本願発明の一態様にかかるプログラムは、USBホストとの間でパケットを送受信するUSBデバイスに対して、前記USBホストから受信したパケット又は前記USBホストに送信するパケットのパケットデータをバッファに格納するステップと、システムバスに前記パケットデータを送出するステップと、前記バッファの空き状況又は格納状況を示す値と閾値とを比較して、前記USBホストに通信準備が完了したことを示す準備完了パケットを送信するステップと、を実行させるものである。 The program according to an aspect of the present invention stores a packet data of a packet received from the USB host or a packet transmitted to the USB host in a buffer for a USB device that transmits / receives a packet to / from the USB host. A step of sending the packet data to the system bus, and a value indicating the buffer availability or storage status and a threshold value are compared, and a ready packet indicating that the communication preparation is completed is transmitted to the USB host. And a step of executing.
本発明によれば、高いデータ転送速度を有するUSBデバイス、USBシステム、データ転送方法、及びプログラムを提供することができる。 According to the present invention, it is possible to provide a USB device, a USB system, a data transfer method, and a program having a high data transfer speed.
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。 Embodiments of the present invention will be described with reference to the accompanying drawings. The embodiments described below are examples of the present invention, and the present invention is not limited to the following embodiments. In the present specification and drawings, the same reference numerals denote the same components.
実施の形態1.
(システム構成)
本実施の形態にかかるUSBシステムとそのデータ転送方法について、図を参照して説明する。図1は、USBシステム100の全体構成を示す図である。USBシステム100はUSBホスト10とUSBデバイス20とを備えている。USBホスト10は、例えば、パーソナルコンピュータ等のホスト機能を有するUBS機器である。USBデバイス20は、例えば、プリンタ、カメラ、メモリ等の周辺機器であり、USB通信のエンドポイントとなる。
Embodiment 1 FIG.
(System configuration)
The USB system and its data transfer method according to this embodiment will be described with reference to the drawings. FIG. 1 is a diagram showing an overall configuration of the
USBホスト10とUSBデバイス20はUSBインターフェース30を介して接続されている。USBインターフェース30を介して、USBホスト10とUSBデバイス20とがパケット通信を行う。USBホスト10は、USBインターフェース30を介して、USBデバイス20にパケットを送信する。また、USBデバイス20は、USBインターフェース30を介して、USBホスト10にパケットを送信する。
The
USBホスト10は、USBデバイス20とのデータ通信を制御する。例えば、USBホスト10がUSBデバイス20に対してデータ転送要求やパケット要求を行うことで、USBデバイス20がデータを転送する。USBホスト10とUSBデバイス20がUSB規格に従ったプロトコルでデータを通信する。ここでは、USBホスト10とUSBデバイス20は、USB3.0 Super Speedの規格に従ってデータ通信を行う。なお、USB規格に準拠したデータ通信については、公知の方法と同様であるため詳細な説明を省略する。
The
USBデバイス20は、システムバス40を備えている。USBデバイス20は、USBホスト10との間でパケット通信を行い、パケットに含まれるパケットデータをシステムバス40に送出する。例えば、USBデバイス20は、USBホスト10からのパケットを受信する。USBデバイス20は受信したパケットを解析して、パケットに含まれるパケットデータをシステムバス40に転送する。これにより、パケットデータがUSBデバイス20のメモリ等に記憶される。また、USBデバイス20は、USBホスト10への応答を行う。この場合、USBデバイス20は、をシステムバス40から転送されたデータに基づいて、パケットを構築する。そして、USBデバイス20は、USBインターフェース30を介して、パケットをUSBホスト10に送信する。
The
さらに、USBデバイス20は、パケットデータを格納するバッファの空き数、又はバッファに格納されたデータ数を管理する。そして、USBデバイス20は、空き数又はデータ数を閾値と比較する。USBデバイス20は、閾値判定を行うことにより送受信パケット制御を効率化して、テータ転送速度の向上を図る。さらに、通信状況に応じて任意の閾値を設定可能にすることにより、接続するUSBホスト10に合わせて最適化することができる。これにより、システム構成に合わせて、転送速度向上を図ることができる。この制御については後述する。
Further, the
なお、図1では、1つのUSBホスト10に1つのUSBデバイス20が接続されている構成が示されているが、1つのUSBホスト10に複数のUSBデバイス20が接続されていてもよい。以下の説明において、USBホスト10からUSBデバイス20にデータパケットを送信する場合を、OUT転送とし、USBデバイス20からUSBホスト10にデータパケットを送信する場合をIN転送とする。
Although FIG. 1 shows a configuration in which one
(デバイス構成)
USBデバイス20について、図2を用いて説明する。図2は、USBデバイス20の構成を示すブロック図である。USBデバイス20は、USBインターフェース30、物理層ユニット21、リンク層ユニット22、プロトコル層ユニット23、DMA(Direct Memory Access)コントローラ24、レジスタ制御部25、及びシステムバス40を備えている。プロトコル層23は、OUT転送バッファ26とIN転送バッファ27とを備えている。物理層ユニット21、リンク層ユニット22、プロトコル層ユニット23、DMAコントローラ24、及びレジスタ制御部25が、パケット通信を制御する通信制御部となる。
(Device configuration)
The
USBインターフェース30は、上記の通り、USBホスト10と接続しており、USBホスト10との間でUSB通信を行うためのインターフェースとなる。物理層ユニット21は、物理(PHY)層処理を行い、物理層を制御する回路である。例えば、物理層ユニット21はA/D変換器やD/A変換器を有している。そして、物理層ユニット21は、OUT転送時には、差動信号をA/D変換してデジタル信号を生成して、リンク層ユニット22に送出する。物理層ユニット21は、IN転送時にはD/A変換によりアナログの差動信号を生成して、USBインターフェース30に送出する。
As described above, the
リンク層ユニット22は、リンク層処理を行い、リンク層を制御する回路である。リンク層ユニット22は、物理層ユニット21とプロトコル層ユニット23との間に配置されている。例えば、OUT転送時に、リンク層ユニット22は、パケットヘッダの解析を行い、パケットデータをプロトコル層ユニット23に送出する。また、IN転送時に、リンク層ユニット22は、プロトコル層ユニット23から受け取った情報をパケットに構築し、物理層ユニット21に送出する。
The
プロトコル層ユニット23は、プロトコル層処理を行い、プロトコル層を制御する回路である。例えば、プロトコル層ユニット23は、パケットデータを解析する。プロトコル層ユニット23は、物理層ユニット21、及びリンク層ユニット22を介して、データを送受信する。
The
さらに、プロトコル層ユニット23は、OUT転送バッファ26、IN転送バッファ27を有している。OUT転送バッファ26は、OUT転送時にパケットデータを格納する。例えば、OUT転送バッファ26は、リンク層ユニット22からのパケットデータをバッファし、DMAコントローラ24を介してシステムバス40に送出する。IN転送バッファ27は、IN転送時にパケットデータを格納する。例えば、IN転送バッファ27は、DMAコントローラ24からのパケットデータをバッファし、リンク層ユニット22に送出する。
Further, the
OUT転送バッファ26、及びIN転送バッファ27は、それぞれ、最大16パケットまで設定可能なバッファ段数を持っている。すなわち、OUT転送バッファ26、及びIN転送バッファ27は、それぞれ16段のバッファを有し、各段に1パケット分のパケットデータをバッファする。もちろん、OUT転送バッファ26、及びIN転送バッファ27の段数は16に限定されるものではなく、2以上の段数であればよい。プロトコル層ユニット23は、OUT転送バッファ26の空き数、及びIN転送バッファ27のデータ格納数をバッファの空き状況、又は格納状況を示す値として求める。そして、プロトコル層ユニット23は、バッファの空き状況又は格納状況を示す値を管理して、通信を制御する。
Each of the OUT transfer buffer 26 and the
DMAコントローラ24は、システムバス40と接続されている。システムバス40は、図示しないメモリ等と接続されている。したがって、DMAコントローラ24は、システムバス40を介して、メモリ等と接続されている。そして、DMAコントローラ24は、ダイレクトメモリアクセスによってメモリへのデータの書き込み、及びメモリからのデータの読み出しを制御する。OUT転送時には、DMAコントローラ24は、OUT転送バッファ26に格納されたパケットデータをメモリに書き込む。IN転送時には、DMAコントローラ24は、メモリに記憶されたデータを読み出し、送信データとして、IN転送バッファ27に格納する。
The
レジスタ制御部25は、OUT転送バッファ26の空き数、又はIN転送バッファ27データ数を管理するための閾値を設定する。レジスタ制御部25は、閾値を設定する設定レジスタを有している。したがって、レジスタ制御部25が閾値を記憶する閾値記憶部となる。
The
OUT転送処理について説明する。USBインターフェース30を介して、USBデバイス20がUSBホスト10からのパケットを受信する。すると、物理層ユニット21は、パケットのハード的なチェックを行い、リンク層ユニット22に送出する。リンク層ユニット22は、パケットに含まれるヘッダ情報の解析等を行う。リンク層ユニット22は、パケットに含まれるパケットデータをプロトコル層ユニット23に送出する。なお、受信エラー等が起きた場合、リンク層ユニット22がUSBホスト10に再送処理を要求する。
The OUT transfer process will be described. The
プロトコル層ユニット23は、パケットデータを解析して、必要なパケットデータをOUT転送バッファ26に格納する。OUT転送バッファ26は複数のパケットのパケットデータを格納するように、複数段設けられている。よって、プロトコル層ユニット23は、1パケットのパケットデータをOUT転送バッファ26に順番に格納していく。すなわち、プロトコル層ユニット23は、OUT転送バッファ26の空いているバッファにパケットデータを格納する。DMAコントローラ24は、OUT転送バッファ26に格納されているパケットデータを順番にシステムバス40に送出する。
The
IN転送処理について説明する。システムバス40からのデータがプロトコル層ユニット23に送出される。プロトコル層ユニット23は、システムバス40からのデータをIN転送バッファ27に送信データとして格納する。これにより、データの転送準備が行われる。プロトコル層ユニット23は、IN転送バッファ27に格納した送信データをリンク層ユニット22に送出する。リンク層ユニット22はプロトコル層ユニット23から受け取った送信データをパケットに構築する。そして、リンク層ユニット22は、パケットを物理層ユニット21に送出する。物理層ユニット21は、パケットに物理層処理を行って、USBインターフェース30に送出する。USBデバイス20がパケット要求を受信すると、プロトコル層ユニット23は、IN転送バッファ27が格納している送信データを順番にリンク層ユニット22に送出する。
The IN transfer process will be described. Data from the
(OUT転送)
以下、USBデバイス20からUSBホスト10にデータパケットを送信するOUT転送の処理フローについて、図3を用いて説明する。図3は、OUT転送バッファ26に空きがある場合のOUT転送でのシーケンスを示す図である。
(OUT transfer)
Hereinafter, a processing flow of OUT transfer for transmitting a data packet from the
まず、USBホスト10がDATAパケットをUSBデバイス20に送信して、データ転送要求を行う(図3のA)。すると、プロトコル層ユニット23がOUT転送バッファ26の空き状況を確認する。
First, the
OUT転送バッファ26の空きがあるので、USBデバイス20は、ACKパケットをUSBホスト10に送信して、USBホスト10への転送応答を実行する(図3のB)。USBホスト10はACKパケットを受信したら、同様に、DATAパケットをUSBデバイス20に送信する(図3のC)。USBデバイス20は、DATAパケットを受信したら、同様にACKパケットをUSBホスト10に送信する(図3のD)。この処理を繰り返して、パケット通信を行う。このように、OUT転送バッファ26に十分な空きがある場合、USBホスト10からのDATAパケットの送信と、USBデバイス20からのACKパケットの送信が交互に行われる。
Since the OUT transfer buffer 26 is available, the
次に、OUT転送バッファ26の空きがない場合について、図4を用いて説明する。図4は、OUT転送バッファ26の空きがない場合のOUT転送でのシーケンスを示す図である。 Next, the case where the OUT transfer buffer 26 is not empty will be described with reference to FIG. FIG. 4 is a diagram showing a sequence in OUT transfer when the OUT transfer buffer 26 is not empty.
まず、USBホスト10がDATAパケットをUSBデバイス20に送信して、データ転送要求を行う(図4のA)。すると、プロトコル層ユニット23がOUT転送バッファ26の空き状況を確認する。OUT転送バッファ26の空きがないので、USBデバイス20は、USBホスト10にNRDY(Not Ready)パケットを送信して、送信できないことを伝えるパケット応答を行う(図4のB)。NRDYパケットは、USBホスト10に通信を待機させる待機パケットである。
First, the
これにより、バッファ空待ち時間となって、USBホスト10は、OUT転送バッファ26が空くのを待つ。USBデバイス20は、NRDYパケットを送信した後、OUT転送バッファ26のパケットデータを送出して、空きバッファを発生させる。すなわち、DMAコントローラ24が、OUT転送バッファ26に格納されているデータパケットをシステムバス40に送出する。
As a result, the buffer empty waiting time is reached, and the
USBデバイス20は、OUT転送バッファ26に空きが発生したら、ERDY(Endpoint Ready)パケットをUSBホスト10に送信する(図4のC)。すなわち、USBデバイス20は、OUT転送バッファ26に空きができ次第、USBホスト10に準備完了を伝えるERDYパケットを送信する。ERDYパケットは、USBホスト10に通信準備が完了したことを示す準備完了パケットである。なお、ERDYパケットには、空きバッファ数の情報が含まれているため、USBホスト10には受付可能数が通知される。
When the OUT transfer buffer 26 becomes empty, the
USBホスト10は、ERDYパケットに応答して、再度、USBデバイス20にDATAパケットを送信して、データ転送要求を行う(図4のD)。USBデバイス20がDATAパケットを受信すると、プロトコル層ユニット23がOUT転送バッファ26の空き状況を確認する。OUT転送バッファ26に空きがある場合、USBデバイス20は、USBホスト10にACKパケットを送信して、転送完了を通知する(図4のE)。なお、ACKパケットには、空きバッファ数の情報が含まれているため、USBホスト10には受付可能数が通知される。
In response to the ERDY packet, the
USBホスト10はACKパケットに応答して、再度、USBデバイス20にDATAパケットを送信して、データ転送要求を行う(図4のF)。すると、プロトコル層ユニット23がOUT転送バッファ26の空き状況を確認する。OUT転送バッファ26の空きがない場合、USBデバイス20は、USBホスト10にNRDYパケットを送信して、送信できないことを伝えるパケット応答を行う(図4のG)。
In response to the ACK packet, the
USBホスト10は、図4のBと同様に、NRDYパケットを受信した後、OUT転送バッファ26に空きができるまで待機する。すなわち、バッファ空待ち時間となって、USBホスト10は、OUT転送バッファ26が空くのを待つ。USBデバイス20は、NRDYパケットを送信した後、OUT転送バッファ26のパケットデータをシステムバス40に送出する。すなわち、DMAコントローラ24が、システムバス40を介して、OUT転送バッファ26に格納されているデータパケットをメモリに書き込む。そして、OUT転送バッファ26に空きが生じたら、USBデバイス20がUSBホスト10にERDYパケットを送信して、転送完了を通知する(図4のH)。
Similar to B in FIG. 4, the
OUT転送バッファ26に空きがない場合、USBデバイス20は、以下に示す問題が生じる恐れがある。USBホスト10からのパケット転送に対してシステムバス40側のデータ転送が遅い場合、OUT転送バッファ26にパケットデータが溜まっていく。すなわち、OUT転送バッファ26の空き数が徐々に減っていってしまう。そして、OUT転送バッファ26に空きがなくなり、データ受け付けられない状態となると、USBデバイス20からのデータパケットに対して、USBホスト10がNRDY応答を行う。
When the OUT transfer buffer 26 is not empty, the
OUT転送バッファ26に空きができ、USBデバイス20がパケットを受け付けられる状態となると、USBデバイス20がERDYパケットを送信する。USBホスト10は、ERDYパケットにより、空きがあることが通知されると、USBデバイス20に対してDATAパケットの送信を開始する。このように、OUT転送バッファ26に空きができる度に、ERDY応答を行っていると、NRDYパケットとERDYパケットの転送回数が多くなる。すなわち、OUT転送バッファ26が空き無しから空有りになるタイミングで毎回、USBデバイス20がERDYパケットを送信すると、全体から見た転送速度が遅くなってしまう場合がある。
When the OUT transfer buffer 26 becomes empty and the
そこで、本実施の形態では、以下に示す制御方法によって、データ通信速度の向上を図っている。以下、本実施の形態にかかるデータ転送方法について、図5を用いて説明する。 Therefore, in this embodiment, the data communication speed is improved by the following control method. Hereinafter, the data transfer method according to the present embodiment will be described with reference to FIG.
まず、USBホスト10がDATAパケットをUSBデバイス20に送信して、データ転送要求を行う(図5のA)。すると、プロトコル層ユニット23がOUT転送バッファ26の空き状況を確認する。OUT転送バッファ26に空きがないため、USBデバイス20は、USBホスト10にNRDYパケットを送信して、送信できないことを伝えるパケット応答を行う(図5のB)。NRDYパケットは、USBデバイス20にパケット転送を待機させる待機パケットである。
First, the
バッファ空待ち時間となって、USBホスト10は、OUT転送バッファ26が空くのを待つ。USBデバイス20は、NRDYパケットを送信した後、OUT転送バッファ26のパケットデータをシステムバス40に送出することで、OUT転送バッファ26の空き数を増やす。すなわち、DMAコントローラ24が、システムバス40を介して、OUT転送バッファ26に格納されているパケットデータをメモリに送出する。このようにして、プロトコル層ユニット23がOUT転送バッファ26に空きを発生させる。
The buffer empty waiting time is reached, and the
さらに、バッファ空待ち時間において、プロトコル層ユニット23はバッファの空き数と閾値を比較する。バッファの空き数が閾値を越えたら、USBデバイス20がERDYパケットをUSBホスト10に送信する(図5のC)。すなわち、USBデバイス20は、OUT転送バッファ26に空きができたタイミングでは、USBホスト10に準備完了を伝えるERDYパケットを送信しない。そして、OUT転送バッファ26の空き数が閾値を越えたタイミングで、ERDYパケットをUSBホスト10に送信する。閾値は、2以上の任意の数とすることができる。ここで、ERDYパケットには、OUT転送バッファ26の空きバッファ数の情報が含まれているため、USBデバイス20は、USBホスト10にOUT転送バッファ26の空きバッファ数を通知する。ERDYパケットは、USBホスト10に通信準備が完了したことを示す準備完了パケットである。
Further, in the buffer empty waiting time, the
USBホスト10は、ERDYパケットに応答して、再度、USBデバイス20にDATAパケットを送信して、データ転送要求を行う(図5のD)。USBデバイス20がDATAパケットを受信すると、プロトコル層ユニット23がOUT転送バッファ26の空き状況を確認する。OUT転送バッファ26の空きがある場合、USBデバイス20は、USBホスト10にACKパケットを送信して、転送完了を通知する(図5のE)。なお、ACKパケットには、OUT転送バッファ26の空きバッファ数の情報が含まれているため、USBデバイス20は、USBホスト10にOUT転送バッファ26の空きバッファ数を通知する。また、OUT転送バッファ26に格納されているパケットデータを順番にシステムバス40に送出する。
In response to the ERDY packet, the
このように、USBデバイス20は、NRDYパケットを送信した後、OUT転送バッファ26の空きバッファ数が閾値よりも大きくなったタイミングで、ERDYパケットを送信する。すなわち、OUT転送バッファ26の空きが発生したタイミングではUSBデバイス20がERDYパケットを送信しない。OUT転送バッファ26の空きバッファ数が閾値を越えるまで、USBデバイス20は、ERDYパケットの送信を待機する。
Thus, after transmitting the NRDY packet, the
このようにすることで、USBホスト10へのデータ受信準備完了通知を行うタイミングを変更することが可能になる。よって、NRDYパケットとERDYパケットの送信回数を減らすことができる。NRDYパケット/ERDYパケットの送信回数及び時間を調整することができるため、転送効率を上げることができる。バッファ空待ち時間が長くなったとしても、システム全体の転送速度を向上することができる。
In this way, it is possible to change the timing for notifying the
さらに、レジスタ制御部25が空きバッファ数の閾値を調整可能にしてもよい。これにより、USBシステム100の通信状況に応じて閾値を最適化することができる。例えば、システムバス40等の仕様に応じて、閾値を調整することができる。USBインターフェース30でのデータ転送速度をモニタして、そのモニタ結果に応じて、閾値を設定するようにしてもよい。例えば、閾値を変化させていき、その時のデータ転送速度をUSBインターフェース30上で評価する。そして、最もデータ転送速度が高くなる時の閾値を、レジスタ制御部25のレジスタに記憶させる。このようにすることで、システムバス40に応じて最適な閾値を設定することができる。よって、データ転送速度をより高くすることができる。テストプログラムやハードウェアなどを用いて、レジスタ制御部25が閾値を自動的に設定するようにしてもよい。
Further, the
上記のデータ転送方法では、OUT転送バッファ26の空き状況を示す値として、OUT転送バッファ26の空きバッファ数を用いたが、これ以外の値を用いてもよい。例えば、OUT転送バッファ26の空き状況をバッファのデータ格納数で管理してもよい。そして、OUT転送バッファ26の空き状況を示す値を閾値と比較して、その比較結果に応じてERDYパケットを送信すればよい。 In the data transfer method described above, the number of empty buffers in the OUT transfer buffer 26 is used as a value indicating the empty state of the OUT transfer buffer 26, but other values may be used. For example, the availability of the OUT transfer buffer 26 may be managed by the number of data stored in the buffer. Then, a value indicating the availability of the OUT transfer buffer 26 is compared with a threshold value, and an ERDY packet may be transmitted according to the comparison result.
(IN転送)
次に、USBホスト10からUSBデバイス20にデータパケットを送信するIN転送の処理について、図6を用いて説明する。図6は、IN転送バッファ27に転送するパケットデータがある場合のIN転送でのシーケンスを示す図である。
(IN transfer)
Next, IN transfer processing for transmitting a data packet from the
まず、USBホスト10がACKパケットをUSBデバイス20に送信して、パケット要求を行う(図6のA)。すると、プロトコル層ユニット23がIN転送バッファ27のデータ格納状況を確認する。
First, the
IN転送バッファ27には、送信するパケットのパケットデータ(送信データ)があるので、USBホスト10は、DATAパケットに応答して、ACKパケットをUSBデバイス20に送信する(図6のC)。なお、図6のA、及びCのACKパケットには、要求データ数の情報が含まれている。USBデバイス20は、ACKパケットを受信したら、同様にDATAパケットをUSBホスト10に送信する(図6のD)。この処理を繰り返して、データ通信を行う。このように、IN転送バッファ27に送信データが格納されている場合、USBホスト10からのACKパケットの送信と、USBデバイス20からのDATAパケットの送信が交互に行われる。
Since there is packet data (transmission data) of the packet to be transmitted in the
次に、IN転送バッファ27の送信データがない場合について、図7を用いて説明する。図7は、IN転送バッファ27の送信データがない場合のIN転送でのシーケンスを示す図である。
Next, a case where there is no transmission data in the
まず、USBホスト10がACKパケットをUSBデバイス20に送信して、パケット要求を行う(図7のA)。すると、プロトコル層ユニット23がIN転送バッファ27のデータ格納状況を確認する。IN転送バッファ27に送信データが格納されておらず、USBデバイス20は、データの転送準備ができていない。したがって、USBデバイス20は、USBホスト10にNRDYパケットを送信して、送信できないことを伝えるパケット応答を行う(図7のB)。NRDYパケットは、USBデバイス20にパケット転送を待機させる待機パケットである。
First, the
データ準備待ち時間となって、USBホスト10は、IN転送バッファ27のデータ準備が完了するのを待つ。USBデバイス20は、NRDYパケットを送信した後、システムバス40からIN転送バッファ27に送信データを送出する。すなわち、DMAコントローラ24が、システムバス40を介して、メモリに記憶されている送信データをIN転送バッファ27に格納する。これにより、USBデバイス20は、データの転送準備を行う。
The
USBデバイス20は、IN転送バッファ27の送信データの準備が完了したら、ERDYパケットをUSBホスト10に送信する(図7のC)。すなわち、USBデバイス20は、IN転送バッファ27に送信データが格納され次第、USBホスト10に準備完了を伝えるERDYパケットを送信する。ERDYパケットは、USBホスト10に通信準備が完了したことを示す準備完了パケットである。ここで、ERDYパケットには、送信可能データ数の情報が含まれている。よって、USBデバイス20は、USBホスト10にIN転送バッファ27のデータ数を通知する。
When the
USBホスト10は、ERDYパケットに応答して、再度、USBデバイス20にACKパケットを送信して、パケット要求を行う(図7のD)。USBデバイス20がACKパケットを受信すると、プロトコル層ユニット23がIN転送バッファ27のデータ格納状況を確認する。IN転送バッファ27に送信データがある場合、USBデバイス20は、USBホスト10にDATAパケットを送信する(図7のE)。
In response to the ERDY packet, the
USBホスト10はDATAパケットに応答して、再度、USBデバイス20にACKパケットを送信して、パケット要求を行う(図7のF)。プロトコル層ユニット23がIN転送バッファ27のデータ格納状況を確認する。IN転送バッファ27に送信データがない場合、USBデバイス20は、USBホスト10にNRDYパケットを送信して、送信できないことを伝えるパケット応答を行う(図7のG)。
In response to the DATA packet, the
USBホスト10は、図7のBと同様に、NRDYパケットを受信した後、IN転送バッファ27に送信データがバッファされるまで待機する。すなわち、データ準備待ち時間となって、USBホスト10は、IN転送バッファ27に送信データが格納されるのを待つ。USBデバイス20は、NRDYパケットを送信した後、IN転送バッファ27のデータ転送の準備を行う。すなわち、DMAコントローラ24が、メモリに格納されている送信データをシステムバス40を介してIN転送バッファ27に送出する。これにより、IN転送バッファ27に、送信データがバッファされる。よって、IN転送バッファ27に格納されている送信データ数を増やすことができる。
The
USBデバイス20は、IN転送バッファ27の送信データの準備が完了したら、図7のCと同様に、ERDYパケットをUSBホスト10に送信する(図7のH)。USBホスト10は、図7のDと同様に、ERDYパケットに応答して、再度、USBデバイス20にACKパケットを送信して、パケット要求を行う(図7のI)。USBデバイス20がACKパケットを受信すると、プロトコル層ユニット23がIN転送バッファ27のデータ格納状況を確認する。IN転送バッファ27に送信データが準備されている場合、USBデバイス20は、USBホスト10にDATAパケットを送信する(図7のJ)。
When the preparation of transmission data in the
なお、図7のA、D及びFのACKパケットには、要求データ数の情報が含まれており、USBデバイス20には送信要求されたデータ数が通知される。したがって、USBデバイス20は、送信要求されたデータ数のパケットをUSBホスト10に送信することができる。
Note that the A, D, and F ACK packets in FIG. 7 include information on the number of requested data, and the
USBホスト10からのパケット要求に対して、システムバス40側のデータ転送が遅いと、USBデバイス20がIN転送バッファ27に送信データを準備することができなくなってしまう。すなわち、IN転送バッファ27に準備されている送信データが無くなってしまい、USBデバイス20がNRDYパケット応答を行う。システムバス40からの送信データがIN転送バッファ27に格納され次第、USBデバイス20は、データ転送の準備ができたことをERDYパケットによってUSBホスト10に通知する。USBホスト10はUSBデバイス20からの通知に応答して、ACKパケットによってUSBデバイス20へパケット要求を行う。これにより、USBホスト10がDATAパケットを受信する。
If data transfer on the
IN転送バッファ27に送信データがない場合、USBデバイス20には、以下に示す問題が生じる恐れがある。IN転送バッファ27に送信データが準備できる都度、USBデバイス20がERDY応答を行っている。したがって、NRDYパケットとERDYパケットの転送回数が多くなってしまい、全体からみた転送速度が遅くなる場合がある。
When there is no transmission data in the
そこで、本実施の形態では、以下に示す制御方法によって、データ通信速度の向上を図っている。以下、本実施の形態にかかるデータ転送方法について、図8を用いて説明する。 Therefore, in this embodiment, the data communication speed is improved by the following control method. Hereinafter, the data transfer method according to the present embodiment will be described with reference to FIG.
まず、USBホスト10がACKパケットをUSBデバイス20に送信して、パケット要求を行う(図8のA)。すると、プロトコル層ユニット23がIN転送バッファ27のデータ格納状況を確認する。IN転送バッファ27に送信データが格納されておらず、USBデバイス20は、データの転送準備ができていない。したがって、USBデバイス20は、USBホスト10にNRDYパケットを送信して、送信できないことを伝えるパケット応答を行う(図8のB)。NRDYパケットは、USBデバイス20に通信を待機させる待機パケットである。
First, the
データ準備待ち時間となって、USBホスト10は、IN転送バッファ27のデータ準備が完了するのを待つ。USBデバイス20は、NRDYパケットを送信した後、送信データをシステムバス40からIN転送バッファ27に送出する。すなわち、DMAコントローラ24が、システムバス40を介して、メモリに記憶されている送信データをIN転送バッファ27に格納する。これにより、USBデバイス20がデータの転送準備を行う。
The
データ準備待ち時間において、プロトコル層ユニット23は、IN転送バッファ27に格納されている送信データのデータ数と、閾値を比較する。そして、データ数が閾値を越えたら、USBデバイス20がERDYパケットをUSBホスト10に送信する(図8のC)。すなわち、USBデバイス20は、IN転送バッファ27に送信データが準備できたタイミングでは、USBホスト10に準備完了を伝えるERDYパケットを送信しない。そして、OUT転送バッファ26のデータ数が閾値を越えたタイミングで、ERDYパケットをUSBホスト10に送信する。閾値は、2以上の任意の数とすることができる。ERDYパケットには、OUT転送バッファ26の送信可能データ数の情報が含まれているため、USBデバイス20は、USBホスト10にOUT転送バッファ26IN転送バッファ27のデータ数を通知する。ERDYパケットは、USBホスト10に通信準備が完了したことを示す準備完了パケットである。
In the data preparation waiting time, the
USBホスト10は、ERDYパケットを受信すると、ERDYパケットに応答して、ACKパケットをUSBデバイス20に送信する(図8のD)。USBデバイス20は、ACKパケットを受信すると、ACKパケットに応答して、DATAパケットをUSBホスト10に送信する(図8のE)。
Upon receiving the ERDY packet, the
なお、図8のA、及びDのACKパケットには、要求データ数の情報が含まれており、USBデバイス20には送信要求されたデータ数が通知される。したがって、USBデバイス20は、送信要求されたデータ数のパケットをUSBホスト10に送信することができる。USBデバイス20は、ACKパケットで通知された要求データ数のパケットを送信できるように、システムバス40からIN転送バッファ27に送信データを送出して、データ転送の準備を行う。
Note that the A and D ACK packets in FIG. 8 include information on the number of requested data, and the
このように、システムバス40からのパケットデータが準備できたことを通知するERDYパケットの送信を1パケット準備できる都度行うのではなく、複数パケット準備できた後に行っている。すなわち、複数のパケットデータをIN転送バッファ27に格納した後、USBデバイス20がERDYパケットを送信する。このような制御によって、NRDYパケットとERDYパケットの送信回数を減らすことができる。NRDYパケット/ERDYパケットの送信回数及び時間を調整することができるため、システム全体としてデータ転送効率を上げることができる。
As described above, transmission of an ERDY packet for notifying that packet data from the
さらに、レジスタ制御部25が格納数の閾値を調整可能にしている。これにより、USBシステム100に応じて閾値を最適化することができる。例えば、システムバス40等の仕様に応じて、閾値を調整することができる。USBインターフェース30でのデータ転送速度をモニタして、そのモニタ結果に応じて、閾値を設定するようにしてもよい。例えば、閾値を変化させていき、その時のデータ転送速度をUSBインターフェース30上で評価する。そして、最もデータ転送速度が高くなる時の閾値を、レジスタ制御部25のレジスタに記憶させる。このようにすることで、システムバス40に応じて最適な閾値を設定することができる。よって、データ転送速度をより高くすることができる。テストプログラムやハードウェアなどを用いて、レジスタ制御部25が閾値を自動的に設定するようにしてもよい。
Further, the
上記のデータ転送方法では、IN転送バッファ27のデータ格納状況を示す値として、IN転送バッファ27に格納されているデータ数を用いたが、これ以外の値を用いてもよい。例えば、IN転送バッファ27のデータ格納状況を空きバッファ数で管理してもよい。そして、IN転送バッファ27の格納状況を示す値を閾値と比較して、その比較結果に応じてERDYパケットを送信すればよい。もちろん、OUT転送バッファ26とIN転送バッファ27とで異なる閾値を用いてもよく、同じ閾値を用いてもよい。
In the data transfer method described above, the number of data stored in the
なお、上記の説明では、IN転送、及びOUT転送の両方について、閾値によるバッファ管理を行ったが、IN転送、及びOUT転送の一方のみについて、閾値によるバッファ管理を行ってもよい。 In the above description, buffer management is performed using a threshold value for both IN transfer and OUT transfer. However, buffer management based on a threshold value may be performed for only one of IN transfer and OUT transfer.
実施の形態2.
本実施の形態にかかるUSBデバイス20、及びUSBシステム100について図9を参照して説明する。図9は、USBシステム100の構成を示す図である。USBシステム200は、USBデバイス20とUSBホスト10とUSBインターフェース30を備えている。USBデバイス20は、システムバス40とバッファ28と通信制御部29とを備えている。
Embodiment 2. FIG.
The
USBインターフェース30は、USBホスト10との間でパケットを送受信する。バッファ28は、USBインターフェース30を介して送信又は受信するパケットのパケットデータを複数格納する。システムバス40は、バッファ28に格納されたパケットデータを転送する。通信制御部29は、バッファ28の空き状況又は格納状況を示す値と閾値とを比較し、比較結果に応じてUSBホスト10に通信準備が完了したことを示す準備完了パケットを送信する。このようにするとで、実施の形態1と同様の効果を得ることができ、データ転送速度を向上することができる。なお、実施の形態2と実施の形態1を適宜組み合わせてもよい。
The
実施の形態1、又は2にかかるUSBデバイス20におけるデータ転送処理のうちの一部又は全部は、コンピュータプログラムによって実行されても良い。上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
Part or all of the data transfer processing in the
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the exemplary embodiments, the present invention is not limited to the above. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the invention.
10 USBホスト
20 USBデバイス
30 USBインターフェース
21 物理層ユニット
22 リンク層ユニット
23 プロトコル層ユニット
24 DMAコントローラ
25 レジスタ制御部
26 OUT転送バッファ
27 IN転送バッファ
28 バッファ
29 通信制御部
40 システムバス
100 USBシステム
DESCRIPTION OF
Claims (13)
前記USBインターフェースを介して送信又は受信するパケットのパケットデータを複数格納するバッファと、
前記バッファに格納された前記パケットデータ、又は前記バッファに格納する前記パケットデータが伝送されるシステムバスと、
前記バッファの空き状況又は格納状況を示す値と閾値とを比較し、比較結果に応じて前記USBホストに通信準備が完了したことを示す準備完了パケットを送信する通信制御部と、を備え、
前記準備完了パケットを送信した後、受信した前記パケットの前記パケットデータを前記バッファから前記システムバスに送出することで前記バッファの空きを増やす、又は送信する前記パケットのパケットデータをシステムバスから前記バッファに送出することで前記バッファの格納数を増やす、
USBデバイス。 A USB interface for sending and receiving packets to and from a USB host;
A buffer for storing a plurality of packet data of packets transmitted or received via the USB interface;
A system bus through which the packet data stored in the buffer or the packet data stored in the buffer is transmitted;
A communication control unit that compares a value indicating the availability or storage status of the buffer with a threshold value, and transmits a preparation completion packet indicating that communication preparation is completed to the USB host according to the comparison result.,
After transmitting the ready packet, the packet data of the received packet is transmitted from the buffer to the system bus to increase the buffer space, or packet data of the packet to be transmitted is transmitted from the system bus to the buffer. Increase the number of stored buffers by sending to
USB device.
前記バッファの空き状況を示す値が前記閾値を越えた場合、前記準備完了パケットを送信する請求項1に記載のUSBデバイス。 If there is no free space in the buffer, send a wait packet to wait for packet transfer to the USB host,
If a value indicating the availability of the buffer exceeds the threshold, USB device according to claim 1 for transmitting the ready packet.
前記バッファの格納状況を示す値が前記閾値を越えた場合、前記準備完了パケットを送信する請求項1、又は2に記載のUSBデバイス。 When there is no transmission data in the buffer, a waiting packet is sent to the USB host to wait for packet transfer,
If the value indicating the storage status of the buffer exceeds the threshold, USB device according to claim 1 or 2 transmits the ready packet.
前記USBインターフェースを介して前記USBデバイスにパケットを送受信するUSBホストと、を備えたUSBシステムであって、
前記USBホストが、前記準備完了パケットに応答して、パケットを送信するUSBシステム。 The USB device according to any one of claims 1 to 4 ,
A USB system comprising: a USB host that transmits and receives packets to and from the USB device via the USB interface;
A USB system in which the USB host transmits a packet in response to the ready packet.
前記USBデバイスのシステムバスに前記パケットデータを送出し、
前記バッファの空き状況又は格納状況を示す値と閾値とを比較して、前記USBホストに通信準備が完了したことを示す準備完了パケットを送信し、
前記準備完了パケットに応答して、前記USBホストがパケットを送信し、
前記準備完了パケットを送信した後、受信した前記パケットの前記パケットデータを前記バッファから前記システムバスに送出する、又は送信する前記パケットのパケットデータをシステムバスから前記バッファに送出する、
データ転送方法。 The packet data of the packet received from the USB host or the packet transmitted to the USB host is stored in the buffer of the USB device,
Sending the packet data to the system bus of the USB device;
Compare the value indicating the buffer availability or storage status with a threshold value, and send a ready packet indicating that communication preparation is completed to the USB host,
In response to the ready packet, the USB host sends a packet ;
After sending the ready packet, sending the packet data of the received packet from the buffer to the system bus, or sending packet data of the packet to be sent from the system bus to the buffer;
Data transfer method.
前記バッファの空き状況を示す値が前記閾値を越えた場合、前記準備完了パケットを送信する請求項6に記載のデータ転送方法。 If there is no free space in the buffer, send a wait packet to wait for packet transfer to the USB host,
The data transfer method according to claim 6 , wherein when the value indicating the availability of the buffer exceeds the threshold, the preparation completion packet is transmitted.
前記バッファの格納状況を示す値が前記閾値を越えた場合、前記準備完了パケットを送信する請求項6、又は7に記載のデータ転送方法。 When there is no transmission data in the buffer, a waiting packet is sent to the USB host to wait for packet transfer,
The data transfer method according to claim 6 or 7 , wherein when the value indicating the storage status of the buffer exceeds the threshold, the preparation completion packet is transmitted.
前記USBホストから受信したパケット又は前記USBホストに送信するパケットのパケットデータをバッファに格納するステップと、
システムバスに前記パケットデータを送出するステップと、
前記バッファの空き状況又は格納状況を示す値と閾値とを比較して、前記USBホストに通信準備が完了したことを示す準備完了パケットを送信するステップと、
前記準備完了パケットを送信した後、受信した前記パケットの前記パケットデータを前記バッファから前記システムバスに送出する、又は送信する前記パケットのパケットデータをシステムバスから前記バッファに送出するステップをさらに実行させるステップと、
を実行させるプログラム。 For USB devices that send and receive packets to and from the USB host,
Storing packet data of a packet received from the USB host or a packet to be transmitted to the USB host in a buffer;
Sending the packet data to a system bus;
Comparing a value indicating a free state or a storage state of the buffer with a threshold value, and transmitting a preparation completion packet indicating that communication preparation is completed to the USB host;
After the ready packet is transmitted, the step of transmitting the packet data of the received packet from the buffer to the system bus, or transmitting the packet data of the packet to be transmitted from the system bus to the buffer is further executed. Steps,
A program that executes
前記バッファの空き状況を示す値が前記閾値を越えた場合、前記準備完了パケットを送信するステップを、実行させる請求項10に記載のプログラム。 If there is no free space in the buffer, sending a standby packet that causes the USB host to wait for packet transfer;
The program according to claim 10 , wherein when the value indicating the buffer availability exceeds the threshold, the step of transmitting the preparation completion packet is executed.
前記バッファの格納状況を示す値が前記閾値を越えた場合、前記準備完了パケットを送信するステップと、をさらに実行させる請求項10、又は11に記載のプログラム。 When there is no transmission data in the buffer, transmitting a standby packet for allowing the USB host to wait for packet transfer;
The program according to claim 10 or 11, further comprising the step of transmitting the preparation completion packet when a value indicating a storage state of the buffer exceeds the threshold value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013135197A JP6222724B2 (en) | 2013-06-27 | 2013-06-27 | USB device, USB system, data transfer method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013135197A JP6222724B2 (en) | 2013-06-27 | 2013-06-27 | USB device, USB system, data transfer method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015011449A JP2015011449A (en) | 2015-01-19 |
JP6222724B2 true JP6222724B2 (en) | 2017-11-01 |
Family
ID=52304578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013135197A Active JP6222724B2 (en) | 2013-06-27 | 2013-06-27 | USB device, USB system, data transfer method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6222724B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7368051B2 (en) * | 2022-03-03 | 2023-10-24 | Necプラットフォームズ株式会社 | USB devices and control methods for USB devices |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW413763B (en) * | 1999-03-16 | 2000-12-01 | Winbond Electronics Corp | Data conversion device and data flow control method in between USB host and network end |
JP2013081131A (en) * | 2011-10-05 | 2013-05-02 | Renesas Electronics Corp | Transmission device, communication system, transmission method, and transmission program |
-
2013
- 2013-06-27 JP JP2013135197A patent/JP6222724B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015011449A (en) | 2015-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062285B (en) | NVMe storage device and method for accessing same | |
TWI296083B (en) | Communication controller, host-side controller, communication system, usb system, communication equipment, communication method, packet-based communication method, packet-based communication program, and storage medium | |
US9875206B2 (en) | Methods and devices for extending USB 3.0-compliant communication | |
JP5822567B2 (en) | Controller and transfer speed control method | |
US20190272124A1 (en) | Techniques for Moving Data between a Network Input/Output Device and a Storage Device | |
TWI610179B (en) | Host device and methods for controlling a data transfer speed | |
US9129064B2 (en) | USB 3.0 link layer timer adjustment to extend distance | |
JP2013020284A (en) | Device controller, usb device controller, and power control method | |
US20110289243A1 (en) | Communication control device, data communication method and program | |
JP2010011255A (en) | Wireless communication apparatus, and packet transfer method thereof | |
JP2008172515A (en) | Transmitter and method, communication device, and program | |
US9116881B2 (en) | Routing switch apparatus, network switch system, and routing switching method | |
JP6222724B2 (en) | USB device, USB system, data transfer method, and program | |
JP2013081131A (en) | Transmission device, communication system, transmission method, and transmission program | |
TW201224764A (en) | Apparatus for managing interrupt cause and system for processing interrupt | |
TWI559151B (en) | Control method of pipe schedule and control module thereof | |
WO2014156020A1 (en) | Initiator terminal, target terminal, method of interrupting access of initiator terminal, and method of interrupting access of target terminal | |
CN114443533A (en) | Removal of USB devices and PING intervention in extended environments | |
JP6706180B2 (en) | Device and data transfer system | |
JP5212196B2 (en) | Data transmission apparatus, information processing apparatus, and operating frequency control method | |
JP6638985B2 (en) | Communication device, line selection method, and program | |
JP5600740B2 (en) | Response device, integrated circuit thereof, response method, and response system | |
US20230105094A1 (en) | Power saving techniques for layer-to-layer interface | |
JP2009278507A (en) | Host device and scheduling method | |
CN113485957B (en) | Multi-protocol system control device and multi-protocol system control method for physical layer suitable for industrial-level application scene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160513 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170404 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170522 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170713 |
|
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: 20170905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170928 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6222724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |