JP2006014211A - Network control unit, image processor, and image forming apparatus - Google Patents

Network control unit, image processor, and image forming apparatus Download PDF

Info

Publication number
JP2006014211A
JP2006014211A JP2004191906A JP2004191906A JP2006014211A JP 2006014211 A JP2006014211 A JP 2006014211A JP 2004191906 A JP2004191906 A JP 2004191906A JP 2004191906 A JP2004191906 A JP 2004191906A JP 2006014211 A JP2006014211 A JP 2006014211A
Authority
JP
Japan
Prior art keywords
memory
software
interface unit
packet
network interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004191906A
Other languages
Japanese (ja)
Inventor
Toshio Takahashi
敏男 高橋
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 JP2004191906A priority Critical patent/JP2006014211A/en
Publication of JP2006014211A publication Critical patent/JP2006014211A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent receiving buffers from being overflowed by a hardware when packet processing of CPU is slower than receiving speed, and receiving buffers configured on a memory are short. <P>SOLUTION: This device is provided with a network interface 600 including MAC 140, an interface 160 between CPU 400 which prepares receiving buffers per packet and manages them, and a memory controller 170 which is connected to memory 500. The network interface 600 has a register to record the number of receiving packet buffers prepared on the memory 500 by a software, the number of actual receiving buffers. The number of receiving packets processed by the software; and performs automatic flow control to prevent the receiving buffers from being overflowed when the number of packets processed by the software is subtracted from the number of the received packets. The substrated value exceeds the preset upper limit value of total number of the receiving buffers prepared on the memory by the software. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、プリンタ、コピー、およびMFP(マルチファンクションペリフェラル)等のネットワークインターフェースのフロー制御動作を自動的に行うネットワーク制御装置、このネットワーク制御装置を備えた画像処理装置、及び画像形成装置に関する。   The present invention relates to a network control apparatus that automatically performs a flow control operation of a network interface such as a printer, a copy, and an MFP (multifunction peripheral), an image processing apparatus including the network control apparatus, and an image forming apparatus.

ネットワークインターフェースにおける受信パケットの処理は、1パケット受信する度にCPUに対して割り込み発生させて実行していることが多かった。しかしながら最近のネットワークの高速化においては、割り込み処理をパケット毎に発生させることによる処理時間のオーバヘッドが大きくなり、受信するパケットの量に対しCPUが処理するパケットの量が追いつかなくなる可能性が高くなってきた。   In many cases, the received packet processing in the network interface is executed by generating an interrupt to the CPU every time one packet is received. However, with the recent increase in network speed, the overhead of processing time due to the occurrence of interrupt processing for each packet increases, and there is a high possibility that the amount of packets processed by the CPU cannot keep up with the amount of packets received. I came.

このため、1パケット毎に処理をするのではなく、ある程度まとまった数のパケットを受信するか、一定時間経過経過することによってパケットの処理を起動する方法が行われ始めている。これにより割り込み処理発生回数を減らすことができ、総処理時間の短縮が可能となっている。また受信バッファサイズを大きくすることも行われており、処理の集中による効率化で対応する動きがある。   For this reason, instead of processing every packet, a method of starting packet processing by receiving a certain number of packets or elapse of a certain time has started. As a result, the number of interrupt processing occurrences can be reduced, and the total processing time can be shortened. The reception buffer size is also increased, and there is a movement to cope with the efficiency improvement by the concentration of processing.

他方、この種の技術として特許文献1ないし3に記載された発明が公知である。このうち、特許文献1には、システムの処理能力を大幅に改善することができる通信装置を提供することを目的として、受信したパケット及び受信情報が蓄積されるローカルメモリと、ローカルメモリに蓄積された受信情報に基づきパケット受信結果の判定及び資源開放等の受信時処理、ローカルメモリの蓄積量を検出すると共に検出した蓄積量が設定条件に達したか否かの判定、蓄積量が設定条件に達した場合にホストCPUへパケット受信通知を発行するローカルCPUとを備え、パケット当たりの処理時間の短縮化を図り、システムの処理能力を改善した通信装置が記載されている。   On the other hand, the inventions described in Patent Documents 1 to 3 are known as this type of technology. Among them, Patent Document 1 stores a received packet and received information in a local memory and a local memory for the purpose of providing a communication device that can greatly improve the processing capability of the system. Based on received information, packet reception result determination and processing at the time of resource release, detection of local memory storage amount, determination of whether or not the detected storage amount has reached the setting condition, and the storage amount as the setting condition A communication device is described that includes a local CPU that issues a packet reception notification to the host CPU when it reaches the target CPU, shortens the processing time per packet, and improves the processing capacity of the system.

