JP2013246457A - Host controller and host device - Google Patents

Host controller and host device Download PDF

Info

Publication number
JP2013246457A
JP2013246457A JP2012117355A JP2012117355A JP2013246457A JP 2013246457 A JP2013246457 A JP 2013246457A JP 2012117355 A JP2012117355 A JP 2012117355A JP 2012117355 A JP2012117355 A JP 2012117355A JP 2013246457 A JP2013246457 A JP 2013246457A
Authority
JP
Japan
Prior art keywords
transfer
type
peripheral device
transfer request
size
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.)
Ceased
Application number
JP2012117355A
Other languages
Japanese (ja)
Inventor
Keisuke Nomura
啓輔 野村
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012117355A priority Critical patent/JP2013246457A/en
Publication of JP2013246457A publication Critical patent/JP2013246457A/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce power consumption of a USB 2.0 host device.SOLUTION: A USB 2.0 host controller 150 includes: a size storage unit 152 that stores size information indicating a predetermined certain data size; and a control execution unit 154. The control execution unit 154 generates, as a transfer request to be transmitted to a peripheral device 170, a first-type transfer request that is a transfer request including the size information that is stored in the size storage unit 152. When receiving transfer data that is output by the peripheral device 170 in response to the first-type transfer request, the control execution unit 154 reads transfer information from a system memory 132 and stores the transfer data in a storage destination indicated by the transfer information.

Description

本発明は、通信システム、例えばUSB2.0に準拠する通信システムにおけるホストデバイスとペリフェラルデバイス間のデータ転送技術に関する。   The present invention relates to a data transfer technique between a host device and a peripheral device in a communication system, for example, a communication system compliant with USB 2.0.

ホストデバイス(以下単に「ホスト」ともいう)が転送要求を発行し、ペリフェラルデバイスがホストデバイスからの転送要求に応じて転送データをホストに転送する通信システムが知られている。このような通信システムにおけるデータ転送の制御について、様々な技術が提案されている。   There is known a communication system in which a host device (hereinafter also simply referred to as “host”) issues a transfer request, and the peripheral device transfers transfer data to the host in response to the transfer request from the host device. Various techniques have been proposed for controlling data transfer in such a communication system.

例えば、特許文献1には、IEEE1394の通信システムにおいて、データ転送を要求する端末における転送制御装置が、システムメモリに格納された複数の転送情報(転送データ長及び転送先アドレスを含む情報)に含まれる各転送先アドレスにより夫々示される領域が連続領域を形成する場合に、該複数の転送情報のデータ転送長を加算して1つの転送要求を生成して別の端末に発行する技術が開示されている。なお、データ転送の視点からは、データ転送を要求する端末と、データ転送を要求される端末は、ホストとペリフェラルデバイスに夫々該当する。   For example, Patent Document 1 includes a transfer control device in a terminal that requests data transfer in a plurality of transfer information (information including a transfer data length and a transfer destination address) stored in a system memory in an IEEE 1394 communication system. Disclosed is a technique for adding a data transfer length of a plurality of pieces of transfer information to generate one transfer request and issuing it to another terminal when areas indicated by respective transfer destination addresses form continuous areas. ing. From the viewpoint of data transfer, a terminal that requests data transfer and a terminal that requests data transfer correspond to a host and a peripheral device, respectively.

この技術によれば、1つの転送要求により複数の転送情報に対応するデータの転送を実行することができるため、データ転送の効率を向上させることができる。   According to this technique, data transfer corresponding to a plurality of pieces of transfer information can be executed by one transfer request, so that the efficiency of data transfer can be improved.

USB2.0通信システム(USB:Universal Serial Bus)において、ホストコントローラは、上記転送制御装置に該当し、CPU(Central Processing Unit)がシステムメモリに格納した転送情報に基づいて転送要求を生成してペリフェラルデバイスに発行する(非特許文献1、特許文献2)。なお、USB2.0システムでは、上記転送情報は、転送サイズ(上記転送データ長に該当する)と、転送されたデータの格納先を示す情報(上記転送先アドレスに該当する)を含む。   In a USB 2.0 communication system (USB: Universal Serial Bus), a host controller corresponds to the above-described transfer control device, and generates a transfer request based on transfer information stored in a system memory by a CPU (Central Processing Unit) to create a peripheral. Issued to the device (Non-Patent Document 1, Patent Document 2). In the USB 2.0 system, the transfer information includes a transfer size (corresponding to the transfer data length) and information indicating a storage destination of the transferred data (corresponding to the transfer destination address).

USB2.0のホストコントローラは、CPU(Central Processing Unit)から転送開始の通知がされると、システムメモリに格納された転送情報を読み出し、該転送情報が示す転送サイズを含む転送要求を、ペリフェラルデバイスに出力する。そして、転送要求に応じてペリフェラルデバイスから送信されてきた転送データを、上記転送情報が示す格納先に格納する。   When a USB 2.0 host controller receives a transfer start notification from a CPU (Central Processing Unit), it reads the transfer information stored in the system memory and sends a transfer request including the transfer size indicated by the transfer information to the peripheral device. Output to. Then, the transfer data transmitted from the peripheral device in response to the transfer request is stored in the storage location indicated by the transfer information.

なお、システムメモリに複数の転送情報が格納されている場合には、ホストコントローラは、USB2.0規格で定められた優先順序で転送情報の読出しと転送要求の出力を行う。   When a plurality of pieces of transfer information are stored in the system memory, the host controller reads transfer information and outputs a transfer request in the priority order defined by the USB 2.0 standard.

転送要求を受信したペリフェラルデバイスは、送信するデータが無い、または送信するデータの準備ができていない場合には、拒否応答を行う。拒否応答を受信した場合に、ホストコントローラは、ペリフェラルデバイスから転送データを受信するまで、システムメモリからの転送情報の読出し、転送要求の出力を繰り返す。   The peripheral device that has received the transfer request makes a rejection response when there is no data to be transmitted or when the data to be transmitted is not ready. When receiving a rejection response, the host controller repeatedly reads the transfer information from the system memory and outputs the transfer request until it receives the transfer data from the peripheral device.

なお、USB規格は、下位互換性を有し、USB3.0のホストには、USB2.0のホストコントローラが設けられている。USB2.0のペリフェラルデバイスに対するデータ転送の制御は、USB2.0のホストコントローラにより制御される。   Note that the USB standard has backward compatibility, and a USB 3.0 host controller is provided in a USB 3.0 host. The data transfer control for the USB 2.0 peripheral device is controlled by the USB 2.0 host controller.

