JP6981057B2 - Data transfer device and data transfer method - Google Patents

Data transfer device and data transfer method Download PDF

Info

Publication number
JP6981057B2
JP6981057B2 JP2017117249A JP2017117249A JP6981057B2 JP 6981057 B2 JP6981057 B2 JP 6981057B2 JP 2017117249 A JP2017117249 A JP 2017117249A JP 2017117249 A JP2017117249 A JP 2017117249A JP 6981057 B2 JP6981057 B2 JP 6981057B2
Authority
JP
Japan
Prior art keywords
read
write
request
value
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017117249A
Other languages
Japanese (ja)
Other versions
JP2019003384A (en
Inventor
正宏 鈴木
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2017117249A priority Critical patent/JP6981057B2/en
Publication of JP2019003384A publication Critical patent/JP2019003384A/en
Application granted granted Critical
Publication of JP6981057B2 publication Critical patent/JP6981057B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

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

スキャナ又はプロッタとコントローラ間の画像データの転送を行うPCI Express(登録商標)のような高速シリアルインタフェースを使用し、画像データをラインごとに転送を行う画像処理装置が知られている。高速シリアル通信を行う際には、転送効率を上げるため、転送データを一定量バッファリングしておき、途切れることなくデータを転送する構成が採られる。 An image processing device that transfers image data line by line using a high-speed serial interface such as PCI Express (registered trademark) that transfers image data between a scanner or plotter and a controller is known. When performing high-speed serial communication, in order to improve transfer efficiency, a configuration is adopted in which transfer data is buffered in a certain amount and data is transferred without interruption.

転送データをバッファリングする場合、優先順位が高く設定された要求が発生する前に、優先順位が低く設定された要求によってバッファがフルとなる状況では、アービトレーションが機能しなくなるというデメリットが生じる。当該デメリットに対して、適正なアービトレーションを機能させるために、トラフィックの統計情報を生成し、アービタにフィードバックするデータ転送方法は既に知られている(例えば特許文献1)。 When buffering transfer data, there is a disadvantage that arbitration does not work in a situation where the buffer is filled with a request with a low priority before a request with a high priority is generated. A data transfer method that generates traffic statistics and feeds them back to the arbiter in order to make proper arbitration work against the demerit is already known (for example, Patent Document 1).

しかしながら、従来の技術でのデータ転送方法では、適正なアービトレーションが行われなくなる要因が主にリードレイテンシの増大にあることが着目されておらず、リードレイテンシを監視する手段を持たないため、トラフィックの統計情報を生成し、アービタにフィードバックするまでの期間が比較的長くなるという問題があった。 However, in the data transfer method in the conventional technology, it is not focused that the main factor that prevents proper arbitration is the increase in read latency, and there is no means for monitoring the read latency, so that the traffic There was a problem that it took a relatively long time to generate statistical information and feed it back to the arbiter.

本発明は上記の点に鑑みてなされたものであって、リードレイテンシを低減させ、画像1ライン分のデータの転送を1ラインの所定の転送周期内で確実に完了させることを目的とする。 The present invention has been made in view of the above points, and an object thereof is to reduce read latency and to surely complete the transfer of data for one line of images within a predetermined transfer cycle of one line.

そこで上記課題を解決するため、データ転送装置は、リード要求及びライト要求を受信し、メモリにアクセスするインタフェースに転送する転送部と、前記インタフェースに転送され、かつ前記メモリからデータの転送が完了していない前記リード要求の数である先投げ数を計測するリード要求計測部とを有し、前記転送部は、前記先投げ数が第1の値以上となった時点から、前記インタフェースへの前記ライト要求の転送を、前記先投げ数が前記第1の値未満に減少するまで中断する。 Therefore, in order to solve the above-mentioned problems, the data transfer device receives a read request and a write request and transfers them to an interface that accesses the memory, and a transfer unit that is transferred to the interface and data transfer from the memory is completed. and a read request measuring unit for measuring a number of previously thrown a number of not a have the rie de request, the transfer unit, from the time when the number of throwing the destination becomes a first value or more, the interface the transfer of write requests to the number of throwing the destination is interrupted until reduced to less than the first value.

リードレイテンシを低減させ、画像1ライン分のデータの転送を1ラインの所定の転送周期内で確実に完了させることができる。 The read latency can be reduced, and the transfer of data for one line of images can be reliably completed within a predetermined transfer cycle of one line.

ライトデータバッファについて説明するための図である。It is a figure for demonstrating a write data buffer. リード動作時のレイテンシについて説明するための図である。It is a figure for demonstrating the latency at the time of a read operation. リードモディファイライト(RMW)動作時のリードレイテンシと処理性能の関連について説明するための図である。It is a figure for demonstrating the relation between the read latency and the processing performance at the time of read modify write (RMW) operation. 第1の実施の形態におけるデータ転送装置100のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the data transfer apparatus 100 in 1st Embodiment. 第1の実施の形態におけるデータ転送装置100の機能構成例を示す図である。It is a figure which shows the functional configuration example of the data transfer apparatus 100 in 1st Embodiment. 第1の実施の形態におけるリードライト転送帯域調停部105の機能構成例を示す図である。It is a figure which shows the functional structure example of the read-write transfer band arbitration part 105 in 1st Embodiment. 第1の実施の形態におけるOutstanding数計測部12の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation of the Outstanding number measuring unit 12 in 1st Embodiment. 第1の実施の形態におけるリードライト転送帯域調停部105の動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation of the read / write transfer band arbitration section 105 in 1st Embodiment. 第2の実施の形態におけるリードライト転送帯域調停部105の機能構成例を示す図である。It is a figure which shows the functional structure example of the read-write transfer band arbitration section 105 in the 2nd Embodiment. 第2の実施の形態におけるリードライト転送帯域調停部105の動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation of the read / write transfer band arbitration section 105 in the 2nd Embodiment. 第3の実施の形態におけるリードライト転送帯域調停部105の機能構成例を示す図である。It is a figure which shows the functional structure example of the read-write transfer band arbitration part 105 in 3rd Embodiment. 第3の実施の形態におけるライト要求カウント部17の動作を説明するための図である。It is a figure for demonstrating the operation of the write request counting part 17 in 3rd Embodiment. 第3の実施の形態におけるライト要求カウント部17の動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation of the write request counting part 17 in 3rd Embodiment. 第3の実施の形態におけるリードライト転送調停部11の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation of the read-write transfer arbitration section 11 in 3rd Embodiment. 第4の実施の形態におけるリードライト転送帯域調停部105の機能構成例を示す図である。It is a figure which shows the functional structure example of the read-write transfer band arbitration part 105 in 4th Embodiment. 第4の実施の形態におけるライト要求カウント部17の動作を説明するための図である。It is a figure for demonstrating the operation of the write request counting part 17 in 4th Embodiment. 第4の実施の形態におけるライト要求カウント部17の動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation of the write request counting part 17 in 4th Embodiment.

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

図1は、ライトデータバッファについて説明するための図である。背景として、転送用のバッファを設けると、バッファに蓄積された要求の処理を行う時間が増大することが挙げられる。リード要求はNon−Posted転送、すなわち処理の完了通知を必要とする転送であり、Outstanding数(未処理要求数、又は先投げ要求数)に制約がある。そのため、Outstanding数が上限に達すると、次のリード要求はリードレスポンスが返るのを待ってから発行される。ここで、リードレスポンス待ちの期間にライト要求が空きバッファを埋めてしまうと、さらにリード転送帯域が低下しライト転送帯域過多の状況に陥りやすい。また、高速なMFP(Multi Function Peripheral)では、1ラインデータ転送期間が数十usであるため、適正なアービトレーションの実行に要する時間は、数us〜十数us以下であることが求められる。リード要求が発行されていない期間に発行されたライト要求が転送バッファを埋めてしまい、ライト要求及び当該ライトデータ転送の完了を待つことでリードレイテンシが増大し、結果としてリード転送帯域が減少するという問題が発生する。 FIG. 1 is a diagram for explaining a write data buffer. As a background, if a buffer for transfer is provided, the time for processing the request stored in the buffer increases. The read request is a non-posted transfer, that is, a transfer that requires a notification of the completion of processing, and there is a limitation on the number of cuttings (the number of unprocessed requests or the number of forward-throwing requests). Therefore, when the number of Outputs reaches the upper limit, the next read request is issued after waiting for a read response to be returned. Here, if the write request fills the empty buffer during the read response waiting period, the read transfer band is further lowered, and it is easy to fall into a situation where the write transfer band is excessive. Further, in a high-speed MFP (Multi Function Peripheral), the one-line data transfer period is several tens of us, so that the time required for proper arbitration execution is required to be several us to several tens of us or less. A write request issued during the period when no read request is issued fills the transfer buffer, and waiting for the completion of the write request and the write data transfer increases the read latency, resulting in a decrease in the read transfer bandwidth. Problems occur.

バッファ書き込み速度とバッファ読み出し速度に差がある場合の速度緩衝用ライトデータバッファに書き込まれたデータがフルの状態から、データがすべて読み出されるまでに要する時間について、以下説明する。 When there is a difference between the buffer write speed and the buffer read speed, the time required from the state where the data written in the write data buffer for buffering is full to the time when all the data is read will be described below.

例えば、ライトデータバッファのサイズが4096Byte、バッファの読み出し速度が1000MB/sであったとすると、ライトデータバッファがフルの状態から空になるまでの時間は4096[Byte]/1000[MB/s]=4.096[us]となる。リード要求とライト要求の発行順序を保つためには、ライトデータバッファがフルになった後に発行されたリード要求は、必ずライトデータバッファに先行して蓄積されていた4096Byteのライトデータがバッファから読み出されてから処理される。仮に通常時のリードレイテンシが0.5usであったとすると、ライトデータバッファがFULLの状態で発行されたリードレイテンシは、0.5[us]+4.096[us]=4.596[us]に増大する計算となる。 For example, if the size of the write data buffer is 4096 Bytes and the read speed of the buffer is 1000 MB / s, the time from the full state to the empty write data buffer is 4096 [Byte] / 1000 [MB / s] =. It becomes 4.096 [us]. In order to maintain the issuance order of read requests and write requests, read requests issued after the write data buffer is full are always read from the 4096 BYte write data stored prior to the write data buffer. It will be processed after it is issued. Assuming that the normal read latency is 0.5 us, the read latency issued with the write data buffer in the FULL state is 0.5 [us] + 4.096 [us] = 4.596 [us]. It will be an increasing calculation.

ライトデータをライトデータバッファに滞留させないためには、バッファ読出し速度よりバッファ書込み速度を遅くすれば良いが、バッファ読み出し速度がバッファの先のアービタによる処理等により動的に変化する場合、バッファ読み出し速度に追従してバッファ書き込み速度を遅くする仕組みが必要となる。バッファ読み出し速度をマスタ側で直接観測できない場合は、リードレイテンシを観測することでライトデータバッファのライトデータの滞留状態を予測でき、間接的にバッファ読出し速度が低下していることを把握することができる。すなわち、ライトデータバッファの滞留状態をリード要求の発行数とリードレスポンスの受信数の差分から求められるOutstanding数で監視し、Outstanding数が上限に達しないようにライト要求を抑制することで、リードレイテンシの増大を防止する方法が考えられる。 To prevent the write data from staying in the write data buffer, the buffer write speed may be slower than the buffer read speed. However, if the buffer read speed dynamically changes due to processing by the arbiter at the end of the buffer, the buffer read speed It is necessary to have a mechanism to slow down the buffer writing speed by following the above. If the buffer read speed cannot be directly observed on the master side, the retention state of the write data in the write data buffer can be predicted by observing the read latency, and it is possible to indirectly understand that the buffer read speed is decreasing. can. That is, the read latency is monitored by monitoring the retention state of the write data buffer by the number of outputs obtained from the difference between the number of read requests issued and the number of read responses received, and suppressing the write requests so that the number of outputs does not reach the upper limit. A method of preventing the increase of the number is conceivable.

図2は、リード動作時のレイテンシについて説明するための図である。図2(A)及び図2(B)は、いずれも同じタイミングでリード要求を4つ先投げ(Outstanding)する例を示している。 FIG. 2 is a diagram for explaining the latency during read operation. 2 (A) and 2 (B) both show an example in which four read requests are thrown ahead (Outstanding) at the same timing.

図2(A)は、リード要求(RC1〜RC8)に対するリードレスポンス(RD1〜RD8)が、リードデータ転送に時間的な隙間がなく応答される例である。リード要求RC1に対応するリードレスポンス又はリードデータは、RD1であり、RC2〜RC8についても同様にRD2〜RD8がそれぞれ対応する。図2(A)に示されるタイミングでリード要求が送信された場合、図2(A)よりもリードレスポンス時間が短ければ、リードデータ転送中に、リードデータが転送されない期間は生じないため、リード帯域は理想的な量が維持される。 FIG. 2A is an example in which the read response (RD1 to RD8) to the read request (RC1 to RC8) is responsive to the read data transfer without any time gap. The read response or read data corresponding to the read request RC1 is RD1, and RD2 to RD8 also correspond to RC2 to RC8, respectively. When the read request is transmitted at the timing shown in FIG. 2A, if the read response time is shorter than that in FIG. 2A, there is no period during which the read data is not transferred during the read data transfer, so that the read is read. The band is maintained in an ideal amount.

一方、図2(B)は、リードレイテンシすなわちリードレスポンス時間が増大したことにより、リードデータ転送中にリードデータが転送されない期間が生じる例である。リードレイテンシの増加が原因で、リードデータ転送中にリードデータが転送されない期間が生じると、当該期間にライト要求が入りやすくなり、リードレイテンシの増大が加速し、リード帯域が急速に低下する。 On the other hand, FIG. 2B shows an example in which a period in which read data is not transferred occurs during read data transfer due to an increase in read latency, that is, read response time. If there is a period during which read data is not transferred due to an increase in read latency, a write request is likely to be made during that period, the increase in read latency is accelerated, and the read bandwidth is rapidly reduced.

図3は、リードモディファイライト(RMW)動作時のリードレイテンシと処理性能の関連について説明するための図である。図3(A)は、RMW処理を実行する例である。RMW処理は、メモリ上の画像の一部を読み出して画像処理を行い、再び書き戻すまで次の画像処理を開始することができない。したがって、画像処理手段が画像処理を行う期間と、処理対象の画像をメモリから読み書きする期間とが、RMW処理時間に影響する。 FIG. 3 is a diagram for explaining the relationship between read latency and processing performance during read-modify-write (RMW) operation. FIG. 3A is an example of executing RMW processing. In the RMW processing, a part of the image on the memory is read out, the image processing is performed, and the next image processing cannot be started until the image is written back again. Therefore, the period during which the image processing means performs image processing and the period during which the image to be processed is read / written from the memory affect the RMW processing time.

図3(B)は、リードレスポンス時間が短くなることで、画像処理手段の待ち時間が少なくなる。図3(B)に示される例では、図3(A)と比較した場合、画像処理性能が1.5倍に向上している。 In FIG. 3B, the read response time is shortened, so that the waiting time of the image processing means is reduced. In the example shown in FIG. 3B, the image processing performance is improved by 1.5 times as compared with FIG. 3A.

図4は、第1の実施の形態におけるデータ転送装置100のハードウェア構成例を示す図である。図4に示されるように、データ転送装置100は、相互に接続されているCPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003、ワイヤードロジック回路1004及びインタフェース1005とを有する。 FIG. 4 is a diagram showing a hardware configuration example of the data transfer device 100 according to the first embodiment. As shown in FIG. 4, the data transfer device 100 includes a CPU (Central Processing Unit) 1001, a ROM (Read Only Memory) 1002, a RAM (Random Access Memory) 1003, a wired logic circuit 1004, and an interface connected to each other. It has 1005 and.

データ転送装置100での処理を実現するプログラムは、ROM1002又はRAM1003に格納される。ROM1002又はRAM1003は、インストールされたプログラムを格納すると共に、必要なファイル及びデータ等を格納する。ROM1002は、マスクROM、PROM(Programmable ROM)、EEPROM(Electrical Erasable ROM)、フラッシュメモリ又は外部記憶媒体であるメモリカード等のいずれであってもよいし、それらの複数を含んでもよい。RAM1003は、DRAM(Dynamic RAM)、SRAM(Static RAM)、SDRAM(Synchronous DRAM)等のいずれであってもよい。また、ROM1002又はRAM1003は、メモリコントローラを介して、CPU1001と接続されてもよい。ワイヤードロジック回路1004は、データ転送装置100が行う処理を、ワイヤードロジックにより実行する回路であり、フリップフロップ及びゲート回路等によって構成される。インタフェース1005は、高速シリアルインタフェースを含み、その他入出力ポート等も含んでよい。 The program that realizes the processing in the data transfer device 100 is stored in the ROM 1002 or the RAM 1003. The ROM 1002 or the RAM 1003 stores the installed program and also stores necessary files, data, and the like. The ROM 1002 may be any of a mask ROM, a PROM (Programmable ROM), an EEPROM (Electrical Erasable ROM), a flash memory, a memory card as an external storage medium, or a plurality thereof. The RAM 1003 may be any of DRAM (Dynamic RAM), SRAM (Static RAM), SDRAM (Synchronous DRAM) and the like. Further, the ROM 1002 or the RAM 1003 may be connected to the CPU 1001 via a memory controller. The wired logic circuit 1004 is a circuit that executes the processing performed by the data transfer device 100 by the wired logic, and is composed of a flip-flop, a gate circuit, and the like. The interface 1005 includes a high-speed serial interface, and may also include other input / output ports and the like.

なお、データ転送装置100は、上述のハードウェア構成の一部又は全部が含まれる1又は複数のLSI(Large Scale Integration)デバイス、LSIチップ、LSIチップセット又はASIC(Application Specific Integrated Circuit)等であってもよい。 The data transfer device 100 is one or a plurality of LSI (Large Scale Integration) devices, LSI chips, LSI chipsets, ASICs (Application Specific Integrated Circuits), etc., which include a part or all of the above-mentioned hardware configuration. You may.

また、データ転送装置200は、データ転送装置100と同様のハードウェア構成を有してもよい。 Further, the data transfer device 200 may have the same hardware configuration as the data transfer device 100.

図5は、第1の実施の形態におけるデータ転送装置100の機能構成例を示す図である。図5に示されるように、データ転送装置100は、機能A101、機能B102、機能C103、アービタ104、リードライト転送帯域調停部105、ライトデータバッファを含むI/F制御機能106を有する。これら各部は、データ転送装置100にインストールされた1以上のプログラムがCPU1001に実行させる処理又はワイヤードロジック回路1004により実現される。 FIG. 5 is a diagram showing a functional configuration example of the data transfer device 100 according to the first embodiment. As shown in FIG. 5, the data transfer device 100 has an I / F control function 106 including a function A101, a function B102, a function C103, an arbiter 104, a read / write transfer band arbitrator 105, and a write data buffer. Each of these parts is realized by a process of causing the CPU 1001 to execute one or more programs installed in the data transfer device 100 or a wired logic circuit 1004.

データ転送装置200は、機能a201、機能b202、アービタ203、ライトデータバッファを含むI/F制御機能204、共有メモリ300と接続されるメモリコントローラ205を有する。 The data transfer device 200 has a function a201, a function b202, an arbiter 203, an I / F control function 204 including a write data buffer, and a memory controller 205 connected to the shared memory 300.

共有メモリ300へのメモリアクセスを要求するマスタ機能(機能A101等)を有するデータ転送装置100と、共有メモリ300及び共有メモリ300へのアクセスを制御するデータ転送装置200とは、ライト要求がPosted−Write方式のI/Fで接続されている。Posted−Write方式とは、処理の完了通知を必要としない方式をいう。機能A101から、共有メモリ300にライトアクセスする場合、ライトデータは、I/F制御機能106及びI/F制御機能204にそれぞれ実装されたBuf(速度緩衝用ライトデータバッファ)を経由して共有メモリ300に転送される。 The data transfer device 100 having a master function (function A101 or the like) that requests memory access to the shared memory 300 and the data transfer device 200 that controls access to the shared memory 300 and the shared memory 300 have a posted write request. It is connected by a Write type I / F. The posted-write method is a method that does not require notification of the completion of processing. When the shared memory 300 is write-accessed from the function A101, the write data is shared memory via the buffer (speed buffering write data buffer) implemented in the I / F control function 106 and the I / F control function 204, respectively. Transferred to 300.

ここで、データ転送装置200に搭載された機能a201又は機能b202等が、メモリコントローラ205にアクセスし、アービタ203が混雑する等の理由で、I/F制御機能204からアービタ203へのライト帯域が制約を受けて機能A101からのライトデータ転送速度を下まわると、機能A101からのライトデータが、I/F制御機能106及びI/F制御機能204に実装されたBuf(速度緩衝用ライトデータバッファ)に蓄積されていく。 Here, the write band from the I / F control function 204 to the arbiter 203 is increased because the function a201 or the function b202 mounted on the data transfer device 200 accesses the memory controller 205 and the arbiter 203 is congested. When the write data transfer speed from the function A101 is reduced due to restrictions, the write data from the function A101 is transferred to the Buf (speed buffering write data buffer) implemented in the I / F control function 106 and the I / F control function 204. ) Accumulates.

