JP5332692B2 - Data transfer control device, data transfer control method, data transfer control program, and recording medium - Google Patents

Data transfer control device, data transfer control method, data transfer control program, and recording medium Download PDF

Info

Publication number
JP5332692B2
JP5332692B2 JP2009032213A JP2009032213A JP5332692B2 JP 5332692 B2 JP5332692 B2 JP 5332692B2 JP 2009032213 A JP2009032213 A JP 2009032213A JP 2009032213 A JP2009032213 A JP 2009032213A JP 5332692 B2 JP5332692 B2 JP 5332692B2
Authority
JP
Japan
Prior art keywords
data transfer
transfer request
internal buffer
request
data
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.)
Expired - Fee Related
Application number
JP2009032213A
Other languages
Japanese (ja)
Other versions
JP2010191492A (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 JP2009032213A priority Critical patent/JP5332692B2/en
Publication of JP2010191492A publication Critical patent/JP2010191492A/en
Application granted granted Critical
Publication of JP5332692B2 publication Critical patent/JP5332692B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data transfer control device, a data transfer control method, a data transfer control program and a recording medium for efficiently performing data transfer. <P>SOLUTION: In an image processing apparatus 1, when a data transfer request is made from a plurality of DMAC 20a to 50a through a main CPU 3, an internal arbiter 70 controls the permission/non-permission of data transfer to fairly permit data transfer only in a prescribed transfer period in response to the data transfer request, and after the lapse of the transfer period of the permitted data transfer, when controlling mask processing for masking the data transfer from the DMAC 20a to 50a only in a mask period, obtains the data quantity of the internal buffer of the main CPU 3 in each flow control processing time, and determines the data transfer situations by the main CPU 3 based on the obtained data amounts of the internal buffer, and controls the mask processing based on the determination result. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は、データ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に関し、詳細には、データ転送を効率的に行うデータ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に関する。   The present invention relates to a data transfer control device, a data transfer control method, a data transfer control program, and a recording medium, and more specifically, a data transfer control device, a data transfer control method, a data transfer control program, and a recording that efficiently perform data transfer. It relates to the medium.

近年、データを取り扱う装置、例えば、複合装置、プリンタ装置、複写装置、スキャナ装置、ファクシミリ装置等の画像処理装置においては、スキャナユニット、プリンタユニット及びメインメモリを有するコントローラ等の各ユニットを汎用バスで接続してインターフェイスを共通化することで、ユニットの拡張等における無駄な回路や制御ソフトの増加を抑制し、また、拡張性を向上させることが行われている。   In recent years, in an image processing apparatus such as a composite apparatus, a printer apparatus, a copying apparatus, a scanner apparatus, and a facsimile apparatus that handle data, each unit such as a scanner unit, a printer unit, and a controller having a main memory is connected with a general-purpose bus. By connecting and sharing an interface, an increase in useless circuits and control software in expansion of a unit or the like is suppressed, and expandability is improved.

ところが、このようなバスシステムを用いた画像処理装置においては、スキャナユニットで原稿の画像データを読み取る画像読み取り時やプリンタユニットで画像データに基づいて画像を印刷出力する印刷出力時及びスキャナユニットで読み取った画像データをプリンタユニットで印刷出力するコピー時には、スキャナユニットやプリンタユニットが一定速度で動作する必要があるため、スキャナユニットやプリンタユニットとコントローラのメインメモリとの間で一定量のデータをバスを介して転送する必要があり、一時的にバストラフィックが著しく増加する。この現象は、高速機ほど顕著になる。   However, in such an image processing apparatus using a bus system, the scanner unit reads the image data of the document, the printer unit prints the image based on the image data, and the scanner unit reads the image data. When copying the printed image data with the printer unit, the scanner unit or printer unit must operate at a constant speed, so a certain amount of data is routed between the scanner unit or printer unit and the main memory of the controller. The bus traffic temporarily increases significantly. This phenomenon becomes more prominent with high-speed machines.

そして、画像処理装置においては、上記汎用バスは、IEEE1394やUSB(Universal Serial Bus)等の通信系の外部IF(インターフェース)を接続することも可能であり、このような外部IFを介して、SDカード(Secure Digital memory card)やUSBデバイス等の外部機器及びネットワークとの間でデータを送受信することが一般的に行われている。   In the image processing apparatus, the general-purpose bus can be connected to an external IF (interface) of a communication system such as IEEE1394 or USB (Universal Serial Bus). In general, data is transmitted / received to / from an external device such as a card (Secure Digital memory card) or a USB device and a network.

このように汎用バスに、スキャナユニット、プリンタユニット、通信系インターフェースデバイス等がマスタデバイスとして複数存在する画像処理装置の構成においては、上記汎用バスは、アービタを内蔵するメインCPUを介してメインメモリと接続されており、アービタのバス調停方法が重要となるが、従来、このバスの調停方法として、固定優先順位方式やラウンドロビン方式等が一般的に用いられている。この固定優先順位方式は、複数のマスタデバイスからバス要求が同時に発生した場合に、予め固定的に設定されているマスタデバイスの優先順位に従って優先順位の高い方にバス使用権を与える方法である。ラウンドロビン方式は、優先順位が固定ではなく、バス使用権を獲得したマスタデバイスに対しては、そのバス使用権獲得直後に優先順位を最下位に設定して、全体として公平にバス使用権を調停する方法である。 In the configuration of the image processing apparatus in which a plurality of scanner units, printer units, communication interface devices, and the like exist as master devices in the general-purpose bus in this way, the general-purpose bus is connected to the main memory via the main CPU incorporating the arbiter. The bus arbitration method of the arbiter is important, but conventionally, a fixed priority method, a round robin method, or the like is generally used as the bus arbitration method. This fixed priority ordering method is a method in which when a bus request is simultaneously generated from a plurality of master devices, the right to use the bus is given to the higher priority order according to the priority order of the master device that is fixedly set in advance. In the round robin method, the priority order is not fixed. For the master device that has acquired the right to use the bus, the priority order is set to the lowest immediately after acquiring the right to use the bus. It is a method of mediation.

これらの従来のバス調停方式には、それぞれ長所、短所がある。例えば、固定優先順位方式は、優先順位が高いマスタデバイスにはバス獲得が常に保証されて優位であるが、優先順位の低いマスタデバイスは自分より優先順位の高いマスタデバイスからの要求がある限りバスの使用権を獲得することができない状況が発生するという短所がある。   Each of these conventional bus arbitration methods has advantages and disadvantages. For example, the fixed priority method has an advantage that a master device with a higher priority is always guaranteed to acquire a bus, but a master device with a lower priority has a higher priority than a master device with a higher priority than itself. There is a disadvantage that a situation in which the right to use cannot be obtained occurs.

また、ラウンドロビン方式は、全てのマスタデバイスに対して公平にバス獲得の調停を行うことができるという長所はあるが、逆にバスの使用率を各マスタデバイス毎に転送データ量、密度等に応じて異ならせたい場合には不向きであるという短所がある。   In addition, the round robin method has the advantage that arbitration of bus acquisition can be performed fairly for all master devices, but conversely, the bus usage rate is reduced to the transfer data amount, density, etc. for each master device. There is a disadvantage that it is not suitable when you want to make it different depending on the situation.

特に、ラウンドロビン方式は、本来バス自体の有するデータ転送能力(バス幅×所定バス幅当たりのデータの転送時間)が、入力画像コントローラ(スキャナユニット)、出力画像コントローラ(プリンタユニット)等のデバイス(ユニット)が動作しているときに転送しなければならないデータ量に対して限界に近いほど、不都合が発生するおそれがある。   In particular, in the round robin method, the data transfer capability inherent to the bus itself (bus width × data transfer time per predetermined bus width) is a device such as an input image controller (scanner unit) or an output image controller (printer unit) ( The closer the limit is to the amount of data that must be transferred when the unit is operating, the more inconvenience may arise.

すなわち、スキャナユニットは、読み取った画像に順次画像処理を行いながら画像データをメインメモリへ転送する必要があり、必ずその帯域を確保する必要がある。また、プリンタユニットは、電子写真方式の場合、感光体ドラムにレーザで書き込みながら画像データをメインメモリから転送する必要があり、必ずその帯域を確保する必要がある。さらに、外部IFは、例えば、ネットワークからデータを受信する場合、一旦受信を開始すると、受信したネットワークパケットをメインメモリに転送して一定時間内に応答する必要があり、必ずその帯域を確保する必要がある。   That is, the scanner unit needs to transfer image data to the main memory while sequentially performing image processing on the read image, and it is necessary to ensure the bandwidth. Further, in the case of the electrophotographic system, the printer unit needs to transfer image data from the main memory while writing to the photosensitive drum with a laser, and it is necessary to ensure the bandwidth. Furthermore, for example, when receiving data from the network, the external IF must start receiving once it has to transfer the received network packet to the main memory and respond within a certain time. There is.

そして、画像処理装置におけるデータ転送は、一般的に、DMA(Direct Memory Access)データ転送方式が用いられている。また、バス接続としては、一般的に、メインCPUの内蔵するアービタが担っており、ラウンドロビン方式で動作するアービタが、スキャナユニットやプリンタユニットのデータ転送を優先して確保できるような技術が要望される。   In general, a DMA (Direct Memory Access) data transfer method is used for data transfer in the image processing apparatus. In addition, the bus connection is generally handled by the arbiter built in the main CPU, and there is a demand for a technology that allows the arbiter operating in the round robin method to secure data transfer of the scanner unit and printer unit with priority. Is done.

そこで、従来、ラウンドロビン方式のバスアービタにおいて、特定事象発生時の第1のバスマスタ以外の優先度の低いバスマスタからのバス獲得要求に対して、バス使用権を与えた後の次のバス獲得要求を一定期間マスクすることで、バスの使用頻度を一時的に低下させて、第1のバスマスタのデータ転送効率を確保する技術が提案されている(特許文献1参照)。すなわち、この従来技術は、外部IFからの転送要求に対してバス使用権を与えると、次のバス獲得要求を一定期間マスクすることで、スキャナユニットやプリンタユニットのデータ転送を優先して確保しようとしている。   Therefore, in the conventional round-robin bus arbiter, in response to a bus acquisition request from a low-priority bus master other than the first bus master when a specific event occurs, the next bus acquisition request after giving the bus use right is issued. A technique has been proposed in which the frequency of bus use is temporarily reduced by masking for a certain period to ensure the data transfer efficiency of the first bus master (see Patent Document 1). That is, in this prior art, when a bus use right is given to a transfer request from an external IF, the next bus acquisition request is masked for a certain period, so that data transfer of the scanner unit or printer unit is given priority. It is said.

しかしながら、上記従来技術にあっては、優先度の低いバスマスタにデータ転送を許可すると、単に次の一定期間マスクするのみであるため、効率的なバス獲得の調停(即ち、バス制御)を行って、効率的なデータ転送を行う上で改良の必要があった。 However, in the above prior art, if data transfer is permitted to a bus master with a low priority, it is simply masked for the next fixed period, so efficient bus acquisition arbitration (ie, bus control) is performed. There was a need for improvements in efficient data transfer.

すなわち、従来技術にあっては、全てのマスタデバイスに対して公平にバス獲得の調停を行うラウンドロビン方式において、優先度の低いバスマスタ、例えば、外部IFに複数のデバイスが接続されて各デバイスからのバス獲得要求に対してラウンドロビン方式でバス使用権を与えた後に、スキャナユニットやプリンタユニットによるバス帯域を確保するために、該バス使用権を与えたデバイスに対してマスク期間を設定する。ところが、1ラウンドロビンで転送できるデータ量は決まっているため、外部IFのデバイスからメインメモリに転送するデータ量がこの1ラウンドロビンで転送できるデータ量を超えているときには、外部IFのデバイスから複数回のバス獲得要求を行うこととなる。しかし、1回バス使用権が与えられて1ラウンドロビンデータ転送を行うと、マスク期間に入り、このマスク期間に、例えば、ディスクリプタ転送等のような使用バス帯域の狭いバス転送に対するバス獲得要求に対してバス使用権が与えられると、このバス使用権の1ラウンドロビンのバス転送が終了するまで、他にバス獲得要求がない場合であっても、外部IFのデバイスに対してバス使用権が与えられない。そして、使用バス帯域の狭いバス転送の1ラウンドのバス転送が終了したときに、外部IFからバス獲得要求を行ってバス使用権を獲得しても、1ラウンドロビンのバス転送が終了すると、再度、マスク期間に入るというバス転送が繰り返されることとなる。その結果、効率的なバス獲得の調停を行って、効率的なデータ転送を行う上で改良の必要があるとともに、メインCPUが内蔵するアービタが、該外部IFから転送されるデータを保持するだけの内部バッファを必要とし、コストが高くつくという問題があった。   That is, in the prior art, in a round robin method in which arbitration of bus acquisition is performed fairly for all master devices, a plurality of devices are connected to a low-priority bus master, for example, an external IF. In order to secure the bus bandwidth by the scanner unit or the printer unit, a mask period is set for the device to which the bus use right is given. However, since the amount of data that can be transferred in one round robin is determined, when the amount of data transferred from the external IF device to the main memory exceeds the amount of data that can be transferred in this one round robin, a plurality of data can be transferred from the external IF device. There will be one bus acquisition request. However, once the right to use the bus is granted and one round-robin data transfer is performed, a mask period starts. During this mask period, for example, a bus acquisition request for a bus transfer with a narrow bus bandwidth used, such as descriptor transfer, is made. When the right to use the bus is given, the right to use the bus is granted to the external IF device even if there is no other bus acquisition request until one round-robin bus transfer of the right to use the bus is completed. Not given. When one round of bus transfer with a narrow bus bandwidth is completed, a bus acquisition request is obtained from the external IF and the right to use the bus is acquired. The bus transfer of entering the mask period is repeated. As a result, there is a need for improvement in performing efficient data acquisition by arbitrating for efficient bus acquisition, and the arbiter built in the main CPU only holds the data transferred from the external IF. The internal buffer is required and the cost is high.

そこで、本発明は、安価かつより効率的なラウンドロビン方式でのデータ転送を行うことのできるデータ転送装置、データ転送方法、データ転送プログラム及び記録媒体を提供することを目的としている。   SUMMARY An advantage of some aspects of the invention is that it provides a data transfer device, a data transfer method, a data transfer program, and a recording medium that are capable of performing data transfer in a cheap and more efficient round robin method.

記目的を達成するため、本発明のデータ転送制御装置は、記憶手段と、前記記憶手段と接続されると共に、第1の内部バッファを有し、当該第1の内部バッファを利用したデータ転送を制御するデータ転送制御手段と、外部とのデータ転送に係るデータ転送要求を行う複数のデータ転送要求手段と、前記複数のデータ転送要求手段の何れかからの前記データ転送要求に対して、当該データ転送要求を所定期間許可又は不許可とする制御を行うデータ転送要求制御手段と、前記データ転送制御手段とバス接続され、前記第1の内部バッファのデータ量を取得して保存する第2の内部バッファを有する転送インターフェイス手段と、を備えたデータ転送制御装置であって、前記データ転送要求制御手段は、前記外部からのデータ転送要求が前記記憶手段との間のデータ転送に係る要求である場合に、前記第1の内部バッファの空き状況を前記第2の内部バッファに取得して保存した当該第1の内部バッファの変化量に基づいて判断し、当該第1の内部バッファの空き容量が十分であると判断したときに当該データ転送要求を許可して当該記憶手段との間のデータを前記転送インターフェイス手段を介して転送し、当該第1の内部バッファの空き容量が十分でないと判断したときに当該データ転送要求を不許可とすることを特徴とするTo achieve the above Symbol purpose, the data transfer control device of the present invention includes a storage unit, is connected to the storage means, having a first internal buffer, the data transfer using the first internal buffer A data transfer control means for controlling the data transfer, a plurality of data transfer request means for making a data transfer request for data transfer with the outside, and in response to the data transfer request from any of the plurality of data transfer request means, A data transfer request control means for performing control for permitting or not permitting a data transfer request for a predetermined period, and a second bus connected to the data transfer control means for acquiring and storing the data amount of the first internal buffer A transfer interface unit having an internal buffer, wherein the data transfer request control unit is configured to receive the data transfer request from the outside. Based on the amount of change in the first internal buffer obtained and stored in the second internal buffer when the request relates to data transfer with the storage means Determining that when the free space in the first internal buffer is sufficient, permitting the data transfer request and transferring data to and from the storage means via the transfer interface means, space of one internal buffer, characterized in that disallowed the data transfer request when it is judged not to be sufficient.

また、本発明のデータ転送制御方法は、記憶手段と接続されると共に、第1の内部バッファを有するデータ転送制御手段により、当該第1の内部バッファを利用したデータ転送を制御するデータ転送制御処理ステップと、複数のデータ転送要求手段により、外部とのデータ転送に係るデータ転送要求を行う複数のデータ転送要求処理ステップと、データ転送要求制御手段により、前記複数のデータ転送要求手段の何れかからの前記データ転送要求に対して、当該データ転送要求を所定期間許可又は不許可とする制御を行うデータ転送要求制御処理ステップと、前記データ転送制御手段とバス接続された転送インターフェイス手段の第2の内部バッファにより、前記第1の内部バッファのデータ量を取得して保存する転送インターフェイス処理ステップと、を有し、前記データ転送要求制御処理ステップでは、前記外部からのデータ転送要求が前記記憶手段との間のデータ転送に係る要求である場合に、前記第1の内部バッファの空き状況を前記第2の内部バッファに取得して保存した当該第1の内部バッファの変化量に基づいて判断し、当該第1の内部バッファの空き容量が十分であると判断したときに当該データ転送要求を許可して当該記憶手段との間のデータを前記転送インターフェイス手段を介して転送し、当該第1の内部バッファの空き容量が十分でないと判断したときに当該データ転送要求を不許可とすることを特徴とする The data transfer control method of the present invention is a data transfer control process for controlling data transfer using the first internal buffer by the data transfer control means connected to the storage means and having the first internal buffer. A plurality of data transfer request processing steps for making a data transfer request related to data transfer with the outside by a plurality of data transfer request means, and a data transfer request control means from any one of the plurality of data transfer request means In response to the data transfer request, a data transfer request control processing step for performing control for permitting or not permitting the data transfer request for a predetermined period of time, and a second of the transfer interface means bus-connected to the data transfer control means Transfer interface processing for acquiring and storing the data amount of the first internal buffer by an internal buffer In the data transfer request control processing step, when the external data transfer request is a request related to data transfer with the storage means, the free state of the first internal buffer Is determined based on the change amount of the first internal buffer acquired and stored in the second internal buffer, and the data transfer request is determined when it is determined that the free space of the first internal buffer is sufficient. Is permitted and data is transferred to and from the storage means via the transfer interface means, and the data transfer request is not permitted when it is determined that the free space of the first internal buffer is not sufficient. It is characterized by .

に、本発明のデータ転送制御プログラムは、コンピュータにより実行させるデータ転送制御プログラムであって、記憶手段と接続されると共に、第1の内部バッファを有するデータ転送制御手段により、当該第1の内部バッファを利用したデータ転送を制御するデータ転送制御処理ステップの手順と、複数のデータ転送要求手段により、外部とのデータ転送に係るデータ転送要求を行う複数のデータ転送要求処理ステップの手順と、データ転送要求制御手段により、前記複数のデータ転送要求手段の何れかからの前記データ転送要求に対して、当該データ転送要求を所定期間許可又は不許可とする制御を行うデータ転送要求制御処理ステップの手順と、前記データ転送制御手段とバス接続された転送インターフェイス手段の第2の内部バッファにより、前記第1の内部バッファのデータ量を取得して保存する転送インターフェイス処理ステップの手順と、を有し、前記データ転送要求制御処理ステップの手順では、前記外部からのデータ転送要求が前記記憶手段との間のデータ転送に係る要求である場合に、前記第1の内部バッファの空き状況を前記第2の内部バッファに取得して保存した当該第1の内部バッファの変化量に基づいて判断し、当該第1の内部バッファの空き容量が十分であると判断したときに当該データ転送要求を許可して当該記憶手段との間のデータを前記転送インターフェイス手段を介して転送し、当該第1の内部バッファの空き容量が十分でないと判断したときに当該データ転送要求を不許可とすることを特徴とする Further, the data transfer control program of the present invention provides a data transfer control program executed by a computer, is connected with the storage means, the data transfer control means having a first internal buffer, internal the first A data transfer control processing step procedure for controlling data transfer using a buffer, a plurality of data transfer request processing step procedures for making a data transfer request for data transfer with the outside by a plurality of data transfer request means, and data Procedure of a data transfer request control processing step for performing control for permitting or not permitting the data transfer request for a predetermined period in response to the data transfer request from any of the plurality of data transfer requesting means by the transfer request control means And a second internal buffer of the transfer interface means bus-connected to the data transfer control means. And a transfer interface processing step procedure for acquiring and storing the data amount of the first internal buffer, and in the procedure of the data transfer request control processing step, the data transfer request from the outside is Based on the change amount of the first internal buffer acquired and stored in the second internal buffer when the request is related to data transfer with the storage means. Determining that when the free space in the first internal buffer is sufficient, permitting the data transfer request and transferring data to and from the storage means via the transfer interface means, space of one internal buffer, characterized in that disallowed the data transfer request when it is judged not to be sufficient.

加えて、本発明の記録媒体は、上記データ転送制御プログラムにおける各ステップの手順をコンピュータが読み取り可能に記録したことを特徴とする In addition, the recording medium of the present invention is characterized in that the procedure of each step the computer is capable of recording read at the data transfer control program.

本発明によれば、データ転送要求制御手段によって、外部からのデータ転送要求によりデータ転送制御手段を介して記憶手段とのデータ転送を行う場合に、データ転送制御手段の第1の内部バッファとデータ転送制御手段に対してバス接続されて第1の内部バッファのデータ量を取得して保存する転送インターフェイス手段の第2の内部バッファの変化量に基づいてデータ転送要求の許可、不許可を制御するため、データ転送状況をより適切に把握して制御することができ、安価かつより効率的なデータ転送を行うことができる。 According to the present invention, when the data transfer request control means performs data transfer with the storage means via the data transfer control means in response to an external data transfer request, the data transfer request control means includes the first internal buffer and the data Based on the change amount of the second internal buffer of the transfer interface means, which is connected to the transfer control means by a bus and acquires and stores the data amount of the first internal buffer, the permission / non-permission of the data transfer request is controlled. Therefore, it can be controlled by grasping the data transfer status better, can be performed cheaper and more efficient data transfer.

本発明の一実施例を適用した画像処理装置のブロック構成図。1 is a block diagram of an image processing apparatus to which an embodiment of the present invention is applied. 外部IFASICの詳細なブロック構成図。The detailed block block diagram of external IFASIC. メインCPUと外部IFASICのバス接続の説明図。Explanatory drawing of the bus connection of main CPU and external IFASIC. DMAライト処理を示すフローチャート。The flowchart which shows a DMA write process. DMAリード処理を示すフローチャート。The flowchart which shows a DMA read process. ディスクリプタのフォーマットの一例を示す図。The figure which shows an example of the format of a descriptor. 転送要求マスク処理のタイミング図。FIG. 6 is a timing diagram of transfer request mask processing. マスク制御処理を示すフローチャート。The flowchart which shows a mask control process. 転送要求がディスクリプタに関する場合にマスク解除するときのタイミング図。FIG. 6 is a timing chart when unmasking when a transfer request relates to a descriptor. メモリ帯域に空きがある場合にマスクを解除するときのタイミング図。FIG. 6 is a timing chart when canceling the mask when there is a free memory bandwidth.

以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, since the Example described below is a suitable Example of this invention, various technically preferable restrictions are attached | subjected, However, The range of this invention is unduly limited by the following description. However, not all the configurations described in the present embodiment are essential constituent elements of the present invention.

図1〜図10は、本発明のデータ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体の一実施例を示す図であり、図1は、本発明のデータ転送制御装置、データ転送制御方法、データ転送制御プログラム及び記録媒体の一実施例を適用した画像処理装置1のブロック構成図である。   1 to 10 are diagrams showing an embodiment of a data transfer control device, a data transfer control method, a data transfer control program, and a recording medium according to the present invention. FIG. 1 shows a data transfer control device, data according to the present invention. 1 is a block configuration diagram of an image processing apparatus 1 to which an embodiment of a transfer control method, a data transfer control program, and a recording medium are applied. FIG.

図1において、画像処理装置1は、コントローラASIC2、メインCPU3、メインメモリ4、スキャナASIC5、スキャナ部6、プロッタASIC7、プロッタ部8、ハードディスク(HDD)9、外部IFASIC10、ネットワーク11及び外部デバイス12等を備えている。   1, an image processing apparatus 1 includes a controller ASIC 2, a main CPU 3, a main memory 4, a scanner ASIC 5, a scanner unit 6, a plotter ASIC 7, a plotter unit 8, a hard disk (HDD) 9, an external IFASIC 10, a network 11, an external device 12, and the like. It has.

スキャナ部6は、例えば、CCD(Charge Coupled Device )を利用したイメージスキャナ等が利用されており、原稿を走査及び副走査して、原稿の画像を所定の解像度で読み取って、2値化してスキャナASIC5に出力する。   As the scanner unit 6, for example, an image scanner using a CCD (Charge Coupled Device) is used. The scanner 6 scans and sub-scans a document, reads an image of the document with a predetermined resolution, and binarizes the scanner. Output to ASIC5.

スキャナASIC5は、スキャナ部6で読み取られた原稿の画像データに適宜の画像処理を行って画像処理後の画像データをコントローラASIC2に出力する。   The scanner ASIC 5 performs appropriate image processing on the image data of the document read by the scanner unit 6 and outputs the image data after the image processing to the controller ASIC 2.

コントローラASIC2は、スキャナASIC5、ハードディスク9及びメインCPU3と接続されており、スキャナASIC5、ハードディスク9及びメインCPU3との間での画像データの転送制御を行うとともに、メインCPU3の制御下で、ハードディスク9の駆動制御、スキャナASIC5を介したスキャナ部6の駆動制御を行う。   The controller ASIC 2 is connected to the scanner ASIC 5, the hard disk 9, and the main CPU 3. The controller ASIC 2 controls image data transfer between the scanner ASIC 5, the hard disk 9, and the main CPU 3, and controls the hard disk 9 under the control of the main CPU 3. Drive control and drive control of the scanner unit 6 via the scanner ASIC 5 are performed.

コントローラASIC2は、ハードディスク9へのリード/ライトの制御を行い、ハードディスク9は、各種画像データを記憶する。   The controller ASIC 2 controls read / write to the hard disk 9, and the hard disk 9 stores various image data.

プロッタ部8は、所定の印刷方式、例えば、電子写真式で、図示しないホストコンピュータやファクシミリ受信した画像データやスキャナ部6で読み取った画像データをプロッタASIC7から受け取って、該画像データに基づいて画像を用紙に印刷出力する。   The plotter unit 8 receives image data received by a host computer (not shown) or facsimile received or image data read by the scanner unit 6 from the plotter ASIC 7 in a predetermined printing method, for example, an electrophotographic method, and an image is generated based on the image data. Is printed on paper.

プロッタASIC7は、メインCPU3から受け取った画像データに適宜の画像処理を施してプロッタ部8に出力する。   The plotter ASIC 7 performs appropriate image processing on the image data received from the main CPU 3 and outputs the image data to the plotter unit 8.

メインメモリ4は、メインCPU3に接続されており、RAM(Random Access Memory)等で構成されている。メインメモリ4は、メインCPU3の制御下で、処理対象の画像データ等のデータ、プログラム及びディスクリプタ等を格納し、このプログラムとしては、画像処理装置1としての基本プログラム及び本発明のデータ転送を効率的に行うデータ転送制御方法を実行するデータ転送制御プログラムを格納する。   The main memory 4 is connected to the main CPU 3 and is composed of a RAM (Random Access Memory) or the like. The main memory 4 stores data such as image data to be processed, a program, a descriptor, and the like under the control of the main CPU 3, and as this program, the basic program as the image processing apparatus 1 and the data transfer of the present invention are efficiently performed. A data transfer control program for executing a data transfer control method performed automatically is stored.

なお、画像処理装置1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Video Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明のデータ転送制御方法を実行するデータ転送制御プログラムを読み込んでメインメモリ4やハードディスク9に導入することで、後述するデータ転送を効率的に行うデータ転送制御方法を実行するデータ転送制御装置を備えた画像処理装置として構築されている。このデータ転送制御プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。   The image processing apparatus 1 includes a ROM, an EEPROM (Electrically Erasable and Programmable Read Only Memory), an EPROM, a flash memory, a flexible disk, a CD-ROM (Compact Disc Read Only Memory), a CD-RW (Compact Disc Rewritable), and a DVD. A data transfer control program for executing the data transfer control method of the present invention recorded on a computer-readable recording medium such as a (Digital Video Disk), an SD (Secure Digital) card, or an MO (Magneto-Optical Disc) is read. Thus, it is constructed as an image processing apparatus including a data transfer control device that executes a data transfer control method for efficiently performing data transfer, which will be described later, by being introduced into the main memory 4 and the hard disk 9. This data transfer control program is a computer-executable program written in a legacy programming language such as assembler, C, C ++, C #, Java (registered trademark) or an object-oriented programming language, and is stored in the recording medium. And can be distributed.

外部IFASIC10には、外部機器部として、ネットワーク11や外部デバイス12が接続されており、外部IFASIC10は、ネットワーク11及び外部デバイス12との間でデータ(パケットデータ)の授受を行う。ネットワーク11は、例えば、LAN(Local Area Network)、インターネット等であり、外部デバイス12は、SDカード、USBデバイス等である。   The external IFASIC 10 is connected with a network 11 and an external device 12 as external device units, and the external IFASIC 10 exchanges data (packet data) between the network 11 and the external device 12. The network 11 is, for example, a LAN (Local Area Network), the Internet, or the like, and the external device 12 is an SD card, a USB device, or the like.

メインCPU(データ転送制御手段)3には、メインメモリ4が接続されており、メインCPU3は、メインメモリ4へのデータ等の書き込みやメインメモリ4からのデータ、ディスクリプタ等の読み出しを制御する。すなわち画像処理装置1は、PCIeバスを用いたDMA(Direct Memory Access)によってデータ転送を行っており、メインCPU3は、後述するように、内部バッファ3b(図3参照)を有して、該内部バッファ3bを利用した複数のデータ転送を制御する。 A main memory 4 is connected to the main CPU (data transfer control means) 3, and the main CPU 3 controls writing of data and the like to the main memory 4 and reading of data and descriptors from the main memory 4. That is, the image processing apparatus 1 performs data transfer by DMA (Direct Memory Access) using a PCIe bus, and the main CPU 3 has an internal buffer 3b (see FIG. 3) as will be described later, and the internal CPU 3 A plurality of data transfers using the buffer 3b are controlled .

上記外部IFASIC10は、図2に示すように、接続される外部デバイス用の外部デバイスコントローラ20〜50、メインCPU3とのPCIeコントローラ60及び内部アービタ70等を備えており、外部デバイスコントローラ(データ転送要求手段)20〜50は、例えば、ネットワークコントローラ20、SDカードコントローラ30、USBコントローラ40、ICカードコントローラ50等である。なお、PCIeは、PCI(Peripheral Component Interconnect) Expressを略した表示であり、また、本実施例では、外部IFASIC10に接続されるネットワーク11とのデータ転送について詳細に説明するために、図2は、ネットワークコントローラ20について詳細に内部構成を示した図となっている。   As shown in FIG. 2, the external IFASIC 10 includes external device controllers 20 to 50 for external devices to be connected, a PCIe controller 60 with the main CPU 3, an internal arbiter 70, and the like. Means) 20 to 50 are, for example, the network controller 20, the SD card controller 30, the USB controller 40, the IC card controller 50, and the like. Note that PCIe is an abbreviation for PCI (Peripheral Component Interconnect) Express, and in this embodiment, in order to explain in detail data transfer with the network 11 connected to the external IFASIC 10, FIG. The network controller 20 is a diagram showing the internal configuration in detail.

ネットワークコントローラ20は、DMAC(Direct Memory Access Controller :DMAコントローラ)20a、内部バッファ20b及びネットワーク制御部20c等を備えている。ネットワーク制御部20cは、ネットワーク11及び内部バッファ20bと接続されていて、ネットワーク11との通信制御を行い、内部バッファ20bは、所定容量のバッファであって、ネットワーク制御部20cとDMAC20aとの転送データのバッファ処理を行う。DMAC20aは、内部アービタ70に接続され、内部アービタ70にデータ転送要求を行って、ネットワーク11とメインメモリ4との間のデータ転送を行う。外部デバイスコントローラ30〜50は、ネットワークコントローラ20と同様の構成を有しており、それぞれネットワークコントローラ20と同様の処理を行って、対応する外部デバイスとメインメモリ4とのデータ転送を行う。なお、図示しないが、ネットワークコントローラ20以外の他の外部デバイスコントローラ30〜50も、ネットワークコントローラ20と同様に、DMAC30a〜50a以外に、制御部、内部バッファを備えている。   The network controller 20 includes a DMAC (Direct Memory Access Controller) 20a, an internal buffer 20b, a network control unit 20c, and the like. The network control unit 20c is connected to the network 11 and the internal buffer 20b, and controls communication with the network 11. The internal buffer 20b is a buffer having a predetermined capacity, and is transferred data between the network control unit 20c and the DMAC 20a. Perform the buffer processing. The DMAC 20 a is connected to the internal arbiter 70, makes a data transfer request to the internal arbiter 70, and transfers data between the network 11 and the main memory 4. The external device controllers 30 to 50 have the same configuration as that of the network controller 20, and perform data transfer between the corresponding external device and the main memory 4 by performing processing similar to that of the network controller 20. Although not shown, the external device controllers 30 to 50 other than the network controller 20 also include a control unit and an internal buffer in addition to the DMACs 30a to 50a, as with the network controller 20.

内部アービタ(データ転送要求制御手段)70は、転送要求制御部70aを備えており、転送要求制御部70aが、各コントローラ20〜50のDMAC20a〜50aからのデータ転送要求をラウンドロビン方式で調停して、各コントローラ20〜50のDMAC20a〜50aによるバス利用を制御する。   The internal arbiter (data transfer request control means) 70 includes a transfer request control unit 70a, and the transfer request control unit 70a arbitrates data transfer requests from the DMACs 20a to 50a of the controllers 20 to 50 in a round robin manner. The bus usage by the DMACs 20a to 50a of the controllers 20 to 50 is controlled.

PCIeコントローラ60は、PCIeエンドポイント60aを備えており、PCIeエンドポイント(転送インターフェイス手段、データ転送状況判定手段)60aは、内部アービタ70に接続されているとともに、メインCPU3と接続されている。   The PCIe controller 60 includes a PCIe end point 60a, and the PCIe end point (transfer interface means, data transfer status determination means) 60a is connected to the internal arbiter 70 and to the main CPU 3.

メインCPU3には、上述のように、メインメモリ4が接続されているとともに、コントローラASIC2及びプロッタASIC7等と接続されて、メインCPU3は、通常、アービタを備えているとともに、図3に示すように、PCIeルートコンプレックス3aを備えており、PCIeルートコンプレックス3aは、内部バッファ3bを有している。また、PCIeコントローラ60のPCIeエンドポイント60aは、図3に示すように、内部バッファ60bを有している。   As described above, the main memory 3 is connected to the main CPU 3, and is connected to the controller ASIC 2, the plotter ASIC 7, and the like. The main CPU 3 is usually provided with an arbiter, as shown in FIG. PCIe root complex 3a, and PCIe root complex 3a has an internal buffer 3b. Further, the PCIe end point 60a of the PCIe controller 60 has an internal buffer 60b as shown in FIG.

メインCPU3と外部IFASIC10とは、PCIe80で接続されており、PCIeルートコンプレックス3aとPCIeエンドポイント60aとは、PCIe80のトランザクション層に規定されているフローコントロールで、定期的(所定基準時間毎)に相手の内部バッファ3b、60bの状況(データ量等)をやりとりする。   The main CPU 3 and the external IFASIC 10 are connected by the PCIe 80, and the PCIe route complex 3a and the PCIe end point 60a are counterparts periodically (every predetermined reference time) by flow control defined in the transaction layer of the PCIe 80. The status (data amount etc.) of the internal buffers 3b and 60b is exchanged.

内部アービタ70は、コントローラ20〜50に対して、バス使用権を与えると、所定のマスク期間だけ該コントローラ20〜50のバス使用権に対してマスクを行うマスク処理を実行する。また、内部アービタ70は、上記メインCPU3のPCIeルートコンプレックス3aに設けられている内部バッファ3bの状況(データ量等)に基づいてコントローラ20〜50に設定したマスクの解除、マスクの設定可否等のマスク制御を行う。   When the internal arbiter 70 gives the right to use the bus to the controllers 20 to 50, the internal arbiter 70 executes a mask process for masking the right to use the bus of the controller 20 to 50 for a predetermined mask period. Further, the internal arbiter 70 cancels the mask set in the controllers 20 to 50 based on the status (data amount, etc.) of the internal buffer 3b provided in the PCIe root complex 3a of the main CPU 3, and determines whether or not the mask can be set. Perform mask control.

次に、本実施例の作用を説明する。本実施例の画像処理装置1は、バス制御をラウンドロビン方式で行うとともに、マスク処理の効率的な制御を行う。   Next, the operation of this embodiment will be described. The image processing apparatus 1 according to the present embodiment performs bus control by a round robin method and efficient control of mask processing.

なお、以下の説明では、外部IFASIC10の内部アービタ70におけるネットワークコントローラ20とメインCPU3を介したメインメモリ4へのデータ転送におけるマスク制御を伴うバス制御について説明するが、外部IFASIC10に接続されているバス制御の対象デバイスとしては、ネットワーク11に限るものではなく、SDカード、USBデバイス等の他の外部デバイス12であっても同様に適用することができる。また、以下の説明では、ネットワーク11からデータ受信要求があって、外部IFASIC10のネットワークコントローラ20が内部アービタ70にバス獲得要求を行って、PCIe80を通して、メインCPU3を介してメインメモリ4にデータをDMA転送する場合について説明するが、バスとしては、PCIe80に限るものではなく、メインCPU3側のバス制御を実行する部分であるデータ転送制御手段が内部バッファを搭載して、該内部バッファの状況を所定間隔毎に取得することで、メインCPU3を介して他のデバイスがメインメモリ4にアクセスしている状況を把握し、該他のデバイスのメインメモリ4へのアクセス状況に応じてマスク制御を伴うバス制御を行う場合に適用することができる。 In the following description, bus control with mask control in data transfer to the main memory 4 via the network controller 20 and the main CPU 3 in the internal arbiter 70 of the external IFASIC 10 will be described. However, the bus connected to the external IFASIC 10 The target device to be controlled is not limited to the network 11 and can be similarly applied to other external devices 12 such as an SD card and a USB device. In the following description, there is a data reception request from the network 11, the network controller 20 of the external IFASIC 10 makes a bus acquisition request to the internal arbiter 70, and DMAs the data to the main memory 4 via the main CPU 3 through the PCIe 80. The case of the transfer will be described. However, the bus is not limited to PCIe 80, and the data transfer control means, which is a part that executes the bus control on the main CPU 3 side, is equipped with an internal buffer, and the state of the internal buffer is predetermined. By acquiring at every interval, a bus with mask control according to the access status of the other device to the main memory 4 is obtained by grasping the status of other devices accessing the main memory 4 via the main CPU 3. It can be applied to control.

画像処理装置1は、ネットワーク11からデータ受信要求があると、外部IFASIC10のネットワークコントローラ20が、そのネットワーク制御部20で該データ受信要求を制御して、必要なデータを内部バッファ20bに保管しつつ、DMAC20aが内部アービタ70にバス獲得要求(転送要求)を行い、内部アービタ70は、基本的に、各コントローラ20〜50からのバス獲得要求に対してラウンドロビン方式でバス使用権を与えるというバス制御を行う。   When the image processing apparatus 1 receives a data reception request from the network 11, the network controller 20 of the external IFASIC 10 controls the data reception request by the network control unit 20 and stores necessary data in the internal buffer 20b. The DMAC 20a makes a bus acquisition request (transfer request) to the internal arbiter 70, and the internal arbiter 70 basically gives a bus use right in a round-robin manner to the bus acquisition requests from the controllers 20 to 50. Take control.

画像処理装置1は、メインメモリ4と各デバイスとのデータ転送をDMA転送によって行い、例えば、ネットワークコントローラ20とメインメモリ4とのDMAデータ転送を、図4及び図5に示すように行って、メモリへのデータライト及びデータリードを行う。すなわち、ネットワークコントローラ20のDMAC20aは、メインメモリ4にデータをライトするデータライトの場合、図4に示すように、メインメモリ上のDMAディスクリプタを読み取るリード転送を行い(ステップS101)、ネットワーク制御部20cによってネットワーク制御を行ってデータ受信を開始する(ステップS102)。DMAC20aは、内部バッファ20bに転送データが溜まると(ステップS103)、DMAパケットのライト転送を行い(ステップS104)、パケット終端をメインメモリ4へ転送したかチェックする(ステップS105)。パケット終端をメモリに転送していないときには、DMAC20aは、ディスクリプタをチェーンするかチェックして(ステップS107)、ディスクリプタをチェーンするときには、ステップS101に戻って上記同様に処理する。   The image processing apparatus 1 performs data transfer between the main memory 4 and each device by DMA transfer, for example, performs DMA data transfer between the network controller 20 and the main memory 4 as shown in FIGS. 4 and 5. Data write and data read to the memory are performed. That is, in the case of data write for writing data to the main memory 4, the DMAC 20a of the network controller 20 performs read transfer for reading the DMA descriptor on the main memory as shown in FIG. 4 (step S101), and the network control unit 20c. To perform network control and start data reception (step S102). When transfer data accumulates in the internal buffer 20b (step S103), the DMAC 20a performs write transfer of the DMA packet (step S104), and checks whether the packet end is transferred to the main memory 4 (step S105). When the packet end is not transferred to the memory, the DMAC 20a checks whether the descriptor is chained (step S107). When the descriptor is chained, the process returns to step S101 and performs the same processing as described above.

ステップS105で、パケット終端をメモリに転送したときには、DMAC20aは、DMAディスクリプタをメインメモリ4にライト転送して書き戻し(ステップS106)、ディスクリプタをチェーンするかチェックする(ステップS107)。ステップS107で、ディスクリプタをチェーンするときには、ステップS101に戻って、メモリのディスクリプタのリード転送から上記同様に処理し(ステップS101〜S107)、ステップS107で、ディスクリプタのチェーンを行わないときには、DMAライト処理を終了する。   When the packet end is transferred to the memory in step S105, the DMAC 20a writes the DMA descriptor to the main memory 4 and writes it back (step S106), and checks whether the descriptor is chained (step S107). When chaining descriptors in step S107, the process returns to step S101 to perform the same processing as described above from read transfer of memory descriptors (steps S101 to S107). If descriptor chaining is not performed in step S107, DMA write processing is performed. Exit.

また、メインメモリ4上のデータをリードしてネットワーク11に転送するデータリードの場合、DMAC20aは、まず、メインメモリ4上のDMAディスクリプタを読み取るリード転送を行い(ステップS201)、該ディスクリプタに基づいてメインメモリ4上のDMAパケット(データ)をリードして内部バッファ20bに書き込むリード転送を開始する(ステップS202)。DMAC20aは、DMAパケットのリード転送を開始すると、ネットワーク制御を行って、データ送信を開始し(ステップS203)、パケット終端をネットワーク11へ送信したかチェックする(ステップS204)。パケット終端をネットワーク11へ送信していないときには、DMAC20aは、内部バッファ20bに空きがあるかチェックし(ステップS206)、内部バッファ20bに空きがないときには、ステップS203に戻って、データの受信を継続してステップS204でパケット終端をネットワークNWへ送信すると、DMAディスクリプのタライト転送をディスクリプタの書き戻しを行い(ステップS205)、内部バッファに空きがあるかチェックする(ステップS206)。   In the case of data read in which data on the main memory 4 is read and transferred to the network 11, the DMAC 20a first performs read transfer for reading the DMA descriptor on the main memory 4 (step S201), and based on the descriptor. Read transfer in which the DMA packet (data) on the main memory 4 is read and written to the internal buffer 20b is started (step S202). When the DMAC 20a starts read transfer of the DMA packet, the DMAC 20a performs network control, starts data transmission (step S203), and checks whether the packet end is transmitted to the network 11 (step S204). When the packet termination is not transmitted to the network 11, the DMAC 20a checks whether there is a space in the internal buffer 20b (step S206). If there is no space in the internal buffer 20b, the DMAC 20a returns to step S203 and continues receiving data. When the end of the packet is transmitted to the network NW in step S204, the descriptor is written back in the DMA descriptor tally transfer (step S205), and it is checked whether the internal buffer is free (step S206).

ステップS206で、内部バッファに空きがないときには、ステップS203に戻って上記同様にネットワーク11へデータ転送する処理を行い(ステップS203〜S206)、ステップS206で内部バッファに空きができると、ディスクリプタをチェーンするかチェックする(ステップS207)。ステップS207で、ディスクリプタをチェーンするときには、DMAC20aは、ステップS201に戻って、メインメモリ4のディスクリプタのリード転送から上記同様に処理し(ステップS201〜S207)、ステップS207で、ディスクリプタのチェーンを行わないときには、DMAリード処理を終了する。   If there is no free space in the internal buffer in step S206, the process returns to step S203 to transfer data to the network 11 in the same manner as described above (steps S203 to S206). If the internal buffer is free in step S206, the descriptor is chained. It is checked whether to do (step S207). When chaining descriptors in step S207, the DMAC 20a returns to step S201 and performs the same processing as described above from the read transfer of the descriptor in the main memory 4 (steps S201 to S207), and does not perform descriptor chaining in step S207. Sometimes, the DMA read process ends.

すなわち、DMA転送においては、ディスクリプタリード、データリード、データライト、ディスクリプタライトという動作処理を繰り返し行うことで、データ転送を行う。   That is, in DMA transfer, data transfer is performed by repeatedly performing operation processes such as descriptor read, data read, data write, and descriptor write.

そして、ネットワークコントローラ20のDMAC20aは、この動作処理のアクセス毎に、内部アービタ70にバス獲得要求を行い、バス使用権が与えられてデータ転送を開始するまでネットワーク11からのデータを内部バッファ20bに保管して待つという転送待ちが発生する。   The DMAC 20a of the network controller 20 makes a bus acquisition request to the internal arbiter 70 every time this operation process is accessed, and the data from the network 11 is transferred to the internal buffer 20b until the bus use right is given and data transfer is started. A transfer wait occurs that is stored and waited.

そして、このDMA転送において用いられるディスクリプタは、一般的に、図6に示すようにフォーマット構成されており、次ディスクリプタアドレス、転送アドレス、転送サイズ、DMA制御/パケット情報がある。次ディスクリプタアドレスは、次に読み込むディスクリプタのメインメモリ4上のアドレスが格納され、「0x0」の場合は、次に読み込むディスクリプタがないことを示している。転送アドレスは、メインメモリ4上のデータの格納先が格納されており、転送サイズは、メインメモリ4に転送するデータ量が格納されている。DMA制御は、DMAを一時停止させたり、割り込みを発生させるための制御情報が格納され、パケット情報は、DMAがパケット終了を示すためにライトする領域である。そして、このディスクリプタは、128bitという少ないデータ量となっており、ディスクリプタの転送によるバス帯域への影響は非常に少ない。   The descriptor used in this DMA transfer is generally formatted as shown in FIG. 6, and includes a next descriptor address, a transfer address, a transfer size, and DMA control / packet information. The next descriptor address stores the address of the descriptor to be read next on the main memory 4, and “0x0” indicates that there is no descriptor to be read next. The transfer address stores the data storage destination on the main memory 4, and the transfer size stores the amount of data transferred to the main memory 4. In the DMA control, control information for temporarily stopping the DMA or generating an interrupt is stored, and the packet information is an area in which the DMA writes to indicate the end of the packet. This descriptor has a small data amount of 128 bits, and the influence of the descriptor transfer on the bus bandwidth is very small.

一方、バス制御においては、メインCPU3を介してメインメモリ4にアクセスするデバイスが、外部IFASIC10に接続されたネットワーク11や外部デバイス12だけでなく、画像処理装置1として優先的にバス使用の確保が必要なスキャナ部6からのデータ転送やプロッタ部8へのデータ転送(以下、必要に応じて、優先データ転送という。)があり、メインCPU3のPCIeバス80の使用をこのような優先データ転送に対して優先させる必要がある。   On the other hand, in bus control, not only the network 11 and the external device 12 connected to the external IFASIC 10 but also the device that accesses the main memory 4 via the main CPU 3 is preferentially secured to use the bus as the image processing apparatus 1. There are necessary data transfer from the scanner unit 6 and data transfer to the plotter unit 8 (hereinafter referred to as priority data transfer as required), and the use of the PCIe bus 80 of the main CPU 3 is used for such priority data transfer. It must be prioritized.

そこで、外部IFASIC10の内部アービタ70は、ネットワークコントローラ20やその他の外部ドライバコントローラ30〜50に、バス使用権を1ラウンドロビンの間だけ与えて該バス使用権の使用が完了すると、図7に示すように、一定期間(図7では、100クロック間)だけ、バス使用権を与えた該コントローラ20〜50のDMAC20a〜50aからのバス獲得要求(転送要求)に対してマスクする。   Therefore, when the internal arbiter 70 of the external IFASIC 10 gives the bus use right to the network controller 20 and other external driver controllers 30 to 50 for only one round robin and the use of the bus use right is completed, it is shown in FIG. As described above, the bus acquisition requests (transfer requests) from the DMACs 20a to 50a of the controllers 20 to 50 to which the bus use right is given are masked for a certain period (100 clocks in FIG. 7).

ところが、上述のように、バス使用権を与えて1ラウンド期間が終了し、バス使用が終了するとマスク期間だけマスクするというマスク処理を単純に行うと、メインCPU3のPCIe80の使用状況を無視した制御となり、効率的なバス制御を行うことができない。   However, as described above, when the bus use right is given and the one round period ends, and the mask process of masking only the mask period when the bus use is completed is performed, the control of ignoring the use status of the PCIe 80 of the main CPU 3 is ignored. Therefore, efficient bus control cannot be performed.

そこで、外部IFASIC10の内部アービタ70は、PCIeのトランザクション層に規定されるフローコントロールによる対向デバイスの内部バッファの状況のやり取り機能を利用して、図3に示したように、メインCPU3のPCIeバスの使用状況を、メインCPU3のPCIeルートコンプレックス3aに設けられている内部バッファ3bの状況(データ量等)を把握し、該内部バッファ3bの状況から他のデバイスであるコントロールASIC2やプロッタASIC7等によるメインCPU3のPCIeバスの使用状況を判断してネットワークコントローラ20等の外部デバイス20〜50へのマスク制御を行う。   Therefore, the internal arbiter 70 of the external IFASIC 10 uses the exchange function of the internal buffer status of the opposite device by the flow control defined in the PCIe transaction layer, as shown in FIG. As for the usage status, the status (data amount, etc.) of the internal buffer 3b provided in the PCIe root complex 3a of the main CPU 3 is grasped, and the control ASIC 2, the plotter ASIC 7, etc., which are other devices, are determined from the status of the internal buffer 3b. The CPU 3 judges the usage status of the PCIe bus and performs mask control on the external devices 20 to 50 such as the network controller 20.

また、内部アービタ70は、バス獲得要求が発生した場合に、該バス獲得要求の内容に基づいて該バス獲得要求によるバス使用のバス帯域への影響を判断して、マスク制御を行う。内部アービタ70は、このバス帯域への影響を、転送データ量やバス獲得要求の種類に基づいてPCIeバスの帯域への影響を判断して、マスク制御を行う。例えば、上述のように、ディスクリプタは、128bitという少ないデータ量であるため、バス獲得要求がディスクリプタのリード要求、ライト要求であると、マスクをかけないように制御したり、既にかかっているマスクを解除するように制御するマスク制御を行う。   Further, when a bus acquisition request is generated, the internal arbiter 70 determines the influence of the bus acquisition request on the bus bandwidth based on the content of the bus acquisition request, and performs mask control. The internal arbiter 70 performs mask control by determining the influence on the bandwidth of the PCIe bus based on the amount of transfer data and the type of bus acquisition request. For example, as described above, since the descriptor has a small data amount of 128 bits, if the bus acquisition request is a read request or write request for the descriptor, the descriptor is controlled so as not to be masked or the mask already applied is set. Mask control is performed to control the release.

すなわち、内部アービタ70は、図8に示すように、ネットワークコントローラ20のDMAC20aからのバス獲得要求に応じて1ラウンドロビン期間の間だけバス使用権を与え、該バス使用が終了すると、マスク期間(図7、図9、図10では、「100」クロック期間)をマスク期間カウンタにセットして(ステップS301)、該マウス期間カウンタのカウントダウンを開始し(ステップS302)、その後に、DMAC20aから転送要求であるバス獲得要求があると、該バス獲得要求がディスクリプタリードまたはディスクリプタライトのディスクリプタに関するバス獲得要求であるかチェックする(ステップS303)。すなわち、ネットワークコントローラ20のDMAC20aは、通常のバス獲得要求(転送要求)に、その転送要求の種類を示す情報(制御信号等)を付加して、内部アービタ70に入力する。   That is, as shown in FIG. 8, the internal arbiter 70 gives a bus use right only for one round robin period in response to a bus acquisition request from the DMAC 20a of the network controller 20, and when the bus use ends, the mask period ( In FIG. 7, FIG. 9, and FIG. 10, "100" clock period) is set in the mask period counter (step S301), the mouse period counter starts counting down (step S302), and then a transfer request is sent from the DMAC 20a. If there is a bus acquisition request, it is checked whether the bus acquisition request is a bus acquisition request related to descriptor read or descriptor write (step S303). That is, the DMAC 20a of the network controller 20 adds information (control signal or the like) indicating the type of the transfer request to a normal bus acquisition request (transfer request) and inputs the request to the internal arbiter 70.

ステップS303で、バス獲得要求がディスクリプタに関する要求であると、バス使用帯域が狭いと判断して、内部アービタ70は、図9に示すように、マスク期間カウンタを「0」にクリアして、該バス獲得要求に対してバス使用権を付与し(ステップS304)、転送許可して、該バス使用権による転送が完了すると、ステップS301に戻って上記同様に処理する。なお、図9では、DMAC20aからの転送要求であるREQ1がディスクリプタであるときに、マスク期間カウンタが「100」にセットされて、「99」にカウントダウンしたところで、「0」にクリアして、転送許可(バス使用権)を付与した状態を示している。   In step S303, if the bus acquisition request is a request for a descriptor, it is determined that the bus use bandwidth is narrow, and the internal arbiter 70 clears the mask period counter to “0” as shown in FIG. A bus use right is granted to the bus acquisition request (step S304), transfer is permitted, and when transfer by the bus use right is completed, the process returns to step S301 to perform the same processing as described above. In FIG. 9, when REQ1, which is a transfer request from the DMAC 20a, is a descriptor, the mask period counter is set to “100”, counted down to “99”, cleared to “0”, and transferred. The state where permission (bus use right) is given is shown.

ステップS303で、転送要求がディスクリプタでないとき、例えば、データリードやデータライトの転送要求であるときには、内部アービタ70は、データ量が多いと判断して、メインCPU3のPCIeバスのメモリ帯域に、バス獲得要求に対してバス使用権を付与するのに十分な空きがあるかチェックする(ステップS305)。なお、このメモリ帯域に充分な空きがあるか否かのチェックについては、後述する。   In step S303, when the transfer request is not a descriptor, for example, when the request is a data read or data write transfer request, the internal arbiter 70 determines that the amount of data is large, and sets the bus bandwidth to the PCIe bus memory bandwidth of the main CPU 3. It is checked whether there is enough space for granting the bus use right to the acquisition request (step S305). Note that checking whether there is sufficient space in the memory bandwidth will be described later.

ステップS305で、メモリ帯域に充分な空きがあるときには、内部アービタ70は、図10に示すように、マスク期間カウンタを「0」にクリアして、該バス獲得要求に対してバス使用権を付与し(ステップS304)、転送許可して、該バス使用権による転送が完了すると、ステップS301に戻って上記同様に処理する。   When there is sufficient free memory bandwidth in step S305, the internal arbiter 70 clears the mask period counter to “0” as shown in FIG. 10, and gives the bus use right to the bus acquisition request. (Step S304) When transfer is permitted and transfer by the right to use the bus is completed, the process returns to Step S301 to perform the same processing as described above.

ステップS305で、メモリ帯域に充分な空きがないときには、内部アービタ70は、マスク期間カウンタが「0」であるか、すなわち、マスク期間が過ぎているかチェックし(ステップS306)、マスク期間が過ぎていないときには、図7に示したように、マスクを解除することなく、ステップS302に戻って、マスク期間カウンタのカウントダウンから上記同様に処理する(ステップS302〜S306)。   If there is not enough free memory bandwidth in step S305, the internal arbiter 70 checks whether the mask period counter is “0”, that is, whether the mask period has passed (step S306), and the mask period has passed. If not, as shown in FIG. 7, the process returns to step S302 without releasing the mask, and the same processing as described above is performed from the countdown of the mask period counter (steps S302 to S306).

ステップS306で、マスク期間カウンタが「0」のときには、内部アービタ70は、マスク期間が過ぎていると判断して、バス獲得要求に対してバス使用権を付与し(ステップS304)、転送許可して、該バス使用権による転送が完了すると、ステップS301に戻って上記同様に処理する。   If the mask period counter is “0” in step S306, the internal arbiter 70 determines that the mask period has passed, grants a bus use right to the bus acquisition request (step S304), and permits transfer. When the transfer with the bus use right is completed, the process returns to step S301 and the same processing as described above is performed.

そして、上記メインCPU3のPCIeバスのメモリ帯域に、バス獲得要求に対してバス使用権を付与するのに十分な空きがあるか否かは、メインCPU3のPCIeルートコンプレックス3aの内部バッファ3bの状況に基づいて判断する。すなわち、外部IFASIC10の内部アービタ70は、PCIeのトランザクション層に規定されるフローコントロールによる対向デバイスの内部バッファ3bの状況のやり取り機能を利用して、図3に示したように、メインCPU3のPCIeバスの使用状況を、メインCPU3のPCIeルートコンプレックス3aの内部バッファ3bの状況(データ量等)を把握する。例えば、PCIeエンドポイント60aは、フローコントロールによって、あるフローコントロール処理時点でのメインCPU3のPCIeルートコンプレックス3aの内部バッファ状態を取得して保存し、次のフローコントロール処理で、該次のフローコントロール処理時点でのPCIeルートコンプレックス3aの内部バッファ3bの状況を取得する。PCIeエンドポイント60aは、今回のフローコントロール処理時点での取得したPCIeルートコンプレックス3aの内部バッファ3bの状況と前回のフローコントロール時点での内部バッファ3bの状況との変化量を求めて、該変化量を予め設定されている変化閾値と比較し、フローコントロール処理間隔の間にPCIeバスを使用したデータ転送処理が進行したのかのデータ転送処理進行状況を判定する。例えば、転送要求制御部70aは、変化量が変化閾値よりも大きいときには、スキャナ部6やプロッタ部8の関与するデータ転送が発生せずに、メインCPU3からメインメモリ4へのデータ転送が順調に行われていると判定し、変化量が変化閾値よりも小さいときには、スキャナ部6やプロッタ部8の関係するデータ転送が頻繁に発生していると判定することができる。なお、PCIeルートコンプレックス3aの内部バッファ3bの状況の変化量は、連続するフローコントロール処理間での変化量に限るものではなく、所定数のフローコントロール処理間隔を空けたフローコントロール処理時点での内部バッファ3bの状況の変化量であってもよい。   Whether or not the memory bandwidth of the PCIe bus of the main CPU 3 has enough space to give a bus use right in response to a bus acquisition request depends on the status of the internal buffer 3b of the PCIe root complex 3a of the main CPU 3. Judgment based on. That is, the internal arbiter 70 of the external IFASIC 10 utilizes the function of exchanging the status of the internal buffer 3b of the opposite device by flow control defined in the PCIe transaction layer, as shown in FIG. Is used, the status (data amount, etc.) of the internal buffer 3b of the PCIe root complex 3a of the main CPU 3 is grasped. For example, the PCIe end point 60a acquires and stores the internal buffer state of the PCIe root complex 3a of the main CPU 3 at a certain flow control processing time by flow control, and stores the next flow control processing in the next flow control processing. The status of the internal buffer 3b of the PCIe root complex 3a at the time is acquired. The PCIe end point 60a obtains the amount of change between the status of the internal buffer 3b of the PCIe route complex 3a acquired at the time of the current flow control process and the status of the internal buffer 3b at the time of the previous flow control. Is compared with a preset change threshold value, and the data transfer process progress status is determined as to whether the data transfer process using the PCIe bus has progressed during the flow control process interval. For example, when the amount of change is larger than the change threshold, the transfer request control unit 70a does not generate data transfer involving the scanner unit 6 or the plotter unit 8 and smoothly transfers data from the main CPU 3 to the main memory 4. If the change amount is smaller than the change threshold value, it can be determined that the data transfer related to the scanner unit 6 and the plotter unit 8 frequently occurs. Note that the amount of change in the state of the internal buffer 3b of the PCIe root complex 3a is not limited to the amount of change between successive flow control processes, but the internal amount at the time of the flow control process at a predetermined number of flow control processing intervals. It may be the amount of change in the status of the buffer 3b.

そして、PCIeエンドポイント60aは、上記判定結果を内部アービタ70に渡し、内部アービタ70が、ステップS305で、該判定結果に基づいてメモリ帯域に充分な空きがあるか判定する。   Then, the PCIe end point 60a passes the determination result to the internal arbiter 70, and the internal arbiter 70 determines whether or not there is sufficient space in the memory band based on the determination result in step S305.

なお、図8の処理では、転送要求(バス獲得要求)がディスクリプタに関する転送要求であるか否かと、メモリ帯域に充分な空きがあるか否かに基づいて、マスクの解除を行っているが、転送要求(バス獲得要求)で要求しているデータ量(転送要求データ量)に基づいてマスクの解除を行ってもよい。この場合、内部アービタ70は、DMAC20aからのバス獲得要求から転送要求データ量を取得し、取得した転送要求データ量を予め設定されているデータ閾値と比較して転送要求データ量がデータ閾値よりも少ないときにのみマスクの解除を行って、該バス獲得要求に応じてバス使用権を設定する。   In the process of FIG. 8, the mask is released based on whether the transfer request (bus acquisition request) is a transfer request related to a descriptor and whether there is sufficient free memory bandwidth. The mask may be canceled based on the data amount (transfer request data amount) requested by the transfer request (bus acquisition request). In this case, the internal arbiter 70 acquires the transfer request data amount from the bus acquisition request from the DMAC 20a, compares the acquired transfer request data amount with a preset data threshold, and the transfer request data amount exceeds the data threshold. The mask is released only when there are few, and the right to use the bus is set according to the bus acquisition request.

また、内部アービタ70は、上記PCIeルートコンプレックス3aの内部バッファ3bのデータ量が所定量よりも少ない場合、少ないデータ量のデータのバス獲得要求を許可して、該データの内部バッファ3bからの転送状況をフローコントロールによって監視し、該監視結果に基づいてマスクを解除して、データ量多いデータ転送を許可するバス使用権を付与するようにしてもよい。   When the amount of data in the internal buffer 3b of the PCIe root complex 3a is smaller than a predetermined amount, the internal arbiter 70 permits a bus acquisition request for a small amount of data and transfers the data from the internal buffer 3b. The situation may be monitored by flow control, the mask may be released based on the monitoring result, and a bus use right may be granted to permit data transfer with a large amount of data.

このように、本実施例の画像処理装置1は、内部バッファ3bを有して該内部バッファ3bを利用した複数のデータ転送を制御するPCIeルートコンプレックス3aを介したバス獲得要求(データ転送要求)が、複数のDMAC20a〜50aからあると、該データ転送要求に対して公平に所定転送期間だけデータ転送を許可するデータ転送の許可/不許可を制御するとともに、許可したデータ転送が該転送期間を経過すると、該DMAC20a〜50aからのデータ転送要求を所定のマスク期間だけ不許可とするマスク処理を制御する際に、PCIeルートコンプレックス3aの内部バッファ3bのデータ量を所定基準時間毎(フローコントロール毎)に取得して、取得した内部バッファ3bのデータ量に基づいてPCIeルートコンプレックス3aによるデータ転送状況を判定し、該判定結果に基づいてマスク処理を制御している。 As described above, the image processing apparatus 1 according to the present embodiment includes the internal buffer 3b and requests for bus acquisition (data transfer request) via the PCIe route complex 3a that controls a plurality of data transfers using the internal buffer 3b. However, if there are a plurality of DMACs 20a to 50a, the data transfer request is controlled to permit / non-permit data transfer for a predetermined transfer period fairly, and the permitted data transfer determines the transfer period. When the time elapses, the data amount of the internal buffer 3b of the PCIe root complex 3a is set for each predetermined reference time (for each flow control) when controlling mask processing for disallowing data transfer requests from the DMACs 20a to 50a for a predetermined mask period. ) And the PCIe route comp based on the data amount of the acquired internal buffer 3b. It determines the data transfer status by box 3a, and controls the masking process based on the determination result.

