JP2009277004A - Data transfer device and data transfer system - Google Patents

Data transfer device and data transfer system Download PDF

Info

Publication number
JP2009277004A
JP2009277004A JP2008127468A JP2008127468A JP2009277004A JP 2009277004 A JP2009277004 A JP 2009277004A JP 2008127468 A JP2008127468 A JP 2008127468A JP 2008127468 A JP2008127468 A JP 2008127468A JP 2009277004 A JP2009277004 A JP 2009277004A
Authority
JP
Japan
Prior art keywords
data
transfer
device controller
completion notification
initiator core
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
JP2008127468A
Other languages
Japanese (ja)
Inventor
Fumio Sudo
藤 文 夫 須
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008127468A priority Critical patent/JP2009277004A/en
Publication of JP2009277004A publication Critical patent/JP2009277004A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data transfer device for efficiently transferring data by preventing a malfunction. <P>SOLUTION: This data transfer device for transferring data through a bus 14 is provided with: a device controller 12 for writing data in a target device 13; an initiator core 11 for DMA-transferring the data through the bus to the device controller, and for outputting a transfer completion notification request signal S11 to the device controller. When receiving the transfer completion notification request signal, the device controller outputs a transfer completion notification signal S12 when all the data are written in the target device. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、データ転送装置及びデータ転送システムに関するものである。   The present invention relates to a data transfer device and a data transfer system.

近年、システムLSIでは、イニシエータコアが、プロセッサを介さずに直接メモリ等のターゲットデバイスへデータの転送(DMA転送)を行い、その後、ターゲットデバイスに格納されたデータを他のイニシエータやプロセッサが使用するといった処理が行われている。   In recent years, in a system LSI, an initiator core directly transfers data (DMA transfer) to a target device such as a memory without going through a processor, and then the data stored in the target device is used by other initiators and processors. Such processing is performed.

このような処理では、イニシエータコアはデータ転送が完了したことを割込みによってシステムに通知する。システムはその割込みを処理することによって、ターゲットデバイスに格納されたデータが有効であることを検出する(例えば特許文献1参照)。   In such processing, the initiator core notifies the system by interruption that the data transfer has been completed. The system detects that the data stored in the target device is valid by processing the interrupt (see, for example, Patent Document 1).

一般に、イニシエータコアからターゲットデバイスへのデータ転送は、オンチップバス及びデバイスコントローラを経由して行われる。まず、イニシエータコアはオンチップバス上でライトトランザクションを実行し、転送データの出力を開始する。デバイスコントローラはオンチップバスを介して転送データを受け取り、ターゲットデバイスへ格納する。   In general, data transfer from an initiator core to a target device is performed via an on-chip bus and a device controller. First, the initiator core executes a write transaction on the on-chip bus and starts outputting transfer data. The device controller receives the transfer data via the on-chip bus and stores it in the target device.

そして、イニシエータコアは、オンチップバス上に最後の転送データを出力し、デバイスコントローラから受領応答を受け取ると、データ転送を終了する。オンチップバスのプロトコルによっては、デバイスコントローラからの受領応答が発生しない場合があり、このような場合は、最後の転送データをオンチップバス上に出力したことによりデータ転送を終了する。   Then, the initiator core outputs the last transfer data on the on-chip bus, and ends the data transfer when receiving the receipt response from the device controller. Depending on the protocol of the on-chip bus, there may be a case where a receipt response from the device controller does not occur. In such a case, the data transfer is terminated by outputting the last transfer data on the on-chip bus.

そして、イニシエータコアはデータ転送を終了すると、割込みを発生することにより、データ転送の完了をシステム(プロセッサ)に通知する。割込みが有効になると、プロセッサが割込み要因を確認し、イニシエータコアによるデータ転送の完了を検出する。その後、システムは転送されたデータを使用する処理を開始することができる。   Then, when the data transfer is completed, the initiator core notifies the system (processor) of the completion of the data transfer by generating an interrupt. When the interrupt becomes valid, the processor confirms the cause of the interrupt and detects completion of data transfer by the initiator core. Thereafter, the system can begin processing using the transferred data.

ここで、オンチップバス上で実行されるイニシエータコアからデバイスコントローラへのデータ転送と、デバイスコントローラからターゲットデバイスへのデータ転送とは、それぞれ異なった転送プロトコルに基づき独立した転送として実行される。そのため、転送データがターゲットデバイスに格納された(書き込まれた)ことをイニシエータコアが検出することは困難である。   Here, the data transfer from the initiator core to the device controller executed on the on-chip bus and the data transfer from the device controller to the target device are executed as independent transfers based on different transfer protocols. Therefore, it is difficult for the initiator core to detect that the transfer data is stored (written) in the target device.

また、イニシエータコアからデバイスコントローラへの転送経路は、バスブリッジを介して複数のオンチップバスを経由するなど、さらに複雑なパスとなることが多い。その場合、イニシエータコアが、デバイスコントローラとターゲットデバイスとの間のデータ転送状況を確認することは、さらに困難となる。   Also, the transfer path from the initiator core to the device controller is often a more complicated path such as via a plurality of on-chip buses via a bus bridge. In that case, it becomes even more difficult for the initiator core to confirm the data transfer status between the device controller and the target device.

その結果、オンチップバスやデバイスコントローラの構造や機能によっては、システムによる転送データを使用する処理の開始が、ターゲットデバイスへの転送データ格納(書き込み)を追い越し、誤動作を起こすおそれがある。   As a result, depending on the structure and function of the on-chip bus or device controller, the start of processing using transfer data by the system may overtake transfer data storage (writing) to the target device and cause malfunction.

このような追い越しを防止するため、イニシエータコアが最後の転送データのライトトランザクションを行った後、ターゲットデバイスに対してリードトランザクション(ダミーリード)を発行することが行われている。この時、イニシエータコアが発行するリードアドレスは、最後の転送データが格納されるアドレスを含む領域にある。   In order to prevent such overtaking, a read transaction (dummy read) is issued to the target device after the initiator core performs a write transaction of the last transfer data. At this time, the read address issued by the initiator core is in an area including the address where the last transfer data is stored.

イニシエータコアは、ターゲットデバイスからのリードデータ又はレスポンスを受信することにより、ターゲットデバイスへの転送データの書き込みが完了したことを確認する。そして、データ転送完了割込みを発生させる。   The initiator core confirms that writing of transfer data to the target device is completed by receiving read data or a response from the target device. Then, a data transfer completion interrupt is generated.

しかし、このような方法では、本来は不要である(冗長な)リードトランザクションが発生する。一般に、リードトランザクションのレイテンシ(メモリからのデータ待ち時間)はライトトランザクションより大きく、システムのスループットが低下するという問題を有していた。
特開平10−293741号公報
However, such a method generates a (redundant) read transaction that is originally unnecessary. In general, the latency (data waiting time from the memory) of the read transaction is larger than that of the write transaction, which has a problem that the throughput of the system is lowered.
Japanese Patent Laid-Open No. 10-293741

本発明は誤動作の発生を防止し、効率良くデータの転送を行うことができるデータ転送装置及びデータ転送システムを提供することを目的とする。   It is an object of the present invention to provide a data transfer apparatus and a data transfer system that can prevent malfunctions and efficiently transfer data.

本発明の一態様によるデータ転送装置は、バスを介してデータ転送を行うデータ転送装置であって、データをターゲットデバイスへ書き込むデバイスコントローラと、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、を備え、前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記ターゲットデバイスへの前記データのすべての書き込みに伴い転送完了通知信号を出力することを特徴とするものである。   A data transfer apparatus according to an aspect of the present invention is a data transfer apparatus that performs data transfer via a bus, and a DMA controller that writes data to a target device and DMA transfers the data to the device controller via the bus And an initiator core that outputs a transfer completion notification request signal to the device controller. When the device controller receives the transfer completion notification request signal, the device controller accompanies all writing of the data to the target device. A transfer completion notification signal is output.

本発明の一態様によるデータ転送システムは、バスを介してデータを記憶装置へDMA転送するデータ転送システムであって、前記バスに接続されたプロセッサと、前記データを前記記憶装置へ書き込むデバイスコントローラと、レジスタを有し、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、を備え、前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記記憶装置への前記データのすべての書き込みに伴い転送完了通知信号を出力し、前記イニシエータコアは前記転送完了通知信号に基づいて割込み信号を発生すると共に前記レジスタに割込み要因情報をセットし、前記プロセッサは前記割込み信号に基づいて前記レジスタにセットされた前記割込み要因情報を検出することを特徴とするものである。   A data transfer system according to an aspect of the present invention is a data transfer system that performs DMA transfer of data to a storage device via a bus, a processor connected to the bus, and a device controller that writes the data to the storage device. And an initiator core that has a register and DMA transfers the data to the device controller via the bus and outputs a transfer completion notification request signal to the device controller. The device controller notifies the transfer completion notification When a request signal is received, a transfer completion notification signal is output as all the data is written to the storage device, and the initiator core generates an interrupt signal based on the transfer completion notification signal and interrupts the register. Cause information is set, and the processor It is characterized in detecting the interrupt cause information set in the register on the basis of the signal.

本発明の一態様によるデータ転送システムは、バスを介してデータを記憶装置へDMA転送するデータ転送システムであって、前記バスに接続されたプロセッサと、割込み要因情報を格納するレジスタを有し、前記データを前記記憶装置へ書き込むデバイスコントローラと、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、を備え、前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記記憶装置への前記データのすべての書き込みに伴い割込み信号を発生し、前記プロセッサは前記割込み信号に基づいて前記レジスタに格納された前記割込み要因情報を検出することを特徴とするものである。   A data transfer system according to an aspect of the present invention is a data transfer system that DMA-transfers data to a storage device via a bus, and includes a processor connected to the bus and a register that stores interrupt factor information. A device controller that writes the data to the storage device; and an initiator core that DMA-transfers the data to the device controller via the bus and outputs a transfer completion notification request signal to the device controller. When the controller receives the transfer completion notification request signal, the controller generates an interrupt signal when all the data is written to the storage device, and the processor generates the interrupt factor stored in the register based on the interrupt signal. It is characterized by detecting information.

本発明によれば、誤動作の発生を防止し、効率良くデータの転送を行うことができる。   According to the present invention, it is possible to prevent malfunctions and efficiently transfer data.

以下、本発明の実施の形態を図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(第1の実施形態)図1に本発明の第1の実施形態に係るデータ転送システムの概略構成を示す。データ転送システムは、イニシエータコア11、デバイスコントローラ12、ターゲットデバイス13、オンチップバス14、及びプロセッサ15を備える。例えば、イニシエータコア11はネットワークコントローラ、デバイスコントローラ12はDRAMコントローラ、ターゲットデバイス13はDRAMである。   (First Embodiment) FIG. 1 shows a schematic configuration of a data transfer system according to a first embodiment of the present invention. The data transfer system includes an initiator core 11, a device controller 12, a target device 13, an on-chip bus 14, and a processor 15. For example, the initiator core 11 is a network controller, the device controller 12 is a DRAM controller, and the target device 13 is a DRAM.

イニシエータコア11はオンチップバス14に接続され、データのDMA(Direct Memory Access)転送を行う。また、イニシエータコア11は転送完了通知リクエスト信号S11を出力し、転送完了通知信号S12を受信すると、割込みを発行する。   The initiator core 11 is connected to the on-chip bus 14 and performs DMA (Direct Memory Access) transfer of data. In addition, the initiator core 11 outputs a transfer completion notification request signal S11, and issues an interrupt when receiving the transfer completion notification signal S12.

デバイスコントローラ12は、ターゲットデバイス13の制御を行う。デバイスコントローラ12は、イニシエータコア11から出力されたデータがオンチップバス14を介して与えられ、このデータをターゲットデバイス13に書き込む。また、デバイスコントローラ12は、イニシエータコア11から転送完了通知リクエスト信号S11を受信すると、ターゲットデバイス13への全データ(最終データ)の書き込みが完了した際に、転送完了通知信号S12を出力する。   The device controller 12 controls the target device 13. The device controller 12 is given the data output from the initiator core 11 via the on-chip bus 14 and writes this data to the target device 13. Further, upon receiving the transfer completion notification request signal S11 from the initiator core 11, the device controller 12 outputs the transfer completion notification signal S12 when writing of all data (final data) to the target device 13 is completed.

転送完了通知リクエスト信号S11及び転送完了通知信号S12は、オンチップバス14の規格で定義された信号によって実装してもよいし、オンチップバス14とは別の独立した信号として実装してもよい。   The transfer completion notification request signal S11 and the transfer completion notification signal S12 may be implemented by signals defined by the on-chip bus 14 standard, or may be implemented as independent signals different from the on-chip bus 14. .

このようなデータ転送システムにおけるデータ転送方法を図2に示すフロー及び図3に示すタイミングチャートを用いて説明する。まず、イニシエータコア11は、オンチップバス14上でライトコマンドを発行し、デバイスコントローラ12へのデータ転送(DMAライト転送)を開始する(時刻T1)。また、イニシエータコア11はライトコマンドの発行時に転送完了通知リクエストを発行(転送完了通知リクエスト信号S11を有効に)する。   A data transfer method in such a data transfer system will be described with reference to a flowchart shown in FIG. 2 and a timing chart shown in FIG. First, the initiator core 11 issues a write command on the on-chip bus 14 and starts data transfer (DMA write transfer) to the device controller 12 (time T1). The initiator core 11 issues a transfer completion notification request (validate the transfer completion notification request signal S11) when a write command is issued.

DMAライト転送は、1回又は複数回のシングル転送やバースト転送によって実行される。例えば、オンチップバス14のデータ幅が64ビット(8バイト)で、転送データが512バイトであった場合、64回のシングル転送(8バイトの転送)、16回の4ビート(8バイト×4回)バースト転送、又は1回の64ビート(8バイト×64回)バースト転送等が実行される。   The DMA write transfer is executed by single transfer or burst transfer once or a plurality of times. For example, when the data width of the on-chip bus 14 is 64 bits (8 bytes) and the transfer data is 512 bytes, 64 single transfers (8 bytes transfer), 16 4 beats (8 bytes × 4) Times) burst transfer or one 64 beat (8 bytes × 64 times) burst transfer.

図3に示す例では、1回のバースト転送によってデータ転送を実行している。   In the example shown in FIG. 3, data transfer is executed by one burst transfer.

イニシエータコア11は、オンチップバス14上に出力された最後のデータ(データDn)をデバイスコントローラ12が受信したことを検出すると、DMA転送を終了する(時刻T2)。イニシエータコア11からデバイスコントローラ12の間に、データを一時保管するためのバッファが設けられている場合は、そのバッファに最後のデータが書き込まれたことによってDMA転送を終了する。   When the initiator core 11 detects that the last data (data Dn) output on the on-chip bus 14 has been received by the device controller 12, the initiator core 11 ends the DMA transfer (time T2). If a buffer for temporarily storing data is provided between the initiator core 11 and the device controller 12, the DMA transfer is terminated when the last data is written in the buffer.

デバイスコントローラ12は、ターゲットデバイス13への最後のデータの書き込みが完了すると、転送完了通知を発行(転送完了通知信号S12を有効に)する(時刻T3)。   When the writing of the last data to the target device 13 is completed, the device controller 12 issues a transfer completion notification (validate the transfer completion notification signal S12) (time T3).

イニシエータコア11は、デバイスコントローラ12から転送完了通知を受信すると、プロセッサ15に対して割込みを発行し、データ転送の完了を通知する。また、イニシエータコア11は、割込み発行の際に、イニシエータコア11の内部レジスタ(図示せず)に割込み要因の情報をセットする。   Upon receiving the transfer completion notification from the device controller 12, the initiator core 11 issues an interrupt to the processor 15 to notify the completion of data transfer. The initiator core 11 sets interrupt factor information in an internal register (not shown) of the initiator core 11 when issuing an interrupt.

イニシエータコア11からの割込みが有効になると、プロセッサ15はイニシエータコア11の内部レジスタにセットされた情報を参照して、割込み要因を確認し、イニシエータコア11によるデータ転送が完了したことを検出する。これにより、他のイニシエータ(図示せず)は、イニシエータコア11により転送されたデータを使用する処理を開始できる。   When the interrupt from the initiator core 11 becomes valid, the processor 15 refers to the information set in the internal register of the initiator core 11 to confirm the interrupt factor and detect that the data transfer by the initiator core 11 is completed. As a result, another initiator (not shown) can start processing using the data transferred by the initiator core 11.

図2、図3に示す例では、デバイスコントローラ12は、ターゲットデバイス13への最後のデータの書き込みが完了すると、転送完了通知を発行していたが、他のイニシエータからのターゲットデバイス13へのアクセスが、イニシエータコア11からのライトアクセスを追い越さないことが確定した場合は、ターゲットデバイス13へのデータ書き込みが完了していなくても、転送完了通知を発行できる。   In the example illustrated in FIGS. 2 and 3, the device controller 12 has issued a transfer completion notification when the last data has been written to the target device 13, but access to the target device 13 from other initiators. However, if it is determined that write access from the initiator core 11 is not overtaken, a transfer completion notification can be issued even if data writing to the target device 13 is not completed.

例えば、デバイスコントローラ12がスケジューリング機能を持つ場合、最後のデータの書き込みが実行待ちのキューの先頭(実行中のターゲットデバイス13へのアクセスの次に実行される)となったら、転送完了通知を発行できる。   For example, when the device controller 12 has a scheduling function, a transfer completion notification is issued when the last data write is at the head of the queue waiting to be executed (executed after the access to the target device 13 being executed). it can.

イニシエータコア11は転送完了通知を受信することで、ターゲットデバイス13への書き込みが完了した、又は、その書き込みが完了することが確定したことを検出できる。   By receiving the transfer completion notification, the initiator core 11 can detect that the writing to the target device 13 has been completed or that the writing has been completed.

また、イニシエータコア11は転送完了通知を受信してからプロセッサ15に割込みを発生するため、ターゲットデバイス13に転送されたデータを使用する他のイニシエータコアによる処理が、データ転送の完了前に実行され、誤動作が生じることを防止できる。   In addition, since the initiator core 11 generates an interrupt to the processor 15 after receiving the transfer completion notification, the processing by the other initiator cores using the data transferred to the target device 13 is executed before the data transfer is completed. It is possible to prevent malfunction.

また、冗長な待ち時間を必要としないため、スループット低下を抑えることができる。   Moreover, since a redundant waiting time is not required, a decrease in throughput can be suppressed.

このように、本実施形態によるデータ転送システムは、誤動作の発生を防止し、効率良くデータの転送を行うことができる。   As described above, the data transfer system according to the present embodiment can prevent malfunction and perform data transfer efficiently.

(第2の実施形態)図4に本発明の第2の実施形態に係るデータ転送システムの概略構成を示す。データ転送システムは、イニシエータコア21、デバイスコントローラ22、ターゲットデバイス23、オンチップバス24、プロセッサ25、及び割込み信号タイミング制御回路26を備える。   (Second Embodiment) FIG. 4 shows a schematic configuration of a data transfer system according to a second embodiment of the present invention. The data transfer system includes an initiator core 21, a device controller 22, a target device 23, an on-chip bus 24, a processor 25, and an interrupt signal timing control circuit 26.

イニシエータコア21はオンチップバス24に接続され、データのDMA転送を行う。また、イニシエータコア21はデバイスコントローラ22へ転送完了通知リクエスト信号S21を出力し、割込み信号タイミング制御回路26へ割込み信号S23を出力する。   The initiator core 21 is connected to the on-chip bus 24 and performs DMA transfer of data. Further, the initiator core 21 outputs a transfer completion notification request signal S21 to the device controller 22 and outputs an interrupt signal S23 to the interrupt signal timing control circuit 26.

デバイスコントローラ22は、ターゲットデバイス23の制御を行う。デバイスコントローラ22は、イニシエータコア21から出力されたデータがオンチップバス24を介して与えられ、このデータをターゲットデバイス23に書き込む。また、デバイスコントローラ22は、イニシエータコア21から転送完了通知リクエスト信号S21を受信すると、ターゲットデバイス23への全データ(最終データ)の書き込みが完了した際に、割込み信号タイミング制御回路26へ転送完了通知信号S22を出力する。   The device controller 22 controls the target device 23. The device controller 22 receives data output from the initiator core 21 via the on-chip bus 24 and writes this data to the target device 23. Further, upon receiving the transfer completion notification request signal S21 from the initiator core 21, the device controller 22 notifies the interrupt signal timing control circuit 26 of the transfer completion when the writing of all data (final data) to the target device 23 is completed. The signal S22 is output.

転送完了通知リクエスト信号S21及び転送完了通知信号S22は、オンチップバス24の規格で定義された信号によって実装してもよいし、オンチップバス24とは別の独立した信号として実装してもよい。   The transfer completion notification request signal S21 and the transfer completion notification signal S22 may be implemented by signals defined in the on-chip bus 24 standard, or may be implemented as independent signals different from the on-chip bus 24. .

割込み信号タイミング制御回路26は割込み信号S23及び転送完了通知信号S22に基づいて割込み信号S24をプロセッサ25へ出力する。割込み信号S24は、プロセッサ25に直接入力するようにしてもよいし、割込みコントローラ(図示せず)等を介して入力するようにしてもよい。   The interrupt signal timing control circuit 26 outputs an interrupt signal S24 to the processor 25 based on the interrupt signal S23 and the transfer completion notification signal S22. The interrupt signal S24 may be input directly to the processor 25, or may be input via an interrupt controller (not shown) or the like.

このようなデータ転送システムにおけるデータ転送方法を図5に示すフロー及び図6に示すタイミングチャートを用いて説明する。まず、イニシエータコア21は、オンチップバス24上でライトコマンドを発行し、デバイスコントローラ22へのデータ転送(DMAライト転送)を開始する(時刻T1)。また、イニシエータコア21はライトコマンドの発行時に転送完了通知リクエストを発行(転送完了通知リクエスト信号S21を有効に)する。   A data transfer method in such a data transfer system will be described with reference to a flowchart shown in FIG. 5 and a timing chart shown in FIG. First, the initiator core 21 issues a write command on the on-chip bus 24 and starts data transfer (DMA write transfer) to the device controller 22 (time T1). The initiator core 21 issues a transfer completion notification request (validate the transfer completion notification request signal S21) when a write command is issued.

イニシエータコア21は、オンチップバス24上に出力された最後のデータをデバイスコントローラ22が受信したことを検出すると、DMA転送を終了する(時刻T2)。イニシエータコア21からデバイスコントローラ12の間に、データを一時保管するためのバッファが設けられている場合は、そのバッファに最後のデータが書き込まれたことによってDMA転送が終了する。   When the initiator core 21 detects that the last data output on the on-chip bus 24 has been received by the device controller 22, the initiator core 21 ends the DMA transfer (time T2). When a buffer for temporarily storing data is provided between the initiator core 21 and the device controller 12, the DMA transfer ends when the last data is written in the buffer.

イニシエータコア21はDMA転送を終了すると、割込み信号S23を有効にする。また、この時、イニシエータコア21は内部レジスタ(図示せず)に割込み要因の情報をセットする。   When the initiator core 21 completes the DMA transfer, it enables the interrupt signal S23. At this time, the initiator core 21 sets interrupt factor information in an internal register (not shown).

デバイスコントローラ22は、ターゲットデバイ23への最後のデータの書き込みが完了すると、転送完了通知を発行(転送完了通知信号S22を有効に)する(時刻T3)。   When the writing of the last data to the target device 23 is completed, the device controller 22 issues a transfer completion notification (enables the transfer completion notification signal S22) (time T3).

割込み信号タイミング制御回路26は、イニシエータコア21からの割込み信号S23及びデバイスコントローラ22からの転送完了通知信号S22が共に有効になると、プロセッサ25に対して割込みを発行(割込み信号S24を有効に)し、データ転送の完了を通知する(時刻T4)。   When both the interrupt signal S23 from the initiator core 21 and the transfer completion notification signal S22 from the device controller 22 become valid, the interrupt signal timing control circuit 26 issues an interrupt to the processor 25 (enables the interrupt signal S24). The completion of data transfer is notified (time T4).

割込み信号タイミング制御回路26からの割込みが有効になると、プロセッサ25はイニシエータコア21の内部レジスタにセットされた情報を参照して、割込み要因を確認し、イニシエータコア21によるデータ転送が完了したことを検出する。これにより、他のイニシエータ(図示せず)は、イニシエータコア21により転送されたデータを使用する処理を開始できる。   When the interrupt from the interrupt signal timing control circuit 26 becomes valid, the processor 25 refers to the information set in the internal register of the initiator core 21 to check the cause of the interrupt and confirm that the data transfer by the initiator core 21 is completed. To detect. As a result, another initiator (not shown) can start processing using the data transferred by the initiator core 21.

図5、図6に示す例では、デバイスコントローラ22は、ターゲットデバイス23への最後のデータの書き込みが完了すると、転送完了通知を発行していたが、他のイニシエータからのターゲットデバイス23へのアクセスが、イニシエータコア21からのライトアクセスを追い越さないことが確定した場合は、ターゲットデバイス23へのデータ書き込みが完了していなくても、転送完了通知を発行できる。   In the example shown in FIGS. 5 and 6, the device controller 22 has issued a transfer completion notification when the last data has been written to the target device 23, but access to the target device 23 from other initiators. However, if it is determined that write access from the initiator core 21 is not overtaken, a transfer completion notification can be issued even if data writing to the target device 23 is not completed.

例えば、デバイスコントローラ22がスケジューリング機能を持つ場合、最後のデータの書き込みが実行待ちのキューの先頭(実行中のターゲットデバイス23へのアクセスの次に実行される)となったら、転送完了通知を発行できる。   For example, when the device controller 22 has a scheduling function, a transfer completion notification is issued when the last data write is at the head of the queue waiting to be executed (executed next to the target device 23 being executed). it can.

割込み信号タイミング制御回路26は、イニシエータコア21からの割込み信号S23及びデバイスコントローラ22からの転送完了通知を受信することで、ターゲットデバイス23への書き込みが完了した、又は、その書き込みが完了することが確定したことを検出できる。   When the interrupt signal timing control circuit 26 receives the interrupt signal S23 from the initiator core 21 and the transfer completion notification from the device controller 22, the writing to the target device 23 is completed or the writing is completed. It can be detected that it has been confirmed.

そして、割込み信号タイミング制御回路26は、ターゲットデバイス23への書き込みが完了した、又は、その書き込みが完了することが確定したことを検出してからプロセッサ25に割込みを発生するため、ターゲットデバイス23に転送されたデータを使用する他のイニシエータコアによる処理が、データ転送の完了前に実行され、誤動作が生じることを防止できる。   Then, the interrupt signal timing control circuit 26 generates an interrupt to the processor 25 after detecting that the writing to the target device 23 has been completed or the completion of the writing has been detected. Processing by another initiator core that uses the transferred data is executed before the completion of the data transfer, thereby preventing a malfunction.

また、冗長な待ち時間を必要としないため、スループット低下を抑えることができる。   Moreover, since a redundant waiting time is not required, a decrease in throughput can be suppressed.

このように、本実施形態によるデータ転送システムは、誤動作の発生を防止し、効率良くデータの転送を行うことができる。   As described above, the data transfer system according to the present embodiment can prevent malfunction and perform data transfer efficiently.

(第3の実施形態)図7に本発明の第3の実施形態に係るデータ転送システムの概略構成を示す。データ転送システムは、イニシエータコア31、デバイスコントローラ32、ターゲットデバイス33、オンチップバス34、及びプロセッサ35を備える。   (Third Embodiment) FIG. 7 shows a schematic configuration of a data transfer system according to a third embodiment of the present invention. The data transfer system includes an initiator core 31, a device controller 32, a target device 33, an on-chip bus 34, and a processor 35.

イニシエータコア31はオンチップバス34に接続され、データのDMA転送を行う。また、イニシエータコア31は転送完了通知リクエスト信号S31を出力する。   The initiator core 31 is connected to the on-chip bus 34 and performs DMA transfer of data. Further, the initiator core 31 outputs a transfer completion notification request signal S31.

デバイスコントローラ32は、ターゲットデバイス33の制御を行う。デバイスコントローラ32は、イニシエータコア31から出力されたデータがオンチップバス34を介して与えられ、このデータをターゲットデバイス33に書き込む。また、デバイスコントローラ32は、イニシエータコア31から転送完了通知リクエスト信号S31を受信すると、ターゲットデバイス13への全データ(最終データ)の書き込みが完了した際に、割込み信号S32をプロセッサ35へ出力する。   The device controller 32 controls the target device 33. The device controller 32 is given the data output from the initiator core 31 via the on-chip bus 34 and writes this data to the target device 33. Further, upon receiving the transfer completion notification request signal S31 from the initiator core 31, the device controller 32 outputs an interrupt signal S32 to the processor 35 when writing of all data (final data) to the target device 13 is completed.

転送完了通知リクエスト信号S31は、オンチップバス34の規格で定義された信号によって実装してもよいし、オンチップバス34とは別の独立した信号として実装してもよい。   The transfer completion notification request signal S31 may be implemented by a signal defined by the standard of the on-chip bus 34, or may be implemented as an independent signal different from the on-chip bus 34.

このようなデータ転送システムにおけるデータ転送方法を図8に示すフロー及び図9に示すタイミングチャートを用いて説明する。まず、イニシエータコア31は、オンチップバス34上でライトコマンドを発行し、デバイスコントローラ32へのデータ転送(DMAライト転送)を開始する(時刻T1)。また、イニシエータコア31はライトコマンドの発行時に転送完了通知リクエストを発行(転送完了通知リクエスト信号S31を有効に)する。   A data transfer method in such a data transfer system will be described with reference to a flowchart shown in FIG. 8 and a timing chart shown in FIG. First, the initiator core 31 issues a write command on the on-chip bus 34, and starts data transfer (DMA write transfer) to the device controller 32 (time T1). The initiator core 31 issues a transfer completion notification request (validate the transfer completion notification request signal S31) when a write command is issued.

イニシエータコア31は、オンチップバス34上に出力された最後のデータをデバイスコントローラ32が受信したことを検出(最後のデータに対応するアクノレッジを受信)すると、DMA転送を終了する(時刻T2)。   When the initiator core 31 detects that the last data output on the on-chip bus 34 has been received by the device controller 32 (receives an acknowledge corresponding to the last data), the initiator core 31 ends the DMA transfer (time T2).

イニシエータコア11からデバイスコントローラ12に到る経路に、データを一時保管するためのバッファが設けられている場合は、そのバッファに最後のデータが書き込まれたことによってDMA転送を終了する。   When a buffer for temporarily storing data is provided in the path from the initiator core 11 to the device controller 12, the DMA transfer is terminated when the last data is written in the buffer.

デバイスコントローラ32は、ターゲットデバイス33への最後のデータの書き込みが完了すると、プロセッサ35に転送完了を割込み通知(割込み信号S32を有効に)する(時刻T3)。   When the writing of the last data to the target device 33 is completed, the device controller 32 notifies the processor 35 of the completion of the transfer (interrupt signal S32 is valid) (time T3).

デバイスコントローラ32からの割込みが有効になると、プロセッサ35はデバイスコントローラ32の内部レジスタ321に格納されている情報を確認する。内部レジスタ321にイニシエータコア31の識別情報が格納されている場合は、プロセッサ35はこの識別情報に基づいて、イニシエータコア31の内部レジスタ(図示せず)にセットされた割込み要因の情報をリードし、割込み要因を確認する。   When the interrupt from the device controller 32 becomes valid, the processor 35 confirms information stored in the internal register 321 of the device controller 32. When the identification information of the initiator core 31 is stored in the internal register 321, the processor 35 reads the interrupt factor information set in the internal register (not shown) of the initiator core 31 based on this identification information. Check the interrupt factor.

また、レジスタ321に、イニシエータコア31の内部レジスタと同等の(コピー)情報が格納されている場合は、プロセッサ35はレジスタ321に格納された割込み要因の情報をリードし、割込み要因を確認する。   When the register 321 stores (copy) information equivalent to the internal register of the initiator core 31, the processor 35 reads the interrupt factor information stored in the register 321 and confirms the interrupt factor.

レジスタ321は、オンチップバス34のイニシエータコア識別情報から取得した情報を格納するのでもよく、イニシエータコア31により割込み要因の情報を書き込まれるようにするのでもよい。また、データ転送完了時のレジスタ321の状態を予め定義しておくようにしてもよい。   The register 321 may store information acquired from the initiator core identification information of the on-chip bus 34, or the initiator core 31 may write information on an interrupt factor. Further, the state of the register 321 at the completion of data transfer may be defined in advance.

プロセッサ35は割込み要因の確認により、イニシエータコア31によるデータ転送が完了したことを検出することができる。これにより、他のイニシエータ(図示せず)は、イニシエータコア31により転送されたデータを使用する処理を開始できる。   The processor 35 can detect that the data transfer by the initiator core 31 is completed by checking the interrupt factor. As a result, another initiator (not shown) can start processing using the data transferred by the initiator core 31.

図8、図9に示す例では、デバイスコントローラ32は、ターゲットデバイス33への最後のデータの書き込みが完了すると、転送完了通知を発行(割込み信号S32を有効に)していたが、他のイニシエータからのターゲットデバイス33へのアクセスが、イニシエータコア31からのライトアクセスを追い越さないことが確定した場合は、ターゲットデバイス33へのデータ書き込みが完了していなくても、転送完了通知を発行できる。   In the example shown in FIGS. 8 and 9, the device controller 32 issues a transfer completion notification (enables the interrupt signal S <b> 32) when the writing of the last data to the target device 33 is completed. When it is determined that access to the target device 33 from the host does not overtake write access from the initiator core 31, a transfer completion notification can be issued even if data writing to the target device 33 is not completed.

例えば、デバイスコントローラ32がスケジューリング機能を持つ場合、最後のデータの書き込みが実行待ちのキューの先頭(実行中のターゲットデバイス33へのアクセスの次に実行される)となったら、転送完了通知を発行できる。   For example, when the device controller 32 has a scheduling function, a transfer completion notification is issued when the last data write is at the head of the queue waiting to be executed (executed after access to the target device 33 being executed). it can.

デバイスコントローラ32は、ターゲットデバイス33への書き込みが完了した、又は、その書き込みが完了することが確定したことを検出してから、プロセッサ35に割込みを発生するため、ターゲットデバイス33に転送されたデータを使用する他のイニシエータコアによる処理が、データ転送の完了前に実行され、誤動作が生じることを防止できる。   The device controller 32 detects that the writing to the target device 33 has been completed or that it has been determined that the writing has been completed, and then transfers the data transferred to the target device 33 in order to generate an interrupt to the processor 35. It is possible to prevent a malfunction from occurring due to the processing performed by the other initiator cores using the ID being executed before the completion of the data transfer.

また、冗長な待ち時間を必要としないため、スループット低下を抑えることができる。   Moreover, since a redundant waiting time is not required, a decrease in throughput can be suppressed.

このように、本実施形態によるデータ転送システムは、誤動作の発生を防止し、効率良くデータの転送を行うことができる。   As described above, the data transfer system according to the present embodiment can prevent malfunction and perform data transfer efficiently.

上述した実施の形態はいずれも一例であって限定的なものではないと考えられるべきである。例えば、上記実施形態では、ライトコマンドの発行時(時刻T1)に転送完了通知リクエストを発行していたが、ライトコマンド発行時から最後のライトデータ(データDn)がイニシエータコアから出力されるまでの間(時刻T1〜T2)であれば、任意のタイミングで転送完了通知リクエストを発行することができる。   Each of the above-described embodiments is an example and should be considered as not limiting. For example, in the above embodiment, the transfer completion notification request is issued when the write command is issued (time T1). However, from the time when the write command is issued until the last write data (data Dn) is output from the initiator core. If it is between (time T1-T2), a transfer completion notification request can be issued at an arbitrary timing.

本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The technical scope of the present invention is defined by the terms of the claims, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の第1の実施形態によるデータ転送システムの概略構成図である。1 is a schematic configuration diagram of a data transfer system according to a first embodiment of the present invention. 同第1の実施形態によるデータ転送システムを用いたデータ転送フローである。It is a data transfer flow using the data transfer system according to the first embodiment. 同第1の実施形態によるデータ転送システムを用いたデータ転送のタイミングチャートである。4 is a timing chart of data transfer using the data transfer system according to the first embodiment. 本発明の第2の実施形態によるデータ転送システムの概略構成図である。It is a schematic block diagram of the data transfer system by the 2nd Embodiment of this invention. 同第2の実施形態によるデータ転送システムを用いたデータ転送フローである。It is a data transfer flow using the data transfer system according to the second embodiment. 同第2の実施形態によるデータ転送システムを用いたデータ転送のタイミングチャートである。6 is a timing chart of data transfer using the data transfer system according to the second embodiment. 本発明の第3の実施形態によるデータ転送システムの概略構成図である。It is a schematic block diagram of the data transfer system by the 3rd Embodiment of this invention. 同第3の実施形態によるデータ転送システムを用いたデータ転送フローである。It is a data transfer flow using the data transfer system according to the third embodiment. 同第3の実施形態によるデータ転送システムを用いたデータ転送のタイミングチャートである。12 is a timing chart of data transfer using the data transfer system according to the third embodiment.

符号の説明Explanation of symbols

11 イニシエータコア
12 デバイスコントローラ
13 ターゲットデバイス
14 オンチップバス
15 プロセッサ
11 Initiator Core 12 Device Controller 13 Target Device 14 On-Chip Bus 15 Processor

Claims (5)

バスを介してデータ転送を行うデータ転送装置であって、
データをターゲットデバイスへ書き込むデバイスコントローラと、
前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、
を備え、
前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記ターゲットデバイスへの前記データのすべての書き込みに伴い転送完了通知信号を出力することを特徴とするデータ転送装置。
A data transfer device for transferring data via a bus,
A device controller that writes data to the target device;
An initiator core that DMA-transfers the data to the device controller via the bus and outputs a transfer completion notification request signal to the device controller;
With
When the device controller receives the transfer completion notification request signal, the device controller outputs a transfer completion notification signal with every writing of the data to the target device.
前記イニシエータコアは前記転送完了通知信号に基づいて割込み信号を発生することを特徴とする請求項1に記載のデータ転送装置。   The data transfer apparatus according to claim 1, wherein the initiator core generates an interrupt signal based on the transfer completion notification signal. 前記データのDMA転送の終了に伴い前記イニシエータコアから発生される第1の割込み信号及び前記転送完了通知信号に基づいて第2の割込み信号を発生する割込み信号タイミング制御回路をさらに備えることを特徴とする請求項1に記載のデータ転送装置。   And an interrupt signal timing control circuit for generating a second interrupt signal based on the first interrupt signal generated from the initiator core and the transfer completion notification signal upon completion of the DMA transfer of the data. The data transfer device according to claim 1. バスを介してデータを記憶装置へDMA転送するデータ転送システムであって、
前記バスに接続されたプロセッサと、
前記データを前記記憶装置へ書き込むデバイスコントローラと、
レジスタを有し、前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、
を備え、
前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記記憶装置への前記データのすべての書き込みに伴い転送完了通知信号を出力し、前記イニシエータコアは前記転送完了通知信号に基づいて割込み信号を発生すると共に前記レジスタに割込み要因情報をセットし、前記プロセッサは前記割込み信号に基づいて前記レジスタにセットされた前記割込み要因情報を検出することを特徴とするデータ転送システム。
A data transfer system that DMA transfers data to a storage device via a bus,
A processor connected to the bus;
A device controller for writing the data to the storage device;
An initiator core having a register, DMA-transferring the data to the device controller via the bus, and outputting a transfer completion notification request signal to the device controller;
With
When the device controller receives the transfer completion notification request signal, the device controller outputs a transfer completion notification signal with all writing of the data to the storage device, and the initiator core generates an interrupt signal based on the transfer completion notification signal. And the interrupt factor information is set in the register, and the processor detects the interrupt factor information set in the register based on the interrupt signal.
バスを介してデータを記憶装置へDMA転送するデータ転送システムであって、
前記バスに接続されたプロセッサと、
割込み要因情報を格納するレジスタを有し、前記データを前記記憶装置へ書き込むデバイスコントローラと、
前記バスを介して前記デバイスコントローラへ前記データをDMA転送すると共に、前記デバイスコントローラへ転送完了通知要求信号を出力するイニシエータコアと、
を備え、
前記デバイスコントローラは前記転送完了通知要求信号を受信した場合、前記記憶装置への前記データのすべての書き込みに伴い割込み信号を発生し、前記プロセッサは前記割込み信号に基づいて前記レジスタに格納された前記割込み要因情報を検出することを特徴とするデータ転送システム。
A data transfer system that DMA transfers data to a storage device via a bus,
A processor connected to the bus;
A device controller for storing interrupt factor information, and writing the data into the storage device;
An initiator core that DMA-transfers the data to the device controller via the bus and outputs a transfer completion notification request signal to the device controller;
With
When the device controller receives the transfer completion notification request signal, the device controller generates an interrupt signal with every writing of the data to the storage device, and the processor stores the register stored in the register based on the interrupt signal A data transfer system characterized by detecting interrupt factor information.
JP2008127468A 2008-05-14 2008-05-14 Data transfer device and data transfer system Pending JP2009277004A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008127468A JP2009277004A (en) 2008-05-14 2008-05-14 Data transfer device and data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008127468A JP2009277004A (en) 2008-05-14 2008-05-14 Data transfer device and data transfer system

Publications (1)

Publication Number Publication Date
JP2009277004A true JP2009277004A (en) 2009-11-26

Family

ID=41442379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008127468A Pending JP2009277004A (en) 2008-05-14 2008-05-14 Data transfer device and data transfer system

Country Status (1)

Country Link
JP (1) JP2009277004A (en)

Similar Documents

Publication Publication Date Title
JP2008090375A (en) Interrupt control system and storage control system using the same
JP2005353041A (en) Bus transaction management within data processing system
JP2010134627A (en) Bus relay device
JP2008009817A (en) Semiconductor device and data transfer method
JP2006293927A (en) Direct memory access controller and system lsi including direct memory access controller
JP2006113689A (en) Bus bridge device and data transfer method
JP2003296267A (en) Bus system and information processing system including bus system
JP5057360B2 (en) Semiconductor device, data processing device, and access method to storage device
JP6004463B2 (en) Storage device and control method thereof
KR100606163B1 (en) Direct memory access device, system and method for transmitting and receiving data through direct memory access device
JP2009277004A (en) Data transfer device and data transfer system
JP7103162B2 (en) Arithmetic processing unit and control method of arithmetic processing unit
US20070168839A1 (en) Interface apparatus for connecting a device and a host system, and method of controlling the interface apparatus
JP2006285872A (en) Multi-cpu system
JP2009271610A (en) Buffer control circuit, buffer circuit and data processor
JP4985599B2 (en) DMA transfer control system
JP2006338533A (en) Multilayered bus system having ecc circuit
JP6171367B2 (en) Switch device, image processing device, and exclusive control method
JP2005301714A (en) Multi-cpu system, its data transfer method, and its program
JP2010140440A (en) Bus arbitration device
JP2007316880A (en) Access right arbitration system for dual port memory
JP2006092077A (en) Bus system
JP2005228188A (en) Information processing system
JP5282325B2 (en) Posted light bus controller
JP6384359B2 (en) Information processing apparatus having distributed shared memory, method, and program