リード要求とライト要求の発行順序を保つためには、後から発行されたリード要求は、必ず速度緩衝用ライトデータバッファに先行して蓄積されていたライトデータがバッファから読出されてから処理される。このように、ライトデータバッファへのライトデータ蓄積は、リードレスポンスの遅延を招き、結果としてリード帯域の低下及びリードモディファイライト動作を行う機能の処理性能低下を引き起こす。 In order to maintain the issuance order of read requests and write requests, read requests issued later are always processed after the write data stored in advance of the speed buffer write data buffer is read from the buffer. .. As described above, the accumulation of write data in the write data buffer causes a delay in the read response, resulting in a decrease in the read band and a decrease in the processing performance of the function for performing the read modify / write operation.

リードライト転送帯域調停部105は、リード要求先投げ数(Outstanding数)を常時計測し、リード要求先投げ数がデータ転送装置100及びデータ転送装置200のバッファ容量等から定まるハードウェア的なリード要求の先投げ数の上限値を超えると、ライト要求の転送を中断する。速度緩衝用ライトデータバッファへのライトデータ蓄積を原因としたリードレイテンシ増大は、一時的なライト要求の中断によって解消され、リードレスポンスが回復する。リードライト転送帯域調停部105は、リード帯域を所定の程度優先して調停してもよいし、リード帯域とライト帯域が同等となるように調停してもよい。 The read / write transfer band arbitration unit 105 constantly measures the number of read request destination throws (Outstanding number), and the number of read request destination throws is a hardware-like read request determined by the buffer capacities of the data transfer device 100 and the data transfer device 200. If the upper limit of the number of first throws is exceeded, the transfer of the write request is interrupted. The increase in read latency due to the accumulation of write data in the write data buffer for speed buffer is eliminated by the temporary interruption of the write request, and the read response is restored. The read / write transfer band arbitration unit 105 may arbitrate the read band with a predetermined degree of priority, or may arbitrate so that the read band and the write band are equal to each other.