したがって、ラウンドロビン方式でのデータ転送の完了したバス獲得要求(データ転送要求)元によるデータ転送要求をマスク期間だけマスクするマスク処理を、データ転送状況を把握して制御することができ、安価かつより効率的なラウンドロビン方式でのデータ転送を行うことができる。   Therefore, the mask processing for masking the data transfer request by the source of the bus acquisition request (data transfer request) for which the data transfer in the round robin method has been completed can be controlled by grasping the data transfer status, and inexpensively. More efficient round robin data transfer can be performed.

また、本実施例の画像処理装置1は、DMAC20a〜50aからのデータ転送要求によってPCIeルートコンプレックス3aでのデータ転送に与える転送負荷の大きさに基づいてマスク処理を制御している。   Further, the image processing apparatus 1 according to the present embodiment controls the mask processing based on the transfer load applied to the data transfer in the PCIe root complex 3a in response to the data transfer request from the DMACs 20a to 50a.

したがって、データ転送状況をより適切に把握して制御することができ、安価かつより一層効率的なラウンドロビン方式でのデータ転送を行うことができる。   Therefore, it is possible to more appropriately grasp and control the data transfer status, and it is possible to perform data transfer by a round robin method that is cheaper and more efficient.

さらに、本実施例の画像処理装置1は、転送負荷の大きさをデータ転送要求の要求する転送データ量に基づいて判断している。   Furthermore, the image processing apparatus 1 of this embodiment determines the magnitude of the transfer load based on the amount of transfer data requested by the data transfer request.