また、特許文献2には、IEEE1394シリアルバスを介してのデータ転送において、容易にフロー制御を実現し、また、量子化誤差を低減することを目的として、FIFOは、デコーダからのデータを一旦保持し、所定の送信タイミングで出力するが、このとき、カウンタが、FIFOからIEEEバス上へ送信されるパケット数をカウントし、レジスタの送信指示に従って、データ転送量を増加するときには、空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信するようにし、データ量監視部は、フロー制御に伴ってFIFOがオーバフローになったり、空になったりしないように、データ入力制御部を介してデコーダへデータ要求・停止を行うようにしたデータ転送装置が記載されている。   In Patent Document 2, the FIFO temporarily holds data from the decoder for the purpose of easily realizing flow control and reducing quantization error in data transfer via the IEEE 1394 serial bus. At this time, the counter counts the number of packets transmitted from the FIFO onto the IEEE bus, and when the data transfer amount is increased according to the register transmission instruction, transfer of empty packets is performed. When data packets are sometimes transmitted to reduce the amount of data transfer, empty packets are transmitted at the transmission timing of the data packets, and the data amount monitoring unit causes the FIFO to overflow or become empty due to flow control. Request / stop data to the decoder via the data input controller. Unishi out data transfer apparatus is described.

さらに、特許文献3には、構成を簡略化することができるパケットバッファを提供することを目的とし、バッファ制御部は入力データ同期クロック、入力パケット同期信号、入力パケットストローブ信号に基づいてバッファメモリにバッファライト信号を供給し、入力パケットデータを格納し、パケット長カウンタは入力パケットデータのパケット長を求め、パケット長バッファメモリに順次供給し、バッファ制御部は出力データ同期クロック、出力パケット同期信号に基づいてパケット長バッファメモリからパケット長を順次読み出し、このパケット長分のバッファリード信号をバッファメモリに供給して、出力パケットデータの読み出しを制御するパケットバッファが記載されている。
特開2001−077847公報 特開2002−354051公報 特開平9−247213号公報
Further, Patent Document 3 aims to provide a packet buffer whose configuration can be simplified, and a buffer control unit is provided in a buffer memory based on an input data synchronization clock, an input packet synchronization signal, and an input packet strobe signal. The buffer write signal is supplied, the input packet data is stored, the packet length counter obtains the packet length of the input packet data and sequentially supplied to the packet length buffer memory, and the buffer control unit outputs the output data synchronization clock and the output packet synchronization signal. There is described a packet buffer that sequentially reads packet lengths from a packet length buffer memory and supplies a buffer read signal corresponding to the packet length to the buffer memory to control reading of output packet data.
JP 2001-0777847 A JP 2002-354051 A Japanese Patent Laid-Open No. 9-247213

しかしながら、処理能力が高いCPUであればともかく、処理能力の低いCPUの場合は、これらの対策であってもパケット処理が間に合うとは限らない。処理能力の高いCPUはそれだけコストも高くなり、受信バッファサイズを増やすこととあわせて、低価格化が進むプリンタやMFP(マルチファンクションペリフェラル)にとって決して万全な対策にはならない。しかも、CPUはパケット処理だけではなく、画像描画や他のインターフェース処理なども併せて行っている場合が多い。   However, regardless of the CPU having a high processing capacity, even in the case of a CPU having a low processing capacity, the packet processing is not always in time for these countermeasures. A CPU with a high processing capability increases in cost, and it is not a perfect measure for printers and MFPs (multifunction peripherals) that are becoming lower in price as the reception buffer size is increased. In addition, the CPU often performs not only packet processing but also image drawing and other interface processing.

また、他の処理が平行して起動された状態ではネットワークのパケット処理の速度も低下し、先の対策を実施していたとしても受信バッファのオーバフローを起こす可能性がある。オーバフローを起こしてしまうと、本来受信すべきであったパケットをロストしてしまうことになり、パケットの再送処理が必要となってしまう。これでは、必要以上に通信時間がかかることを意味する。   In addition, when other processes are started in parallel, the network packet processing speed is also reduced, and even if the above countermeasures are taken, the reception buffer may overflow. If overflow occurs, the packet that should have been received is lost, and packet retransmission processing is required. This means that communication time is longer than necessary.