共有メモリ300は、画像データ又はCPUのためのプログラム等を一時蓄積する記憶部である。機能A101、B102、C103又は機能a201、機能b202で処理するデータは、共有メモリ300に展開される。 The shared memory 300 is a storage unit that temporarily stores image data, a program for the CPU, and the like. The data processed by the functions A101, B102, C103 or the functions a201 and b202 is expanded in the shared memory 300.

データ転送装置100は、共有メモリ300に対してマスタとしてメモリアクセスし、有限のリード要求先投げ(Outstanding)を行う内蔵機能(機能A101、機能B102、機能C103)を一つ以上備える。また、データ転送装置100は、共有メモリ300に対するPosted−Write方式のライト要求と、リード要求とを、共有メモリ300へのアクセス経路となるI/F制御機能106を備えるデバイスである。本実施例では、データ転送装置200に対して、Posted−Write方式のライト要求を行うI/Fで接続される。I/F制御機能106には、ライトデータの転送効率化のため、Buf(速度緩衝用ライトデータバッファ)が搭載されている。リードライト転送帯域調停部105については、図6で詳述する。 The data transfer device 100 has one or more built-in functions (function A101, function B102, function C103) that access the shared memory 300 as a master and perform finite read request destination throwing (Outstanding). Further, the data transfer device 100 is a device provided with an I / F control function 106 that serves as an access route to the shared memory 300 for a posted-write write request and a read request for the shared memory 300. In this embodiment, the data transfer device 200 is connected by an I / F that makes a posted-write write request. The I / F control function 106 is equipped with a Buf (speed buffering write data buffer) in order to improve the transfer efficiency of write data. The read / write transfer band arbitration unit 105 will be described in detail with reference to FIG.

データ転送装置200は、データ転送装置100から共有メモリ300へのリード/ライト要求を受け渡すI/F制御機能204と、共有メモリ300と接続するメモリコントローラ205とを備え、アービタ203を経由して共有メモリ300へアクセスする。アービタ203は、機能a201又は機能b202から共有メモリ300へのアクセス集中等の理由により、I/F制御機能204からメモリコントローラ205へのライトアクセスを待たせることがある。I/F制御機能204にはライトデータの転送効率化のため、Buf(速度緩衝用ライトデータバッファ)が搭載されている。 The data transfer device 200 includes an I / F control function 204 for passing a read / write request from the data transfer device 100 to the shared memory 300, and a memory controller 205 connected to the shared memory 300, via an arbiter 203. Access the shared memory 300. The arbiter 203 may wait for write access from the I / F control function 204 to the memory controller 205 due to reasons such as concentration of access from the function a201 or the function b202 to the shared memory 300. The I / F control function 204 is equipped with a Buffer (speed buffering write data buffer) in order to improve the transfer efficiency of write data.

図6は、第1の実施の形態におけるリードライト転送帯域調停部105の機能構成例を示す図である。図6は、図5に示されるリードライト転送帯域調停部105の詳細な機能を示したものである。 FIG. 6 is a diagram showing a functional configuration example of the read / write transfer band arbitration unit 105 according to the first embodiment. FIG. 6 shows the detailed function of the read / write transfer band arbitration unit 105 shown in FIG.

リードライト転送帯域調停部105は、データ転送装置100に内蔵され、フリップフロップ及びゲート回路によって構成されるワイヤードロジックにより実現されてもよい。データ転送装置100から出力されるライト要求、リード要求及びリードデータ(リードレスポンス)を中継し、リード要求とリードレスポンスとからリード要求先投げ数(Outstanding数)を常時監視し(Outstanding数計測部12)、リード先投げ数(Outstanding数)がデータ転送装置100及びデータ転送装置200のバッファ容量等から定まるハードウェア的な上限値を超えたときに、ライト要求を停止させる機能(リードライト転送調停部11及びライト要求転送部15)を持つ。 The read / write transfer band arbitration unit 105 may be built in the data transfer device 100 and may be realized by a wired logic composed of a flip-flop and a gate circuit. The write request, read request, and read data (read response) output from the data transfer device 100 are relayed, and the read request destination throwing number (output number) is constantly monitored from the read request and read response (Outstanding number measuring unit 12). ), A function to stop the write request (read / write transfer arbitration unit) when the number of read destination throws (output number) exceeds the hardware upper limit determined by the buffer capacity of the data transfer device 100 and the data transfer device 200. 11 and a write request transfer unit 15).

以下に各機能の動作について説明する。 The operation of each function will be described below.