したがって、データ転送状況をより適切に把握して制御することができ、安価かつより一層効率的なラウンドロビン方式でのデータ転送を行うことができる。   Therefore, it is possible to more appropriately grasp and control the data transfer status, and it is possible to perform data transfer by a round robin method that is cheaper and more efficient.

また、本実施例の画像処理装置1は、PCIeルートコンプレックス3aが、DMAデータ転送によるデータ転送を制御し、データ転送要求が、DMAデータ転送要求であって、転送負荷の大きさをDMAデータ転送要求がディスクリプタ転送要求であるかデータ転送要求であるかによって判断している。 Further, in the image processing apparatus 1 according to the present embodiment, the PCIe root complex 3a controls data transfer by DMA data transfer, the data transfer request is a DMA data transfer request, and the transfer load is set to DMA data. transfer request is determined by whether the data transfer request is a descriptor transfer request.

したがって、DMAデータ転送におけるラウンドロビン方式でのデータ転送を安価にかつ効率的に行うことができる。   Therefore, round robin data transfer in DMA data transfer can be performed at low cost and efficiently.

さらに、本実施例の画像処理装置1は、内部アービタ70が、DMAC20a〜50aからのデータ転送要求に基づいて、マスクを設定するか否かのマスク設定制御及び設定したマスクのマスク期間の解除を行うか否かのマスク期間制御を行っている。   Further, in the image processing apparatus 1 of the present embodiment, the internal arbiter 70 performs mask setting control as to whether or not to set a mask based on a data transfer request from the DMACs 20a to 50a and cancels the mask period of the set mask. Whether or not to perform masking period control is performed.