また、特許文献1ないし3記載の技術においてはパケット当たりの処理時間の短縮化を図るための技術が開示されているが、いずれもソフトウェアを使用した構成のため、処理時間を短くしようとすると、その分、処理能力の高いCPUを使用せざるを得ず、コストが高くならざるを得ない。   In addition, in the techniques described in Patent Documents 1 to 3, techniques for shortening the processing time per packet are disclosed, but since both are configurations using software, when trying to shorten the processing time, Accordingly, a CPU having a high processing capacity must be used, and the cost must be increased.

本発明は、このような技術的背景に鑑みてなされたもので、CPUのパケット処理が受信速度を下回り、メモリ上に構成される受信バッファが枯渇しそうになったときに、ハードウェアにより受信バッファのオーバフローを防止することを目的とする。   The present invention has been made in view of such a technical background. When the packet processing of the CPU falls below the reception speed and the reception buffer configured on the memory is about to be exhausted, the reception buffer is executed by hardware. The purpose is to prevent overflow.

前記目的を達成するため、第1の手段に係るネットワーク制御装置は、MACを含むネットワークインターフェース部と、受信バッファをパケット単位で用意・管理するCPUとのインターフェイス部と、メモリに接続されたメモリコントローラ部とを備え、前記ネットワークインターフェース部は、ソフトウェアがメモリ上に用意した受信パケットバッファの数と、実際の受信パケット数と、ソフトウェアが処理した受信パケットの数とを記録するレジスタを有し、受信したパケット数からソフトウェアが処理したパケット数を差し引き、その値がソフトウェアが前記メモリ上に用意した受信バッファの総数のあらかじめ設定された上限値を超えた場合に、自動でフロー制御を行い、受信バッファがオーバフローすることを防止することを特徴とする。   To achieve the above object, a network control apparatus according to a first means includes a network interface unit including a MAC, an interface unit with a CPU that prepares and manages a reception buffer in packet units, and a memory controller connected to a memory. The network interface unit has a register for recording the number of received packet buffers prepared on the memory by the software, the actual number of received packets, and the number of received packets processed by the software. The number of packets processed by the software is subtracted from the number of received packets, and when the value exceeds the preset upper limit of the total number of receive buffers prepared in the memory, flow control is automatically performed and the receive buffer To prevent it from overflowing And butterflies.

第2の手段に係るネットワーク制御装置は、MACを含むネットワークインターフェース部と、受信バッファを一括で用意しパケット単位で管理するCPUとのインターフェイス部と、メモリに接続されたメモリコントローラ部とを備え、前記ネットワークインターフェース部は、ソフトウェアがメモリ上に用意した受信パケットバッファの数と、実際の受信パケット数と、ソフトウェアが処理した受信パケットの数と、を記録するレジスタを有し、受信したパケットの総バイト数からソフトウェアが処理したバイト数を差し引き、その値がソフトウェアが前記メモリ上に用意した受信バッファの総バイト数のあらかじめ設定された上限値を超えた場合に、自動でフロー制御を行い、受信バッファがオーバフローすることを防止することを特徴とする。   The network control apparatus according to the second means includes a network interface unit including a MAC, an interface unit with a CPU that collectively prepares reception buffers and manages them in packet units, and a memory controller unit connected to a memory, The network interface unit has a register for recording the number of received packet buffers prepared by the software in the memory, the actual number of received packets, and the number of received packets processed by the software. If the number of bytes processed by the software is subtracted from the number of bytes, and the value exceeds the preset upper limit of the total number of bytes in the receive buffer prepared in the memory, flow control is automatically performed and received. Special features to prevent the buffer from overflowing To.

第3の手段は、第1または第2の手段において、前記ネットワークインターフェイス部がMACに加え、物理層デバイスと、DMAコントローラを含むことを特徴とする。   A third means is characterized in that, in the first or second means, the network interface unit includes a physical layer device and a DMA controller in addition to the MAC.

第4の手段は、第1ないし第3の手段に係るネットワーク制御装置において、前記ネットワークインターフェイス部のMAC、DMAコントローラ、前記インターフェイス部、及びメモリコントローラ部とが、ASICによって構成されていることを特徴とする。   According to a fourth means, in the network control device according to the first to third means, the MAC of the network interface unit, the DMA controller, the interface unit, and the memory controller unit are configured by an ASIC. And

第5の手段は第4の手段において、前記ASICが、接続された共通資源であるメモリ及び/又は大容量記憶装置間のメモリアービタを含むことを特徴とする。   A fifth means is the fourth means, characterized in that the ASIC includes a memory arbiter between a memory and / or a mass storage device as a connected common resource.