Outstanding数計測部12は、リード要求転送部13から受信するリード要求転送情報と、リードデータ転送部14から受信するリードレスポンス転送情報とから、リード要求の先投げ数(Outstanding数)を計測する。リード要求は先投げ(Outsutanding)であるため、先に発行したリード要求に対応したリードデータが返ってくる前に、次のリード要求が発行されることがある。計測したOutstanding数情報は、リード要求転送部13からリード要求転送情報を受け取ったタイミング及びリードデータ転送部14からリードレスポンス転送情報を受け取ったタイミングでリードライト転送調停部11に通知する。 The Output number measuring unit 12 measures the number of forward throws (Outstanding number) of the read request from the read request transfer information received from the read request transfer unit 13 and the read response transfer information received from the read data transfer unit 14. Since the read request is outgoing, the next read request may be issued before the read data corresponding to the previously issued read request is returned. The measured Output number information is notified to the read / write transfer arbitration unit 11 at the timing when the read request transfer information is received from the read request transfer unit 13 and at the timing when the read response transfer information is received from the read data transfer unit 14.

リード要求転送部13は、アービタ104からI/F制御機能106に転送されるリード要求を、データ転送プロトコルを常時監視することで観測し、リード要求が転送される毎にリード要求転送情報としてOutstanding数計測部12に通知する。 The read request transfer unit 13 observes the read request transferred from the arbiter 104 to the I / F control function 106 by constantly monitoring the data transfer protocol, and every time the read request is transferred, it is monitored as read request transfer information. Notify the number measuring unit 12.

リードデータ転送部14は、I/F制御機能106からアービタ104に転送されるリードデータを、データ転送プロトコルを常時監視することで観測し、リードデータが転送される毎にリードレスポンス転送情報としてOutstanding数計測部12に通知する。 The read data transfer unit 14 observes the read data transferred from the I / F control function 106 to the arbiter 104 by constantly monitoring the data transfer protocol, and every time the read data is transferred, it is installed as read response transfer information. Notify the number measuring unit 12.

リードライト転送調停部11は、Outstanding数計測部12から通知されたOutstanding数情報がデータ転送装置100及びデータ転送装置200のバッファ容量等から定まるハードウェア的な上限値を超えている期間は、ライト要求をストップするよう、ライト要求転送部15にライト要求転送中断指示を出し続ける。 The read / write transfer arbitration unit 11 writes during the period in which the Output number information notified from the Output number measurement unit 12 exceeds the hardware upper limit value determined by the buffer capacities of the data transfer device 100 and the data transfer device 200. The write request transfer interruption instruction is continuously issued to the write request transfer unit 15 so as to stop the request.

ライト要求転送部15は、アービタ104からI/F制御機能106に転送されるライト要求を転送し、リードライト転送調停部11からライト要求転送中断指示が出ている間は、ライト要求の送出を一時的に停止させるよう機能する。 The write request transfer unit 15 transfers the write request transferred from the arbiter 104 to the I / F control function 106, and sends a write request while the read / write transfer arbitration unit 11 issues a write request transfer interruption instruction. It works to temporarily stop.

ライトデータ転送部16は、ライト要求転送部15同様に、リードライト転送調停部11からのライト要求転送中断指示を受けてライトデータ転送を中断するよう動作してもよい。 Like the write request transfer unit 15, the write data transfer unit 16 may operate to interrupt the write data transfer in response to the write request transfer interruption instruction from the read / write transfer arbitration unit 11.

図7は、第1の実施の形態におけるOutstanding数計測部12の動作を説明するためのフローチャートである。 FIG. 7 is a flowchart for explaining the operation of the Monitoring number measuring unit 12 in the first embodiment.

Outstanding数計測部12は、デバイスのリセットが解除されたらクロック(同期信号)毎にS01〜S08の動作を繰返す。動作の完了はシステムリセット又はデータ転送装置100に対する電源OFFであるため、エンドは図6に図示しない。 The Output number measuring unit 12 repeats the operations of S01 to S08 for each clock (synchronous signal) when the reset of the device is released. The end is not shown in FIG. 6 because the completion of the operation is a system reset or power off to the data transfer device 100.

ステップS01において、リード要求転送部13は、新しいリード要求の転送をしたか否か判定する。新しいリード要求の転送をしていた場合、ステップS02に進み(S01のYES)、新しいリード要求の転送をしていない場合、ステップS04に進む(S01のNO)。 In step S01, the read request transfer unit 13 determines whether or not a new read request has been transferred. If the new read request has been transferred, the process proceeds to step S02 (YES in S01), and if the new read request has not been transferred, the process proceeds to step S04 (NO in S01).

ステップS02において、リード要求転送部13は、リード要求転送情報をOutstanding数計測数12に通知する。続いて、Outstanding数計測部12は、リード要求転送部13から通知されたリード要求転送情報を元にリード要求先投げカウンタをカウントアップする(S03)。 In step S02, the read request transfer unit 13 notifies the reading request transfer information to the updating number measurement number 12. Subsequently, the Outstanding number measuring unit 12 counts up the read request destination throwing counter based on the read request transfer information notified from the read request transfer unit 13 (S03).

ステップS04において、リードデータ転送部14は、新たなリードデータの転送をしたか否かを判定する。新たなリードデータの転送をしていた場合、ステップS05に進み(S04のYES)、新たなリードデータの転送をしていない場合、ステップS07に進む(S04のNO)。 In step S04, the read data transfer unit 14 determines whether or not new read data has been transferred. If new read data has been transferred, the process proceeds to step S05 (YES in S04), and if no new read data has been transferred, the process proceeds to step S07 (NO in S04).

ステップS05において、リードデータ転送部14は、リードレスポンス転送情報をOutstanding数計測部12に通知する。続いて、Outstanding数計測部12は、リードデータ転送部14から受信したリードレスポンス転送情報を基にリード要求先投げカウンタをカウントダウンする(S06)。ここで、ステップS03において、リード要求先投げカウンタがカウントアップしていた場合、ステップS06において、リード要求先投げカウンタが、カウントダウンされることで、リード要求先投げカウンタは、プラスマイナスゼロとなり、カウンタ値は変わらない。 In step S05, the read data transfer unit 14 notifies the updating number measurement unit 12 of the read response transfer information. Subsequently, the Output number measuring unit 12 counts down the read request destination throwing counter based on the read response transfer information received from the read data transfer unit 14 (S06). Here, if the read request destination throw counter has been counted up in step S03, the read request destination throw counter is counted down in step S06, so that the read request destination throw counter becomes plus or minus zero, and the counter becomes counter. The value does not change.

ステップS07において、Outstanding数計測部12は、リード要求先投げカウンタの値をOutstanding数情報としてリードライト転送調停部11に通知する。 In step S07, the Output number measuring unit 12 notifies the read / write transfer arbitration unit 11 of the value of the read request destination throw counter as the Output number information.

ステップS08において、クロック(同期信号)入力待ちをして、ステップS01に戻る。 In step S08, the clock (synchronous signal) input is awaited, and the process returns to step S01.

図8は、第1の実施の形態におけるリードライト転送帯域調停部105の動作を説明するためのフローチャートである。リードライト転送調停部11は、デバイスのリセットが解除されたらクロック(同期信号)毎にS01〜S04の動作を繰返す。動作の完了はシステムリセット又はデータ転送装置100に対する電源OFFであるため、エンドは図7に図示しない。 FIG. 8 is a flowchart for explaining the operation of the read / write transfer band arbitration unit 105 in the first embodiment. The read / write transfer arbitration unit 11 repeats the operations of S01 to S04 for each clock (synchronization signal) when the reset of the device is released. The end is not shown in FIG. 7 because the completion of the operation is a system reset or power off to the data transfer device 100.

ステップS11において、Outstanding数計測部12から受信したOutstanding数は、リード要求先投げ数(Outstanding数)のバッファ容量等から定まるハードウェア的な上限値と等しいか否かを判定する。Outstanding数計測部12から受信したOutstanding数が、リード要求先投げ数の上限値と等しい場合、ステップS13に進み(S11のYES)、等しくない場合すなわち上限値未満である場合、ステップS12に進む(S11のNO)。 In step S11, it is determined whether or not the number of Outputs received from the Output number measuring unit 12 is equal to the upper limit value in terms of hardware determined from the buffer capacity of the number of read request destinations (the number of Outputs). If the number of Outputs received from the Output number measuring unit 12 is equal to the upper limit of the number of read request destination throws, the process proceeds to step S13 (YES in S11). NO of S11).

ステップS12において、ライト要求転送部15に対して、ライト要求転送中断指示をネゲートする。ライト要求転送中断指示が、以前からネゲートされていた場合は、ネゲートの出力を継続する。 In step S12, the write request transfer interruption instruction is negated to the write request transfer unit 15. If the write request transfer interruption instruction has been negated before, the output of the negate is continued.

ステップS13において、ライト要求転送部15に対して、ライト要求転送中断指示をアサートする。ライト要求転送中断指示が、以前からアサートされていた場合は、アサートの出力を継続する。 In step S13, the write request transfer interruption instruction is asserted to the write request transfer unit 15. If the write request transfer suspension instruction has been previously asserted, the asserted output is continued.

ステップS14において、リードライト転送帯域調停部105は、クロック(同期信号)入力待ちをして、ステップS01に戻る。 In step S14, the read / write transfer band arbitration unit 105 waits for a clock (synchronous signal) input and returns to step S01.

ライト要求転送部15は、ライト要求転送中断指示がアサートされている期間は、アービタ104から転送されるライト要求の転送を中断し、ネゲートされている期間のみライト要求の転送を実行する。 The write request transfer unit 15 suspends the transfer of the write request transferred from the arbiter 104 during the period in which the write request transfer interruption instruction is asserted, and executes the write request transfer only during the negated period.