したがって、マスクの設定の事前制御を行うことができるとともに、設定したマスク期間の制御を行うことができ、より一層適切かつ効率的にラウンドロビン方式でのデータ転送を行うことができる。   Therefore, it is possible to perform pre-control of mask setting and control of the set mask period, and it is possible to perform data transfer in a round robin manner more appropriately and efficiently.

なお、上記実施例においては、スキャナ処理とプロッタ処理を行う複合装置、複写装置等の画像処理装置1に適用した場合について説明したが、データ転送装置としては、画像処理装置に限るものではなく、データ転送をラウンドロビン方式で行う装置一般に適用することができる。   In the above-described embodiment, the case where the present invention is applied to the image processing apparatus 1 such as a composite apparatus or a copying apparatus that performs scanner processing and plotter processing has been described. However, the data transfer apparatus is not limited to the image processing apparatus. The present invention can be generally applied to a device that performs data transfer in a round robin manner.

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

本発明は、データ転送をラウンドロビン方式で行うとともに、マスク処理を行って意図するデバイスの転送を優先させるデータ転送制御装置、画像処理装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に利用することができる。   The present invention is used in a data transfer control device, an image processing device, a data transfer control method, a data transfer control program, and a recording medium that perform data transfer in a round robin manner and prioritize transfer of an intended device by performing mask processing. can do.

