JP2006252334A - Data transfer control method, and data transfer controller - Google Patents

Data transfer control method, and data transfer controller Download PDF

Info

Publication number
JP2006252334A
JP2006252334A JP2005069935A JP2005069935A JP2006252334A JP 2006252334 A JP2006252334 A JP 2006252334A JP 2005069935 A JP2005069935 A JP 2005069935A JP 2005069935 A JP2005069935 A JP 2005069935A JP 2006252334 A JP2006252334 A JP 2006252334A
Authority
JP
Japan
Prior art keywords
data transfer
usb
usb host
data
host controller
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.)
Pending
Application number
JP2005069935A
Other languages
Japanese (ja)
Inventor
Susumu Goto
進 後藤
Susumu Cho
軍 張
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005069935A priority Critical patent/JP2006252334A/en
Publication of JP2006252334A publication Critical patent/JP2006252334A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a framework capable of reducing a burden for memory management processing, and capable of transferring data efficiently and stably without enlarging a shared memory size used for the data transfer, when transferring the data using a USB host controller. <P>SOLUTION: This data transfer control method is provided with a process for allocating a fixed size of buffer area on the share memory to a pipe, and a process for controlling the USB host controller to transfer the data between a USB host unit and a USB device unit, via the fixed size of buffer area allocated to the pipe. The allocation process is provided with a process for securing a fixed size of memory area on the shared memory in every USB port, and a process for setting the buffer area of the pipe requested to transfer the data as to a USB device, in the fixed size of memory area secured as to the USB port connected to the USB device. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、データ転送制御方法、及びデータ転送制御装置に関する。   The present invention relates to a data transfer control method and a data transfer control device.

USB(Universal Serial Bus)2.0規格は、USB1.1規格に対する互換性を持ちながら、USB 1.1よりも高速な480Mbps(HSモード)のデータ転送速度を実現できる規格である。かかるUSB2.0規格に対応したUSBホストコントローラの仕様を定義したものとして、EHCI(Enhanced Host Controller Interface)が知られている。   The USB (Universal Serial Bus) 2.0 standard is a standard capable of realizing a data transfer rate of 480 Mbps (HS mode) faster than USB 1.1 while having compatibility with the USB 1.1 standard. An EHCI (Enhanced Host Controller Interface) is known as a definition of a USB host controller corresponding to the USB 2.0 standard.

USB規格に基づいてデータ転送を行う場合、通常、USBホスト装置内の共有メモリ上に確保したバッファを介して、USBホスト装置(USBホスト装置上で動作するアプリケーション)とUSBデバイス装置との間のデータ転送を実行する。   When performing data transfer based on the USB standard, normally, a USB host device (an application running on the USB host device) and the USB device device are connected via a buffer secured on a shared memory in the USB host device. Perform data transfer.

従来、このデータ転送のために使用するバッファは、アプリケーション側が要求したデータのサイズに応じて共有メモリ上に動的に確保され、転送終了後に解放されるのが普通であった。   Conventionally, a buffer used for this data transfer has been dynamically secured on a shared memory in accordance with the size of data requested by the application side, and is normally released after the end of the transfer.

しかし、このような従来の枠組みでは、データ転送要求を受け付けるにあたって、共有メモリの使用可能領域を監視し、バッファを確保できたかどうかを確認しなければならない点で、処理が煩雑となる。また、例えば複数のUSBデバイスについて同時にデータサイズの大きい転送要求があった場合など、共有メモリ上にデータ転送のためのバッファを確保できない情況も起こり得る。更に、動的にメモリ領域を確保していることから、例えばUSBデバイスの抜き差しなどを頻繁に行った場合などに共有メモリ上に確保したメモリ領域が適切に解放されない状態(メモリリーク)が生じてしまう可能性があり、このようなメモリリークが生じると、システム性能が低下したり、動作が不安定になってシステムがハングしてしまうおそれもある。   However, in such a conventional framework, processing is complicated in that it is necessary to monitor an available area of the shared memory and confirm whether or not a buffer has been secured when receiving a data transfer request. In addition, for example, when there is a transfer request with a large data size for a plurality of USB devices at the same time, there may be a situation where a buffer for data transfer cannot be secured on the shared memory. Furthermore, since the memory area is dynamically secured, for example, when the USB device is frequently inserted and removed, the memory area secured on the shared memory is not properly released (memory leak). If such a memory leak occurs, there is a possibility that the system performance is lowered or the operation becomes unstable and the system hangs.

ここで、共有メモリのサイズを大きくすれば、上記のうちメモリ不足の問題はある程度解消できると考えられる。しかし、共有メモリサイズを大きくすることは、コストや実装上の理由から限度があり、またメモリリークに対しては本質的な解決策とはならない。   Here, if the size of the shared memory is increased, it is considered that the memory shortage problem can be solved to some extent. However, increasing the shared memory size is limited due to cost and mounting reasons, and is not an essential solution to memory leaks.

そこで、本発明は、USBホストコントローラを使用してUSBデバイスとの間でデータ転送を行う場合に、メモリ管理処理の負担を軽減するとともに、データ転送に用いる共有メモリサイズを大きくすることなく、効率よく安定してデータ転送を行うことができる枠組みを提供することを目的とする。   Therefore, the present invention reduces the burden of memory management processing when transferring data to and from a USB device using a USB host controller, and increases the efficiency without increasing the size of the shared memory used for data transfer. The purpose is to provide a framework that can perform data transfer well and stably.

本発明のデータ転送制御方法は、USBホストコントローラを使用してデータ転送を行う場合のデータ転送制御方法であって、パイプに共有メモリ上の固定サイズのバッファ領域を割り当てる工程と、パイプに割り当てた前記固定サイズのバッファ領域を介して、USBホスト装置とUSBデバイス装置との間でデータ転送を行うように、前記USBホストコントローラを制御する工程と、を備えることを特徴とする。前記USBホストコントローラは、例えばEHCI規格のUSBホストコントローラとすることができる。   The data transfer control method of the present invention is a data transfer control method in the case of performing data transfer using a USB host controller, and includes a step of allocating a fixed size buffer area on a shared memory to a pipe, And a step of controlling the USB host controller so as to transfer data between the USB host device and the USB device device via the fixed size buffer area. The USB host controller may be, for example, an EHCI standard USB host controller.

かかる構成によれば、USBホストコントローラを使用してデータ転送を行う場合に、共有メモリの使用可能領域を監視して、バッファ領域が確保できたかどうかを確認する必要はなく、メモリ管理処理の負担を軽減することができる。   According to such a configuration, when data transfer is performed using a USB host controller, it is not necessary to monitor the available area of the shared memory and confirm whether or not the buffer area has been secured. Can be reduced.

好適には、前記パイプに共有メモリ上の固定サイズのバッファ領域を割り当てる工程は、 USBポートごとに共有メモリ上の固定サイズのメモリ領域を確保する工程と、USBデバイスが接続されたUSBポートについて確保した前記固定サイズのメモリ領域に、当該USBデバイスに関してデータ転送要求のあったパイプのバッファ領域を設定する工程と、を備えることを特徴とする。   Preferably, the step of allocating a fixed-size buffer area on the shared memory to the pipe includes a step of securing a fixed-size memory area on the shared memory for each USB port, and securing a USB port to which the USB device is connected. And a step of setting a buffer area of a pipe for which a data transfer request has been made with respect to the USB device, in the fixed-size memory area.

かかる構成によれば、共有メモリ上に必要となるバッファ領域のサイズは、USBポート数と前記固定サイズによって固定的に定まるため、パイプ数や転送データサイズなどが変動しても、共有メモリ上にバッファ領域を確保できない情況が発生することはない。また、静的(固定的)にメモリ領域を確保していることから、USBデバイス装置の抜き差しを頻繁に行う等しても、メモリリークが発生するおそれもない。その結果、データ転送に用いる共有メモリサイズを抑制しつつ、効率よく安定してデータ転送を行うことができる。   According to such a configuration, the size of the buffer area required on the shared memory is fixedly determined by the number of USB ports and the fixed size. Therefore, even if the number of pipes, transfer data size, and the like vary, There is no situation where the buffer area cannot be secured. Further, since the memory area is secured statically (fixedly), there is no possibility that a memory leak occurs even if the USB device device is frequently inserted and removed. As a result, data transfer can be performed efficiently and stably while suppressing the size of the shared memory used for data transfer.

好適には、前記共有メモリ上の固定サイズのメモリ領域は、少なくとも2つのバッファ領域A、Bを含んでおり、前記USBホストコントローラを制御する工程は、一方のバッファ領域を用いてUSBデバイス装置側とのデータ転送を行いつつ、他方のバッファ領域を用いてUSBホスト装置側とのデータ転送が実行されるように、バッファ領域A、Bを交互に指定してUSBホストコントローラに転送要求を通知する工程を備えることを特徴とする。   Preferably, the fixed-size memory area on the shared memory includes at least two buffer areas A and B, and the step of controlling the USB host controller uses the one buffer area for the USB device apparatus side. The buffer area A and B are alternately specified so that the data transfer to the USB host device is performed using the other buffer area, and the transfer request is notified to the USB host controller. A process is provided.

かかる構成によれば、USBデバイス装置側とのデータ転送と、USBホスト装置側とのデータ転送とを並行に行うことができ、高速にデータ転送を実行することができる。   According to such a configuration, data transfer with the USB device device side and data transfer with the USB host device side can be performed in parallel, and data transfer can be executed at high speed.

例えば、前記USBホストコントローラを制御する工程は、バッファ領域A、Bのうち一方を処理面とし、他方を待機面に設定する工程と、処理面を対象として、データ転送のためのディスクリプタ情報を設定する工程と、前記処理面を指定して、USBホストコントローラに転送要求を通知する工程と、転送要求のあったデータ全てについて転送が完了したか否かを判断する工程と、完了していない場合に、待機面を対象として、データ転送のためのディスクリプタ情報を設定する工程と、前記処理面についてUSBホストコントローラからデータ転送完了の通知を受け付けた場合、バッファ領域A、Bに関して処理面及び待機面の設定を入れ替える工程と、を備えることができる。   For example, in the step of controlling the USB host controller, one of the buffer areas A and B is set as a processing surface, the other is set as a standby surface, and descriptor information for data transfer is set for the processing surface. A step of designating the processing surface and notifying a transfer request to the USB host controller, a step of determining whether or not the transfer has been completed for all data requested to be transferred, and a case where the transfer has not been completed. And setting the descriptor information for data transfer with respect to the standby surface, and when receiving a data transfer completion notification from the USB host controller for the processing surface, the processing surface and the standby surface for the buffer areas A and B And a step of exchanging the settings.

かかる構成によれば、転送要求のあったデータが前記固定サイズより大きい場合に固定サイズ単位で複数回に分けてデータ転送のためのディスクリプタ情報を設定するように構成しているため、データ転送要求を出す上位側では、前記固定サイズを意識することなく、データ転送を指示することが可能となる。   According to this configuration, when the data requested to be transferred is larger than the fixed size, the descriptor information for data transfer is set in a plurality of times in a fixed size unit. It is possible to instruct data transfer without being aware of the fixed size.

本発明のデータ転送制御方法は、USBホスト装置においてCPUにより実行することができるが、そのためのコンピュータプログラムは、CD−ROM、磁気ディスク、半導体メモリ及び通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。   The data transfer control method of the present invention can be executed by a CPU in a USB host device. A computer program therefor can be installed in a computer through various media such as a CD-ROM, a magnetic disk, a semiconductor memory, and a communication network. Can be loaded.

本発明のデータ転送制御装置は、USBホストコントローラを使用してデータ転送を行うためのデータ転送制御装置であって、パイプに共有メモリ上の固定サイズのバッファ領域を割り当てる機能と、パイプに割り当てた前記固定サイズのバッファ領域を介して、USBホスト装置とUSBデバイス装置との間でデータ転送を行うように、前記USBホストコントローラを制御する機能と、を備えることを特徴とする。   The data transfer control device of the present invention is a data transfer control device for performing data transfer using a USB host controller, and has a function of allocating a fixed size buffer area on a shared memory to a pipe, And a function of controlling the USB host controller so as to transfer data between the USB host device and the USB device device via the fixed-size buffer area.

以上、本発明によれば、USBホストコントローラを使用してUSBデバイスとの間でデータ転送を行う場合に、メモリ管理処理の負担を軽減できるとともに、データ転送に用いる共有メモリサイズを大きくすることなく、効率よく安定してデータ転送を行うことができる。   As described above, according to the present invention, when data is transferred to or from a USB device using a USB host controller, the burden of memory management processing can be reduced and the size of the shared memory used for data transfer can be increased. Data transfer can be performed efficiently and stably.

図1は、本実施形態におけるデータ転送システムの機能構成の概略図である。図1に示すように、USBホスト装置1は、クライアントドライバ10、USBD(Universal Bus Driver)11、CHCD(Companion Host Controller Driver)12、CHCI(Companion Host Controller Interface)13、EHCD(Enhanced Host Controller Driver)14、EHCI15、共有メモリ16等を含み、USBによりUSBデバイス装置2と接続されている。   FIG. 1 is a schematic diagram of a functional configuration of a data transfer system according to the present embodiment. As shown in FIG. 1, a USB host device 1 includes a client driver 10, a USBD (Universal Bus Driver) 11, a CHCD (Companion Host Controller Driver) 12, a CHCI (Companion Host Controller Interface) 13, and an EHCD (Enhanced Host Controller Driver). 14, EHCI 15, shared memory 16, etc., and is connected to the USB device device 2 by USB.

クライアントドライバ10は、USBホスト装置1で動作するアプリケーションに対してUSBデバイス装置2へのアクセス関数などを提供するドライバであり、例えばOSの一部として実装することができる。   The client driver 10 is a driver that provides an access function or the like to the USB device device 2 for an application operating on the USB host device 1, and can be implemented as a part of the OS, for example.

USBD11は、ハードウェアに依存しない処理(例えば、USBホストコントローラの種別に依存しない処理)を行うドライバであり、従来のUSB汎用ドライバと同様の機能を備える。   The USBD 11 is a driver that performs processing that does not depend on hardware (for example, processing that does not depend on the type of the USB host controller), and has the same function as a conventional USB general-purpose driver.

CHCD12は、CHCI13に依存した処理を行うデバイスドライバであり、従来のUSB1.1デバイスドライバと同様の機能を備える。   The CHCD 12 is a device driver that performs processing dependent on the CHCI 13, and has the same function as the conventional USB 1.1 device driver.

CHCI13は、USB1.1規格に準拠したUSBホストコントローラであり、トランザクションの管理、パケットの生成/分解、サスペンド/レジューム/リセット状態生成の指示など、従来のUSB1.1ホストコントローラと同様の機能を備える。CHCI13は、OHCI(Open Host Controller Interface)、UHCI(Universal Host Controller Interface)のいずれの方式に基づくものであってもよい。   The CHCI 13 is a USB host controller compliant with the USB 1.1 standard, and has the same functions as the conventional USB 1.1 host controller, such as transaction management, packet generation / disassembly, and instructions for generating a suspend / resume / reset state. . The CHCI 13 may be based on either OHCI (Open Host Controller Interface) or UHCI (Universal Host Controller Interface).

EHCD14は、EHCI15に依存した処理を行うデバイスドライバであり、原則として従来のUSB2.0デバイスドライバと同様の機能を備える。   The EHCD 14 is a device driver that performs processing dependent on the EHCI 15, and in principle has the same functions as the conventional USB 2.0 device driver.

ただし、本実施形態のEHCD14は、パイプに共有メモリ16上の固定サイズのバッファ領域を割り当て、かかるパイプに割り当てた前記固定サイズのバッファ領域を介してUSBホスト装置とUSBデバイス装置との間でデータ転送を行うように、EHCI15を制御する点で、従来と異なっている。   However, the EHCD 14 of the present embodiment allocates a fixed size buffer area on the shared memory 16 to the pipe, and transmits data between the USB host device and the USB device device via the fixed size buffer area allocated to the pipe. This is different from the prior art in that the EHCI 15 is controlled to perform the transfer.

EHCI15は、EHCI規格に準拠したUSBホストコントローラであり、トランザクションの管理、パケットの生成/分解、サスペンド/レジューム/リセット状態生成の指示など、従来のUSB2.0ホストコントローラと同様の機能を備える。   The EHCI 15 is a USB host controller compliant with the EHCI standard, and has the same functions as the conventional USB 2.0 host controller, such as transaction management, packet generation / disassembly, and instructions for generating a suspend / resume / reset state.

なお、各ドライバは、USBホスト装置1内のROMやRAM、外部の記憶媒体等に格納されるプログラムをCPUが実行することにより機能手段として実現できる。またデータ転送システムは、図示していないが、差動データ信号D+、D−を用いてデータを送受信するトランシーバ、CHCI13やEHCI15とUSBポートとの間のコネクションを提供するルートハブなど、USBに基づくデータ転送システムが通常備える機能構成を同様に備えている。   Each driver can be realized as a functional unit by the CPU executing a program stored in a ROM or RAM in the USB host device 1 or an external storage medium. Further, although not shown, the data transfer system is a USB-based data such as a transceiver that transmits and receives data using the differential data signals D + and D−, and a root hub that provides a connection between the CHCI 13 or the EHCI 15 and the USB port. The functional configuration normally provided in the transfer system is similarly provided.

図2は、USBにおけるデータ転送のスキームを説明するための図である。USBにおけるデータ転送スキームは、エンドポイント及びパイプという概念を用いて説明することができる。すなわち、USBホスト装置、USBデバイス装置には、エンドポイントと呼ばれるFIFOバッファが設けられ、このバッファどうしがパイプという論理的な通信路で接続される。USBホスト装置は、デバイスアドレス、パイプ番号、エンドポイント番号等を指定して、所望のパイプによるデータ送受信(所望のエンドポイントへのデータ送信や、所望のエンドポイントからのデータ受信)を行うことができる。   FIG. 2 is a diagram for explaining a data transfer scheme in USB. The data transfer scheme in USB can be described using the concept of endpoints and pipes. In other words, the USB host device and the USB device device are provided with FIFO buffers called endpoints, and these buffers are connected to each other through a logical communication path called a pipe. The USB host device can perform device data transmission / reception (data transmission to a desired endpoint or data reception from a desired endpoint) by designating a device address, a pipe number, an endpoint number, and the like. it can.

エンドポイントには、エンドポイント0と呼ばれるコントロール転送に用いられるものがあり、このコントロール転送を使って、セットアップや設定パラメータの転送などのコンフィギュレーションが実行される。そして、コンフィギュレーションによってUSBデバイス装置の使い方が設定されると、新たなエンドポイントが追加され、対応するパイプが構成される。   Some endpoints are used for control transfer called endpoint 0, and configuration such as setup and transfer of setting parameters is executed using this control transfer. When the usage of the USB device is set by configuration, a new end point is added and a corresponding pipe is configured.

USBの転送モードには、上記のコントロール転送以外に、バルク転送、インタラプト転送、アイソクロナス転送があり、このうちどの転送モードを使用するかは、USBデバイス装置がコンフィギュレーション用のデータとして保持している。そして、USBによる接続がなされた後、USBデバイス装置からUSBホスト装置へコントロール転送を使って前記データが送信され、USBホスト装置は、このデータに基づき転送モードを確定するとともに、USBデバイス装置のアドレス付け、パイプ番号、エンドポイント番号の割り付けを行う。   USB transfer modes include bulk transfer, interrupt transfer, and isochronous transfer in addition to the control transfer described above, and the USB device device holds which transfer mode to use as configuration data. . Then, after the USB connection is made, the data is transmitted from the USB device device to the USB host device using control transfer, and the USB host device determines the transfer mode based on this data, and the address of the USB device device. Assigns pipe numbers and endpoint numbers.

以下、図3〜図5のフローチャート等を参照して、本実施形態のデータ転送システムにおけるデータ転送の流れを説明する。なお、各工程(符号が付与されていない部分的な工程を含む)は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。   Hereinafter, the flow of data transfer in the data transfer system of this embodiment will be described with reference to the flowcharts of FIGS. In addition, each process (including the partial process to which the code | symbol is not provided) can be arbitrarily changed in order within the range which does not produce contradiction in the processing content, or can be performed in parallel.

(USBデバイス装置2の接続からパイプオープンまでの処理:図3)
USBデバイス装置2がUSBポートに接続されると、EHCI15がその接続を検出する(S100)。接続されたことを検出する方法としては、例えば、USBケーブル中の信号線(D+、D−)のいずれかが所定電圧(3.3V)になることを検出すればよい。
(Processing from USB device device 2 connection to pipe opening: Fig. 3)
When the USB device device 2 is connected to the USB port, the EHCI 15 detects the connection (S100). As a method for detecting the connection, for example, it may be detected that one of the signal lines (D +, D−) in the USB cable becomes a predetermined voltage (3.3 V).

EHCD14は、EHCI15による接続検出を監視しており、EHCI15が接続を検出すると、USBD11にUSBデバイス装置2が接続されたことを通知する(S101)。   The EHCD 14 monitors connection detection by the EHCI 15 and, when the EHCI 15 detects connection, notifies the USBD 11 that the USB device device 2 is connected (S101).

USBD11は、EHCD14より接続通知を受け付けると、EHCD14にリセットを要求する(S102)。   Upon receiving the connection notification from the EHCD 14, the USBD 11 requests the EHCD 14 to reset (S102).

EHCD14は、該要求を受け付けた場合、EHCI15にリセットを指示する(S103)。   When the EHCD 14 receives the request, the EHCD 14 instructs the EHCI 15 to reset (S103).

EHCI15は、EHCD14からリセットの指示を受け付けた場合、USBポートの設定をリセットするともに、USBデバイス装置2に対してリセット信号を出力する(例えば、D+、D−の両方をLOWにする)(S104)。USBデバイス装置2は、リセット信号を検出すると内部リセットを実行し、デフォルト状態に移行する。このデフォルト状態ではエンドポイント0(パイプ0)を使ったコントロール転送のみ可能となる。   When receiving a reset instruction from the EHCD 14, the EHCI 15 resets the USB port setting and outputs a reset signal to the USB device device 2 (for example, both D + and D− are set to LOW) (S104). ). When the USB device device 2 detects the reset signal, the USB device device 2 executes an internal reset and shifts to a default state. In this default state, only control transfer using the endpoint 0 (pipe 0) is possible.

次に、EHCI15は、USBポートのステータスを取得し、ステータスが正常の場合にはコントロール転送を使用してUSBデバイス装置2との間でコンフィギュレーションを実行して、コンフィギュレーション結果をEHCD14に通知する(S105)。   Next, the EHCI 15 acquires the status of the USB port, and when the status is normal, executes configuration with the USB device device 2 using control transfer, and notifies the EHCD 14 of the configuration result. (S105).

EHCD14は、コンフィギュレーションが成功した場合、データ転送のためにUSBホスト装置1側に設けられている共有メモリ16上に、EHCI15が管理するUSBポートごとに、固定サイズ(例えば、20Kバイト)のメモリ領域を確保する(S106)。   When the configuration is successful, the EHCD 14 has a fixed size (for example, 20 Kbytes) memory for each USB port managed by the EHCI 15 on the shared memory 16 provided on the USB host device 1 side for data transfer. An area is secured (S106).

ここで、前記メモリ領域は、それぞれをデータ転送のためのI/Oバッファ領域として使用することができる、少なくとも2つのバッファ領域A、Bを設定できるように確保される。また、固定サイズのメモリ領域を確保する際、USBポート1にはアドレスX、USBポート2にはアドレスYのように、メモリ領域のアドレスをUSBポートに固定的に対応づけて確保するように構成してもよい。   Here, the memory area is secured so that at least two buffer areas A and B, each of which can be used as an I / O buffer area for data transfer, can be set. Further, when securing a memory area of a fixed size, the address of the memory area is secured in a fixed manner corresponding to the USB port, such as address X for USB port 1 and address Y for USB port 2. May be.

次に、EHCD14は、コンフィギュレーション結果をUSBD11に通知する(S107)。   Next, the EHCD 14 notifies the USBD 11 of the configuration result (S107).

該通知がコンフィギュレーション失敗との通知である場合(S107:コンフィギュレーション失敗)、従来のUSB1.1規格に基づくデータ転送処理と同様の工程により、CHCI13を使用したデータ転送のための処理が実行される(S108)。例えば、USBD11がCHCD12にリセットを要求し、これによってCHCI13によりUSBポートの設定のリセット等が行われた後、コンフィギュレーションが実行される。コンフィギュレーションが成功した場合、CHCD12によって共有メモリ上にバッファ領域が確保され、パイプがオープンされる。   When the notification is a notification of configuration failure (S107: configuration failure), the process for data transfer using the CHCI 13 is executed by the same process as the data transfer process based on the conventional USB 1.1 standard. (S108). For example, after the USBD 11 requests the CHCD 12 to reset, and the USB port setting is reset by the CHCI 13, the configuration is executed. If the configuration is successful, the CHCD 12 secures a buffer area on the shared memory and opens the pipe.

一方、USBD11は、EHCD14よりコンフィギュレーション成功との通知を受け付けた場合(S107:コンフィギュレーション成功)、該通知をクライアントドライバ10に転送する(S109)。   On the other hand, if the USBD 11 receives a notification of successful configuration from the EHCD 14 (S107: successful configuration), the USBD 11 transfers the notification to the client driver 10 (S109).

クライアントドライバ10は、USBD11よりコンフィギュレーション成功との通知を受け付けた場合、USBD11に、USBデバイス装置2のオープン指示に続けて、パイプオープンを指示する(S110)。   When the client driver 10 receives a notification from the USBD 11 that the configuration is successful, the client driver 10 instructs the USBD 11 to open a pipe following the opening instruction of the USB device device 2 (S110).

USBD11は、パイプオープンの指示を受け付けた場合、EHCD14にパイプオープンを要求する(S111)。   When the USBD 11 receives an instruction to open a pipe, the USBD 11 requests the EHCD 14 to open the pipe (S111).

EHCD14は、該要求を受け付けた場合、コンフィギュレーション結果に基づいてパイプを選択し、EHCI15に前記選択したパイプのオープンを指示する(S112)。   When receiving the request, the EHCD 14 selects a pipe based on the configuration result, and instructs the EHCI 15 to open the selected pipe (S112).

EHCI15は、EHCD14より指示されたパイプをオープンする(S113)。これにより、データ転送システムは、EHCI15を使用してデータ転送を行うことができる状態に移行する。   The EHCI 15 opens the pipe designated by the EHCD 14 (S113). As a result, the data transfer system shifts to a state in which data transfer can be performed using the EHCI 15.

(データ転送処理:図4、図5)
データ転送システムがEHCI15を使用しデータ転送を行うことができる状態にある場合、クライアントドライバ10は、USBホスト装置1で動作するアプリケーションからのUSBデバイス装置2へのアクセス関数の呼び出しを待機する(S200)。
(Data transfer processing: FIGS. 4 and 5)
When the data transfer system is in a state in which data transfer can be performed using the EHCI 15, the client driver 10 waits for an access function call to the USB device device 2 from an application operating on the USB host device 1 (S200). ).

前記アプリケーションからアクセス関数の呼び出しがあった場合、クライアントドライバ10は、アクセス関数の引数等に基づいてパイプ等を指定して、USBD11にデータ転送を指示する(S201)。   When an access function is called from the application, the client driver 10 designates a pipe or the like based on an argument or the like of the access function, and instructs the USBD 11 to transfer data (S201).

USBD11は、該指示を受け付けた場合、パイプ等を指定して、EHCD14にデータ転送を要求する(S202)。   When the USBD 11 receives the instruction, the USBD 11 designates a pipe or the like and requests data transfer to the EHCD 14 (S202).

EHCD14は、該要求を受け付けた場合、指定されたパイプ(エンドポイント)を選択し、S106において確保した固定サイズのメモリ領域を前記選択したパイプに割り当てる(前記固定サイズのメモリ領域に前記選択したパイプのバッファ領域を設定する)(S203)。なお、USBポートごとに確保した固定サイズのメモリ領域は、当該USBポートに対応する複数のパイプ間で共有して排他的に使用されることになるが、この排他制御は例えばクライアントドライバ10によって実行される。   When the EHCD 14 receives the request, the EHCD 14 selects the designated pipe (endpoint), and allocates the fixed-size memory area secured in S106 to the selected pipe (the selected pipe is assigned to the fixed-size memory area). (S203). Note that the fixed-size memory area secured for each USB port is shared and used exclusively among a plurality of pipes corresponding to the USB port. This exclusive control is executed by the client driver 10, for example. Is done.

次に、EHCD14は、バッファ領域A、Bのいずれか一方を処理面に、他方を待機面に設定する(S204)。なお、処理面は、EHCI15がデータ転送を行う際に使用するバッファ領域(いわゆるダブルバッファの表バッファ)に相当し、待機面は、EHCI15がデータ転送している間に、次のデータ転送のための準備に用いるバッファ領域(いわゆるダブルバッファの裏バッファ)に相当する。   Next, the EHCD 14 sets one of the buffer areas A and B as a processing surface and the other as a standby surface (S204). The processing surface corresponds to a buffer area (so-called double buffer table buffer) used when the EHCI 15 performs data transfer, and the standby surface is used for the next data transfer while the EHCI 15 is transferring data. This corresponds to a buffer area (so-called double buffer back buffer) used for preparation.

次に、EHCD14は、処理面を対象として、データ転送のためのディスクリプタ情報(qTD(Queue Element Transfer Descriptor)など)を設定し、前記パイプに割り当てたメモリ領域に記憶する(S205)。   Next, the EHCD 14 sets descriptor information for data transfer (qTD (Queue Element Transfer Descriptor) or the like) for the processing surface, and stores it in the memory area allocated to the pipe (S205).

次に、EHCD14は、当該データ転送要求がOUTである場合(S206:YES)、USBホスト装置1のRAM等に記憶される転送対象データを処理面にコピーする(S207)。   Next, when the data transfer request is OUT (S206: YES), the EHCD 14 copies the transfer target data stored in the RAM or the like of the USB host device 1 to the processing surface (S207).

次に、EHCD14は、処理面を指定して、EHCI15に転送要求を通知する(S208)。これを受けてEHCI15は、前記設定したディスクリプタ情報に基づき、処理面を介してデータ転送を実行する。すなわち、当該データ転送要求がOUTである場合は、処理面に格納される転送対象データをUSBデバイス装置2へ転送し、INである場合は、USBデバイス装置2から転送対象データを読み出して処理面に格納する。EHCI15は、データ転送が完了すると、その情報をEHCD14に通知する。   Next, the EHCD 14 designates a processing surface and notifies the transfer request to the EHCI 15 (S208). In response to this, the EHCI 15 executes data transfer via the processing surface based on the set descriptor information. That is, when the data transfer request is OUT, the transfer target data stored in the processing surface is transferred to the USB device device 2. When the data transfer request is IN, the transfer target data is read from the USB device device 2 and processed. To store. When the data transfer is completed, the EHCI 15 notifies the EHCD 14 of the information.

次に、EHCD14は、転送要求のあったデータ全てについて転送が完了したか否かを判断し(S209)、完了している場合はS213の工程に処理を進める。   Next, the EHCD 14 determines whether or not the transfer has been completed for all the data requested to be transferred (S209), and if it has been completed, the process proceeds to the process of S213.

一方、完了していない場合、EHCD14は、待機面を対象として、データ転送のためのディスクリプタ情報を設定し、前記パイプに割り当てたメモリ領域に記憶する(S210)。   On the other hand, if not completed, the EHCD 14 sets descriptor information for data transfer for the standby surface and stores it in the memory area allocated to the pipe (S210).

次に、当該データ転送要求がOUTである場合(S211:YES)、USBホスト装置1のRAM等に記憶される転送対象データのうち未転送のデータを待機面にコピーする(S212)。   Next, when the data transfer request is OUT (S211: YES), untransferred data among the transfer target data stored in the RAM or the like of the USB host device 1 is copied to the standby surface (S212).

次に、EHCD14は、EHCI15からのデータ転送完了の通知を待機する(S213)。   Next, the EHCD 14 waits for a data transfer completion notification from the EHCI 15 (S213).

データ転送完了の通知を受け付けた場合、EHCD14は、待機面に関してデータ転送のためのディスクリプタ情報が設定・記憶されているか否かを判断する(S214)。   When the notification of data transfer completion is received, the EHCD 14 determines whether or not descriptor information for data transfer is set and stored for the standby surface (S214).

待機面に関してディスクリプタ情報が設定・記憶されていない場合、EHCD14は、データ転送完了が通知されたデータ転送がINであるか否かを判断する(S215)。   When the descriptor information is not set / stored for the standby surface, the EHCD 14 determines whether the data transfer notified of the completion of the data transfer is IN (S215).

INである場合、EHCD14は、処理面に格納される転送対象データをUSBホスト装置1のRAM等にコピーする(S216)。   In the case of IN, the EHCD 14 copies the transfer target data stored in the processing surface to the RAM or the like of the USB host device 1 (S216).

次に、EHCD14は、USBD11に、要求のあったデータ転送が全て終了したことを通知する(S217)。   Next, the EHCD 14 notifies the USBD 11 that all requested data transfer has been completed (S217).

USBD11は、EHCD14から該通知を受け付けた場合、該通知をクライアントドライバ10に転送する(S218)。   When the USBD 11 receives the notification from the EHCD 14, the USBD 11 transfers the notification to the client driver 10 (S218).

クライアントドライバ10は、該通知を受け付けた場合、S200の工程に再帰する(S219)。   When the client driver 10 receives the notification, the client driver 10 returns to the process of S200 (S219).

一方、待機面に関してディスクリプタ情報が設定・記憶されている場合、EHCD14は、処理面及び待機面の設定を入れ替える(S220)。例えば、バッファ領域Aを処理面、バッファ領域Bを待機面として設定している場合であれば、バッファ領域Bを処理面、バッファ領域Aを待機面に設定する。   On the other hand, when the descriptor information is set and stored for the standby surface, the EHCD 14 switches the settings of the processing surface and the standby surface (S220). For example, if the buffer area A is set as the processing plane and the buffer area B is set as the standby plane, the buffer area B is set as the processing plane and the buffer area A is set as the standby plane.

次に、EHCD14は、処理面を指定して、EHCI15に転送要求を通知する(S221)。これを受けてEHCI15は、上述したように、前記設定したディスクリプタ情報に基づき、処理面を介してデータ転送を実行する。   Next, the EHCD 14 designates a processing surface and notifies the transfer request to the EHCI 15 (S221). In response to this, the EHCI 15 executes data transfer via the processing surface based on the set descriptor information as described above.

次に、EHCD14は、データ転送完了が通知されたデータ転送がINであるか否かを判断する(S222)。   Next, the EHCD 14 determines whether or not the data transfer notified of the completion of the data transfer is IN (S222).

INである場合、EHCD14は、待機面に格納される転送対象データをUSBホスト装置1のRAM等にコピーする(S223)。   If it is IN, the EHCD 14 copies the transfer target data stored in the standby surface to the RAM or the like of the USB host device 1 (S223).

次に、EHCD14は、転送要求のあったデータ全てについて転送が完了したか否かを判断し(S224)、完了している場合はS213の工程に再帰する。   Next, the EHCD 14 determines whether or not the transfer has been completed for all the data requested to be transferred (S224). If completed, the process returns to the step S213.

一方、完了していない場合、EHCD14は、待機面を対象として、データ転送のためのディスクリプタ情報を設定し、前記パイプに割り当てたメモリ領域に記憶する(S225)。   On the other hand, if not completed, the EHCD 14 sets descriptor information for data transfer for the standby surface and stores it in the memory area allocated to the pipe (S225).

次に、EHCD14は、当該データ転送要求がOUTである場合(S226:YES)は、USBホスト装置1のRAM等に記憶される転送対象データを待機面にコピーしてから(S227)、S213の工程に再帰し、INである場合(S226:NO)は、そのままS213の工程に再帰する。   Next, when the data transfer request is OUT (S226: YES), the EHCD 14 copies the transfer target data stored in the RAM or the like of the USB host device 1 to the standby surface (S227), and then in S213. If the process returns to IN (S226: NO), the process returns to S213 as it is.

かかる構成によれば、EHCI15を使用してデータ転送を行う場合に、USBポートごとに共有メモリ16上に固定サイズのメモリ領域を確保し、前記確保した固定サイズのメモリ領域をUSBポートの各パイプに割り当ててバッファ領域とすることから、共有メモリ16の使用可能領域を監視して、バッファ領域が確保できたかどうかを確認する必要はなく、メモリ管理処理の負担を軽減することができる。   According to this configuration, when data transfer is performed using the EHCI 15, a fixed size memory area is secured on the shared memory 16 for each USB port, and the secured fixed size memory area is allocated to each pipe of the USB port. Therefore, it is not necessary to monitor the usable area of the shared memory 16 to confirm whether the buffer area has been secured, and the burden of memory management processing can be reduced.

また、共有メモリ16上に必要となるバッファ領域のサイズは、USBポート数と前記固定サイズによって固定的に定まるため、パイプ数や転送データサイズなどが変動しても、共有メモリ16上にバッファ領域を確保できない情況が発生することはない。また、静的(固定的)にメモリ領域を確保していることから、USBデバイス装置の抜き差しを頻繁に行う等しても、メモリリークが発生するおそれもない。その結果、データ転送に用いる共有メモリサイズを抑制しつつ、効率よく安定してデータ転送を行うことができる。   In addition, since the size of the buffer area required on the shared memory 16 is fixedly determined by the number of USB ports and the fixed size, even if the number of pipes, transfer data size, etc. fluctuate, the buffer area on the shared memory 16 There will be no situation where it is impossible to secure Further, since the memory area is secured statically (fixedly), there is no possibility that a memory leak occurs even if the USB device device is frequently inserted and removed. As a result, data transfer can be performed efficiently and stably while suppressing the size of the shared memory used for data transfer.

また、EHCD14において、転送要求のあったデータが前記固定サイズより大きい場合に固定サイズ単位で複数回に分けてデータ転送のためのディスクリプタ情報を設定するように構成しているため、上位のクライアントドライバ10等では、前記固定サイズを意識することなく、データ転送を指示することが可能となる。   Further, in the EHCD 14, when the requested data is larger than the fixed size, the descriptor information for data transfer is set in a plurality of times in a fixed size unit. 10 or the like can instruct data transfer without being aware of the fixed size.

また、前記固定サイズのメモリ領域に2つのバッファ領域A、Bを設けておき、2つのバッファ領域A、Bをそれぞれ交互に処理面、待機面に設定し、処理面に関してEHCI15にデータ転送要求を通知した上で、待機面に関してUSBホスト装置1のRAM等との間でコピーを行うように構成しているため、EHCI15によるデータ転送処理とUSBホスト装置1のRAM等との間のコピー処理とを並行に実行させる(すなわち、一方のバッファ領域を用いてUSBデバイス装置側とのデータ転送を行いつつ、他方のバッファ領域を用いてUSBホスト装置側とのデータ転送を実行させる)ことができ、高速にデータ転送を実行することが可能となる。   Further, two buffer areas A and B are provided in the fixed size memory area, and the two buffer areas A and B are alternately set as a processing surface and a standby surface, respectively, and a data transfer request is sent to the EHCI 15 regarding the processing surface. Since the configuration is such that the standby surface is copied to and from the RAM of the USB host device 1, the data transfer processing by the EHCI 15 and the copy processing between the RAM and the like of the USB host device 1 are performed. Can be executed in parallel (that is, data transfer with the USB device device side is performed using one buffer area while data transfer with the USB host device side is performed using the other buffer area), Data transfer can be executed at high speed.

(その他)
本発明は、上記実施形態に限定されることなく種々に変形して適用することが可能である。
(Other)
The present invention is not limited to the above-described embodiment, and can be variously modified and applied.

例えば上記実施形態ではEHCI15を使用してデータ転送を行う場合について説明しているが、CHCI13を使用してデータ転送する場合にも同様に本発明を適用することができる。すなわち、CHCI13が管理するUSBポートごとに共有メモリ16上に固定サイズのメモリ領域を確保し、前記確保した固定サイズのメモリ領域をUSBポートの各パイプに割り当ててバッファ領域とする構成を採用してもよい。EHCI15、CHCI13の両者について本発明を適用する場合、同一のUSBポートに関して確保した前記固定サイズのメモリ領域を、EHCD14とCHCD12とで共有し、排他的にバッファ領域として設定することもできる。   For example, although the case where data transfer is performed using the EHCI 15 has been described in the above embodiment, the present invention can be similarly applied to the case where data transfer is performed using the CHCI 13. That is, a configuration is adopted in which a fixed size memory area is secured on the shared memory 16 for each USB port managed by the CHCI 13, and the secured fixed size memory area is assigned to each pipe of the USB port as a buffer area. Also good. When the present invention is applied to both the EHCI 15 and the CHCI 13, the fixed-size memory area secured for the same USB port can be shared by the EHCD 14 and the CHCD 12 and set exclusively as a buffer area.

なお、本発明は、USB 1.1規格、USB 2.0規格、或いはこれらの規格と同様の思想に基づく規格や、これらの規格を発展させた規格におけるデータ転送制御手法にも適用できる。   The present invention can also be applied to a data transfer control method in the USB 1.1 standard, the USB 2.0 standard, a standard based on the same idea as these standards, or a standard developed from these standards.

本実施形態におけるデータ転送システムの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the data transfer system in this embodiment. USBにおけるデータ転送のスキームを説明するための図である。It is a figure for demonstrating the scheme of the data transfer in USB. 本実施形態におけるUSBデバイス装置2の接続からパイプオープンまでの処理内容を示すフローチャートである。It is a flowchart which shows the processing content from the connection of the USB device apparatus 2 in this embodiment to a pipe open. 本実施形態におけるデータ転送処理の内容を示すフローチャートである。It is a flowchart which shows the content of the data transfer process in this embodiment. 本実施形態におけるデータ転送処理の内容を示すフローチャートである。It is a flowchart which shows the content of the data transfer process in this embodiment.

符号の説明Explanation of symbols

1 USBホスト装置;10 クライアントドライバ;11 USBD;12 CHCD;13 CHCI;14 EHCD;15 EHCI;16 共有メモリ;2 USBデバイス装置 1 USB host device; 10 client driver; 11 USBD; 12 CHCD; 13 CHCI; 14 EHCD; 15 EHCI; 16 shared memory; 2 USB device device

Claims (7)