上述のように、第1の実施の形態によれば、データ転送装置100は、リード要求先投げ数が、上限値に達している場合、ライト要求の転送を中断することで、転送帯域がライト要求過多の状態を防ぐことができる。すなわち、データ転送装置100は、リードレイテンシを低減させ、画像1ライン分のデータの転送を1ラインの所定の転送周期内で確実に完了させることができる。 As described above, according to the first embodiment, when the read request destination throwing number reaches the upper limit value, the data transfer device 100 interrupts the transfer of the write request, so that the transfer band is written. It is possible to prevent a state of excessive demand. That is, the data transfer device 100 can reduce the read latency and reliably complete the transfer of data for one image line within a predetermined transfer cycle of one line.

次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第1の実施の形態と同様でもよい。 Next, the second embodiment will be described. The second embodiment will explain the differences from the first embodiment. Therefore, the same as in the first embodiment may be used without particular mention.

図9は、第2の実施の形態におけるリードライト転送帯域調停部105の機能構成例を示す図である。 FIG. 9 is a diagram showing a functional configuration example of the read / write transfer band arbitration unit 105 according to the second embodiment.

第2の実施の形態においては、第1の実施の形態におけるリードライト転送帯域調停部105の機能に追加して、リードライト転送調停部11で実施するライト要求中断指示アサートを判断するリード要求先投げ数(Outstanding数)が、データ転送装置100のリセット解除後に、CPU1001から任意に設定可能とする機能が追加される。ライト要求の発行が過多となり、ライトデータ転送にかかる時間が増大することでリードレイテンシが増大し、その結果Outstanding数の増大が引き起こされる関係性から、Outstanding数がバッファ容量等から定まるハードウェア的な上限値に達する前に、任意のOutstanding数に達したところでライト要求の発行を抑制することで、リードレイテンシが増大した状態が続く期間を短縮することができる。最適なOutstanding数の閾値は、システム全体特にデータ転送装置200の特性と、システムの使用方法に依存するため、システムに応じてCPU1001から任意の値に設定できる機能を有することで、データ転送装置100の仕様を変更せずに、異なる複数のシステムに適応させることができる。 In the second embodiment, in addition to the function of the read / write transfer band arbitration unit 105 in the first embodiment, the read request destination for determining the write request interruption instruction assert to be performed by the read / write transfer arbitration unit 11. A function is added in which the number of throws (number of arbitrations) can be arbitrarily set from the CPU 1001 after the reset release of the data transfer device 100 is released. Since the number of write requests is excessive and the time required for write data transfer increases, the read latency increases, and as a result, the number of outputs is increased. Therefore, the number of outputs is determined by the buffer capacity, etc. in terms of hardware. By suppressing the issuance of write requests when an arbitrary number of monitoring is reached before the upper limit is reached, it is possible to shorten the period during which the read latency is increased. Since the threshold value of the optimum number of cuttings depends on the characteristics of the entire system, particularly the data transfer device 200, and the usage of the system, the data transfer device 100 has a function that can be set to an arbitrary value from the CPU 1001 according to the system. It can be adapted to multiple different systems without changing the specifications of.

図10は、第2の実施の形態におけるリードライト転送帯域調停部105の動作を説明するためのフローチャートである。 FIG. 10 is a flowchart for explaining the operation of the read / write transfer band arbitration unit 105 in the second embodiment.

ステップS21において、CPU1001は、電源ON御のデータ転送装置100のリセット解除後に、リードライト転送調停部11にライト要求転送の中断を判定する閾値となるOutstanding数を設定する。当該閾値となるOutstanding数は、任意の値が設定可能である。 In step S21, after the reset release of the data transfer device 100 for turning on the power is released, the CPU 1001 sets the read / write transfer arbitration unit 11 to the number of monitoring which is a threshold value for determining the interruption of the write request transfer. Any value can be set for the number of Outputs that is the threshold value.

続いて、Outstanding数計測部12から受信したOutstanding数は、ステップS21でCPU1001から設定されたOutstanding数の閾値と等しいか否かを判定する。Outstanding数計測部12から受信したOutstanding数が、当該閾値以上である場合、ステップS24に進み(S22のYES)、等しくない場合すなわち当該閾値未満である場合、ステップS23に進む(S22のNO)。 Subsequently, it is determined whether or not the number of Outputs received from the Output number measuring unit 12 is equal to the threshold value of the number of Outputs set from the CPU 1001 in step S21. If the number of Outputs received from the Output number measuring unit 12 is equal to or greater than the threshold value, the process proceeds to step S24 (YES in S22), and if they are not equal, that is, if the number is less than the threshold value, the process proceeds to step S23 (NO in S22).

ステップS23〜ステップS25は、図8に示されるステップS12〜ステップS14に相当し、動作は同様である。 Steps S23 to S25 correspond to steps S12 to S14 shown in FIG. 8, and the operation is the same.

上述のように、第2の実施の形態によれば、データ転送装置100は、リードライト転送帯域調停部105に、ライト要求の中断を判定する任意のOutstanding数の閾値を設定することができる。そのため、Outstanding数が当該閾値に達したところで、ライト要求の発行は抑制されて、リードレイテンシが増大した状態が続く期間を短縮することができる。 As described above, according to the second embodiment, the data transfer device 100 can set the read / write transfer band arbitration unit 105 to a threshold value of an arbitrary number of printings for determining the interruption of the write request. Therefore, when the number of Outputs reaches the threshold value, the issuance of the write request is suppressed, and the period in which the read latency is increased can be shortened.

次に、第3の実施の形態について説明する。第3の実施の形態では第2の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第2の実施の形態と同様でもよい。 Next, a third embodiment will be described. The third embodiment will explain the differences from the second embodiment. Therefore, the same as in the second embodiment may be used without particular mention.

図11は、第3の実施の形態におけるリードライト転送帯域調停部105の機能構成例を示す図である。 FIG. 11 is a diagram showing a functional configuration example of the read / write transfer band arbitration unit 105 according to the third embodiment.

第3の実施の形態においては、ライト要求カウント部17が、リード要求及びライト要求の発行を監視し、リード要求のある一定数分だけ転送された期間に発行されたライト要求の数を計測し、リードライト転送調停部11に通知する機能として追加される。また、ライト要求カウント部17は、ライト要求カウントを実行する期間を決定するリード要求数がCPU1001から設定される。また、リードライト転送調停部11は、ライト要求中断指示発行を判断するライト要求数の閾値がCPU1001から設定される。図11に示されるように、リード要求転送部13からリード要求転送情報が、ライト要求カウント部17に入力される。また、ライト要求転送部15からライト要求転送情報が、ライト要求カウント部17に入力される。また、ライト要求カウント部17は、リードライト転送調停部11に、ライト要求数を出力する。 In the third embodiment, the write request counting unit 17 monitors the issuance of read requests and write requests, and measures the number of write requests issued during a period in which a certain number of read requests are transferred. , Is added as a function to notify the read / write transfer arbitration unit 11. Further, in the write request counting unit 17, the number of read requests for determining the period for executing the write request count is set from the CPU 1001. Further, in the read / write transfer arbitration unit 11, the threshold value of the number of write requests for determining the issuance of the write request interruption instruction is set from the CPU 1001. As shown in FIG. 11, the read request transfer information is input from the read request transfer unit 13 to the write request count unit 17. Further, the write request transfer information is input from the write request transfer unit 15 to the write request count unit 17. Further, the write request counting unit 17 outputs the number of write requests to the read / write transfer arbitration unit 11.

CPU1001から設定されるライト要求カウントを実行する期間を決定するリード要求数を、例えば、4とした場合に、直近4個のリード要求が発行された期間に、ライト要求が発行された数をカウントし、ライト要求数としてリードライト転送調停部11に通知する。リードライト転送調停部11は、Outstanding数がCPU1001から設定された閾値より大きい条件で、ライト要求カウント部17からのライト要求数と、CPU1001から設定されたライト要求中断指示発行を判断するライト要求数の閾値とを比較して、ライト要求数が当該閾値と等しいか又は大きければ、ライト要求転送中断指示をアサートする。 When the number of read requests for determining the period for executing the write request count set by the CPU 1001 is, for example, 4, the number of write requests issued during the period when the latest 4 read requests are issued is counted. Then, the read / write transfer arbitration unit 11 is notified as the number of write requests. The read / write transfer arbitration unit 11 determines the number of write requests from the write request counting unit 17 and the number of write requests for determining the issuance of the write request interruption instruction set from the CPU 1001 under the condition that the number of outstandings is larger than the threshold value set by the CPU 1001. If the number of write requests is equal to or greater than the threshold value, the write request transfer interruption instruction is asserted.

なお、ライト要求カウントを実行する期間を決定するリード要求数は、CPU1001による設定値の代わりに、Outstanding数計測部12で計測したリード先投げ数(Outstanding数)をライト要求カウント部17に通知するパスを設けた上で、その時点でのリード先投げ数(Outstanding数)をリアルタイムに反映する方法で決定されてもよい。 As for the number of read requests that determine the period for executing the write request count, the write request count unit 17 is notified of the number of read destinations (the number of outputs) measured by the Output number measuring unit 12 instead of the set value by the CPU 1001. After providing a path, it may be determined by a method of reflecting the number of lead destination throws (Outstanding number) at that time in real time.