1 画像処理装置
2 コントローラASIC
3 メインCPU
3a PCIeルートコンプレックス
3b 内部バッファ
4 メインメモリ
5 スキャナASIC
6 スキャナ部
7 プロッタASIC
8 プロッタ部
9 ハードディスク(HDD)
10 外部IFASIC
11 ネットワーク
12 外部デバイス
20 ネットワークコントローラ
20a DMAC
20b 内部バッファ
20c ネットワーク制御部
30〜50 外部デバイスコントローラ
30a〜50a DMAC
60 PCIeコントローラ
60a PCIeエンドポイント
60b 内部バッファ
70 内部アービタ
70a 転送要求制御部
80 PCIe
1 Image processing device 2 Controller ASIC
3 Main CPU
3a PCIe root complex 3b internal buffer 4 main memory 5 scanner ASIC
6 Scanner unit 7 Plotter ASIC
8 Plotter section 9 Hard disk (HDD)
10 External IFASIC
11 Network 12 External Device 20 Network Controller 20a DMAC
20b Internal buffer 20c Network control unit 30-50 External device controller 30a-50a DMAC
60 PCIe controller 60a PCIe end point 60b internal buffer 70 internal arbiter 70a transfer request control unit 80 PCIe

特許4024484号公報Japanese Patent No. 4024484

