JP3753622B2 - Packet transceiver - Google Patents

Packet transceiver Download PDF

Info

Publication number
JP3753622B2
JP3753622B2 JP2001081141A JP2001081141A JP3753622B2 JP 3753622 B2 JP3753622 B2 JP 3753622B2 JP 2001081141 A JP2001081141 A JP 2001081141A JP 2001081141 A JP2001081141 A JP 2001081141A JP 3753622 B2 JP3753622 B2 JP 3753622B2
Authority
JP
Japan
Prior art keywords
packet
transmission
data
threshold value
transmission start
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
JP2001081141A
Other languages
Japanese (ja)
Other versions
JP2002281039A (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 JP2001081141A priority Critical patent/JP3753622B2/en
Publication of JP2002281039A publication Critical patent/JP2002281039A/en
Application granted granted Critical
Publication of JP3753622B2 publication Critical patent/JP3753622B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、イーサネット等のパケット通信におけるパケット送受信装置に係り、特に、パケットの送信開始タイミングを動的に制御するパケット送受信装置に関する。
【0002】
【従来の技術】
イーサネット(登録商標)やIEEE1394、USB といった通信方式ではパケットを単位としたデータの送受信により通信を行っている。イーサネットはIEEE802.3規格に定められており、CSMA/CD方式のネットワーク規格である。IEEE1394はその名の通りIEEE1394規格で定められた通信方式である。USBはUSBコンソーシアムによって企画化されている通信方式である。
【0003】
これらの通信方式では可変長のパケットが用いられている。通常、特定用途向け集積回路(ASIC)等で実装された制御装置上にFIFOなどのバッファを持ち、受信したパケットの種別、長さ等の判別を行い、自局が処理すべきであるデータパケットをメインメモリ上のパケット領域にDMAにより転送して処理を行い、逆に、送信はメインメモリ上のパケット領域からデータをDMAにより転送しながら送信を行っている。
【0004】
【発明が解決しようとする課題】
ところで、パケット送信において問題となるのは外部の速度とDMA速度の速度差の問題である。DMAが、他のDMAの実行などによって遅れる場合などを考慮し、実用上十分な量のデータがFIFOバッファに入った時点で送信を開始する(この実用上十分な量として固定の送信開始しきい値が設定される)のが通常のやり方であった。
【0005】
これにより、DMAが送信速度に対して間に合わない送信アンダーラン状態を回避している。しかし、パケットの大きさはイーサネット(登録商標)の場合、64byteから1518byteまでの大きなばらつきがある。大きなパケット長の場合にレアケースを考慮して十分な容量をしきい値として確保すれば、短いパケットの場合を含めてすべてのパケットでFIFOバッファに入ったデータ量がしきい値をこえるか、しきい値以下の大きさのケットの場合はパケット終了を検出するかした場合に送信を開始することになる。これは常にそのしきい値分の入力が来るまで送信の開始が遅れることを意味し、この送信開始の遅れが問題である。
【0006】
本発明の目的は、上記問題点を解決し、送信時のFIFOバッファ上の送信開始しきい値による送信開始の遅れを減らし、送信のoverheadをなくすことにある。
【0007】
【課題を解決するための手段】
本発明によれば前記目的は、バッファにパケットの一部を取り込んでプロトコルを解釈し、該パケットが他装置からの自局で処理すべきパケットのとき該パケットを内部のメインメモリ上のパケット領域に転送し、装置内のメインメモリ上のパケット領域からのパケットのとき該パケットを送信するパケット送受信装置であって、パケットデータしきい値とこれに対応する送信開始しきい値とのペアを予め複数個用意したテーブルと、ディスクリプタ毎に送信するパケットの送信パケット長が当てはまるパケットデータしきい値のうち最小のものに対応する送信開始しきい値を前記テーブルの中から選択して送信開始置として設定する手段とを備えたことにより達成される。
【0008】
また、前記目的は、前記送信開始値の設定後、その設定された送信開始値を満たすbyte数分のデータが前記バッファに入力されたときにパケット送信を開始することにより達成される。
【0010】
また、前記目的は、前記テーブルを登録する手段を備えることにより達成される。
【0011】
【発明の実施の形態】
以下に、IEEE802.3規格に基づいたイーサネットの場合に適合するパケット送受信装置を例として、本発明の一実施形態を説明する。
【0012】
図1は、パケット送受信システムの構成例であり、プログラムROM 1、メインメモリ2、CPU3、ネットワークアダプタ4、システムバス5を備える。この構成例において、本発明の実施形態のパケット送受信装置に対応するものは、ASIC(特定用途向け集積回路)等で実装されたネットワークアダプタ4である。
【0013】
パケット送受信システムは、プログラムROM1が起動されることにより、ネットワークアダプタ4の機能を利用して送受信を行う。パケットの送受信はメインメモリ2に対するDMA で行われる。メインメモリ2上のDMA すべきパケット領域を管理するパケットバッファもメインメモリ2上に置かれ、ネットワークアダプタカードがDMA によって内容を読みとり、管理情報の書き戻しを行う。
【0014】
図2は、パケット送受信装置(ネットワークアダプタ)の構成を示し、ホストインタフェース13、FIFO RAM14、17、送信FIFOバッファ15、受信FIFOバッファ16、ネットワーク管理部18、送信制御部19、イーサネットコントローラ20、受信制御部21、クロック22、エンコーダ23、デコーダ24、AUI 25、ツイステッドペアトランシーバ26を備え、ホストインタフェース13にはEEPROM11、ブートPROM12が接続されている。
【0015】
ツイステッドペアトランシーバ26で受信されデコーダ24でプリアンブル除去、CRC チェック、pad 除去等の加工等の処理を含むデコードをされたデータ対して、受信制御部21およびイーサネット(登録商標)コントローラ20によりIEEE 802.3により定められた受信制御がなされる。イーサネット(登録商標)コントローラ20によりパケット送受信装置で受け取るべきパケットと判別されたデータパケットが受信され、受信されたデータパケットは受信FIFOバッファ16にコピーされる。コピーされた内容はホストインターフェース13の機能によりDMA されシステムバス5を介してメインメモリにDMA 転送される。
【0016】
送信は、ホストインターフェース13の機能によりDMA され、システムバス5を介してメインメモリ上のパケットデータがDMA 転送され送信FIFOバッファ15に送り込まれる。送信FIFOバッファ15上のデータは、IEEE 802.3によって定められた送信制御がなされ、エンコーダ23によりプリアンブル付加、CRC 生成、pad データ生成等の加工が施されたのちにツイスッテドペアトランシーバ26からネットワーク上に送信される。
【0017】
図3にパケットバッファの構成を示す。また、図4にパケットバッファの構成要素であるディスクリプタの構造を示す。
【0018】
パケットバッファは、図3に示すように、DMA 対象であるパケット領域を管理するためのメインメモリ上の領域である。本発明の実施形態では送信用に1つ、受信用に2つの入力パケットバッファ、1つの結果保持パケットバッファを持つ。受信用のパケットバッファは、長さの異なるパケット領域を管理する。パケットバッファは、複数のディスクリプタからなる。ディスクリプタは、次のディスクリプタのアドレスを保持するリンクをもち通常リングバッファを構成する。また、ディスクリプタは、パケット領域のステータス情報を記憶するステータスと、パケット領域の先頭アドレスを示すパケット領域アドレスを有する。
【0019】
また、送信用のパケットバッファの1つのディスクリプタは、1つのパケットを表現し、1つのパケットは複数のパケット領域からなっていてよい。つまり1つのパケットを複数の領域に分散して持つことが出来る。
【0020】
図4に示すディスクリプタにおいて、リンクフィールドには次のディスクリプタのアドレスが設定されている。ステータスフィールドのコントロールビットにはOWNビットが含まれており、パケット領域数にはディスクリプタが管理する1つのパケットが記憶されたパケット領域の数が設定されており、データ長にはパケットのデータ長が設定されている。パケット領域アドレスのフィールドには、パケット領域長とパケット領域アドレスの組が、パケットのデータ長に応じた数だけあり、パケット領域長にはパケット領域の長さ(大きさ)が設定され、パケット領域アドレスにはパケット領域の先頭アドレスが設定されている。
【0021】
送信時に、ホストインタフェース13はソフトウエアにより設定されたパケットバッファのディスクリプタをDMA によってロードし、ディスクリプタにおけるコントロールビットのOWN ビットを調べ、OWN ビットが立っているときのみ送信を行う。立っていないときは、ある時間間隔でディスクリプタをDMA で読み直し、OWN ビットが立つまでそれを繰り返すポーリングモードか、あるいは、その場で動作を停止するバッチモードのいずれかがとられる。
【0022】
OWN ビットが立っている場合には、パケット領域数分のパケット領域アドレスの指定があるものとして、そのパケット領域アドレスが指すパケット領域より送信データをDMA により送信FIFOバッファ15に転送し、送信FIFOバッファ15に格納されたデータの送信を行う。1つのディスクリプタ分のデータ(すなわち、1つのパケット分のデータ)の送信が終了すると、次に、ディスクリプタのリンクが示すアドレスで指定されるディスクリプタについて同様の処理を行う。ただし、リンクの示すアドレスが0である場合は送信を停止する(すなわち、ソフトウエアに対して送信終了割り込みを発生する)。
【0023】
図5に送信時の処理フローを示す。
【0024】
まず、送信データしきい値・送信開始しきい値対応表レジスタを設定する(ステップ511)。
【0025】
送信データしきい値・送信開始しきい値対応表レジスタの例は、図6に示され、送信データ(パケットデータ)しきい値と対応する送信開始しきい値のペアを複数個登録できるレジスタ群である。本発明の実施形態では5つのペアを登録できるものとする。図6の例では、送信データしきい値レジスタ1〜5のそれぞれには送信データしきい値として64バイト、128バイト、512バイト、1024バイト、2048バイトがセットされ、送信データしきい値レジスタ1〜5のそれぞれとペアを組む送信開始しきい値レジスタ1〜5にはそれぞれ32バイト、64バイト、128バイト、256バイト、512バイトがセットされている。
【0026】
データ送信時に、送信するパケットのデータ長(パケット長)と各送信データしきい値を比較し、データ長が当てはまる送信データしきい値の内の最小の送信データしきい値を選択する。そして、この選択した送信データしきい値とペアを組む送信開始しきい値を、送信するパケットに対する送信開始しきい値として選択する。この選択した送信開始しきい値を送信制御部に設定して送信動作を行う。
【0027】
例えば、送信するパケットのデータ長が800バイトだとすると、当てはまる送信データしきい値の内の最小の送信データしきい値は1024バイトであり、この送信データしきい値とペアを組む送信開始しきい値は256バイトであり、送信開始しきい値は256バイトとなる。
【0028】
次に、最初のディスクリプタのアドレスをホストインタフェースに設定する(ステップ512)。
【0029】
次いで、送信開始指示をホストインタフェースに出す(ステップ513)。
【0030】
ホストインタフェースは、設定されたディスクリプタのアドレスを読み出し、このアドレスによりディスクリプタをDMAによりロードする(ステップ514)。
【0031】
ロードしたディスクリプタのステータスフィールドのコントロールビット内にOWNビットが立っているか、すなわちOWNビットが‘1’であるか判定する(ステップ515)。
【0032】
OWN ビットが‘1’であれば、ステップ516に進む。
【0033】
OWN bit が0であるばあいポーリングにより‘1’になるまでまち、‘1’である場合にステップ516に進む。
【0034】
次に、ロードしたディスクリプタのステータスフィールドのデータ長と、設定された送信データしきい値・送信開始しきい値対応表レジスタにセットされている送信データしきい値を比較し、上記ステータスフィールドのデータ長が当てはまる送信データしきい値の内の最小の送信データしきい値を選択し、この選択した送信データしきい値とペアを組む送信開始しきい値を、送信するパケットに対する送信開始しきい値として選択する。この選択した送信開始しきい値を送信制御部に設定する(ステップ516)。
【0035】
次いで、ロードしたディスクリプタのパケット領域アドレスにより指定されるパケット領域内のデータを送信FIFOバッファにDMAで転送する(517)。
【0036】
ステップ517が終了すると、次のディスクリプタアドレスをホストインタフェースに設定する(ステップ518)。そして、ステップ514以下の処理を繰り返し行う。
【0037】
次に、パケットの送信制御は、送信制御部により行われる。
【0038】
パケット領域からDMA で転送されたデータは、送信FIFOバッファに格納される。DMA 開始後、送信FIFOバッファに受け取られたデータのバイト数が送信制御部に設定された送信開始しきい値を越えると、送信制御部はデータの送信を開始する(ステップ519)。
【0039】
データの送信は、送信FIFOバッファからデータを取り出しながら行われる(ステップ520)。
【0040】
指定されたデータ長分のDMA が終了するとパケット終了を意味するデータを送信FIFOバッファに書き込む。送信制御部ではこのパケット終了データを受け取るとパケット終了処理を行い元の状態に戻る。
【0041】
ホストインターフェースはDMA が終了するとディスクリプタで指示されている次のディスクリプタを設定して同じ処理を繰り返す。
【0042】
なお、本発明の実施形態の説明では、送信時にcollision やエラーが発生した場合のDMA の一時停止や送信エラー処理は発明そのものの本質とは特に関係ないので、このDMA の一時停止や送信エラー処理の説明は省略している。
【0043】
また、本発明の実施形態の説明では、ethernetの場合について説明しているが、IEEE1394やUSB など他のパケット送信についても同様の処理により送信の効率を上げることが出来ることは自明のことである。
【0044】
【発明の効果】
請求項1記載の発明では、パケット長が短い場合に送信開始を迅速に行うことができ、送信の間隔があくことなくパフォーマンスが向上する。
【0045】
請求項2ないし3記載の発明では、パケット長に応じた適切な送信開始タイミングを得ることができ、パケット長にかかわらず送信の間隔があくことなくパフォーマンスが向上する。
【0046】
請求項4記載の発明では、DMA 速度やバスのパフォーマンスに合わせてしきい値を変更して最適なパフォーマンスに設定することができる。
【図面の簡単な説明】
【図1】パケット送受信システムの構成例示す図である。
【図2】パケット送受信装置(ネットワークアダプタ)の構成を示す図である。
【図3】パケットバッファの構成を示す図である。
【図4】パケットバッファの構成要素であるディスクリプタの構造を示す図である。
【図5】送信時の処理フローを示す図である。
【図6】 送信データしきい値・送信開始しきい値対応表レジスタの例を示す図である。
【符号の説明】
1 プログラムROM
2 メインメモリ
3 CPU
4 ネットワークアダプタ
5 システムバス
11 EEPROM
12 ブートPROM
13 ホストインタフェース
14、17 FIFO RAM
15 送信FIFOバッファ
16 受信FIFOバッファ
18 ネットワーク管理部
19 送信制御部
20 イーサネットコントローラ
21 受信制御部
22 クロック
23 エンコーダ
24 デコーダ
25 AUI
26 ツイステッドペアトランシーバ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet transmission / reception apparatus in packet communication such as Ethernet, and more particularly to a packet transmission / reception apparatus that dynamically controls packet transmission start timing.
[0002]
[Prior art]
Communication methods such as Ethernet (registered trademark), IEEE1394, and USB communicate by transmitting and receiving data in units of packets. Ethernet is defined in the IEEE802.3 standard, and is a CSMA / CD network standard. IEEE1394 is a communication method defined by the IEEE1394 standard as the name suggests. USB is a communication method planned by the USB consortium.
[0003]
In these communication systems, variable-length packets are used. Data packets that usually have a buffer such as FIFO on a control device implemented with an application specific integrated circuit (ASIC), etc., determine the type and length of the received packet, and should be processed by the local station The data is transferred to the packet area on the main memory by DMA and processed, and conversely, the transmission is performed while transferring data from the packet area on the main memory by DMA.
[0004]
[Problems to be solved by the invention]
By the way, a problem in packet transmission is the problem of the difference between the external speed and the DMA speed. Considering the case where DMA is delayed due to the execution of other DMAs, etc., transmission starts when a sufficient amount of data enters the FIFO buffer (this is a fixed threshold for starting transmission as a practically sufficient amount). It was the usual way).
[0005]
As a result, a transmission underrun state in which DMA cannot keep up with the transmission speed is avoided. However, the packet size varies greatly from 64 bytes to 1518 bytes in the case of Ethernet (registered trademark). If a sufficient packet capacity is secured as a threshold in consideration of rare cases when the packet length is large, whether the amount of data that has entered the FIFO buffer in all packets, including short packets, exceeds the threshold, in the following cases the size of packet threshold will start transmitting when either detecting the end of packet. This means that the start of transmission is always delayed until an input corresponding to the threshold value is received, and this delay in the start of transmission is a problem.
[0006]
An object of the present invention is to solve the above-mentioned problems, to reduce a delay in transmission start due to a transmission start threshold on a FIFO buffer at the time of transmission, and to eliminate transmission overhead.
[0007]
[Means for Solving the Problems]
According to the present invention, the object is to take a part of a packet into a buffer, interpret the protocol, and when the packet is a packet to be processed by a local station from another device, the packet is stored in a packet area on an internal main memory. A packet transmission / reception device that transmits a packet from a packet area on a main memory in the device, wherein a packet data threshold value and a transmission start threshold value corresponding to the packet data threshold value are set in advance. A plurality of prepared tables and a transmission start threshold value corresponding to the minimum packet data threshold value to which the transmission packet length of a packet transmitted for each descriptor applies are selected from the table as a transmission start device. This is achieved by providing the setting means .
[0008]
Further, the object is achieved by starting packet transmission when data corresponding to the number of bytes satisfying the set transmission start value is input to the buffer after the transmission start value is set .
[0010]
The object is achieved by providing means for registering the table.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
In the following, an embodiment of the present invention will be described by taking as an example a packet transmission / reception apparatus adapted to Ethernet based on the IEEE 802.3 standard.
[0012]
FIG. 1 shows a configuration example of a packet transmission / reception system, which includes a program ROM 1, a main memory 2, a CPU 3, a network adapter 4, and a system bus 5. In this configuration example, a network adapter 4 implemented by an ASIC (Application Specific Integrated Circuit) or the like corresponds to the packet transmitting / receiving apparatus according to the embodiment of the present invention.
[0013]
The packet transmission / reception system performs transmission / reception using the function of the network adapter 4 when the program ROM 1 is activated. Packet transmission / reception is performed by DMA to the main memory 2. A packet buffer for managing a packet area to be DMA on the main memory 2 is also placed on the main memory 2, and the network adapter card reads the contents by DMA and writes back the management information.
[0014]
FIG. 2 shows the configuration of a packet transmitting / receiving apparatus (network adapter), which includes a host interface 13, FIFO RAMs 14 and 17, a transmission FIFO buffer 15, a reception FIFO buffer 16, a network management unit 18, a transmission control unit 19, an Ethernet controller 20, and a reception. A control unit 21, a clock 22, an encoder 23, a decoder 24, an AUI 25, and a twisted pair transceiver 26 are provided, and an EEPROM 11 and a boot PROM 12 are connected to the host interface 13.
[0015]
The data received by the twisted pair transceiver 26 and decoded by the decoder 24 including processing such as preamble removal, CRC check, pad removal, etc. is received by the reception controller 21 and the Ethernet (registered trademark) controller 20 according to IEEE 802.3. The prescribed reception control is performed. The Ethernet (registered trademark) controller 20 receives a data packet determined as a packet to be received by the packet transmitting / receiving apparatus, and the received data packet is copied to the reception FIFO buffer 16. The copied content is DMA-transferred by the function of the host interface 13 and DMA-transferred to the main memory 2 via the system bus 5.
[0016]
Transmission is performed by DMA by the function of the host interface 13, and packet data on the main memory 2 is DMA-transferred via the system bus 5 and sent to the transmission FIFO buffer 15. Data on the transmission FIFO buffer 15 is subjected to transmission control defined by IEEE 802.3, and after processing such as preamble addition, CRC generation, pad data generation, and the like by the encoder 23, the twisted pair transceiver 26 transmits data to the network. Sent to.
[0017]
FIG. 3 shows the configuration of the packet buffer. FIG. 4 shows the structure of a descriptor that is a component of the packet buffer.
[0018]
As shown in FIG. 3, the packet buffer is an area on the main memory for managing a packet area that is a DMA target. The embodiment of the present invention has one input packet buffer for transmission, two input packet buffers for reception, and one result holding packet buffer. The reception packet buffer manages packet areas having different lengths. The packet buffer is composed of a plurality of descriptors. The descriptor has a link that holds the address of the next descriptor and constitutes a normal ring buffer. The descriptor has a status for storing status information of the packet area, and a packet area address indicating the start address of the packet area.
[0019]
One descriptor of the packet buffer for transmission expresses one packet, and one packet may be composed of a plurality of packet areas. That is, one packet can be distributed over a plurality of areas.
[0020]
In the descriptor shown in FIG. 4, the address of the next descriptor is set in the link field. The OWN bit is included in the control bits of the status field, the number of packet areas storing one packet managed by the descriptor is set as the number of packet areas, and the data length of the packet is set as the data length. Is set. In the packet area address field, there are as many pairs of packet area length and packet area address as the packet data length, and the packet area length (size) is set in the packet area length. The start address of the packet area is set as the address.
[0021]
At the time of transmission, the host interface 13 loads the packet buffer descriptor set by software by DMA, checks the OWN bit of the control bit in the descriptor, and transmits only when the OWN bit is set. When not standing, either the polling mode in which the descriptor is re-read by DMA at a certain time interval and repeated until the OWN bit is set, or the batch mode in which the operation is stopped on the spot is taken.
[0022]
When the OWN bit is set, it is assumed that there are as many packet area addresses as the number of packet areas, and the transmission data is transferred from the packet area indicated by the packet area address to the transmission FIFO buffer 15 by the DMA. The data stored in 15 is transmitted. When transmission of data for one descriptor (that is, data for one packet) is completed, the same processing is performed for the descriptor specified by the address indicated by the descriptor link. However, if the address indicated by the link is 0, transmission is stopped (that is, a transmission end interrupt is generated for the software).
[0023]
FIG. 5 shows a processing flow at the time of transmission.
[0024]
First, a transmission data threshold / transmission start threshold correspondence table register group is set (step 511).
[0025]
An example of a transmission data threshold / transmission start threshold correspondence table register group is shown in FIG. 6 and can register a plurality of pairs of transmission start thresholds corresponding to transmission data (packet data) thresholds. A group. In the embodiment of the present invention, it is assumed that five pairs can be registered. In the example of FIG. 6, 64 bytes, 128 bytes, 512 bytes, 1024 bytes, and 2048 bytes are set as the transmission data threshold values in the transmission data threshold registers 1 to 5, respectively. 32 bytes, 64 bytes, 128 bytes, 256 bytes, and 512 bytes are set in the transmission start threshold value registers 1 to 5 that form a pair with each of.
[0026]
At the time of data transmission, the data length (packet length) of the packet to be transmitted is compared with each transmission data threshold value, and the minimum transmission data threshold value among the transmission data threshold values to which the data length applies is selected. Then, the transmission start threshold value paired with the selected transmission data threshold value is selected as the transmission start threshold value for the packet to be transmitted. The selected transmission start threshold value is set in the transmission control unit to perform a transmission operation.
[0027]
For example, if the data length of a packet to be transmitted is 800 bytes, the minimum transmission data threshold value among the applicable transmission data threshold values is 1024 bytes, and a transmission start threshold value that is paired with this transmission data threshold value Is 256 bytes, and the transmission start threshold value is 256 bytes.
[0028]
Next, the address of the first descriptor is set in the host interface (step 512).
[0029]
Next, a transmission start instruction is issued to the host interface (step 513).
[0030]
The host interface reads the address of the set descriptor and loads the descriptor by DMA using this address (step 514).
[0031]
It is determined whether the OWN bit is set in the control bit of the status field of the loaded descriptor, that is, whether the OWN bit is “1” (step 515).
[0032]
If the OWN bit is “1”, the process proceeds to step 516.
[0033]
If the OWN bit is 0, the polling waits until it becomes “1”. If it is “1”, the process proceeds to step 516.
[0034]
Next, the data length of the status field of the loaded descriptor is compared with the transmission data threshold value set in the set transmission data threshold value / transmission start threshold value correspondence table register group . Select the transmission data threshold value that is the minimum of the transmission data threshold values that apply to the data length, and set the transmission start threshold value that is paired with the selected transmission data threshold value to the transmission start threshold value for the packet to be transmitted. Select as value. The selected transmission start threshold value is set in the transmission control unit (step 516).
[0035]
Next, the data in the packet area specified by the packet area address of the loaded descriptor is transferred to the transmission FIFO buffer by DMA (517).
[0036]
When step 517 ends, the next descriptor address is set in the host interface (step 518). Then, the processing after step 514 is repeated.
[0037]
Next, packet transmission control is performed by a transmission control unit.
[0038]
Data transferred by DMA from the packet area is stored in the transmit FIFO buffer. After the DMA starts, when the number of bytes of data received in the transmission FIFO buffer exceeds the transmission start threshold set in the transmission control unit, the transmission control unit starts data transmission (step 519).
[0039]
Data transmission is performed while extracting data from the transmission FIFO buffer (step 520).
[0040]
When DMA for the specified data length is completed, data indicating the end of the packet is written to the transmit FIFO buffer. When the transmission control unit receives this packet end data, it performs packet end processing and returns to the original state.
[0041]
When the DMA ends, the host interface sets the next descriptor indicated by the descriptor and repeats the same process.
[0042]
In the description of the embodiment of the present invention, the DMA suspension or transmission error processing when a collision or error occurs during transmission is not particularly relevant to the essence of the invention itself. The description of is omitted.
[0043]
In the description of the embodiment of the present invention, the case of ethernet is described. However, it is obvious that the transmission efficiency can be increased by the same processing for other packet transmissions such as IEEE1394 and USB. .
[0044]
【The invention's effect】
According to the first aspect of the present invention, when the packet length is short, transmission can be started quickly, and performance is improved without a transmission interval.
[0045]
According to the second to third aspects of the invention, it is possible to obtain an appropriate transmission start timing according to the packet length, and the performance is improved without a transmission interval regardless of the packet length.
[0046]
In the invention according to the fourth aspect, the threshold value can be changed according to the DMA speed and the performance of the bus to set the optimum performance.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration example of a packet transmission / reception system.
FIG. 2 is a diagram illustrating a configuration of a packet transmitting / receiving apparatus (network adapter).
FIG. 3 is a diagram illustrating a configuration of a packet buffer.
FIG. 4 is a diagram illustrating a structure of a descriptor that is a component of a packet buffer.
FIG. 5 is a diagram showing a processing flow during transmission.
FIG. 6 is a diagram illustrating an example of a transmission data threshold value / transmission start threshold value correspondence table register group ;
[Explanation of symbols]
1 Program ROM
2 Main memory 3 CPU
4 Network adapter 5 System bus 11 EEPROM
12 Boot PROM
13 Host interface 14, 17 FIFO RAM
15 Transmission FIFO buffer 16 Reception FIFO buffer 18 Network management unit 19 Transmission control unit 20 Ethernet controller 21 Reception control unit 22 Clock 23 Encoder 24 Decoder 25 AUI
26 Twisted Pair Transceiver