リードレイテンシの増大は、直近のライト要求の連続発行が原因である場合がある。CPU1001から設定される、ライト要求カウントを行なう期間を決定するリード要求数よりも、直近にライト要求を連続発行したことによって、リードレイテンシ増大が発生している場合に、ライト要求の転送を抑制することができ、また、当該転送を過剰に抑制することを防ぐこともできる。 The increase in read latency may be due to the continuous issuance of the most recent write request. Suppressing the transfer of write requests when the read latency is increased by continuously issuing write requests more recently than the number of read requests set by the CPU 1001 that determines the period for performing the write request count. It is also possible to prevent the transfer from being excessively suppressed.

図12は、第3の実施の形態におけるライト要求カウント部17の動作を説明するための図である。ライト要求カウント部17は、有限な個数、有限なカウンタ数を持ち、ワイヤードロジック回路で実装されてもよいし、プログラムがCPU1001に実行させる処理により実現されてもよい。 FIG. 12 is a diagram for explaining the operation of the write request counting unit 17 in the third embodiment. The write request counting unit 17 has a finite number and a finite number of counters, and may be implemented by a wired logic circuit, or may be realized by a process in which a program is executed by the CPU 1001.

図12に示される「カウンタ0」は、ライト要求転送部15から通知されるライト要求転送情報に基づいて、ライト要求の発行数をカウントアップしながら蓄積し、リード要求転送部13から通知されるリード要求転送情報に基づいて、リード要求が発行されるたびにカウンタ1に値をシフトし、0クリアされる。 The “counter 0” shown in FIG. 12 is accumulated while counting up the number of issued write requests based on the write request transfer information notified from the write request transfer unit 15, and is notified by the read request transfer unit 13. Based on the read request transfer information, the value is shifted to counter 1 each time a read request is issued, and 0 is cleared.

カウンタ1〜N−1は、リード要求が発行されるたびにカウンタ値を番号の大きなカウンタにシフトする。カウンタNはリード要求が発行されるたびにカウンタ値を破棄し、新たにカウンタN−1の値がシフトされる。 The counters 1 to N-1 shift the counter value to the counter having a larger number each time a read request is issued. The counter N discards the counter value each time a read request is issued, and the value of the counter N-1 is newly shifted.

ライト要求カウント部17は、CPU1001によって予め設定されたリード要求数分のカウンタの値を合計して、ライト要求数とし、リードライト転送調停部11に通知する。すなわち、ライト要求カウント部17が、リードライト転送調停部11に通知するライト要求数は、予め設定されたリード要求数が発行される期間ごとにカウントされ、当該期間に発行されるライト要求数に応じて変化する。 The write request counting unit 17 sums the counter values for the number of read requests preset by the CPU 1001 to obtain the number of write requests, and notifies the read / write transfer arbitration unit 11. That is, the number of write requests notified by the write request counting unit 17 to the read / write transfer arbitration unit 11 is counted for each period in which the preset number of read requests is issued, and the number of write requests issued in the period is counted. It changes accordingly.

図13は、第3の実施の形態におけるライト要求カウント部17の動作を説明するためのフローチャートである。ライト要求カウント部17は、データ転送装置100のリセットが解除されると、CPU1001によるカウント期間設定(リード要求数)が行なわれた後、クロック(同期信号)ごとにステップS32〜ステップS37の動作を繰り返す。動作の完了はシステムリセット又はデータ転送装置100に対する電源OFFであるため、エンドは図13に図示しない。 FIG. 13 is a flowchart for explaining the operation of the write request counting unit 17 in the third embodiment. When the reset of the data transfer device 100 is released, the write request counting unit 17 performs the operations of steps S32 to S37 for each clock (synchronous signal) after the count period setting (number of read requests) is performed by the CPU 1001. repeat. The end is not shown in FIG. 13 because the completion of the operation is a system reset or power off to the data transfer device 100.

ステップS31において、CPU1001は、電源ON後のデータ転送装置100のリセット解除後にライト要求カウント部17が保持するレジスタに、ライト要求発行数のカウント期間を決定するリード要求の発行数を設定する。当該リード要求の発行数は、任意の値が設定可能である。 In step S31, the CPU 1001 sets the number of read requests issued to determine the count period of the number of write requests issued in the register held by the write request counting unit 17 after the reset release of the data transfer device 100 after the power is turned on. Any value can be set for the number of issued read requests.

ステップS32において、リード要求転送部13から新たなリード要求発行を示すリード要求転送情報が通知された場合(S32のYES)、ライト要求カウント部17のカウンタ0〜Nは、各々のカウンタの値を番号が+1となるカウンタにシフトする。また、カウンタ0は、値が0クリアされ、カウンタNは、保持していた値を破棄し、カウンタN−1が保持していた値で上書きされ(ステップS33)、ステップS34に進む。リード要求転送部13から新たなリード要求発行を示すリード要求転送情報が通知されない場合(S32のNO)、ステップS34に進む。 In step S32, when the read request transfer information indicating the issuance of a new read request is notified from the read request transfer unit 13 (YES in S32), the counters 0 to N of the write request count unit 17 set the values of the respective counters. Shifts to a counter whose number is +1. Further, the value of the counter 0 is cleared to 0, the counter N discards the value held by the counter 0, the value held by the counter N-1 is overwritten (step S33), and the process proceeds to step S34. If the read request transfer information indicating that a new read request is issued is not notified from the read request transfer unit 13 (NO in S32), the process proceeds to step S34.

ステップS34において、ライト要求転送部15から新たなライト要求発行を示すライト要求転送情報が通知された場合(S34のYES)、ライト要求カウント部17は、保持しているカウンタ0の値をインクリメントして(ステップS35)ステップS36に進む。ライト要求転送部15から新たなライト要求発行を示すライト要求転送情報が通知されない場合(S34のNO)、ステップS36に進む。 In step S34, when the write request transfer information indicating that a new write request is issued is notified from the write request transfer unit 15 (YES in S34), the write request counting unit 17 increments the value of the held counter 0. (Step S35) The process proceeds to step S36. If the write request transfer information indicating that a new write request is issued is not notified from the write request transfer unit 15 (NO in S34), the process proceeds to step S36.

ステップS36において、ステップS31で設定されたリード要求数分のカウンタを足し合わせた値をライト要求数として、リードライト転送調停部11に通知する。 In step S36, the read / write transfer arbitration unit 11 is notified of the value obtained by adding the counters for the number of read requests set in step S31 as the number of write requests.

ステップS37において、ライト要求カウント部17は、クロック(同期信号)入力待ちを行い、ステップS32に戻る。 In step S37, the write request counting unit 17 waits for a clock (synchronous signal) input and returns to step S32.

図14は、第3の実施の形態におけるリードライト転送調停部11の動作を説明するためのフローチャートである。図10に示されるフローチャートに対して、図14に示されるステップS42、S45が追加される。 FIG. 14 is a flowchart for explaining the operation of the read / write transfer arbitration unit 11 in the third embodiment. Steps S42 and S45 shown in FIG. 14 are added to the flowchart shown in FIG.

ステップS41は、図10に示されるステップS21と同様である。ステップS42において、CPU1001は、電源ON後のデータ転送装置100のリセット解除後にライト要求転送の中断を判定する閾値となるライト要求転送数を設定する。当該閾値となるライト要求転送数は、任意の値が設定可能である。ステップS43は、図10に示されるステップS22と同様である。ステップS43がYESの場合、ステップS45に進み、NOの場合、ステップS44に進む。 Step S41 is the same as step S21 shown in FIG. In step S42, the CPU 1001 sets the number of write request transfers, which is a threshold value for determining the interruption of the write request transfer after the reset release of the data transfer device 100 after the power is turned on. Any value can be set for the number of write request transfers that is the threshold value. Step S43 is the same as step S22 shown in FIG. If YES in step S43, the process proceeds to step S45, and if NO, the process proceeds to step S44.

ステップS45において、ライト要求カウント部17から受信したライト要求発行数が、ステップS42において設定された閾値以上の場合(S45のYES)、ステップS46に進み、図10に示されるステップS24と同様に、ライト要求転送部15に対して、ライト要求転送中断指示をアサートして、ステップS47に進む。ライト要求転送中断指示が、以前からアサートされていた場合は、アサートの出力を継続する。一方、ライト要求カウント部17から受信したライト要求発行数が、ステップS42において設定された閾値未満の場合(S45のNO)、ステップS44に進み、ライト要求転送部15に対して、ライト要求転送中断指示をネゲートする。ライト要求転送中断指示が、以前からネゲートされていた場合は、ネゲートの出力を継続して、ステップS47に進む。ステップS47は、図10に示されるステップS25と同様である。 In step S45, when the number of write requests issued from the write request counting unit 17 is equal to or greater than the threshold value set in step S42 (YES in S45), the process proceeds to step S46, and similarly to step S24 shown in FIG. The write request transfer interruption instruction is asserted to the write request transfer unit 15, and the process proceeds to step S47. If the write request transfer suspension instruction has been previously asserted, the asserted output is continued. On the other hand, when the number of write requests issued from the write request counting unit 17 is less than the threshold value set in step S42 (NO in S45), the process proceeds to step S44, and the write request transfer is interrupted to the write request transfer unit 15. Negative instructions. If the write request transfer interruption instruction has been negated from before, the output of the negate is continued and the process proceeds to step S47. Step S47 is the same as step S25 shown in FIG.