Claims (9)

記憶手段と、
前記記憶手段と接続されると共に、第1の内部バッファを有し、当該第1の内部バッファを利用したデータ転送を制御するデータ転送制御手段と、
外部とのデータ転送に係るデータ転送要求を行う複数のデータ転送要求手段と、
前記複数のデータ転送要求手段の何れかからの前記データ転送要求に対して、当該データ転送要求を所定期間許又は不許可とする制御を行うデータ転送要求制御手段と、
前記データ転送制御手段とバス接続され、前記第1の内部バッファのデータ量を取して保存する第2の内部バッファを有する転送インターフェイス手段と、を備えたデータ転送制御装置であって、
前記データ転送要求制御手段は、前記外部からのデータ転送要求が前記記憶手段との間のデータ転送に係る要求である場合に、前記第1の内部バッファの空き状況を前記第2の内部バッファに取得して保存した当該第1の内部バッファの変化量に基づいて判断し、当該第1の内部バッファの空き容量が十分であると判断したときに当該データ転送要求を許可して当該記憶手段との間のデータを前記転送インターフェイス手段を介して転送し、当該第1の内部バッファの空き容量が十分でないと判断したときに当該データ転送要求を不許可とすることを特徴とするデータ転送制御装置。
Storage means;
Is connected to the storage means, having a first internal buffer, and the data transfer control means for controlling data transfer by using the first internal buffer,
A plurality of data transfer request means for making a data transfer request related to data transfer with the outside ;
To the data transfer request from any one of said plurality of data transfer request means, the data transfer request control means for controlling that the data transfer request for a predetermined period allowed or disallowed,
The data transfer control means and connected by a bus to a data transfer control device and a transfer interface means having a second internal buffer and stores the acquired data amount of said first internal buffer,
The data transfer request control means, when the external data transfer request is a request related to data transfer with the storage means, indicates the availability of the first internal buffer in the second internal buffer. Judgment is made based on the change amount of the first internal buffer acquired and stored, and when it is determined that the free space of the first internal buffer is sufficient, the data transfer request is permitted and the storage means The data transfer control device is configured to transfer the data between the first and second data via the transfer interface means, and disallow the data transfer request when it is determined that the free space of the first internal buffer is not sufficient. .
請求項1記載のデータ転送制御装置において、前記データ転送要求制御手段は、前記第1の内部バッファの変化量を予め設定されている変化閾値と比較した結果、当該変化量が当該変化閾値よりも大きいときには空き容量が十分であると判断し、当該変化量が当該変化閾値よりも小さいときには空き容量が十分でないと判断することを特徴とするデータ転送制御装置。 2. The data transfer control device according to claim 1, wherein the data transfer request control means compares the change amount of the first internal buffer with a preset change threshold value, and as a result, the change amount is greater than the change threshold value. determines that the free space is sufficient when large, the amount of change features and to Lud over data transfer control device that determines that the free space is not enough when less than the variation threshold. 請求項1又は2記載のデータ転送制御装置において、前記データ転送要求制御手段は、許可したデータ転送が所定の転送期間を経過すると、前記データ転送要求手段からの前記データ転送要求を所定のマスク期間だけ不許可とするマスク処理を前記データ転送制御手段での前記データ転送に与える転送負荷の大きさに基づいて制御することを特徴とするデータ転送制御装置。 3. The data transfer control device according to claim 1, wherein the data transfer request control means sends the data transfer request from the data transfer request means for a predetermined mask period when the permitted data transfer has passed a predetermined transfer period. only disallowed to masking the data transfer control means and the data transfer characteristics and to Lud over data transfer control device to control based on the magnitude of the transfer load on the at. 請求項3記載のデータ転送制御装置において、前記データ転送要求制御手段は、前記転送負荷の大きさを前記データ転送要求手段からの前記データ転送要求の要求する転送データ量に基づいて判断することを特徴とするデータ転送制御装置。 4. The data transfer control device according to claim 3, wherein the data transfer request control means determines the magnitude of the transfer load based on a transfer data amount requested by the data transfer request from the data transfer request means. features and to Lud over data transfer control device. 請求項3記載のデータ転送制御装置において、前記データ転送制御手段は、DMAデータ転送によるデータ転送を制御し、前記データ転送要求手段は、前記データ転送要求としてDMAデータ転送要求を行い、前記データ転送要求制御手段は、前記転送負荷の大きさを前記DMAデータ転送要求がディスクリプタ転送要求であるかデータ転送要求であるかによって判断することを特徴とするデータ転送制御装置。 4. The data transfer control device according to claim 3, wherein said data transfer control means controls data transfer by DMA data transfer, said data transfer request means makes a DMA data transfer request as said data transfer request, and said data transfer request control means, the transfer load of the size of the DMA data transfer request features and to Lud over data transfer control device be determined by whether the data transfer request is a descriptor transfer request. 請求項3〜5の何れか1項記載のデータ転送制御装置において、前記データ転送要求制御手段は、前記データ転送要求手段からの前記データ転送要求に基づいて、前記マスク処理を設定するか否かのマスク設定制御及び設定した当該マスク処理のマスク期間の解除を行うか否かのマスク期間制御を行うことを特徴とするデータ転送制御装置 6. The data transfer control device according to claim 3, wherein the data transfer request control unit determines whether to set the mask processing based on the data transfer request from the data transfer request unit. mask setting control and the set features and to Lud over data transfer control device that performs whether mask period control to release the mask period of the mask processing. 記憶手段と接続されると共に、第1の内部バッファを有するデータ転送制御手段により、当該第1の内部バッファを利用したデータ転送を制御するデータ転送制御処理ステップと、
複数のデータ転送要求手段により、外部とのデータ転送に係るデータ転送要求を行う複数のデータ転送要求処理ステップと、
データ転送要求制御手段により、前記複数のデータ転送要求手段の何れかからの前記データ転送要求に対して、当該データ転送要求を所定期間許可又は不許可とする制御を行うデータ転送要求制御処理ステップと、
前記データ転送制御手段とバス接続された転送インターフェイス手段の第2の内部バッファにより、前記第1の内部バッファのデータ量を取得して保存する転送インターフェイス処理ステップと、を有し、
前記データ転送要求制御処理ステップでは、前記外部からのデータ転送要求が前記記憶手段との間のデータ転送に係る要求である場合に、前記第1の内部バッファの空き状況を前記第2の内部バッファに取得して保存した当該第1の内部バッファの変化量に基づいて判断し、当該第1の内部バッファの空き容量が十分であると判断したときに当該データ転送要求を許可して当該記憶手段との間のデータを前記転送インターフェイス手段を介して転送し、当該第1の内部バッファの空き容量が十分でないと判断したときに当該データ転送要求を不許可とすることを特徴とするデータ転送制御方法
A data transfer control processing step for controlling data transfer using the first internal buffer by the data transfer control means connected to the storage means and having the first internal buffer;
A plurality of data transfer request processing steps for performing a data transfer request related to data transfer with the outside by a plurality of data transfer request means;
A data transfer request control processing step for performing a control for permitting or not permitting the data transfer request for a predetermined period with respect to the data transfer request from any of the plurality of data transfer requesting means by a data transfer request controlling means; ,
A transfer interface processing step of acquiring and storing a data amount of the first internal buffer by a second internal buffer of the transfer interface means connected by bus to the data transfer control means,
In the data transfer request control processing step, when the external data transfer request is a request related to data transfer with the storage unit, the availability of the first internal buffer is determined as the second internal buffer. The storage means permits the data transfer request when it is determined based on the change amount of the first internal buffer acquired and stored in step S1 and when it is determined that the free space of the first internal buffer is sufficient. Data transfer control , wherein the data transfer request is not permitted when it is determined that the first internal buffer has insufficient free space. Way .
コンピュータにより実行させるデータ転送制御プログラムであって、
記憶手段と接続されると共に、第1の内部バッファを有するデータ転送制御手段により、当該第1の内部バッファを利用したデータ転送を制御するデータ転送制御処理ステップの手順と、
複数のデータ転送要求手段により、外部とのデータ転送に係るデータ転送要求を行う複数のデータ転送要求処理ステップの手順と、
データ転送要求制御手段により、前記複数のデータ転送要求手段の何れかからの前記データ転送要求に対して、当該データ転送要求を所定期間許可又は不許可とする制御を行うデータ転送要求制御処理ステップの手順と、
前記データ転送制御手段とバス接続された転送インターフェイス手段の第2の内部バッファにより、前記第1の内部バッファのデータ量を取得して保存する転送インターフェイス処理ステップの手順と、を有し、
前記データ転送要求制御処理ステップの手順では、前記外部からのデータ転送要求が前記記憶手段との間のデータ転送に係る要求である場合に、前記第1の内部バッファの空き状況を前記第2の内部バッファに取得して保存した当該第1の内部バッファの変化量に基づいて判断し、当該第1の内部バッファの空き容量が十分であると判断したときに当該データ転送要求を許可して当該記憶手段との間のデータを前記転送インターフェイス手段を介して転送し、当該第1の内部バッファの空き容量が十分でないと判断したときに当該データ転送要求を不許可とすることを特徴とするデータ転送制御プログラム
A data transfer control program executed by a computer,
A procedure of a data transfer control processing step for controlling data transfer using the first internal buffer by the data transfer control means connected to the storage means and having the first internal buffer;
A plurality of data transfer request processing steps for performing a data transfer request related to data transfer with the outside by a plurality of data transfer request means;
A data transfer request control means for performing a control for permitting or not permitting the data transfer request for a predetermined period in response to the data transfer request from any of the plurality of data transfer request means. Procedure and
A transfer interface processing step for acquiring and storing a data amount of the first internal buffer by a second internal buffer of the transfer interface means connected by bus to the data transfer control means, and
In the procedure of the data transfer request control processing step, when the external data transfer request is a request related to data transfer with the storage means, the free state of the first internal buffer is set to the second state. Judgment is made based on the change amount of the first internal buffer acquired and stored in the internal buffer, and when the free space of the first internal buffer is determined to be sufficient, the data transfer request is permitted and the the data between the storage means and transferred through said transfer interface unit, characterized in that the free space of the first internal buffer is not permitted to the data transfer request when it is determined that not enough data Transfer control program .
請求項8記載のデータ転送制御プログラムにおける各ステップの手順をコンピュータが読み取り可能に記録したことを特徴とする記録媒体。9. A recording medium in which the procedure of each step in the data transfer control program according to claim 8 is recorded so as to be readable by a computer.
JP2009032213A 2009-02-16 2009-02-16 Data transfer control device, data transfer control method, data transfer control program, and recording medium Expired - Fee Related JP5332692B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009032213A JP5332692B2 (en) 2009-02-16 2009-02-16 Data transfer control device, data transfer control method, data transfer control program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009032213A JP5332692B2 (en) 2009-02-16 2009-02-16 Data transfer control device, data transfer control method, data transfer control program, and recording medium

Publications (2)

Publication Number Publication Date
JP2010191492A JP2010191492A (en) 2010-09-02
JP5332692B2 true JP5332692B2 (en) 2013-11-06

Family

ID=42817509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009032213A Expired - Fee Related JP5332692B2 (en) 2009-02-16 2009-02-16 Data transfer control device, data transfer control method, data transfer control program, and recording medium

Country Status (1)

Country Link
JP (1) JP5332692B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6175794B2 (en) * 2013-02-19 2017-08-09 株式会社リコー Data processing apparatus and data processing method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03233745A (en) * 1990-02-09 1991-10-17 Fujitsu Ltd Transmission data control system
JPH10312359A (en) * 1997-05-09 1998-11-24 Nec Corp Deadlock evading mechanism
JP2000132495A (en) * 1998-10-28 2000-05-12 Matsushita Electric Ind Co Ltd Dma device
JP4549458B2 (en) * 1999-04-14 2010-09-22 株式会社沖データ DMA transfer device
JP2005085079A (en) * 2003-09-10 2005-03-31 Matsushita Electric Ind Co Ltd Data transfer controller
JP2005258509A (en) * 2004-03-09 2005-09-22 Fujitsu Ltd Storage device
JP4878185B2 (en) * 2006-03-17 2012-02-15 株式会社リコー Data communication circuit and arbitration method