第6の手段は、複数のアプリケーション機能を有し、各アプリケーション機能が少なくともメモリを共有資源として利用し、クライアントコンピュータからの動作指令によって作動する第1ないし第5の手段に係るネットワーク制御装置を画像処理装置が備えていることを特徴とする。   The sixth means has a plurality of application functions, each of the application functions uses at least a memory as a shared resource, and images the network control apparatus according to the first to fifth means that operate according to an operation command from a client computer. A processing apparatus is provided.

第7の手段は、第6の手段に係る画像処理装置を画像形成装置が備えていることを特徴とする。   The seventh means is characterized in that the image forming apparatus includes the image processing apparatus according to the sixth means.

本発明によれば、メモリ上に構成される受信バッファが枯渇しそうになったときに、ハードウェアがそれを検知して受信バッファのオーバフローを防止すること   According to the present invention, when the reception buffer configured on the memory is about to be exhausted, the hardware detects it and prevents the reception buffer from overflowing.

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

<第1の実施形態>
図1は、本発明の第1の実施形態に係るハードウェア構成としてのASICの構成の一例を示すブロック図である。
<First Embodiment>
FIG. 1 is a block diagram showing an example of the configuration of an ASIC as a hardware configuration according to the first embodiment of the present invention.

このASIC100はネットワークインターフェイスを含むネットワーク制御装置としての機能を備えたもので、メモリ・アービタ110に対してハードディスク装置(HDD)、物理層デバイス300、CPU400およびメモリ500が接続されている。ASIC100は、HDD200と接続するためのHDDインターフェイス120、USB端子が接続されるUSBインターフェイス130、物理層デバイス300と接続sれるMAC(Media Access Controller)140、SDカードが接続されるSDカードインターフェイス150、CPU400が接続されるCPUインターフェイス160、メモリ500が接続されるメモリコントローラ170、プリンタエンジンと接続されるプリンタエンジンインターフェイス180及びIEEE1284端子が接続されるIEEE1284インターフェイス190を備え、さらに、HDDインターフェイス120、USBインターフェイス130、MAC140及びSDカードインターフェイス150とメモリアービタ110との間にはそれぞれDMAコントローラ121,131,141,151が設けられている。この実施形態では、ネットワークインターフェイスは物理層デバイス300、MAC140及びDMAコントローラ141から構成されている。   The ASIC 100 has a function as a network control device including a network interface. A hard disk device (HDD), a physical layer device 300, a CPU 400, and a memory 500 are connected to the memory arbiter 110. The ASIC 100 includes an HDD interface 120 for connecting to the HDD 200, a USB interface 130 to which a USB terminal is connected, a MAC (Media Access Controller) 140 connected to the physical layer device 300, an SD card interface 150 to which an SD card is connected, A CPU interface 160 to which the CPU 400 is connected, a memory controller 170 to which the memory 500 is connected, a printer engine interface 180 to which the printer engine is connected, and an IEEE1284 interface 190 to which an IEEE1284 terminal is connected are further provided. 130, MAC 140 and SD card interface 150 and memory arbiter 11 DMA controllers 121, 131, 141, and 151 are provided between 0 and 0, respectively. In this embodiment, the network interface includes a physical layer device 300, a MAC 140, and a DMA controller 141.

そして、ソフトウェア(CPU400)は、ASIC100のメモリコントローラ170に接続されたメモリ500上に、受信パケットを格納するバッファを設定する。そのバッファのサイズには上限があるが、バッファの総メモリサイズだけではなく、格納できるパケットの数にも上限を設けている。   Then, the software (CPU 400) sets a buffer for storing received packets on the memory 500 connected to the memory controller 170 of the ASIC 100. Although there is an upper limit on the size of the buffer, there is an upper limit not only on the total memory size of the buffer but also on the number of packets that can be stored.

物理層デバイス300からMACで受信されたパケットは、DMAコントローラ141によりメモリ500に転送される。MAC140部には、メモリ500へ転送したパケットの総数を記録するレジスタAと、ソフトウェアが一定時間毎に処理したパケットの数を書き込むレジスタB、レジスタBに書き込まれた値を累積していくレジスタCがある。レジスタCは、ソフトウェアがそれまでに処理したパケットの総数を示す。   A packet received by the MAC from the physical layer device 300 is transferred to the memory 500 by the DMA controller 141. The MAC 140 unit includes a register A for recording the total number of packets transferred to the memory 500, a register B for writing the number of packets processed by the software every predetermined time, and a register C for accumulating the values written in the register B. There is. Register C indicates the total number of packets that the software has processed so far.

図2は本実施形態の動作を説明するための図である。同図において、受信したパケット総数をSP、ソフトウェアが処理したパケット総数をDP、メモリ500上に設定された受信パケットバッファ内のパケット数をBPで示している。この図から分かるように受信したパケット総数DPが大きくなり、ソフトウェアの処理が追いつかず、受信パケットバッファ内のパケット数が、一定水準を超えた時点(図示A点)で、ネットワークインターフェイスがフロー制御を自動実行する。そして、ソフトウェアの処理が受信したパケット総数SPに追いついて、受信パケットバッファ内のパケット数BPが所定値より小さくなり、受信パケットバッファの空き領域が一定水準より大きくなった時点(図示B点)で受信再開のフロー制御を自動実行する。   FIG. 2 is a diagram for explaining the operation of the present embodiment. In the figure, the total number of received packets is indicated by SP, the total number of packets processed by software is indicated by DP, and the number of packets in the reception packet buffer set on the memory 500 is indicated by BP. As can be seen from this figure, the network interface performs flow control when the total number of received packets DP increases, the software process cannot catch up, and the number of packets in the received packet buffer exceeds a certain level (point A in the figure). Run automatically. Then, when the software processing catches up with the total number of received packets SP, the number of packets BP in the received packet buffer becomes smaller than a predetermined value, and the free area of the received packet buffer becomes larger than a certain level (point B in the figure). Automatic flow control for resuming reception.

図3はこのときのフロー制御の制御手順を示すフローチャートである。
MAC140に設けられたレジスタAは、時間と共に一定ではないが増えていく。レジスタCも一定時間毎に増えていくことになる。ネットワークインターフェイスは前記レジスタAとレジスタCの値の差Xを監視し(ステップS1)、CPU400の処理が受信速度に追いつかなくなると、X=レジスタA−レジスタCの値が大きくなっていく。この値Xが受信パケットバッファ数TH(THは、オーバフロー防止のためのバッファ内のパケットデータの上限値)を越えると、メモリ上に用意した受信パケットバッファがオーバフローをおこすので、前記値XとTHを比較し、前記値XがTHを超える(ステップS2−Yes)と、オーバフロー防止のフロー制御を実行し(ステップS3)、受信パケットの流入を抑える。ソフトウェアは処理を継続するので、この状態では(レジスタA−レジスタC)の値Xは小さくなっていく。そして、受信パケットバッファに十分な空き領域が確保できた時点で、すなわち、X<TL(TLは受信再開を許可できるバッファ内のパケット数の上限値)となった時点で(ステップS4−Yes)、ハードウェアが自動でフロー制御を行い、受信パケットの流入を許可する(ステップS5)。CPU400は、受信バッファをパケット単位で用意・管理する。
FIG. 3 is a flowchart showing a control procedure of the flow control at this time.
The register A provided in the MAC 140 is not constant but increases with time. The register C is also increased at regular intervals. The network interface monitors the difference X between the values of the registers A and C (step S1), and when the processing of the CPU 400 cannot keep up with the reception speed, the value of X = register A−register C increases. When this value X exceeds the number TH of received packet buffers (TH is the upper limit value of packet data in the buffer for preventing overflow), the received packet buffer prepared in the memory overflows, so that the values X and TH When the value X exceeds TH (step S2-Yes), flow control for preventing overflow is executed (step S3), and the inflow of received packets is suppressed. Since the software continues processing, the value X of (register A-register C) becomes smaller in this state. Then, when a sufficient free space can be secured in the reception packet buffer, that is, when X <TL (TL is the upper limit value of the number of packets in the buffer that can be permitted to resume reception) (step S4-Yes). The hardware automatically performs flow control and permits the inflow of received packets (step S5). The CPU 400 prepares and manages the reception buffer in units of packets.

なお、レジスタA、B、Cの値は、パケット数でなくバイト数であってもよい。その際、CPU400は受信バッファを一括で用意しパケット単位で管理するようにする。   Note that the values of the registers A, B, and C may be the number of bytes instead of the number of packets. At that time, the CPU 400 prepares reception buffers in a batch and manages them in packet units.

図4は本発明の実施形態に係るネットワークシステムのシステム構成の一例を示す図である。
このシステムは、イーサネット(登録商標)にケーブルを介して2台のPCとMFP及びプリンタが接続され、無線LANを介してされに、1台のノードPCと、プリンタが接続されている。前記ASIC100はMFPおよびプリンタに搭載され、効率的にPCからのデータを受け入れて出力できるように構成される。
FIG. 4 is a diagram showing an example of the system configuration of the network system according to the embodiment of the present invention.
In this system, two PCs, an MFP, and a printer are connected to Ethernet (registered trademark) via a cable, and one node PC and a printer are connected via a wireless LAN. The ASIC 100 is mounted on an MFP and a printer, and is configured to efficiently receive and output data from a PC.

MFPはMulti Function Peripheralと称され、デジタルデータを記録シート上に可視画像として印刷する機能を有する画像形成装置で、コピー機能、プリンタ機能、ファクシミリ機能などの複数の機能を備えている。このうちプリンタ機能では、PCから送られてくる画像データはプリンタドライバによって画像処理が施されているので、転送されてきた画像データをそのまま出力する。   The MFP is called a multi function peripheral, and is an image forming apparatus having a function of printing digital data as a visible image on a recording sheet, and has a plurality of functions such as a copy function, a printer function, and a facsimile function. Among these, in the printer function, since the image data sent from the PC is subjected to image processing by the printer driver, the transferred image data is output as it is.

一方、コピー機能は、原稿を読み取ったRGBの画像データを印字用のYMCKの画像データに変換する必要があるので、そのためのγ補正やMTF処理などの公知の画像処理が施される。また、ファクシミリ機能では、送信されてきた画像データを印字出力する際に、プリンタγ補正やディザ処理などの画像処理が施される。   On the other hand, the copy function needs to convert RGB image data obtained by reading a document into YMCK image data for printing, and thus known image processing such as γ correction and MTF processing is performed. In the facsimile function, image processing such as printer γ correction and dither processing is performed when the transmitted image data is printed out.

したがって、スキャナから転送されてきた画像を処理する場合には、前記ASIC100は画像処理装置に設けられる。また、コピー機能を有する画像形成装置では、スキャナを備えているので、画像処理装置を含んだ構成となっている。   Therefore, when processing the image transferred from the scanner, the ASIC 100 is provided in the image processing apparatus. An image forming apparatus having a copy function includes a scanner and thus includes an image processing apparatus.

<第2の実施形態>
図5は、ネットワークインターフェース600が拡張用PCIバス700に接続された場合のASICの構成の第2の実施形態を示す図である。なお、第1の実施形態と同等な各部には同一の参照符号を付し、重複する説明は適宜省略する。
<Second Embodiment>
FIG. 5 is a diagram illustrating a second embodiment of the configuration of the ASIC when the network interface 600 is connected to the expansion PCI bus 700. Note that the same reference numerals are given to the same components as those in the first embodiment, and redundant descriptions are omitted as appropriate.

同図において、ASIC1(100)のメモリコントローラ170に接続されたメモリ500上に、ソフトウェアは受信パケットを格納するバッファを設定する。そのバッファのサイズには上限があるが、バッファの総メモリサイズだけではなく、格納できるパケットの数にも上限を設けている。   In the figure, the software sets a buffer for storing received packets on the memory 500 connected to the memory controller 170 of the ASIC 1 (100). Although there is an upper limit on the size of the buffer, there is an upper limit not only on the total memory size of the buffer but also on the number of packets that can be stored.

ASIC2(111)に内蔵されているMAC111−1で受信されたパケットは、DMAコントローラ111−2により、PCIバス700、PCIインターフェイス110−2及びDMAコンピュータ110−1経由でメモリ500に転送される。MAC111−1部には、メモリ500へ転送したパケットの総数を記録するレジスタAと、ソフトウェアが一定時間毎に処理したパケットの数を書き込むレジスタB、レジスタBに書き込まれた値を累積していくレジスタCがある。その他、特に説明しない各部は前述の第1の実施形態と同様に構成され、同等に機能する。   A packet received by the MAC 111-1 incorporated in the ASIC 2 (111) is transferred to the memory 500 by the DMA controller 111-2 via the PCI bus 700, the PCI interface 110-2, and the DMA computer 110-1. In the MAC 111-1 unit, a register A that records the total number of packets transferred to the memory 500, a register B that writes the number of packets processed by the software every predetermined time, and a value written in the register B are accumulated. There is a register C. Other parts that are not particularly described are configured in the same manner as in the first embodiment and function in the same manner.

以上のように、上記第1及び第2の実施形態によれば、MAC部140,111−1でフロー制御パケットを生成・送信し、通信動作を一時停止させ、受信バッファのオーバフローを防止することができる。   As described above, according to the first and second embodiments, the MAC units 140 and 111-1 generate and transmit the flow control packet, temporarily stop the communication operation, and prevent the reception buffer from overflowing. Can do.

フロー制御により、処理能力の低いCPUであっても、パケットのロストを防ぎ、不要なパケット再送時間の発生を防ぐことが可能になる。   With flow control, even a CPU with low processing capability can prevent lost packets and prevent unnecessary packet retransmission time.

CPU400がパケット処理を行い受信バッファに余裕が生まれたら、MAC部140,111−1は再度フロー制御パケットにより、通信を再開する。これにより、必要以上に通信停止状態が続くことも防ぐことができる。   When the CPU 400 performs packet processing and a margin is generated in the reception buffer, the MAC units 140 and 111-1 resume communication using the flow control packet again. Thereby, it is possible to prevent the communication stop state from continuing more than necessary.

CPU400の処理能力を気にせず、メモリ500上に用意された受信バッファのオーバフローを予防することができ、不要なパケット再送処理発生を防ぐことができる。   The overflow of the reception buffer prepared on the memory 500 can be prevented without worrying about the processing capacity of the CPU 400, and unnecessary packet retransmission processing can be prevented.

さらに、高性能なCPU、大容量メモリを採用しにくい低価格層のプリンタやMFPでも、安心して高速なネットワーク環境へ接続することが可能となる。   Furthermore, even low-priced printers and MFPs that do not readily employ high-performance CPUs and large-capacity memories can be connected to a high-speed network environment with peace of mind.

本発明の第1の実施形態に係るハードウェア構成としてのASICの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of ASIC as a hardware structure concerning the 1st Embodiment of this invention. 第1の実施形態の動作を説明するための図である。It is a figure for demonstrating the operation | movement of 1st Embodiment. 第1の実施形態のフロー制御の制御手順を示すフローチャートである。It is a flowchart which shows the control procedure of the flow control of 1st Embodiment. 第1の実施形態に係るネットワークシステムのシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration | structure of the network system which concerns on 1st Embodiment. 第2の実施形態に係るハードウェア構成としてのASICの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of ASIC as a hardware structure which concerns on 2nd Embodiment.

符号の説明Explanation of symbols

100 ASIC,ASIC1
110 メモリアービタ
111 ASIC2
111−1,140 MAC
111−2,141 DMAコントローラ
300 物理層デバイス
400 CPU
500 メモリ
600 ネットワークインターフェイス
100 ASIC, ASIC1
110 Memory Arbiter 111 ASIC2
111-1,140 MAC
111-2, 141 DMA controller 300 Physical layer device 400 CPU
500 memory 600 network interface

Claims (7)

MACを含むネットワークインターフェース部と、受信バッファをパケット単位で用意・管理するCPUとのインターフェイス部と、メモリに接続されたメモリコントローラ部とを備え、
前記ネットワークインターフェース部は、ソフトウェアがメモリ上に用意した受信パケットバッファの数と、実際の受信パケット数と、ソフトウェアが処理した受信パケットの数とを記録するレジスタを有し、受信したパケット数からソフトウェアが処理したパケット数を差し引き、その値がソフトウェアが前記メモリ上に用意した受信バッファの総数のあらかじめ設定された上限値を超えた場合に、自動でフロー制御を行い、受信バッファがオーバフローすることを防止することを特徴とするネットワーク制御装置。
A network interface unit including a MAC, an interface unit with a CPU that prepares and manages a reception buffer in packet units, and a memory controller unit connected to a memory,
The network interface unit has a register for recording the number of received packet buffers prepared by the software on the memory, the actual number of received packets, and the number of received packets processed by the software. Subtract the number of processed packets, and when the value exceeds the preset upper limit of the total number of receive buffers prepared in the memory, the flow control is automatically performed and the receive buffer overflows. A network control device characterized by preventing.
MACを含むネットワークインターフェース部と、受信バッファを一括で用意しパケット単位で管理するCPUとのインターフェイス部と、メモリに接続されたメモリコントローラ部とを備え、
前記ネットワークインターフェース部は、ソフトウェアがメモリ上に用意した受信パケットバッファの数と、実際の受信パケット数と、ソフトウェアが処理した受信パケットの数と、を記録するレジスタを有し、受信したパケットの総バイト数からソフトウェアが処理したバイト数を差し引き、その値がソフトウェアが前記メモリ上に用意した受信バッファの総バイト数のあらかじめ設定された上限値を超えた場合に、自動でフロー制御を行い、受信バッファがオーバフローすることを防止することを特徴とするネットワーク制御装置。
A network interface unit including a MAC, an interface unit with a CPU that collectively prepares reception buffers and manages them in packet units, and a memory controller unit connected to a memory,
The network interface unit has a register for recording the number of received packet buffers prepared by the software in the memory, the actual number of received packets, and the number of received packets processed by the software. If the number of bytes processed by the software is subtracted from the number of bytes, and the value exceeds the preset upper limit of the total number of bytes in the receive buffer prepared in the memory, flow control is automatically performed and received. A network control device for preventing a buffer from overflowing.
前記ネットワークインターフェイス部がMACに加え、物理層デバイスと、DMAコントローラを含むことを特徴とする請求項1または2記載のネットワーク制御装置。   3. The network control apparatus according to claim 1, wherein the network interface unit includes a physical layer device and a DMA controller in addition to the MAC. 前記ネットワークインターフェイス部のMAC、DMAコントローラ、前記インターフェイス部、及びメモリコントローラ部とが、ASICによって構成されていることを特徴とする請求項1ないし3のいずれか1項に記載のネットワーク制御装置。   4. The network control device according to claim 1, wherein the MAC, the DMA controller, the interface unit, and the memory controller unit of the network interface unit are configured by an ASIC. 5. 前記ASICが、接続された共通資源であるメモリ及び/又は大容量記憶装置間のメモリアービタを含むことを特徴とする請求項4記載のネットワーク制御装置。、   5. The network control device according to claim 4, wherein the ASIC includes a memory arbiter between a memory and / or a mass storage device which are connected common resources. , 複数のアプリケーション機能を有し、各アプリケーション機能が少なくともメモリを共有資源として利用し、クライアントコンピュータからの動作指令によって作動する請求項1ないし5のいずれか1項に記載のネットワーク制御装置を備えていることを特徴とする画像処理装置。   6. The network control device according to claim 1, comprising a plurality of application functions, wherein each application function uses at least a memory as a shared resource and operates according to an operation command from a client computer. An image processing apparatus. 請求項6記載の画像処理装置を備えていることを特徴とする画像形成装置。
An image forming apparatus comprising the image processing apparatus according to claim 6.
JP2004191906A 2004-06-29 2004-06-29 Network control unit, image processor, and image forming apparatus Pending JP2006014211A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004191906A JP2006014211A (en) 2004-06-29 2004-06-29 Network control unit, image processor, and image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004191906A JP2006014211A (en) 2004-06-29 2004-06-29 Network control unit, image processor, and image forming apparatus