上述のように、第3の実施の形態によれば、データ転送装置100は、ライト要求カウントを行なう期間を決定するリード要求数、及び、ライト要求転送の中断を判定する閾値となるライト要求転送数を設定することで、直近にライト要求を連続発行したことによって、リードレイテンシ増大が発生している場合に、ライト要求の転送を抑制することができ、また、当該転送を過剰に抑制することを防ぐように制御することもできる。 As described above, according to the third embodiment, the data transfer device 100 determines the number of read requests for determining the period for performing the write request count, and the write request transfer as a threshold value for determining the interruption of the write request transfer. By setting the number, it is possible to suppress the transfer of the write request when the read latency is increased by continuously issuing the write request in the latest, and it is possible to suppress the transfer excessively. It can also be controlled to prevent.

なお、第3の実施の形態において、ライトデータ転送をNon−Posted−Write方式とした場合は、図12に示されるシフト式のカウンタ群は不要であり、データ転送装置100は、1つのカウンタで、ライトが完了しておらずライトレスポンスが返ってきていないライト要求数、すなわちライト要求のOutstanding数を計測してもよい。当該計測によれば、バッファに蓄積されたライト要求数に基づいてデータ転送を制御することが可能となり、長期間の統計に基づくリード及びライトの転送帯域バランスの調停ができるようになる。 In the third embodiment, when the write data transfer is performed by the Non-Posted-Write method, the shift type counter group shown in FIG. 12 is unnecessary, and the data transfer device 100 uses only one counter. , The number of write requests for which the write has not been completed and the write response has not been returned, that is, the number of updating of the write request may be measured. According to the measurement, the data transfer can be controlled based on the number of write requests stored in the buffer, and the read / write transfer bandwidth balance can be arbitrated based on long-term statistics.

次に、第4の実施の形態について説明する。第4の実施の形態では第3の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第3の実施の形態と同様でもよい。 Next, a fourth embodiment will be described. The fourth embodiment will explain the differences from the third embodiment. Therefore, the same as in the third embodiment may be used without particular mention.

図15は、第4の実施の形態におけるリードライト転送帯域調停部105の機能構成例を示す図である。 FIG. 15 is a diagram showing a functional configuration example of the read / write transfer band arbitration unit 105 according to the fourth embodiment.

ライト要求カウント部17に対して、CPU1001がライト要求をカウントする上限期間を設定する機能が追加されている。また、ライト要求カウント部17にはライト要求をカウントする期間を制御する機能が追加されている。当該機能は、ライト要求カウント部17に、カウンタごとにリード要求発行時刻を保持するレジスタが設けられ、CPU1001によって設定されたライト要求をカウントする上限期間を超える過去のカウンタ値が破棄されて、上限期間を超えた過去の情報を参考にせずに、ライト要求数を判定する機能が新たに追加される。 A function has been added to the write request counting unit 17 to set an upper limit period for the CPU 1001 to count write requests. Further, a function for controlling a period for counting write requests has been added to the write request counting unit 17. In this function, the write request counting unit 17 is provided with a register for holding the read request issuance time for each counter, and the past counter value exceeding the upper limit period for counting write requests set by the CPU 1001 is discarded, and the upper limit is discarded. A new function to determine the number of write requests is added without referring to past information that exceeds the period.

当該機能により、リード要求を発行するマスタが動作しておらず、リード要求が全くなかった期間に蓄積されたライト要求のカウント値を、上限期間を設けることで排除することが出来るようになる。具体的には、リード要求のOutstanding数以下の範囲で、ライト要求数とリード要求数のバランスを制御するようリード要求の閾値を決めた場合には、レイテンシ期間が過ぎればいずれリード要求に対するリードレスポンスが返ってくるため、リードレイテンシは有限の期間となることが保証されるが、より長い期間でリード要求とライト要求のバランスを平均化するために、Outstanding数より大きな範囲でリード要求の閾値を決めた場合は、リード要求を発行するマスタが、そもそもリード要求を発行していない期間のライト要求数も計測し、調停制御に反映されてしまうことを防ぐことが出来るようになる。 With this function, the count value of the write request accumulated in the period when the master issuing the read request is not operating and there is no read request can be excluded by setting the upper limit period. Specifically, if the read request threshold is set so as to control the balance between the number of write requests and the number of read requests within the range of the number of Read requests that have been arbitrated or less, the read response to the read request will eventually expire after the latency period has passed. Is returned, so the read latency is guaranteed to be a finite period, but in order to average the balance between the read request and the write request over a longer period, the read request threshold is set in a range larger than the number of arbitrations. If it is decided, the master that issues the read request can also measure the number of write requests during the period when the read request is not issued in the first place and prevent it from being reflected in the arbitration control.

図16は、第4の実施の形態におけるライト要求カウント部17の動作を説明するための図である。ライト要求カウント部17は、有限な個数、有限なカウンタ数を持ち、ワイヤードロジック回路で実装されてもよいし、プログラムがCPU1001に実行させる処理により実現されてもよい。 FIG. 16 is a diagram for explaining the operation of the write request counting unit 17 in the fourth embodiment. The write request counting unit 17 has a finite number and a finite number of counters, and may be implemented by a wired logic circuit, or may be realized by a process in which a program is executed by the CPU 1001.

図16に示される「カウンタ0」〜「カウンタN」は、図12に示されるカウンタと同様であるが、さらに、リード要求発行時刻蓄積部をカウンタごとに有する。リード要求発行時刻は、リード要求転送部13から通知されるリード要求転送情報受信時の時刻を「カウンタ0」に対応する「リード要求発行時刻0」に記録し、カウンタ値と同様にリード要求が発行されるたびに番号の大きなカウンタにシフトする。リード要求発行時刻は、ライト要求をカウントする上限期間と比較され、上限期間を過ぎたカウンタは、そのカウンタ値を0クリアされる。したがって、リードライト転送調停部11に通知するライト要求数に対して、上限期間を過ぎたカウンタ値は0として加算されるため、ライト要求数に反映されなくなる。 “Counter 0” to “Counter N” shown in FIG. 16 are the same as the counters shown in FIG. 12, but further have a read request issuance time storage unit for each counter. As for the read request issuance time, the time when the read request transfer information notified from the read request transfer unit 13 is received is recorded in the "read request issuance time 0" corresponding to the "counter 0", and the read request is sent in the same manner as the counter value. Every time it is issued, it shifts to a counter with a large number. The read request issuance time is compared with the upper limit period for counting write requests, and the counter whose upper limit period has passed is cleared to 0. Therefore, the counter value that has passed the upper limit period is added as 0 to the number of write requests notified to the read / write transfer arbitration unit 11, and is not reflected in the number of write requests.

図17は、第4の実施の形態におけるライト要求カウント部17の動作を説明するためのフローチャートである。図13に示されるフローチャートに対して、図17に示されるステップS52、ステップS55及びステップS56が追加される。 FIG. 17 is a flowchart for explaining the operation of the write request counting unit 17 in the fourth embodiment. Step S52, step S55 and step S56 shown in FIG. 17 are added to the flowchart shown in FIG.

ステップS51は、ステップS31と同様である。ステップS52において、CPU1001は、ライト要求カウント部17にライト要求をカウントする上限期間を設定する。ステップS53は、ステップS32と同様である。ステップS54は、ステップS33と同様である。 Step S51 is the same as step S31. In step S52, the CPU 1001 sets an upper limit period for counting write requests in the write request counting unit 17. Step S53 is the same as step S32. Step S54 is the same as step S33.

ステップS55において、ライト要求カウント部17は、リード要求発行時刻が、ステップS52で設定された上限期間を超えたカウンタがあるか否かを判定する。上限期間を超えたカウンタがある場合(S55のYES)、当該カウンタの値を0クリアする(S56)。上限期間を超えたカウンタがない場合(S55のNO)、ステップS57に進む。 In step S55, the write request counting unit 17 determines whether or not there is a counter whose read request issuing time exceeds the upper limit period set in step S52. If there is a counter that exceeds the upper limit period (YES in S55), the value of the counter is cleared to 0 (S56). If there is no counter that exceeds the upper limit period (NO in S55), the process proceeds to step S57.

ステップS57〜ステップS60は、ステップS34〜ステップS37と同様である。 Steps S57 to S60 are the same as steps S34 to S37.

上述のように、第4の実施の形態によれば、データ転送装置100は、ライト要求のカウントを行う上限期間を設定することで、リード要求を発行するマスタが動作しておらず、リード要求が全くなかった期間が続いた場合に、過去蓄積されたライト要求のカウント値をクリアすることができる。すなわち、より長い期間でリード要求とライト要求のバランスを平均化するために、バッファ容量から定まるOutstanding数の上限値よりも大きな範囲で、ライト要求数を計測する期間を決定するリード要求数の閾値が設定された場合、リード要求を発行するマスタが、そもそもリード要求を発行していない期間のライト要求数も計測し、当該計測の結果が、調停制御に反映されてしまうことを防ぐことができる。 As described above, according to the fourth embodiment, in the data transfer device 100, the master that issues the read request is not operating by setting the upper limit period for counting the write request, and the read request is made. It is possible to clear the count value of the write request accumulated in the past when the period in which there was no is continued. That is, the threshold value of the number of read requests that determines the period for measuring the number of write requests in a range larger than the upper limit of the number of arbitrations determined from the buffer capacity in order to average the balance between the read request and the write request in a longer period. When is set, the master that issues the read request also measures the number of write requests during the period when the read request is not issued in the first place, and it is possible to prevent the measurement result from being reflected in the arbitration control. ..