Also Published As

Publication number Publication date
JP2010191492A (en) 2010-09-02

Similar Documents

Publication Publication Date Title
JP4778199B2 (en) Data transfer apparatus and data transfer method
US7096292B2 (en) On-chip inter-subsystem communication
JP4356765B2 (en) Information processing apparatus and method, and program
KR102372289B1 (en) Memory access system, method for controlling the same, computer-readable storage medium, and image forming apparatus
JP5565204B2 (en) Data transfer apparatus, data transfer method and program, and image forming apparatus
KR100480605B1 (en) Method of controlling transmitting buffer and receiving buffer of network controller, and the network controller
WO2006024193A1 (en) Method and system for data transfer
JP5332692B2 (en) Data transfer control device, data transfer control method, data transfer control program, and recording medium
JP2011090485A (en) Circuit and method for pipe arbitration
JP2009043089A (en) Bus control device and bus control method
US8135878B1 (en) Method and apparatus for improving throughput on a common bus
JP4953794B2 (en) Bus arbitration method for bus system and bus system
JP2008108126A (en) Data transfer control device and bus access arbitration system therefor
JP2006189919A (en) Electronic equipment, control method and computer program
JP2006053613A (en) Data transfer controller and data transfer control method
JP2004355435A (en) Access arbitration device
JP4862593B2 (en) Data transfer apparatus and image forming apparatus
JP6171367B2 (en) Switch device, image processing device, and exclusive control method
KR100451722B1 (en) apparatus for controlling direct memory access
JP2006277363A (en) Information transfer system, and image forming device
JP2007102509A (en) Arbitration device
KR20070061240A (en) Apparatus for direct memory access for absolute priority dma request and method thereof
JPH0844661A (en) Information processor
JP4832327B2 (en) Bus arbitration circuit
JP3678537B2 (en) Data transfer method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120203

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130404

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130404

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: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130715

LAPS Cancellation because of no payment of annual fees