Publications (1)

Publication Number Publication Date
JP2006014211A true JP2006014211A (en) 2006-01-12

Family

ID=35780852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004191906A Pending JP2006014211A (en) 2004-06-29 2004-06-29 Network control unit, image processor, and image forming apparatus

Country Status (1)

Country Link
JP (1) JP2006014211A (en)

Similar Documents

Publication Publication Date Title
US11163711B2 (en) Memory access system, method for controlling the same, computer-readable storage medium, and image forming apparatus
JP4928497B2 (en) Image processing apparatus, image processing method, image processing program, and storage medium
US20120191989A1 (en) Information processing apparatus with power saving mode, and control method and communication apparatus therefor
US8786891B2 (en) Apparatus, method, and storage medium for transferring data to a buffer
US8526039B2 (en) Image processing apparatus, and control method thereof and program
US20140218773A1 (en) Image Forming Apparatus that Buffers Data in a Storage Device and Reduces Delays in Process
JP5132451B2 (en) Image forming apparatus
JP2009070012A (en) Information processor, information processing method, and data transfer unit
JP2006014211A (en) Network control unit, image processor, and image forming apparatus
JP3970728B2 (en) Data communication device
JP4909839B2 (en) Image processing apparatus and image processing method
JP5097788B2 (en) Data processing apparatus and data processing program
US20180213103A1 (en) Image processing apparatus, method of controlling the same, and storage medium
JP5768540B2 (en) Image processing apparatus and data transfer management method
US10306099B2 (en) Information processing apparatus and semiconductor integrated circuit
JP2006189919A (en) Electronic equipment, control method and computer program
JP2012182721A (en) Image forming apparatus and control method thereof
JP5494055B2 (en) Image forming apparatus, control method, program, and recording medium
JP2006018406A (en) Image forming apparatus
JP2008310547A (en) Image forming device
JP4413041B2 (en) Data transfer system and image forming apparatus
JP4671357B2 (en) Image transfer method, apparatus, and image forming apparatus
JP2005115464A (en) Data processor and data control unit
JP2007299304A (en) Data transfer control method and device, and image forming apparatus
JP2017211701A (en) Control circuit, image forming device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061220

A977 Report on retrieval

Effective date: 20090126

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20090331

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090527

A02 Decision of refusal

Effective date: 20090901

Free format text: JAPANESE INTERMEDIATE CODE: A02