なお、本発明の実施の形態において、共有メモリ300は、メモリの一例である。I/F制御機能106は、バッファの一例である。Outstanding数計測部12は、リード要求計測部の一例である。ライト要求カウント部17は、ライト要求計測部の一例である。ライト要求転送の中断を判定する閾値となるOutstanding数は、第1の値又は第3の値の一例である。ライト要求発行数のカウント期間を決定するリード要求の発行数は、第2の値の一例である。ライト要求転送の中断を判定する閾値となるライト要求転送数は、第4の値の一例である。 In the embodiment of the present invention, the shared memory 300 is an example of the memory. The I / F control function 106 is an example of a buffer. The Output number measuring unit 12 is an example of a read request measuring unit. The write request counting unit 17 is an example of a light request measuring unit. The number of Outputs that serves as a threshold value for determining the interruption of the write request transfer is an example of the first value or the third value. The number of read requests issued, which determines the count period for the number of write requests issued, is an example of the second value. The number of write request transfers, which is a threshold value for determining the interruption of the write request transfer, is an example of the fourth value.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such a specific embodiment, and various modifications are made within the scope of the gist of the present invention described in the claims.・ Can be changed.

100 データ転送装置
1001 CPU
1002 ROM
1003 RAM
1004 ワイヤードロジック回路
1005 インタフェース
101 機能A
102 機能B
103 機能C
104 アービタ
105 リードライト転送帯域調停部
106 I/F制御機能
200 データ転送装置
201 機能a
202 機能b
203 アービタ
204 I/F制御機能
205 メモリコントローラ
300 共有メモリ
11 リードライト転送調停部
12 Outstanding数計測部
13 リード要求転送部
14 リードデータ転送部
15 ライト要求転送部
16 ライトデータ転送部
17 ライト要求カウント部
100 Data transfer device 1001 CPU
1002 ROM
1003 RAM
1004 Wired logic circuit 1005 Interface 101 Function A
102 Function B
103 Function C
104 Arbiter 105 Read / write transfer band arbitrator 106 I / F control function 200 Data transfer device 201 Function a
202 function b
203 Arbiter 204 I / F control function 205 Memory controller 300 Shared memory 11 Read / write transfer mediation unit 12 Output number measurement unit 13 Read request transfer unit 14 Read data transfer unit 15 Write request transfer unit 16 Write data transfer unit 17 Write request count unit

特許第4878185号公報Japanese Patent No. 4878185

Claims (11)

リード要求及びライト要求を受信し、メモリにアクセスするインタフェースに転送する転送部と、
前記インタフェースに転送され、かつ前記メモリからデータの転送が完了していない前記リード要求の数である先投げ数を計測するリード要求計測部とを有し、
前記転送部は、前記先投げ数が第1の値以上となった時点から、前記インタフェースへの前記ライト要求の転送を、前記先投げ数が前記第1の値未満に減少するまで中断するデータ転送装置。
A transfer unit that receives read and write requests and transfers them to an interface that accesses memory.
It has a read request measuring unit that measures the number of forward throws, which is the number of read requests that have been transferred to the interface and the data transfer from the memory has not been completed.
The transfer unit interrupts the transfer of the write request to the interface from the time when the number of forward throws becomes equal to or greater than the first value until the number of forward throws decreases to less than the first value. Transfer device.
前記第1の値は、前記インタフェースが有するバッファの容量に基づく値である請求項1記載のデータ転送装置。 The data transfer device according to claim 1, wherein the first value is a value based on the capacity of the buffer of the interface. 前記第1の値は、任意の値が設定可能である請求項1記載のデータ転送装置。 The data transfer device according to claim 1, wherein the first value can be set to any value. 直近の第2の値の数の前記リード要求が転送された期間における、受信した前記ライト要求の数を計測するライト要求計測部をさらに有し、
前記転送部は、前記先投げ数が第3の値以上であり、かつ前記受信した前記ライト要求の数が第4の値以上である場合、前記ライト要求の転送を中断する請求項1乃至3いずれか一項記載のデータ転送装置。
Further having a write request measuring unit for measuring the number of received write requests during the period in which the read request of the number of the most recent second value was transferred.
Claims 1 to 3 that the transfer unit interrupts the transfer of the write request when the number of forward throws is the third value or more and the number of the received write requests is the fourth value or more. The data transfer device according to any one of the above.
前記第3の値は、前記インタフェースが有するバッファの容量に基づく値である請求項4記載のデータ転送装置。 The data transfer device according to claim 4, wherein the third value is a value based on the capacity of the buffer of the interface. 前記第3の値は、任意の値が設定可能である請求項4記載のデータ転送装置。 The data transfer device according to claim 4, wherein the third value can be set to any value. 前記第2の値は、前記先投げ数に基づく値である請求項4記載のデータ転送装置。 The data transfer device according to claim 4, wherein the second value is a value based on the number of forward throws. 前記第2の値は、任意の値が設定可能である請求項4乃至7いずれか一項記載のデータ転送装置。 The data transfer device according to any one of claims 4 to 7, wherein the second value can be set to any value. 前記第4の値は、任意の値が設定可能である請求項4乃至8いずれか一項記載のデータ転送装置。 The data transfer device according to any one of claims 4 to 8, wherein the fourth value can be set to any value. 前記ライト要求計測部は、前記直近の第2の値の数の前記リード要求のうち、転送された時刻が上限期間を超えない前記リード要求が転送された期間に受信した前記ライト要求の数を計測する請求項4乃至9いずれか一項記載のデータ転送装置。 The write request measuring unit determines the number of the write requests received during the period in which the read request was transferred, among the read requests having the number of the latest second values, in which the transferred time does not exceed the upper limit period. The data transfer device according to any one of claims 4 to 9 for measurement. リード要求及びライト要求を受信し、メモリにアクセスするインタフェースに転送する手順と、
前記インタフェースに転送され、かつ前記メモリからデータの転送が完了していない前記リード要求の数である先投げ数を計測する手順と、
前記先投げ数が第1の値以上となった時点から、前記インタフェースへの前記ライト要求の転送を、前記先投げ数が前記第1の値未満に減少するまで中断する手順とを実行するデータ転送方法。
The procedure for receiving read and write requests and forwarding them to an interface that accesses memory,
A procedure for measuring the number of forward throws, which is the number of read requests that have been transferred to the interface and the data transfer from the memory has not been completed, and the procedure.
Data for executing a procedure of suspending the transfer of the write request to the interface from the time when the number of first throws becomes equal to or more than the first value until the number of first throws decreases to less than the first value. Transfer method.
JP2017117249A 2017-06-14 2017-06-14 Data transfer device and data transfer method Active JP6981057B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017117249A JP6981057B2 (en) 2017-06-14 2017-06-14 Data transfer device and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017117249A JP6981057B2 (en) 2017-06-14 2017-06-14 Data transfer device and data transfer method

Publications (2)

Publication Number Publication Date
JP2019003384A JP2019003384A (en) 2019-01-10
JP6981057B2 true JP6981057B2 (en) 2021-12-15

Family

ID=65008052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017117249A Active JP6981057B2 (en) 2017-06-14 2017-06-14 Data transfer device and data transfer method

Country Status (1)

Country Link
JP (1) JP6981057B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7425569B2 (en) 2019-09-20 2024-01-31 キヤノン株式会社 Imaging apparatus, device, control method and program
JP2022134218A (en) * 2021-03-03 2022-09-15 オムロン株式会社 Control device and data transfer method

Also Published As

Publication number Publication date
JP2019003384A (en) 2019-01-10

Similar Documents

Publication Publication Date Title
US10241721B2 (en) Image processing device and image processing method
JP5270077B2 (en) Arbitration circuit, crossbar, request selection method, and information processing apparatus
US7861024B2 (en) Providing a set aside mechanism for posted interrupt transactions
WO2011089660A1 (en) Bus arbitration device
JP5722264B2 (en) Data processing apparatus and data capacity increase suppressing method
US7111092B1 (en) Buffer management technique for a hypertransport data path protocol
US10078470B2 (en) Signal transfer device that maintains order of a read request and write request in posted write memory access
US8775549B1 (en) Methods, systems, and computer program products for automatically adjusting a data replication rate based on a specified quality of service (QoS) level
US7117308B1 (en) Hypertransport data path protocol
US20160062930A1 (en) Bus master, bus system, and bus control method
JP2009540681A (en) Apparatus and method for data communication flow control
JP5591729B2 (en) Select priority of trace data
JP6981057B2 (en) Data transfer device and data transfer method
JP7142741B2 (en) Data transfer device and data transfer method
US20050038946A1 (en) System and method using a high speed interface in a system having co-processors
KR20200036010A (en) Adaptive service quality control circuit
CN113791892A (en) Data path arbitration method, data path arbitration device and chip
CN115004163A (en) Apparatus and method for managing packet transfers across a memory fabric physical layer interface
US10705985B1 (en) Integrated circuit with rate limiting
JP4850504B2 (en) Signal processing apparatus, imaging apparatus, and data transfer method
JP5293516B2 (en) Data transfer device, data transfer control method, data transfer control program, and recording medium
EP3328009B1 (en) Method and apparatus for detecting message backpressure
US7917706B1 (en) SDRAM controller
JP4504737B2 (en) Performance monitor circuit
US20100299461A1 (en) Information processing apparatus and image forming apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211101

R151 Written notification of patent or utility model registration

Ref document number: 6981057

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151