Claims (3)

バッファにパケットの一部を取り込んでプロトコルを解釈し、該パケットが他装置からの自局で処理すべきパケットのとき該パケットを内部のメインメモリ上のパケット領域に転送し、装置内のメインメモリ上のパケット領域からのパケットのとき該パケットを送信するパケット送受信装置であって、
パケットデータしきい値とこれに対応する送信開始しきい値とのペアを予め複数個用意したテーブルと、
ディスクリプタ毎に送信するパケットの送信パケット長が当てはまるパケットデータしきい値のうち最小のものに対応する送信開始しきい値を前記テーブルの中から選択して送信開始置として設定する手段とを備えたことを特徴とするパケット送受信装置。
A part of the packet is taken into the buffer , the protocol is interpreted, and when the packet is a packet to be processed by the local station from another device, the packet is transferred to the packet area on the internal main memory, and the main memory in the device A packet transmitting / receiving apparatus that transmits a packet from the upper packet area,
A table in which a plurality of pairs of packet data threshold values and corresponding transmission start threshold values are prepared in advance;
Means for selecting a transmission start threshold value corresponding to the minimum packet data threshold value to which the transmission packet length of a packet to be transmitted for each descriptor applies, and setting the transmission start threshold value as a transmission start position from the table. A packet transmitting / receiving apparatus.
請求項1記載のパケット送受信装置において、
前記送信開始値の設定後、その設定された送信開始値を満たすbyte数分のデータが前記バッファに入力されたときにパケット送信を開始することを特徴とするパケット送受信装置。
The packet transmitting / receiving apparatus according to claim 1,
After the transmission start value is set, the packet transmission / reception apparatus starts packet transmission when data corresponding to the number of bytes satisfying the set transmission start value is input to the buffer .
請求項1または2記載のパケット送受信装置において、
前記テーブルを登録する手段を具備することを特徴とするパケット送受信装置。
The packet transmission / reception apparatus according to claim 1 or 2 ,
A packet transmitting / receiving apparatus comprising means for registering the table.
JP2001081141A 2001-03-21 2001-03-21 Packet transceiver Expired - Fee Related JP3753622B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001081141A JP3753622B2 (en) 2001-03-21 2001-03-21 Packet transceiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001081141A JP3753622B2 (en) 2001-03-21 2001-03-21 Packet transceiver