以下において、特別な説明が無い限り、「ホストデバイス」と「ホストコントローラ」は、USB2.0のホストデバイスとホストコントローラを意味し、「ペリフェラルデバイス」は、USB2.0のペリフェラルデバイスを意味する。また、USB2.0のホストデバイスは、USB2.0にのみ対応するホストデバイスに限らず、USB3.0のホストデバイスに含まれた、USB2.0の機能を担う機能ブロックを含む。USB2.0のペリフェラルデバイスも、USB2.0にのみ対応するペリフェラルデバイスに限らず、USB3.0のペリフェラルデバイスに含まれた、USB2.0の機能ブロックを担う機能ブロックを含む。同様に、USB2.0のホストコントローラも、USB2.0にのみ対応するホストに設けられたホストコントローラに限らず、USB3.0のホストに設けられたUSB2.0のホストコントローラも含む。この点に関しては、以下繰り返さない。   In the following, unless otherwise specified, “host device” and “host controller” mean a USB 2.0 host device and host controller, and “peripheral device” means a USB 2.0 peripheral device. Also, the USB 2.0 host device is not limited to a host device that supports only USB 2.0, but includes a function block that is included in a USB 3.0 host device and performs the functions of USB 2.0. The peripheral device of USB 2.0 is not limited to a peripheral device that supports only USB 2.0, but includes a functional block that bears a functional block of USB 2.0 included in the peripheral device of USB 3.0. Similarly, a USB 2.0 host controller is not limited to a host controller provided in a host that supports only USB 2.0, but also includes a USB 2.0 host controller provided in a USB 3.0 host. This is not repeated below.

特開2002−222162号公報JP 2002-222162 A 特開2011−186918号公報JP 2011-186918 A

Universal Serial Bus Specification,Revision 2.0,April 27,2000Universal Serial Bus Specification, Revision 2.0, April 27, 2000

上述したように、ホストコントローラは、ペリフェラルデバイスから転送データを受信するまで、転送情報の読出しと転送要求の出力を実行し続ける。   As described above, the host controller continues to read the transfer information and output the transfer request until the transfer data is received from the peripheral device.

一方、ペリフェラルデバイスの中に、特にUSBマウスやUSBキーボードなどは、ホストに送信するデータが常にある訳ではない。そのため、ホストコントローラは、これらのペリフェラルデバイスから拒否応答を受信し続ける状況が頻繁に発生する。   On the other hand, in the peripheral device, in particular, a USB mouse, a USB keyboard or the like does not always have data to be transmitted to the host. Therefore, the host controller frequently receives a rejection response from these peripheral devices.

拒否応答を受信する度にホストコントローラが転送情報の読出しを行うため、拒否応答を受信し続ける状況では、システムメモリへのアクセスの連発に伴う電力消費は、無駄である。   Since the host controller reads the transfer information every time a rejection response is received, in a situation where the rejection response is continuously received, the power consumption associated with repeated accesses to the system memory is useless.

上記問題を解消するために、例えば、ホストコントローラが転送情報を保持しておき、ペリフェラルデバイスから拒否応答を受信した場合に、保持した転送情報に基づいて転送要求を再発行するようにすれば、システムメモリへのアクセス回数を減らすことができる。しかし、これでは、ペリフェラルデバイス毎に転送情報を保持するメモリをホストコントローラに設ける必要があり、ホストコントローラの回路規模が大きくなってしまう。   In order to solve the above problem, for example, if the host controller holds the transfer information and receives a rejection response from the peripheral device, the transfer request is reissued based on the held transfer information. The number of accesses to the system memory can be reduced. However, in this case, it is necessary to provide a memory for holding transfer information for each peripheral device in the host controller, which increases the circuit scale of the host controller.

その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   Other problems and novel features will become apparent from the description of the specification and the accompanying drawings.

一実施の形態は、USB2.0のホストコントローラである。該ホストコントローラは、ペリフェラルデバイスに送信する転送要求として、予め定められた所定のデータサイズを示すサイズ情報を含む転送要求である第1種の転送要求を生成する。また、該ホストコントローラは、前記第1種の転送要求に応じて前記ペリフェラルデバイスが出力した転送データを受信したときに、システムメモリから、CPUが前記システムメモリに格納した転送情報を読み出し、該転送情報が示す格納先に前記転送データを格納する。   One embodiment is a USB 2.0 host controller. The host controller generates a first type of transfer request, which is a transfer request including size information indicating a predetermined data size, as a transfer request to be transmitted to the peripheral device. When the host controller receives the transfer data output from the peripheral device in response to the first type transfer request, the host controller reads the transfer information stored in the system memory by the CPU from the system memory, and transfers the transfer data. The transfer data is stored in the storage location indicated by the information.

なお、上記実施の形態のホストコントローラを方法やシステムに置き換えて表現したもの、該ホストコントローラを備えたホストデバイスなども、実施の形態としては有効である。   A representation in which the host controller of the above embodiment is replaced with a method or system, a host device provided with the host controller, or the like is also effective as an embodiment.

一実施の形態のホストコントローラによれば、消費電力を抑制することができる。   According to the host controller of one embodiment, power consumption can be suppressed.

第1の実施の形態にかかるUSBシステムを示す図である。It is a figure which shows the USB system concerning 1st Embodiment. 図1に示す第1の実施の形態におけるUSBコントローラによる処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process by the USB controller in 1st Embodiment shown in FIG. 第2の実施の形態にかかるUSBシステムにおけるUSBコントローラによる処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by the USB controller in the USB system concerning 2nd Embodiment. 第3の実施の形態にかかるUSBシステムにおけるUSBコントローラによる処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by the USB controller in the USB system concerning 3rd Embodiment. 第4の実施の形態にかかるUSBシステムにおけるUSBコントローラによる処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by the USB controller in the USB system concerning 4th Embodiment.

説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。   For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. Each element described in the drawings as a functional block for performing various processes can be configured by a CPU, a memory, and other circuits in terms of hardware, and a program loaded in the memory in terms of software. Etc. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one. Note that, in each drawing, the same element is denoted by the same reference numeral, and redundant description is omitted as necessary.

また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   Further, the above-described program can be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROM (Read Only Memory) CD-R, CD -R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)). The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

<第1の実施の形態>
図1は、第1の実施の形態にかかるUSBシステム100を示す。該USBシステム100は、USB2.0のホストデバイス110、USB2.0のペリフェラルデバイス170を備える。なお、図1は、1つのペリフェラルデバイス170のみを示しているが、ペリフェラルデバイス170は、複数であってもよい。
<First Embodiment>
FIG. 1 shows a USB system 100 according to the first embodiment. The USB system 100 includes a USB 2.0 host device 110 and a USB 2.0 peripheral device 170. Although FIG. 1 shows only one peripheral device 170, there may be a plurality of peripheral devices 170.

ホストデバイス110は、例えばコンピュータであり、CPU120、システムメモリ130、システムバス140、ホストコントローラ150、ペリフェラルバス160を有する。ホストデバイス110には、USBのドライバがインストールされており、CPUは、ドライバを実行することにより、USB関連の処理を実現する。   The host device 110 is a computer, for example, and includes a CPU 120, a system memory 130, a system bus 140, a host controller 150, and a peripheral bus 160. A USB driver is installed in the host device 110, and the CPU implements USB-related processing by executing the driver.

システムメモリ130は、転送情報領域132と、データ領域134を有する。
CPU120は、転送情報を生成して転送情報領域132に格納する。この転送情報は、ペリフェラルデバイス170に転送させる転送データのサイズ(転送サイズ)例えばパケット数と、ペリフェラルデバイス170からの転送データの格納先とを示すものである。なお、上記格納先を示すものは、データ領域134内のアドレスを示すポインタである。
The system memory 130 has a transfer information area 132 and a data area 134.
The CPU 120 generates transfer information and stores it in the transfer information area 132. This transfer information indicates the size (transfer size) of transfer data to be transferred to the peripheral device 170, for example, the number of packets, and the storage destination of transfer data from the peripheral device 170. The storage location is a pointer indicating the address in the data area 134.

ホストコントローラ150は、サイズ記憶部152、制御実行部154、データバッファ156を備える。   The host controller 150 includes a size storage unit 152, a control execution unit 154, and a data buffer 156.

サイズ記憶部152は、予め定められた所定のデータサイズを示すサイズ情報を格納している。本実施の形態のUSBシステム100において、サイズ記憶部152に格納されたサイズ情報は、転送データの最小転送単位である1パケットのサイズを示す。   The size storage unit 152 stores size information indicating a predetermined data size. In the USB system 100 of the present embodiment, the size information stored in the size storage unit 152 indicates the size of one packet that is the minimum transfer unit of transfer data.

従来のホストコントローラは、ペリフェラルデバイスにデータ転送を要求する際に、システムメモリ130の転送情報領域132から転送情報を読み出して、該転送情報が示す転送サイズを含む転送要求を生成してペリフェラルデバイスに送信する。そして、転送要求に応じてペリフェラルデバイスが転送データを送信してきた場合には、上記転送情報が示す格納先に該転送データを格納する。また、転送要求に対してペリフェラルデバイスが拒否応答をした場合には、ホストコントローラは、上記転送情報の読出しと、転送要求の生成及び送信を再度行う。   When a conventional host controller requests data transfer to a peripheral device, it reads the transfer information from the transfer information area 132 of the system memory 130, generates a transfer request including the transfer size indicated by the transfer information, and sends it to the peripheral device. Send. When the peripheral device transmits the transfer data in response to the transfer request, the transfer data is stored in the storage destination indicated by the transfer information. When the peripheral device makes a rejection response to the transfer request, the host controller reads the transfer information, and generates and transmits the transfer request again.

本実施の形態において、ホストコントローラ150における制御実行部154は、ペリフェラルデバイス170に送信する転送要求の生成に際して、転送情報領域132からの転送情報の読出しをせずに、サイズ記憶部152に格納されたサイズ情報を含む転送用要求を生成する。そして、転送要求に応じてペリフェラルデバイス170が転送データを送信してきた場合には、転送情報領域132から転送情報を読み出し、該転送情報が示す格納先に転送データを格納するように制御を行う。また、転送要求に対してペリフェラルデバイス170が拒否応答した場合にも、転送情報領域132からの転送情報の読出しをせずに、サイズ記憶部152に格納されたサイズ情報を含む転送用要求を再度生成する。   In the present embodiment, the control execution unit 154 in the host controller 150 is stored in the size storage unit 152 without reading transfer information from the transfer information area 132 when generating a transfer request to be transmitted to the peripheral device 170. Generate a transfer request that includes the size information. When the peripheral device 170 transmits transfer data in response to the transfer request, the transfer information is read from the transfer information area 132, and control is performed so that the transfer data is stored in the storage destination indicated by the transfer information. Further, even when the peripheral device 170 makes a rejection response to the transfer request, the transfer request including the size information stored in the size storage unit 152 is again read without reading the transfer information from the transfer information area 132. Generate.

以下の説明において、制御実行部154がサイズ記憶部152に格納されたサイズ情報で生成した転送要求を「第1種の転送要求」といい、制御実行部154が転送情報領域132から転送情報を読み出し、該転送情報に含まれる転送サイズで生成した転送要求を「第2種の転送要求」という。本第1の実施の形態において、ホストコントローラ150の制御実行部154は、第1種の転送要求のみを生成する。すなわち、本実施の形態において、制御実行部154は、転送要求の生成に際して、システムメモリ130へのアクセスを行わない。   In the following description, a transfer request generated by the control execution unit 154 using the size information stored in the size storage unit 152 is referred to as a “first type transfer request”, and the control execution unit 154 receives transfer information from the transfer information area 132. A transfer request that is read and generated with a transfer size included in the transfer information is referred to as a “second type transfer request”. In the first embodiment, the control execution unit 154 of the host controller 150 generates only the first type transfer request. That is, in the present embodiment, the control execution unit 154 does not access the system memory 130 when generating the transfer request.

データバッファ156は、制御実行部154が送信した転送要求に応じてペリフェラルデバイス170が送信した転送データを一時的に格納し、制御実行部154の制御に従って、システムメモリ130におけるデータ領域134の当該アドレスに格納する。   The data buffer 156 temporarily stores the transfer data transmitted by the peripheral device 170 in response to the transfer request transmitted by the control execution unit 154, and the address of the data area 134 in the system memory 130 according to the control of the control execution unit 154. To store.

ペリフェラルデバイス170は、ホストデバイス110(具体的にはホストコントローラ150における制御実行部154)から転送要求を受信したとき、転送データの準備ができていれば、転送要求が示すサイズの転送データをホストデバイス110に転送する。また、転送データが無い、または転送データの準備ができていない場合には、ペリフェラルデバイス170は、拒否応答を行う。   When the peripheral device 170 receives the transfer request from the host device 110 (specifically, the control execution unit 154 in the host controller 150), if the transfer data is ready, the peripheral device 170 transfers the transfer data of the size indicated by the transfer request. Transfer to device 110. When there is no transfer data or when transfer data is not ready, the peripheral device 170 makes a rejection response.

なお、ペリフェラルデバイス170がホストデバイス110に転送する転送データのサイズは、転送要求により要求されたサイズより小さい場合もある。   Note that the size of transfer data transferred from the peripheral device 170 to the host device 110 may be smaller than the size requested by the transfer request.

ペリフェラルデバイス170は、通常のUSB2.0ペリフェラルデバイスと同様であり、ここでさらなる詳細な説明を省略する。   The peripheral device 170 is the same as a normal USB 2.0 peripheral device, and further detailed description is omitted here.

CPU120、システムメモリ130、ホストコントローラ150間の通信は、システムバス140を介して行われる。また、ホストコントローラ150とペリフェラルデバイス170間の通信は、ペリフェラルバス160を介して行われる。   Communication between the CPU 120, the system memory 130, and the host controller 150 is performed via the system bus 140. Communication between the host controller 150 and the peripheral device 170 is performed via the peripheral bus 160.

図2は、図1に示すUSBシステム100のホストデバイス110における制御実行部154による処理の流れを示すフローチャートである。   FIG. 2 is a flowchart showing the flow of processing by the control execution unit 154 in the host device 110 of the USB system 100 shown in FIG.

図示のように、制御実行部154は、CPU120から転送開始通知を受信すると(S100)、第1種の転送要求を生成してペリフェラルデバイス170に送信する(S102)。   As shown in the figure, when receiving a transfer start notification from the CPU 120 (S100), the control execution unit 154 generates a first type transfer request and transmits it to the peripheral device 170 (S102).

そして、ペリフェラルデバイス170から転送データを受信するまで、制御実行部154は、ペリフェラルデバイス170から拒否応答を受信する度に、第1種の転送要求の生成と送信を繰り返す(S104:Yes、S102)。   Until the transfer data is received from the peripheral device 170, the control execution unit 154 repeats generation and transmission of the first type transfer request every time a rejection response is received from the peripheral device 170 (S104: Yes, S102). .

ペリフェラルデバイス170から転送データを受信すると、制御実行部154は、該転送データの格納先を知るために転送情報領域132から転送情報を読み出し、該転送情報が示す格納先への転送データの出力をデータバッファ156に行わせる(S104:No、S106、S108)。   When the transfer data is received from the peripheral device 170, the control execution unit 154 reads the transfer information from the transfer information area 132 in order to know the storage location of the transfer data, and outputs the transfer data to the storage location indicated by the transfer information. The data buffer 156 is executed (S104: No, S106, S108).

そして、制御実行部154は、データ領域134に格納した転送データのサイズを示す情報(ここではサイズ記憶部152に格納されたサイズ情報と同一である)が含まれる転送完了通知をCPU120に送信する(S110)。   Then, the control execution unit 154 transmits a transfer completion notification including information indicating the size of the transfer data stored in the data area 134 (here, the size information stored in the size storage unit 152 is the same) to the CPU 120. (S110).

このように、本実施の形態のUSBシステム100において、ホストデバイス110は、ペリフェラルデバイス170に送信する転送要求を生成する際に、システムメモリ130にアクセスしないため、特にペリフェラルデバイス170が拒否応答をし続ける状況において、消費電力を節約することができる。また、サイズ記憶部152は、ペリフェラルデバイスの数に関わらず、予め定められた1つのデータサイズを示すサイズ情報のみを格納できればよいので、ホストコントローラの回路規模の増大を抑制することができる。   As described above, in the USB system 100 according to the present embodiment, the host device 110 does not access the system memory 130 when generating a transfer request to be transmitted to the peripheral device 170. Therefore, the peripheral device 170 particularly makes a rejection response. In a continuing situation, power consumption can be saved. Further, since the size storage unit 152 only needs to store size information indicating one predetermined data size regardless of the number of peripheral devices, an increase in the circuit scale of the host controller can be suppressed.

<第2の実施の形態>
第2の実施の形態もUSBシステムである。該第2の実施の形態のUSBシステムは、制御実行部が、図1に示すUSBシステム100のホストデバイス110における制御実行部154と異なる点を除き、USBシステム100と同様である。そのため、第2の実施の形態のUSBシステムに対して、制御実行部のみを説明する。
<Second Embodiment>
The second embodiment is also a USB system. The USB system of the second embodiment is the same as the USB system 100 except that the control execution unit is different from the control execution unit 154 in the host device 110 of the USB system 100 shown in FIG. Therefore, only the control execution unit will be described for the USB system of the second embodiment.

図3は、第2の実施の形態における制御実行部による処理の流れを示すフローチャートである。なお、図3のフローチャートにおいて、図2におけるステップ番号が付与されたステップは、図2において該ステップ番号が示すステップと同様の処理である。   FIG. 3 is a flowchart showing a flow of processing by the control execution unit in the second embodiment. In the flowchart of FIG. 3, the step given the step number in FIG. 2 is the same processing as the step indicated by the step number in FIG.

本第2の実施の形態において、制御実行部は、CPU120から転送開始通知を受信すると(S100)、まず、転送要求の送信先のペリフェラルデバイス170がInterruptIN転送タイプであるか否かを確認する(S120)。   In the second embodiment, when receiving a transfer start notification from the CPU 120 (S100), the control execution unit first confirms whether or not the peripheral device 170 that is the destination of the transfer request is an InterruptIN transfer type ( S120).

ペリフェラルデバイス170がInterruptIN転送タイプである場合に(S120:Yes)、制御実行部は、ステップS102〜ステップS110の処理を行う。これらの処理は、図2におけるステップS102〜ステップS110の処理と同様である。   When the peripheral device 170 is an InterruptIN transfer type (S120: Yes), the control execution unit performs the processes of Steps S102 to S110. These processes are the same as the processes in steps S102 to S110 in FIG.

一方、ペリフェラルデバイス170がInterruptIN転送タイプではない場合には(S120:No)、制御実行部は、転送情報領域132から転送情報を読み出し、該転送情報が示す転送サイズで転送要求(第2種の転送要求)を生成してペリフェラルデバイス170に送信する(S122、S124)。   On the other hand, when the peripheral device 170 is not of the InterruptIN transfer type (S120: No), the control execution unit reads the transfer information from the transfer information area 132, and transfers the transfer request (second type) with the transfer size indicated by the transfer information. (Transfer request) is generated and transmitted to the peripheral device 170 (S122, S124).

そして、ペリフェラルデバイス170から転送データを受信するまで、制御実行部は、ペリフェラルデバイス170から拒否応答を受信する度に、転送情報領域132からの転送情報の読出し、第2種の転送要求の生成と送信を繰り返す(S126:Yes、S122、S124)。   Until the transfer data is received from the peripheral device 170, the control execution unit reads the transfer information from the transfer information area 132 and generates the second type transfer request each time a rejection response is received from the peripheral device 170. The transmission is repeated (S126: Yes, S122, S124).

ペリフェラルデバイス170から転送データを受信すると、制御実行部は、ステップS122で転送情報領域132から読み出した転送情報が示す格納先に転送データを出力することをデータバッファ156に行わせる(S126:No、S108)。
その後、制御実行部は、CPU120に転送完了通知を出力する(S110)。
When the transfer data is received from the peripheral device 170, the control execution unit causes the data buffer 156 to output the transfer data to the storage location indicated by the transfer information read from the transfer information area 132 in step S122 (S126: No, S108).
Thereafter, the control execution unit outputs a transfer completion notification to the CPU 120 (S110).

図3に示すフローチャートにおいて、ステップS102〜ステップS110の処理は、第1の実施の形態にかかるUSBシステム100の制御実行部154の処理と同様である、ステップS122〜ステップS110の処理は、従来のホストコントローラの処理と同様である。   In the flowchart shown in FIG. 3, the processing from step S102 to step S110 is the same as the processing of the control execution unit 154 of the USB system 100 according to the first embodiment. The processing from step S122 to step S110 is the conventional processing. This is the same as the processing of the host controller.

すなわち、本第2の実施の形態において、ホストコントローラは、拒否応答を連続して行う状況が頻繁に生じる可能性の高いInterruptIN転送タイプのペリフェラルデバイスの場合においてのみ、転送要求を生成する際に第1種の転送要求を生成し、転送が成功した後にシステムメモリ130から転送情報を読み出す。これにより、第1の実施の形態にかかるUSBシステム100と同様に、ホストコントローラの消費電力を削減する。   That is, in the second embodiment, the host controller generates the transfer request only in the case of an InterruptIN transfer type peripheral device that is likely to frequently generate rejection responses continuously. One type of transfer request is generated, and transfer information is read from the system memory 130 after the transfer is successful. As a result, the power consumption of the host controller is reduced as in the USB system 100 according to the first embodiment.

他のタイプのペリフェラルデバイスの場合には、従来のホストコントローラと同様に、転送要求を生成する際にシステムメモリ130から転送情報を読み出し、転送情報に基づいて第2種の転送要求を生成する。これにより、拒否応答を連続して行う状況が頻繁に生じる可能性の低い他のタイプのペリフェラルデバイスの場合において、転送効率の低下を防ぐことができる。   In the case of other types of peripheral devices, the transfer information is read from the system memory 130 when generating the transfer request, and the second type transfer request is generated based on the transfer information, as in the conventional host controller. As a result, it is possible to prevent a decrease in transfer efficiency in the case of other types of peripheral devices that are unlikely to frequently generate rejection responses.

<第3の実施の形態>
第3の実施の形態もUSBシステムである。該第3の実施の形態のUSBシステムは、制御実行部が、図1に示すUSBシステム100のホストデバイス110における制御実行部154と異なる点を除き、USBシステム100と同様である。そのため、本第3の実施の形態のUSBシステムに対して、制御実行部のみを説明する。
<Third Embodiment>
The third embodiment is also a USB system. The USB system of the third embodiment is the same as the USB system 100 except that the control execution unit is different from the control execution unit 154 in the host device 110 of the USB system 100 shown in FIG. Therefore, only the control execution unit will be described for the USB system of the third embodiment.

図4は、第3の実施の形態における制御実行部による処理の流れを示すフローチャートである。なお、図4のフローチャートにおいて、図2におけるステップ番号が付与されたステップは、図2において該ステップ番号が示すステップと同様の処理である。   FIG. 4 is a flowchart showing the flow of processing by the control execution unit in the third embodiment. In the flowchart of FIG. 4, the step given the step number in FIG. 2 is the same processing as the step indicated by the step number in FIG.

本第3の実施の形態において、制御実行部は、CPU120から転送開始通知を受信すると(S100)、1つ目の転送要求を生成するために、転送情報領域132から転送情報を読み出す(S130)。そして、該転送情報が示す転送サイズで転送要求(第2種の転送要求)を生成してペリフェラルデバイス170に送信する(S132)。   In the third embodiment, when receiving a transfer start notification from the CPU 120 (S100), the control execution unit reads transfer information from the transfer information area 132 to generate a first transfer request (S130). . Then, a transfer request (second type transfer request) is generated with the transfer size indicated by the transfer information and transmitted to the peripheral device 170 (S132).

そして、1つ目の転送要求(第2種の転送要求)に対してペリフェラルデバイス170が転送データを送信した場合に(S134:No)、制御実行部は、ステップS130で転送情報領域132から読み出した転送情報が示す格納先に転送データを出力することをデータバッファ156に行わせると共に、CPU120に転送完了通知を出力する(S108、S110)。   When the peripheral device 170 transmits transfer data in response to the first transfer request (second type transfer request) (S134: No), the control execution unit reads from the transfer information area 132 in step S130. The data buffer 156 is made to output the transfer data to the storage location indicated by the transfer information, and a transfer completion notification is output to the CPU 120 (S108, S110).

なお、「1つ目の転送要求」とは、システムの起動後に該ペリフェラルデバイス170に初めて送信する転送要求、または、該ペリフェラルデバイス170からのデータ転送の成功後に初めて該ペリフェラルデバイス170に送信する転送要求を意味する。   The “first transfer request” refers to a transfer request transmitted to the peripheral device 170 for the first time after system startup or a transfer transmitted to the peripheral device 170 for the first time after successful data transfer from the peripheral device 170. Means a request.

ここまでに制御実行部が行った処理は、従来のホストコントローラが行う処理と同様である。   The processing performed so far by the control execution unit is the same as the processing performed by the conventional host controller.

ステップS134において、1つ目の転送要求(第2種の転送要求)に対してペリフェラルデバイス170が拒否応答をした場合に(S134:Yes)、制御実行部は、ステップS102〜ステップS110の処理を行う。これらの処理は、図2におけるステップS102〜ステップS110の処理と同様である。   In step S134, when the peripheral device 170 makes a rejection response to the first transfer request (second type transfer request) (S134: Yes), the control execution unit performs the processes of steps S102 to S110. Do. These processes are the same as the processes in steps S102 to S110 in FIG.

すなわち、本第3の実施の形態において、制御実行部は、1つ目の転送要求の送信に際して、従来のホストコントローラと同様に、転送要求を生成する際にシステムメモリ130から転送情報を読み出し、転送情報に基づいて第2種の転送要求を生成する。   That is, in the third embodiment, when the first transfer request is transmitted, the control execution unit reads transfer information from the system memory 130 when generating the transfer request, similar to the conventional host controller, A second type transfer request is generated based on the transfer information.

一方、1つ目の転送要求に対してペリフェラルデバイス170が拒否応答をした後には、制御実行部は、転送要求を生成する際に、システムメモリ130へのアクセスをせずに第1種の転送要求を生成し、転送が成功した後にシステムメモリ130から転送情報を読み出す。   On the other hand, after the peripheral device 170 makes a rejection response to the first transfer request, the control execution unit generates the first type transfer without accessing the system memory 130 when generating the transfer request. A request is generated, and the transfer information is read from the system memory 130 after the transfer is successful.

1つ目の転送要求に対して拒否応答をしたペリフェラルデバイスは、その後の転送要求に対しても拒否応答をする可能性が高い。そのため、本第3の実施の形態にかかるUSBシステムのホストコントローラによれば、拒否応答の可能性が高い場合においてのみシステムメモリ130へのアクセスをせずに第1種の転送要求を生成してペリフェラルデバイスに送信することにより、消費電力を削減することができる。また、1つ目の転送要求のときには、第2種の転送要求を生成して送信することにより、既に転送準備ができたペリフェラルデバイスにCPU120が要求した転送サイズの転送データを送信させることができ、転送効率を高めることができる。   A peripheral device that has made a rejection response to the first transfer request is highly likely to make a rejection response to a subsequent transfer request. Therefore, according to the host controller of the USB system according to the third embodiment, the first type transfer request is generated without accessing the system memory 130 only when the possibility of a rejection response is high. By transmitting to the peripheral device, power consumption can be reduced. In the case of the first transfer request, the transfer data of the transfer size requested by the CPU 120 can be transmitted to the peripheral device already prepared for transfer by generating and transmitting the second type transfer request. , Transfer efficiency can be increased.

<第4の実施の形態>
第4の実施の形態もUSBシステムである。該第4の実施の形態のUSBシステムは、制御実行部が、第3の実施の形態にかかるUSBシステムにおける制御実行部と異なる点を除き、第3の実施の形態にかかるUSBシステムと同様である。そのため、本第4の実施の形態のUSBシステムに対しても、制御実行部のみを説明する。
<Fourth embodiment>
The fourth embodiment is also a USB system. The USB system according to the fourth embodiment is the same as the USB system according to the third embodiment except that the control execution unit is different from the control execution unit in the USB system according to the third embodiment. is there. Therefore, only the control execution unit will be described for the USB system of the fourth embodiment.

図5は、第4の実施の形態における制御実行部による処理の流れを示すフローチャートである。なお、図5のフローチャートにおいて、図4におけるステップ番号が付与されたステップは、図4において該ステップ番号が示すステップと同様の処理である。   FIG. 5 is a flowchart showing a flow of processing by the control execution unit in the fourth embodiment. In the flowchart of FIG. 5, the step given the step number in FIG. 4 is the same process as the step indicated by the step number in FIG.

本第4の実施の形態において、制御実行部は、CPU120から転送開始通知を受信すると(S100)、1つ目の転送要求を生成するために、転送情報領域132から転送情報を読み出す(S130)。そして、該転送情報が示す転送サイズで転送要求(第2種の転送要求)を生成してペリフェラルデバイス170に送信する(S132)。   In the fourth embodiment, when receiving a transfer start notification from the CPU 120 (S100), the control execution unit reads transfer information from the transfer information area 132 to generate a first transfer request (S130). . Then, a transfer request (second type transfer request) is generated with the transfer size indicated by the transfer information and transmitted to the peripheral device 170 (S132).

そして、1つ目の転送要求(第2種の転送要求)に対してペリフェラルデバイス170が転送データを送信した場合に(S134:No)、制御実行部は、ステップS130で転送情報領域132から読み出した転送情報が示す格納先に転送データを出力することをデータバッファ156に行わせると共に、CPU120に転送完了通知を出力する(S108、S110)。   When the peripheral device 170 transmits transfer data in response to the first transfer request (second type transfer request) (S134: No), the control execution unit reads from the transfer information area 132 in step S130. The data buffer 156 is made to output the transfer data to the storage location indicated by the transfer information, and a transfer completion notification is output to the CPU 120 (S108, S110).

ここまでに制御実行部が行った処理は、第3の実施の形態にかかるUSBシステムにおけるホストコントローラ、及び従来のホストコントローラが行う処理と同様である。   The processing performed by the control execution unit so far is the same as the processing performed by the host controller in the USB system according to the third embodiment and the conventional host controller.

ステップS134において、1つ目の転送要求(第2種の転送要求)に対してペリフェラルデバイス170が拒否応答をした場合に(S134:Yes)、制御実行部は、制御実行部は、転送要求の送信先のペリフェラルデバイス170がInterruptIN転送タイプであるか否かを確認する(S140)。   In step S134, when the peripheral device 170 makes a rejection response to the first transfer request (second type transfer request) (S134: Yes), the control execution unit controls the transfer request. It is confirmed whether or not the destination peripheral device 170 is an InterruptIN transfer type (S140).

ペリフェラルデバイス170がInterruptIN転送タイプである場合に(S140:Yes)、制御実行部は、ステップS102〜ステップS110の処理を行う。これらの処理は、図2〜図4におけるステップS102〜ステップS110の処理と同様である。   When the peripheral device 170 is an InterruptIN transfer type (S140: Yes), the control execution unit performs the processes of Steps S102 to S110. These processes are the same as the processes in steps S102 to S110 in FIGS.

一方、ペリフェラルデバイス170がInterruptIN転送タイプではない場合には(S140:No)、制御実行部は、転送情報領域132から転送情報を読み出し、該転送情報が示す転送サイズで転送要求(第2種の転送要求)を生成してペリフェラルデバイス170に送信する(S142、S144)。   On the other hand, when the peripheral device 170 is not of the InterruptIN transfer type (S140: No), the control execution unit reads the transfer information from the transfer information area 132, and transfers the transfer request (second type) with the transfer size indicated by the transfer information. (Transfer request) is generated and transmitted to the peripheral device 170 (S142, S144).

そして、ペリフェラルデバイス170から転送データを受信するまで、制御実行部は、ペリフェラルデバイス170から拒否応答を受信する度に、転送情報領域132からの転送情報の読出し、第2種の転送要求の生成と送信を繰り返す(S146:Yes、S142、S144)。   Until the transfer data is received from the peripheral device 170, the control execution unit reads the transfer information from the transfer information area 132 and generates the second type transfer request each time a rejection response is received from the peripheral device 170. The transmission is repeated (S146: Yes, S142, S144).

ペリフェラルデバイス170から転送データを受信すると、制御実行部は、ステップS142で転送情報領域132から読み出した転送情報が示す格納先に転送データを出力することをデータバッファ156に行わせる(S146:No、S108)。
その後、制御実行部は、CPU120に転送完了通知を出力する(S110)
When the transfer data is received from the peripheral device 170, the control execution unit causes the data buffer 156 to output the transfer data to the storage location indicated by the transfer information read from the transfer information area 132 in step S142 (S146: No, S108).
Thereafter, the control execution unit outputs a transfer completion notification to the CPU 120 (S110).

本第4の実施の形態にかかるUSBシステムは、第1〜第3の実施の形態の組合せであり、第1〜第3の実施の形態にかかる各USBシステムの効果を得ることができる。   The USB system according to the fourth embodiment is a combination of the first to third embodiments, and the effects of the USB systems according to the first to third embodiments can be obtained.

なお、第2の実施の形態と第4の実施の形態において、ホストコントローラは、対象のペリフェラルデバイスがInterruptIN転送タイプである否かに応じて、第1種の転送要求と第2種の転送要求のどちらを生成するかを判定している。この判定は、InterruptIN転送タイプである否かに基づいてなされるとは限らず、例えば、予め定められた特定の転送タイプであるか否かに基づいてなされるようにしてもよい。   In the second embodiment and the fourth embodiment, the host controller determines whether the target peripheral device is an interrupt IN transfer type or not, depending on whether or not the target peripheral device is an interrupt IN transfer type. Which of these is to be generated is determined. This determination is not necessarily made based on whether or not it is an InterruptIN transfer type, and may be made based on whether or not it is a predetermined transfer type, for example.

例えば、上記特定の転送タイプが、InterruptIN転送タイプに属する全ての種類ではなく、InterruptIN転送タイプに属する特定の種類(例えばマウス)であるようにしてもよい。   For example, the specific transfer type may be a specific type (for example, a mouse) belonging to the InterruptIN transfer type instead of all types belonging to the InterruptIN transfer type.

勿論、システムの用途などに応じて、上記特定の転送タイプがBulkIN転送タイプ、または、BulkIN転送タイプに属する特定の種類(例えばハードディスク)であるようにしてもよい。   Of course, the specific transfer type may be a BulkIN transfer type or a specific type (for example, a hard disk) belonging to the BulkIN transfer type depending on the use of the system.

また、上記特定の転送タイプの数も、1つに限られることがなく、複数であってもよい。さらに、この場合において、複数の特定の転送タイプのうちに、InterruptIN転送タイプに属する種類と、BulkIN転送タイプに属する種類が混在してもよい。   Further, the number of the specific transfer types is not limited to one and may be plural. Further, in this case, among a plurality of specific transfer types, a type belonging to the InterruptIN transfer type and a type belonging to the BulkIN transfer type may be mixed.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the embodiments already described, and various modifications can be made without departing from the scope of the invention. It goes without saying that it is possible.

100 USBシステム
110 ホストデバイス
120 CPU
130 システムメモリ
132 転送情報領域
134 データ領域
140 システムバス
150 ホストコントローラ
152 サイズ記憶部
154 制御実行部
156 データバッファ
160 ペリフェラルバス
170 ペリフェラルデバイス
100 USB system 110 Host device 120 CPU
130 System Memory 132 Transfer Information Area 134 Data Area 140 System Bus 150 Host Controller 152 Size Storage Unit 154 Control Execution Unit 156 Data Buffer 160 Peripheral Bus 170 Peripheral Device

Claims (12)

USB2.0(USB:Universal Serial Bus)のホストコントローラであって、
予め定められた所定のデータサイズを示すサイズ情報を格納するサイズ記憶部と、
転送データのサイズである転送サイズと格納先とを示す転送情報であって、CPU(Central Processing Unit)がシステムメモリに格納した前記転送情報に基づいてペリフェラルデバイスからホストデバイスへのデータ転送を制御する制御実行部とを備え、
前記制御実行部は、
前記ペリフェラルデバイスに送信する転送要求として、前記サイズ記憶部に格納された前記サイズ情報を含む転送要求である第1種の転送要求を生成し、
前記第1種の転送要求に応じて前記ペリフェラルデバイスが出力した転送データを受信したときに、前記システムメモリから前記転送情報を読み出し、該転送情報が示す前記格納先に前記転送データを格納する、
ホストコントローラ。
A host controller for USB 2.0 (USB: Universal Serial Bus),
A size storage unit for storing size information indicating a predetermined data size determined in advance;
Transfer information indicating a transfer size, which is the size of transfer data, and a storage destination, and controls data transfer from a peripheral device to a host device based on the transfer information stored in a system memory by a CPU (Central Processing Unit) A control execution unit,
The control execution unit
As a transfer request to be transmitted to the peripheral device, generate a first type transfer request that is a transfer request including the size information stored in the size storage unit,
When the transfer data output by the peripheral device in response to the first type transfer request is received, the transfer information is read from the system memory, and the transfer data is stored in the storage destination indicated by the transfer information.
Host controller.
前記制御実行部は、
前記ペリフェラルデバイスが予め定められた特定のタイプである場合においてのみ、前記第1種の転送要求を生成し、
前記ペリフェラルデバイスが前記特定のタイプ以外のタイプである場合において、前記システムメモリから前記転送情報を読み出し、該転送情報が示す前記転送サイズを含む転送要求である第2種の転送要求を生成し、
前記第2種の転送要求に応じて前記ペリフェラルデバイスが出力した転送データを受信したときに、前記転送情報が示す前記格納先に前記転送データを格納する、
請求項1に記載のホストコントローラ。
The control execution unit
Only when the peripheral device is of a predetermined type, generates the transfer request of the first type,
When the peripheral device is a type other than the specific type, the transfer information is read from the system memory, and a second type transfer request that is a transfer request including the transfer size indicated by the transfer information is generated.
When the transfer data output by the peripheral device in response to the second type transfer request is received, the transfer data is stored in the storage location indicated by the transfer information.
The host controller according to claim 1.
前記特定のタイプは、InterruptIN転送タイプである、
請求項2に記載のホストコントローラ。
The specific type is an InterruptIN transfer type.
The host controller according to claim 2.
前記制御実行部は、
前記ペリフェラルデバイスに1回目の転送要求を送信する際に、前記システムメモリから前記転送情報を読み出し、該転送情報が示す前記転送サイズを含む転送要求である第2種の転送要求を生成し、
前記第2種の転送要求に応じて前記ペリフェラルデバイスが出力した転送データを受信したときに、前記転送情報が示す前記格納先に前記転送データを格納し、
前記第2種の転送要求に対して前記ペリフェラルデバイスが拒否応答をしたときに、前記第1種の転送要求を生成する、
請求項1に記載のホストコントローラ。
The control execution unit
When transmitting the first transfer request to the peripheral device, the transfer information is read from the system memory, and a second type transfer request that is a transfer request including the transfer size indicated by the transfer information is generated.
When the transfer data output by the peripheral device in response to the second type transfer request is received, the transfer data is stored in the storage destination indicated by the transfer information;
When the peripheral device makes a rejection response to the second type transfer request, the first type transfer request is generated.
The host controller according to claim 1.
前記制御実行部は、
前記第2種の転送要求に対して拒否応答をした前記ペリフェラルデバイスが予め定められた特定のタイプである場合においてのみ、前記第1種の転送要求を生成し、
前記第2種の転送要求に対して拒否応答をした前記ペリフェラルデバイスが前記特定のタイプ以外のタイプである場合において、前記第2種の転送要求を生成する、
請求項4に記載のホストコントローラ。
The control execution unit
Only when the peripheral device that has made a rejection response to the second type of transfer request is a predetermined specific type, generates the first type of transfer request,
When the peripheral device that made a rejection response to the second type transfer request is a type other than the specific type, the second type transfer request is generated.
The host controller according to claim 4.
前記特定のタイプは、InterruptIN転送タイプである、
請求項5に記載のホストコントローラ。
The specific type is an InterruptIN transfer type.
The host controller according to claim 5.
USB2.0(USB:Universal Serial Bus)のホストデバイスであって、
CPU(Central Processing Unit)と、
システムメモリと、
ホストコントローラとを備え、
前記ホストコントローラは、
予め定められた所定のデータサイズを示すサイズ情報を格納するサイズ記憶部と、
転送データのサイズである転送サイズと格納先とを示す転送情報であって、前記CPUが前記システムメモリに格納した前記転送情報に基づいてペリフェラルデバイスからホストデバイスへのデータ転送を制御する制御実行部とを備え、
前記制御実行部は、
前記ペリフェラルデバイスに送信する転送要求として、前記サイズ記憶部に格納された前記サイズ情報を含む転送要求である第1種の転送要求を生成し、
前記第1種の転送要求に応じて前記ペリフェラルデバイスが出力した転送データを受信したときに、前記システムメモリから前記転送情報を読み出し、該転送情報が示す前記格納先に前記転送データを格納する、
ホストデバイス。
A host device of USB 2.0 (USB: Universal Serial Bus),
CPU (Central Processing Unit),
System memory,
With a host controller,
The host controller
A size storage unit for storing size information indicating a predetermined data size determined in advance;
A control execution unit that controls transfer of data from a peripheral device to a host device based on the transfer information stored in the system memory by the CPU, the transfer information indicating a transfer size that is the size of transfer data and a storage destination And
The control execution unit
As a transfer request to be transmitted to the peripheral device, generate a first type transfer request that is a transfer request including the size information stored in the size storage unit,
When the transfer data output by the peripheral device in response to the first type transfer request is received, the transfer information is read from the system memory, and the transfer data is stored in the storage destination indicated by the transfer information.
Host device.
前記制御実行部は、
前記ペリフェラルデバイスが予め定められた特定のタイプである場合においてのみ、前記第1種の転送要求を生成し、
前記ペリフェラルデバイスが前記特定のタイプ以外のタイプである場合において、前記システムメモリから前記転送情報を読み出し、該転送情報が示す前記転送サイズを含む転送要求である第2種の転送要求を生成し、
前記第2種の転送要求に応じて前記ペリフェラルデバイスが出力した転送データを受信したときに、前記転送情報が示す前記格納先に前記転送データを格納する、
請求項7に記載のホストデバイス。
The control execution unit
Only when the peripheral device is of a predetermined type, generates the transfer request of the first type,
When the peripheral device is a type other than the specific type, the transfer information is read from the system memory, and a second type transfer request that is a transfer request including the transfer size indicated by the transfer information is generated.
When the transfer data output by the peripheral device in response to the second type transfer request is received, the transfer data is stored in the storage location indicated by the transfer information.
The host device according to claim 7.
前記特定のタイプは、InterruptIN転送タイプである、
請求項8に記載のホストデバイス。
The specific type is an InterruptIN transfer type.
The host device according to claim 8.
前記制御実行部は、
前記ペリフェラルデバイスに1回目の転送要求を送信する際に、前記システムメモリから前記転送情報を読み出し、該転送情報が示す前記転送サイズを含む転送要求である第2種の転送要求を生成し、
前記第2種の転送要求に応じて前記ペリフェラルデバイスが出力した転送データを受信したときに、前記転送情報が示す前記格納先に前記転送データを格納し、
前記第2種の転送要求に対して前記ペリフェラルデバイスが拒否応答をしたときに、前記第1種の転送要求を生成する、
請求項7に記載のホストデバイス。
The control execution unit
When transmitting the first transfer request to the peripheral device, the transfer information is read from the system memory, and a second type transfer request that is a transfer request including the transfer size indicated by the transfer information is generated.
When the transfer data output by the peripheral device in response to the second type transfer request is received, the transfer data is stored in the storage destination indicated by the transfer information;
When the peripheral device makes a rejection response to the second type transfer request, the first type transfer request is generated.
The host device according to claim 7.
前記制御実行部は、
前記第2種の転送要求に対して拒否応答をした前記ペリフェラルデバイスが予め定められた特定のタイプである場合においてのみ、前記第1種の転送要求を生成し、
前記第2種の転送要求に対して拒否応答をした前記ペリフェラルデバイスが前記特定のタイプ以外のタイプである場合において、前記第2種の転送要求を生成する、
請求項10に記載のホストデバイス。
The control execution unit
Only when the peripheral device that has made a rejection response to the second type of transfer request is a predetermined specific type, generates the first type of transfer request,
When the peripheral device that made a rejection response to the second type transfer request is a type other than the specific type, the second type transfer request is generated.
The host device according to claim 10.
前記特定のタイプは、InterruptIN転送タイプである、
請求項11に記載のホストデバイス。
The specific type is an InterruptIN transfer type.
The host device according to claim 11.
JP2012117355A 2012-05-23 2012-05-23 Host controller and host device Ceased JP2013246457A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012117355A JP2013246457A (en) 2012-05-23 2012-05-23 Host controller and host device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012117355A JP2013246457A (en) 2012-05-23 2012-05-23 Host controller and host device

Publications (1)

Publication Number Publication Date
JP2013246457A true JP2013246457A (en) 2013-12-09

Family

ID=49846215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012117355A Ceased JP2013246457A (en) 2012-05-23 2012-05-23 Host controller and host device

Country Status (1)

Country Link
JP (1) JP2013246457A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323399A (en) * 2003-02-19 2003-11-14 Seiko Epson Corp Data transfer control device, electronic equipment and data transfer control method
JP2004070571A (en) * 2002-08-05 2004-03-04 Seiko Epson Corp Data transfer control system, electronic equipment, program and data transfer control method
JP2005165619A (en) * 2003-12-02 2005-06-23 Hitachi Ltd Method for controlling data transferring device, data transferring device, storage device controller, method for controlling storage device controller, and channel adaptor
JP2006252334A (en) * 2005-03-11 2006-09-21 Seiko Epson Corp Data transfer control method, and data transfer controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070571A (en) * 2002-08-05 2004-03-04 Seiko Epson Corp Data transfer control system, electronic equipment, program and data transfer control method
JP2003323399A (en) * 2003-02-19 2003-11-14 Seiko Epson Corp Data transfer control device, electronic equipment and data transfer control method
JP2005165619A (en) * 2003-12-02 2005-06-23 Hitachi Ltd Method for controlling data transferring device, data transferring device, storage device controller, method for controlling storage device controller, and channel adaptor
JP2006252334A (en) * 2005-03-11 2006-09-21 Seiko Epson Corp Data transfer control method, and data transfer controller

Similar Documents

Publication Publication Date Title
JP5048741B2 (en) Method, device and system for storing data in cache in case of power failure
KR102079340B1 (en) Electronic system driving distributed file system using different types of storage mediums, and data storing method and managing method thereof
JP6961686B2 (en) GPU remote communication using trigger operation
US8924606B2 (en) Storage system and data transfer control method
EP3147792A1 (en) Method for accessing nvme storage device, and nvme storage device
WO2017000822A1 (en) Transmission control method and device for direct memory access
CN110362517B (en) Techniques for dynamically adjusting the manner in which I/O requests are transferred between a computing device and a storage device
WO2018192332A1 (en) Transmission rate negotiation method and device, and computer storage medium
JP5944969B2 (en) Message processing apparatus and method
US20120307827A1 (en) Multi-processor apparatus using dedicated buffers for multicast communications
JP6390757B2 (en) Communication device, congestion control method, and program
JP6422357B2 (en) Printer control apparatus, print control method, and print control system
JP2016076108A (en) Information processing device, memory controller, and control method of information processing device
JP2013246457A (en) Host controller and host device
JP2010044645A (en) Data transfer device, and data transfer method
US8806082B2 (en) Direct memory access device for multi-core system and operating method of the same
JP2015197859A (en) Memory controller, semiconductor storage apparatus, and memory controller control method
JP2008107997A (en) Data communication method, data communication device and data communication system
JP2008294671A (en) Response control method, and device system
JP5783008B2 (en) Storage device, storage system, data update method, and data management program
JP2010140146A (en) Multi-core processor, control method thereof, and information processing device
JP2015014962A (en) Arithmetic device, arithmetic method, and program
JP2016151949A (en) Dma controller
JP2009278507A (en) Host device and scheduling method
JP6191759B2 (en) Communication device, congestion control method, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160223

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160823

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20161220