USBホストコントローラを使用してデータ転送を行う場合のデータ転送制御方法であって、
パイプに共有メモリ上の固定サイズのバッファ領域を割り当てる工程と、
パイプに割り当てた前記固定サイズのバッファ領域を介して、USBホスト装置とUSBデバイス装置との間でデータ転送を行うように、前記USBホストコントローラを制御する工程と、を備えることを特徴とするデータ転送制御方法。
A data transfer control method for transferring data using a USB host controller,
Allocating a fixed-size buffer area on the shared memory to the pipe;
And a step of controlling the USB host controller so as to transfer data between the USB host device and the USB device device via the fixed-size buffer area allocated to the pipe. Transfer control method.
前記USBホストコントローラが、EHCI規格のUSBホストコントローラであることを特徴とする請求項1記載のデータ転送制御方法。   2. The data transfer control method according to claim 1, wherein the USB host controller is an EHCI standard USB host controller. 前記パイプに共有メモリ上の固定サイズのバッファ領域を割り当てる工程は、
USBポートごとに共有メモリ上の固定サイズのメモリ領域を確保する工程と、
USBデバイスが接続されたUSBポートについて確保した前記固定サイズのメモリ領域に、当該USBデバイスに関してデータ転送要求のあったパイプのバッファ領域を設定する工程と、
を備えることを特徴とする請求項1又は2記載のデータ転送制御方法。
The step of allocating a fixed-size buffer area on the shared memory to the pipe is as follows:
Securing a fixed-size memory area on the shared memory for each USB port;
Setting a buffer area of a pipe for which a data transfer request has been made for the USB device in the fixed-size memory area reserved for the USB port to which the USB device is connected;
The data transfer control method according to claim 1 or 2, further comprising:
前記共有メモリ上の固定サイズのメモリ領域は、少なくとも2つのバッファ領域A、Bを含んでおり、
前記USBホストコントローラを制御する工程は、
一方のバッファ領域を用いてUSBデバイス装置側とのデータ転送を行いつつ、他方のバッファ領域を用いてUSBホスト装置側とのデータ転送が実行されるように、バッファ領域A、Bを交互に指定してUSBホストコントローラに転送要求を通知する工程を備えることを特徴とする請求項1乃至3のいずれか1項に記載のデータ転送制御方法。
The fixed-size memory area on the shared memory includes at least two buffer areas A and B,
The step of controlling the USB host controller includes:
Specify buffer areas A and B alternately so that data transfer with the USB host device side is performed using the other buffer area while data transfer with the USB device apparatus side is performed using one buffer area 4. The data transfer control method according to claim 1, further comprising a step of notifying the USB host controller of a transfer request.
前記共有メモリ上の固定サイズのメモリ領域は、少なくとも2つのバッファ領域A、Bを含んでおり、
前記USBホストコントローラを制御する工程は、
バッファ領域A、Bのうち一方を処理面とし、他方を待機面に設定する工程と、
処理面を対象として、データ転送のためのディスクリプタ情報を設定する工程と、
前記処理面を指定して、USBホストコントローラに転送要求を通知する工程と、
転送要求のあったデータ全てについて転送が完了したか否かを判断する工程と、
完了していない場合に、待機面を対象として、データ転送のためのディスクリプタ情報を設定する工程と、
前記処理面についてUSBホストコントローラからデータ転送完了の通知を受け付けた場合、バッファ領域A、Bに関して処理面及び待機面の設定を入れ替える工程と、
を備えることを特徴とする請求項1乃至4のいずれか1項に記載のデータ転送制御方法。
The fixed-size memory area on the shared memory includes at least two buffer areas A and B,
The step of controlling the USB host controller includes:
A step of setting one of the buffer areas A and B as a processing surface and the other as a standby surface;
A process for setting descriptor information for data transfer for a processing surface;
Designating the processing surface and notifying the USB host controller of a transfer request;
Determining whether or not the transfer has been completed for all the data requested to be transferred;
If not completed, setting the descriptor information for data transfer for the standby side; and
When a notification of data transfer completion is received from the USB host controller with respect to the processing surface, a step of switching the setting of the processing surface and the standby surface with respect to the buffer areas A and B;
The data transfer control method according to any one of claims 1 to 4, further comprising:
USBホストコントローラを使用してデータ転送を行うためのデータ転送制御装置であって、
パイプに共有メモリ上の固定サイズのバッファ領域を割り当てる機能と、
パイプに割り当てた前記固定サイズのバッファ領域を介して、USBホスト装置とUSBデバイス装置との間でデータ転送を行うように、前記USBホストコントローラを制御する機能と、を備えることを特徴とするデータ転送制御装置。
A data transfer control device for performing data transfer using a USB host controller,
A function that allocates a fixed-size buffer area in shared memory to the pipe;
And a function of controlling the USB host controller so as to transfer data between the USB host device and the USB device device via the fixed-size buffer area allocated to the pipe. Transfer control device.
請求項1乃至5のいずれか1項に記載のデータ転送制御方法をコンピュータで実行させるためのプログラム。 A program for causing a computer to execute the data transfer control method according to any one of claims 1 to 5.
JP2005069935A 2005-03-11 2005-03-11 Data transfer control method, and data transfer controller Pending JP2006252334A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005069935A JP2006252334A (en) 2005-03-11 2005-03-11 Data transfer control method, and data transfer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005069935A JP2006252334A (en) 2005-03-11 2005-03-11 Data transfer control method, and data transfer controller

Publications (1)

Publication Number Publication Date
JP2006252334A true JP2006252334A (en) 2006-09-21

Family

ID=37092750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005069935A Pending JP2006252334A (en) 2005-03-11 2005-03-11 Data transfer control method, and data transfer controller

Country Status (1)

Country Link
JP (1) JP2006252334A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017740A2 (en) 2007-06-29 2009-01-21 THOMSON Licensing Method for data transfer between host and device
JP2013246457A (en) * 2012-05-23 2013-12-09 Renesas Electronics Corp Host controller and host device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2017740A2 (en) 2007-06-29 2009-01-21 THOMSON Licensing Method for data transfer between host and device
JP2009015837A (en) * 2007-06-29 2009-01-22 Thomson Licensing Method and apparatus for data transfer between host and device
JP2013246457A (en) * 2012-05-23 2013-12-09 Renesas Electronics Corp Host controller and host device

Similar Documents

Publication Publication Date Title
US9244788B2 (en) Maximizing use of storage in a data replication environment
US7290066B2 (en) Methods and structure for improved transfer rate performance in a SAS wide port environment
CN100555257C (en) The memory controller of the dma operation between the processing page replicative phase and method
US7526592B2 (en) Interrupt control system and storage control system using the same
JP4988678B2 (en) System for dynamically balancing PCI Express bandwidth
US20110022769A1 (en) Translation USB Intermediate Device and Data Rate Apportionment USB Intermediate Device
US9003077B2 (en) Sharing IOMMU mappings across devices in a DMA group
JP2004334417A (en) Data transfer control device, electronic device and data transfer control method
EP1449097B1 (en) Aggregation of hardware events in multi-node systems
US6826622B2 (en) Method of transferring data between memories of computers
JP2003318926A (en) Data transfer control device, electronic device, and data transfer control method
US8032675B2 (en) Dynamic memory buffer allocation method and system
JP3636160B2 (en) Data transfer control device, electronic device, and data transfer control method
JP2006252334A (en) Data transfer control method, and data transfer controller
US20110047303A1 (en) Data transfer control device and data transfer control method
JP3614161B2 (en) Data transfer control device, electronic device, and data transfer control method
US9639076B2 (en) Switch device, information processing device, and control method of information processing device
JP2006252335A (en) Data transfer control method, and data transfer controller
JP2001282631A (en) Method, system and pci bus system for limiting destruction of write data
EP1594068A2 (en) PCI Bus system
JP2002176464A (en) Network interface device
KR20070061240A (en) Apparatus for direct memory access for absolute priority dma request and method thereof
JPH08110883A (en) Access method for non-scsi device
US7051140B2 (en) Connector that enables aggregation of independent system resources across PCI/PCI-X bus and interlocked method for aggregating independent system resources across PCI/PCI-X bus
JP2003323391A (en) Data transfer control device, electronic equipment and data transfer control method