Publications (2)

Publication Number Publication Date
JP2002281039A JP2002281039A (en) 2002-09-27
JP3753622B2 true JP3753622B2 (en) 2006-03-08

Family

ID=18937295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001081141A Expired - Fee Related JP3753622B2 (en) 2001-03-21 2001-03-21 Packet transceiver

Country Status (1)

Country Link
JP (1) JP3753622B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070425A (en) * 2011-11-24 2012-04-05 Nec Access Technica Ltd Protocol conversion apparatus and protocol conversion method used for the same
JP5821608B2 (en) * 2011-12-20 2015-11-24 富士通株式会社 Packet shaping device

Also Published As

Publication number Publication date
JP2002281039A (en) 2002-09-27

Similar Documents

Publication Publication Date Title
US6308218B1 (en) Address look-up mechanism in a multi-port bridge for a local area network
US6970921B1 (en) Network interface supporting virtual paths for quality of service
US4590467A (en) Local area network interface controller
US5764896A (en) Method and system for reducing transfer latency when transferring data from a network to a computer system
US6810520B2 (en) Programmable multi-standard MAC architecture
US7551638B2 (en) Network interface with transmit frame descriptor reuse
US4593281A (en) Local area network interframe delay controller
US7860120B1 (en) Network interface supporting of virtual paths for quality of service with dynamic buffer allocation
US20030012223A1 (en) System and method for processing bandwidth allocation messages
US4637015A (en) Packet transmission and reception via a shared DMA channel
US6279052B1 (en) Dynamic sizing of FIFOs and packets in high speed serial bus applications
CN110995507B (en) Network acceleration controller and method
US5142628A (en) Microcomputer system for communication
JP4201590B2 (en) Data communication apparatus, data communication method, data communication program, and recording medium on which data communication program is recorded
JP3753622B2 (en) Packet transceiver
JP4098910B2 (en) Packet transfer control device and packet transfer method
Zabolotny Low latency protocol for transmission of measurement data from FPGA to Linux computer via 10 Gbps Ethernet link
JP2002185466A (en) Packet transmitter/receiver
Mohor Ethernet IP core design document
JP4125933B2 (en) Processor system with common memory
JP2751811B2 (en) Data transmission / reception method and device
JP2003289315A (en) Packet transfer apparatus and packet transfer method
EP1195685B1 (en) A process for interfacing a microprocessor with a packet based device and respective system
CN112988633A (en) Electronic equipment and data transmission method
CA1240752A (en) Packet transmission and reception via a shared dma channel

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050620

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051213

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131222

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees