JP2000259523A - Data transfer device, lan communication system and data transfer method - Google Patents

Data transfer device, lan communication system and data transfer method

Info

Publication number
JP2000259523A
JP2000259523A JP11061093A JP6109399A JP2000259523A JP 2000259523 A JP2000259523 A JP 2000259523A JP 11061093 A JP11061093 A JP 11061093A JP 6109399 A JP6109399 A JP 6109399A JP 2000259523 A JP2000259523 A JP 2000259523A
Authority
JP
Japan
Prior art keywords
communication
data
received
information
reception
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
JP11061093A
Other languages
Japanese (ja)
Inventor
Atsushi Kitamura
淳 北村
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP11061093A priority Critical patent/JP2000259523A/en
Publication of JP2000259523A publication Critical patent/JP2000259523A/en
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce overhead and to effectively utilize a memory. SOLUTION: A temporary received data storage means 11 temporarily stores received data. A communication information generating means 12 generates communication information concerning the received data. A communication data transfer means 13 transfers communication data composed of the received data and the communication information. Corresponding to the transferred communication data, a communication data storage means 14 continuously stores the communication data on the basis of the communication information.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はデータ転送装置、L
AN通信システム及びデータ転送方法に関し、特にデー
タの転送制御を行うデータ転送装置、LANの通信制御
を行うLAN通信システム及びデータの転送制御を行う
データ転送方法に関する。
[0001] The present invention relates to a data transfer device, L
The present invention relates to an AN communication system and a data transfer method, and more particularly to a data transfer device for controlling data transfer, a LAN communication system for controlling LAN communication, and a data transfer method for controlling data transfer.

【0002】[0002]

【従来の技術】近年、ローカル・エリア・ネットワーク
(LAN:Local Area Network)の伝送速度は100Mb
ps(Mega bit per second)が主流となりつつある。L
ANの伝送速度が向上したことにより、映像や音声など
の大量のマルチメディア・データの高速伝送が可能とな
ってきた。
2. Description of the Related Art In recent years, the transmission speed of a local area network (LAN) is 100 Mb.
ps (Mega bit per second) is becoming mainstream. L
Improvements in the transmission speed of ANs have enabled high-speed transmission of large amounts of multimedia data such as video and audio.

【0003】同時に、近年パーソナル・コンピュータ
(以下、PC)のパフォーマンスも格段に向上してきて
おり、CPUの計算速度の高速化、かつメモリの容量も
これまでと比較して非常に大きくなっている。
At the same time, the performance of personal computers (hereinafter, referred to as PCs) has been remarkably improved in recent years, and the calculation speed of CPUs has been increased, and the memory capacity has become much larger than before.

【0004】このような状況に伴い、PCを使って遠隔
地間で会議を行うデスクトップ会議システムや遠隔教育
などの新しいアプリケーションが現実のものとなってき
ている。現在さらなる高速化の要求から、1Gbpsの
伝送速度をもつLANへの移行が急速に進められてい
る。
[0004] Under such circumstances, new applications such as a desktop conference system for holding a conference between remote locations using a PC and a remote education have become real. At present, demands for higher speeds are rapidly shifting to LANs having a transmission rate of 1 Gbps.

【0005】一方、計算機端末をLANに接続するネッ
トワーク・インターフェース・カード(NIC:Networ
k Interface Card) は、計算機端末のホスト・システム
からネットワークへ送信データを送出する働きと、ネッ
トワークから入ってきた受信データを計算機端末のホス
ト・システムへ転送する働きとをもつ。
On the other hand, a network interface card (NIC: Networ) for connecting a computer terminal to a LAN.
k Interface Card) has a function of transmitting transmission data from the host system of the computer terminal to the network and a function of transferring received data coming from the network to the host system of the computer terminal.

【0006】現在のようにLANの伝送速度が向上して
くると、計算機端末のホスト・システムとNICの間の
データ転送速度がネットワーク間コミュニケーションに
おけるボトル・ネックとなる可能性が出てくる。
[0006] As the transmission speed of the LAN is improved as at present, there is a possibility that the data transfer speed between the host system of the computer terminal and the NIC may become a bottleneck in communication between networks.

【0007】例えば、ネットワークに接続された他計算
機端末から自計算機端末のNICまでは高速にデータが
到達するが、NICから自計算機端末のホスト・システ
ムに受信データを転送する速度が遅い場合がある。
For example, data may arrive at a high speed from another computer terminal connected to the network to the NIC of the own computer terminal, but the speed of transferring received data from the NIC to the host system of the own computer terminal may be low. .

【0008】このような場合、NIC上で一時受信デー
タを格納しておくバッファ・メモリが溢れて受信データ
を失ってしまったり、または送信されてきたリアルタイ
ムの映像を計算機端末のディスプレイにスムーズに表示
できないなどということが起こり得る。このような状況
ではネットワークの高速化や計算機端末のパフォーマン
ス向上が活かされない。
In such a case, the buffer memory for temporarily storing the received data on the NIC overflows and the received data is lost, or the transmitted real-time video is smoothly displayed on the display of the computer terminal. It is possible that things cannot be done. In such a situation, the speeding up of the network and the performance improvement of the computer terminal cannot be utilized.

【0009】一方、現在のNICは多くの場合、LAN
コントローラと呼ばれるICチップによって機能する。
また、ネットワークから流れてきた受信フレームを、L
ANコントローラからPCのホストコンピュータへ転送
する際に、受信ディスクリプタと呼ばれるデータ・スト
ラクチャが使われる。
On the other hand, current NICs are often LAN
It functions by an IC chip called a controller.
The received frame flowing from the network is represented by L
When transferring from the AN controller to the host computer of the PC, a data structure called a reception descriptor is used.

【0010】ここで、受信フレームを、LANコントロ
ーラからPCのホストコンピュータへ転送する場合、ま
ず、ホスト・システム内のシステム・メモリからLAN
コントローラ上の多目的レジスタへ、受信ディスクリプ
タの内容を、PCIバス等を通じてコピーしておく。
Here, when transferring a received frame from the LAN controller to the host computer of the PC, first, the received frame is transferred from the system memory in the host system to the LAN.
The contents of the reception descriptor are copied to a multipurpose register on the controller via a PCI bus or the like.

【0011】そして、ネットワークから流れてきた受信
フレームは、受信ディスクリプタに書かれてあるアドレ
スにもとづいて、指定された受信フレーム格納用バッフ
ァの格納先に格納される。
[0011] Then, the received frame flowing from the network is stored in the designated storage destination of the received frame storage buffer based on the address written in the received descriptor.

【0012】このように受信ディスクリプタを次々とシ
ステマティックに使用していくことにより、PCのデバ
イス・ドライバの処理が高速化され、ホスト・システム
の負担が軽減されることになる。
By using the reception descriptors systematically one after another in this manner, the processing of the PC device driver is sped up, and the load on the host system is reduced.

【0013】[0013]

【発明が解決しようとする課題】しかし、上記のような
従来の受信ディスクリプタを用いたデータ転送制御で
は、1つの受信フレームをホスト・システムへ転送する
ために、1つの受信ディスクリプタを使用している。す
なわち、1つの受信フレームを処理するたびに、1つの
受信ディスクリプタの内容をLANコントローラの多目
的レジスタへコピーしなくてはならない。
However, in the data transfer control using the conventional reception descriptor as described above, one reception descriptor is used to transfer one reception frame to the host system. . That is, each time one received frame is processed, the contents of one received descriptor must be copied to the multi-purpose register of the LAN controller.

【0014】したがって、次々と受信フレームが到着す
る場合、受信ディスクリプタのコピーによるPCI バス
・オペレーションの回数が、受信フレームをLANコン
トローラからシステム・メモリへ転送する際の大きなオ
ーバーヘッドとなってしまうといった問題があった。ま
た、受信フレームのサイズが小さい場合、このオーバー
ヘッドはいっそう効率の悪いものとなる。
Therefore, when received frames arrive one after another, the number of PCI bus operations due to the copying of the received descriptor causes a large overhead when transferring the received frame from the LAN controller to the system memory. there were. Also, if the size of the received frame is small, this overhead becomes even less efficient.

【0015】また、受信ディスクリプタが指定するシス
テム・メモリ上に用意された受信フレーム格納用バッフ
ァ・メモリは、十分に大きく確保しておくのが普通であ
る。ところが、受信フレームのサイズが比較的小さい
と、受信フレーム格納用バッファ・メモリ領域の大部分
が使われないため、メモリの使用効率が非常に悪い。
In general, a sufficiently large buffer memory for storing received frames prepared on the system memory specified by the reception descriptor is secured. However, if the size of the received frame is relatively small, most of the buffer memory area for storing the received frame is not used, so that the memory use efficiency is very poor.

【0016】また、受信フレームのロスを少なくするた
めには、受信ディスクリプタの数は十分に用意しておく
必要があるが、受信ディスクリプタの数を多くすれば多
くするほど使用効率は悪くなるといった問題があった。
In order to reduce the loss of received frames, it is necessary to prepare a sufficient number of reception descriptors. However, as the number of reception descriptors increases, the use efficiency decreases as the number of reception descriptors increases. was there.

【0017】本発明はこのような点に鑑みてなされたも
のであり、オーバーヘッドの削減及びメモリの有効活用
を図ったデータ転送装置を提供することを目的とする。
また、本発明の他の目的は、オーバーヘッドの削減及び
メモリの有効活用を図ったLAN通信システムを提供す
ることである。
The present invention has been made in view of such a point, and an object of the present invention is to provide a data transfer apparatus which reduces overhead and effectively uses a memory.
It is another object of the present invention to provide a LAN communication system in which overhead is reduced and memory is effectively used.

【0018】さらに、本発明の他の目的は、オーバーヘ
ッドの削減及びメモリの有効活用を図ったデータ転送装
置を提供することである。
Still another object of the present invention is to provide a data transfer device which reduces overhead and effectively uses a memory.

【0019】[0019]

【課題を解決するための手段】本発明では上記課題を解
決するために、データの転送制御を行うデータ転送装置
において、受信データを一時格納する受信データ一時格
納手段と、前記受信データに関する通信情報を生成する
通信情報生成手段と、前記受信データ及び前記通信情報
からなる通信データを転送する通信データ転送手段と、
転送された前記通信データに対し、前記通信情報にもと
づいて、前記通信データを連続して格納する通信データ
格納手段と、を有することを特徴とするデータ転送装置
が提供される。
According to the present invention, in order to solve the above-mentioned problems, in a data transfer device for controlling data transfer, a reception data temporary storage means for temporarily storing reception data, and communication information relating to the reception data. Communication information generating means for generating, and communication data transfer means for transferring communication data consisting of the received data and the communication information,
Communication data storage means for continuously storing the communication data based on the communication information with respect to the transferred communication data, there is provided a data transfer device.

【0020】ここで、受信データ一時格納手段は、受信
データを一時格納する。通信情報生成手段は、受信デー
タに関する通信情報を生成する。通信データ転送手段
は、受信データ及び通信情報からなる通信データを転送
する。通信データ格納手段は、転送された通信データに
対し、通信情報にもとづいて、通信データを連続して格
納する。
Here, the reception data temporary storage means temporarily stores the reception data. The communication information generating means generates communication information on the received data. The communication data transfer means transfers communication data including received data and communication information. The communication data storage means stores the transferred communication data continuously based on the communication information.

【0021】また、LANの通信制御を行うLAN通信
システムにおいて、ネットワークから受信した受信フレ
ームを一時格納する受信フレーム一時格納手段と、前記
受信フレームに関する通信情報を受信フレーム・ヘッダ
として生成する受信フレーム・ヘッダ生成手段と、前記
受信フレームと前記受信フレーム・ヘッダからなる通信
データを転送する通信データ転送手段と、から構成され
るLANコントローラと、転送された前記通信データに
対し、前記受信フレーム・ヘッダにもとづいて、前記通
信データを連続して格納する通信データ格納手段と、起
動時に前記通信データ格納手段の連続する格納領域の空
間を割り当てる格納領域割当て手段と、から構成される
情報端末装置と、を有することを特徴とするLAN通信
システムが提供される。
In a LAN communication system for controlling LAN communication, a reception frame temporary storage means for temporarily storing a reception frame received from the network, and a reception frame for generating communication information relating to the reception frame as a reception frame header. A LAN controller comprising: a header generating unit; and a communication data transfer unit for transferring communication data including the reception frame and the reception frame header; and a LAN controller for transmitting the communication data to the reception frame header. An information terminal device comprising: a communication data storage unit that continuously stores the communication data; and a storage area allocation unit that allocates a space of a continuous storage area of the communication data storage unit at startup. LAN communication system characterized by having That.

【0022】ここで、受信フレーム一時格納手段は、ネ
ットワークから受信した受信フレームを一時格納する。
受信フレーム・ヘッダ生成手段は、受信フレームに関す
る通信情報を受信フレーム・ヘッダとして生成する。通
信データ転送手段は、受信フレームと受信フレーム・ヘ
ッダからなる通信データを転送する。受信フレーム格納
手段は、転送された通信データに対し、受信フレーム・
ヘッダにもとづいて、通信データを連続して格納する。
格納領域割当て手段は、起動時に通信データ格納手段の
連続する格納領域の空間を割り当てる。
Here, the received frame temporary storage means temporarily stores the received frame received from the network.
The reception frame header generation means generates communication information on the reception frame as a reception frame header. The communication data transfer means transfers communication data including a reception frame and a reception frame header. The received frame storage means stores the received communication data in the received frame data.
The communication data is stored continuously based on the header.
The storage area allocating means allocates a space of a continuous storage area of the communication data storing means at the time of activation.

【0023】さらに、データの転送制御を行うデータ転
送方法において、受信データを一時格納し、前記受信デ
ータに関する通信情報を生成し、前記受信データ及び前
記通信情報からなる通信データを転送し、転送された前
記通信データに対し、前記通信情報にもとづいて、前記
通信データを連続して格納することを特徴とするデータ
転送方法が提供される。
Further, in a data transfer method for controlling data transfer, the received data is temporarily stored, communication information relating to the received data is generated, and the communication data including the received data and the communication information is transferred. A data transfer method is provided, wherein the communication data is stored continuously with respect to the communication data based on the communication information.

【0024】ここで、受信データと通信情報とからなる
通信データを転送し、通信情報にもとづいて、通信デー
タを格納する。
Here, communication data including the received data and the communication information is transferred, and the communication data is stored based on the communication information.

【0025】[0025]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は本発明のデータ転送装置の
原理図である。データ転送装置10は、データの転送制
御を行う。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a principle diagram of a data transfer device according to the present invention. The data transfer device 10 controls data transfer.

【0026】受信データ一時格納手段11は、FIFO
等に該当し、ネットワークから流れてきた受信データを
一時格納する。通信情報生成手段12は、受信データに
関する通信情報を生成する。この通信情報は、受信デー
タのサイズ、特徴、エラーステータス及び他装置(他装
置とは、例えば、PC等から構成される上位のホスト・
システム)への命令の少なくとも1つから構成され、受
信ディスクリプタのデータ・ストラクチャに用意されて
いる内容を含んでいる。
The reception data temporary storage means 11 is provided with a FIFO
And temporarily stores received data flowing from the network. The communication information generating means 12 generates communication information relating to the received data. This communication information includes the size, characteristics, error status, and other information of the received data (other devices are, for example, a host
System), and includes contents prepared in a data structure of the reception descriptor.

【0027】通信データ転送手段13は、受信データ及
び通信情報からなる通信データを、上位システムへ転送
する。通信データ格納手段14は、実際には上位システ
ム内に配置され、転送された通信データに対し、通信情
報にもとづいて、通信データを連続して格納する。
The communication data transfer means 13 transfers communication data composed of received data and communication information to the host system. The communication data storage means 14 is actually arranged in the host system and continuously stores the transferred communication data based on the communication information with respect to the transferred communication data.

【0028】このように、本発明のデータ転送装置10
は、受信ディスクリプタのデータ・ストラクチャに用意
されていた内容を通信情報として生成し、受信データに
付加して転送する構成とした。
As described above, the data transfer device 10 of the present invention
Is configured to generate, as communication information, the contents prepared in the data structure of the reception descriptor, and to add it to the reception data and transfer it.

【0029】これにより、受信データをホスト・システ
ム等へ転送する際に発生するオーバーヘッドを削減する
ことが可能になる。また、あらかじめ確保した通信デー
タ格納手段14のメモリ領域に、通信データを連続して
格納していくため、メモリの有効活用を図ることが可能
になる。
As a result, it is possible to reduce overhead generated when transferring received data to a host system or the like. Further, since the communication data is continuously stored in the memory area of the communication data storage means 14 secured in advance, it is possible to effectively use the memory.

【0030】なお、通信情報生成手段12は、通信情報
として、通信データ格納手段14が次に通信データを格
納すべきアドレス情報と、通信データ格納手段14の格
納領域の最終アドレスを通知することを指示するコマン
ド情報と、転送完了した受信データの数とを生成する。
The communication information generating means 12 informs the communication data storage means 14 of the address information where the communication data is to be stored next and the final address of the storage area of the communication data storage means 14 as the communication information. It generates command information to be instructed and the number of received data that has been transferred.

【0031】また、受信データ一時格納手段11は閾値
を有しており、通信情報生成手段12は、受信データの
蓄積量が閾値を越える場合は、コマンド情報を設定せ
ず、閾値を越えない場合にコマンド情報を設定する。な
お、詳細については、データ転送装置10を適用した具
体例であるLAN通信システムを用いて以降説明する。
Further, the reception data temporary storage means 11 has a threshold value, and the communication information generation means 12 does not set command information when the storage amount of the reception data exceeds the threshold value, and does not set the command information when the storage amount does not exceed the threshold value. To set command information. The details will be described below using a LAN communication system which is a specific example to which the data transfer device 10 is applied.

【0032】次に従来の受信データ転送を行うLANコ
ントローラとホスト・システムについて説明する。図2
は従来の受信データ転送を説明するためのLANコント
ローラとホスト・システムの簡略構成図である。LAN
コントローラ200とホスト・システム300はPCI
バスを通じて接続する。
Next, a conventional LAN controller and host system for transferring received data will be described. FIG.
FIG. 1 is a simplified configuration diagram of a LAN controller and a host system for explaining conventional reception data transfer. LAN
The controller 200 and the host system 300 are PCI
Connect through the bus.

【0033】LANコントローラ200は、PCIバス
・インタフェース200a、受信FIFO200b及び
多目的レジスタ200cを含む。また、ホスト・システ
ム300は、システム・メモリ300aを含む。
The LAN controller 200 includes a PCI bus interface 200a, a reception FIFO 200b, and a multi-purpose register 200c. Further, the host system 300 includes a system memory 300a.

【0034】受信FIFO200bは、ネットワーク2
から流れてきた受信フレームを一時格納する。多目的レ
ジスタ200cは、コマンドやステータスなどを格納す
る。次に受信ディスクリプタを用いた際の、LANコン
トローラ200からPCのホスト・システム300への
従来の受信フレームの転送について詳しく説明する。
The reception FIFO 200b is connected to the network 2
The received frame flowing from is temporarily stored. The multi-purpose register 200c stores a command, a status, and the like. Next, a conventional transfer of a reception frame from the LAN controller 200 to the host system 300 of the PC when the reception descriptor is used will be described in detail.

【0035】一般にLANコントローラ200からPC
のホスト・システム300へ受信フレームを転送するた
めに、受信ディスクリプタと呼ばれるデータ・ストラク
チャが使われる。
Generally, the LAN controller 200 sends a PC
A data structure called a reception descriptor is used to transfer a reception frame to the host system 300 of FIG.

【0036】受信ディスクリプタは、PCの起動時にデ
バイス・ドライバ(OSの一部としてコンピュータに接
続される各種の周辺装置を制御するプログラム)によっ
てシステム・メモリ300aに複数割り当てられる。
A plurality of reception descriptors are assigned to the system memory 300a by a device driver (a program for controlling various peripheral devices connected to the computer as a part of the OS) when the PC is started.

【0037】図3は受信ディスクリプタの一般的な構造
の一例を示す図である。受信ディスクリプタ100は、
Status101、Command 102、 Size 103、 Actua
l Byte Count104及び Buffer Address 105から構
成される。
FIG. 3 is a diagram showing an example of a general structure of a reception descriptor. The reception descriptor 100
Status 101, Command 102, Size 103, Actua
l Byte Count 104 and Buffer Address 105

【0038】通常、Status101には、受信フレームの
情報や受信中に生じたエラーの情報がセットされる。例
えば、受信フレームがマルチキャスト・フレームである
ことを示すビットや、イーサネット(登録商標)フレー
ムの規定である最小フレーム・サイズの64バイトより
も短いフレームであることを示すビット、またはCRC
(Cyclic Redundancy Check) エラーが生じていることを
示すビットなどが用意される。
Normally, Status 101 is set with information on a received frame and information on an error that has occurred during reception. For example, a bit indicating that the received frame is a multicast frame, a bit indicating that the frame is shorter than the minimum frame size of 64 bytes specified by the Ethernet (registered trademark) frame, or a CRC.
(Cyclic Redundancy Check) A bit or the like indicating that an error has occurred is prepared.

【0039】Command 102には、LANコントローラ
200の動作を制御するパラメータを用意する。例え
ば、現在のフレーム受信後に受信フレームの転送を中断
させることを命令するビットや、受信フレームの転送方
法にいくつかのモードがある場合、どのモードで転送を
実行するべきであるかを指定するビットなどが用意され
る。
In the command 102, parameters for controlling the operation of the LAN controller 200 are prepared. For example, a bit that instructs to stop the transfer of the received frame after receiving the current frame, or a bit that specifies in which mode the transfer should be performed when there are several modes of the transfer method of the received frame Are prepared.

【0040】Size 103は、受信フレームを格納する
ためにシステム・メモリ300a上に用意されたバッフ
ァ・メモリのサイズを示し、また、 Actual Byte Count
104は実際の受信フレームの大きさを書き込む領域で
ある。
Size 103 indicates the size of the buffer memory prepared on the system memory 300a for storing the received frame.
An area 104 is used to write the actual size of the received frame.

【0041】さらに、 Buffer Address 105はシステ
ム・メモリ300a上に用意された受信フレーム格納用
バッファ・メモリ(図2では図示せず)の先頭アドレス
を示す。
Further, Buffer Address 105 indicates the head address of a buffer memory for storing received frames (not shown in FIG. 2) prepared on the system memory 300a.

【0042】図4は受信ディスクリプタのリング構造を
示す図である。図に示すように、1つの受信ディスクリ
プタが1つもしくはそれ以上のバッファ・メモリ領域を
指定する。この例では受信ディスクリプタはリング構造
110になっており、システム・メモリ300a内に連
続して割り当てられる。
FIG. 4 is a diagram showing the ring structure of the reception descriptor. As shown, one receive descriptor specifies one or more buffer memory areas. In this example, the reception descriptor has a ring structure 110 and is continuously allocated in the system memory 300a.

【0043】LANコントローラ200は起動時に、デ
バイス・ドライバによってシステム・メモリ300aに
エントリされた受信ディスクリプタ・テーブルのうち、
最初の受信ディスクリプタの内容をシステム・メモリ3
00aからLANコントローラ200上の多目的レジス
タ200cへとコピーしておく。
When the LAN controller 200 starts up, the LAN controller 200 selects one of the reception descriptor tables entered in the system memory 300a by the device driver.
The contents of the first receive descriptor are stored in the system memory 3
00a to the multi-purpose register 200c on the LAN controller 200.

【0044】通常はPCIサイクルのマスタ・リードを
実行してコピーする。ネットワーク2から受け取った受
信フレームは、LANコントローラ200に到着する
と、一旦LANコントローラ200上の受信FIFO2
00bに貯えられる。そして、現在、多目的レジスタ2
00cにコピーしてある受信ディスクリプタの BufferA
ddress 105が指定する、システム・メモリ300a
上に用意された受信フレーム格納用バッファ・メモリへ
転送される。
Normally, copying is performed by executing a master read in a PCI cycle. When the received frame received from the network 2 arrives at the LAN controller 200, it is temporarily received by the reception FIFO 2 on the LAN controller 200.
00b. And now, multi-purpose register 2
BufferA of the received descriptor copied to 00c
System memory 300a specified by ddress 105
The data is transferred to the buffer memory for storing received frames prepared above.

【0045】その後、受信ディスクリプタのStatus10
1及び Actual Byte Count104がセットされる。受信
処理の最後に、ホスト・システム300が受信フレーム
についての情報を得るため、受信ディスクリプタの一部
はシステム・メモリ300aの元の場所へコピーされ
る。通常はPCIサイクルのマスタ・ライトを実行して
コピーする。
Thereafter, the status 10 of the reception descriptor
1 and Actual Byte Count 104 are set. At the end of the receive process, a portion of the receive descriptor is copied to its original location in system memory 300a so that host system 300 obtains information about the received frame. Normally, copying is performed by executing a master write in a PCI cycle.

【0046】また、受信処理の完了をホスト・システム
300へ伝えるためにLANコントローラ200からホ
スト・システム300に対して割り込みを発生するのが
一般的である。以後、続く受信フレームの転送に備え
て、次の新しい受信ディスクリプタの内容をLANコン
トローラ200上の多目的レジスタ200cへコピーす
る。
In general, an interrupt is generated from the LAN controller 200 to the host system 300 to notify the host system 300 of the completion of the reception processing. Thereafter, the contents of the next new reception descriptor are copied to the multi-purpose register 200c on the LAN controller 200 in preparation for the transfer of the subsequent reception frame.

【0047】この例のように受信ディスクリプタがシス
テム・メモリ300a上で連続する空間に割り当てられ
ているのであれば、前回受信ディスクリプタをリードし
た最初のアドレスに受信ディスクリプタのサイズ分を加
えたアドレスからPCIサイクルのマスタ・リードを実
行すればよい。
If the reception descriptor is allocated to a continuous space in the system memory 300a as in this example, the PCI is calculated from the address obtained by adding the size of the reception descriptor to the first address from which the reception descriptor was previously read. The master read of the cycle may be executed.

【0048】一方、デバイス・ドライバはシステム・メ
モリ300aに転送された受信フレームをさらに上位の
ソフトウェアに渡し、使用後の受信ディスクリプタを再
利用可能なようにクリーニングする。
On the other hand, the device driver passes the received frame transferred to the system memory 300a to higher-level software, and cleans the used reception descriptor so that it can be reused.

【0049】図5は受信ディスクリプタの別の構成例を
示す図である。これは、システム・メモリ300a上に
散在して用意された受信ディスクリプタの例であり、受
信ディスクリプタ100aは、Status101、Command
102、 Size 103、 Actual Byte Count104及び
Link Address106から構成される。
FIG. 5 is a diagram showing another configuration example of the reception descriptor. This is an example of a reception descriptor scatteredly prepared on the system memory 300a, and the reception descriptor 100a includes Status 101, Command
102, Size 103, Actual Byte Count 104 and
It comprises a Link Address 106.

【0050】Link Address106は次に使用されるべき
受信ディスクリプタのアドレスを指定する。図6は受信
ディスクリプタのチェイン構造を示す図である。図に示
すようなチェイン構造120の受信ディスクリプタ構造
では、次に使用するべき受信ディスクリプタが格納され
ているシステム・メモリ300a上のアドレスを知るこ
とができる。また、この受信ディスクリプタの例ではBu
ffer Address101が含まれていない。
The Link Address 106 specifies the address of the next receive descriptor to be used. FIG. 6 is a diagram showing a chain structure of the reception descriptor. In the reception descriptor structure of the chain structure 120 as shown in the figure, it is possible to know the address on the system memory 300a where the next reception descriptor to be used is stored. In the example of this reception descriptor, Bu
ffer Address 101 is not included.

【0051】この場合、図6に示すように、受信ディス
クリプタのすぐ後に続くメモリ領域が受信フレーム格納
用のバッファ・メモリとなっており、LANコントロー
ラ200上の受信FIFO200bに貯えられた受信フ
レームは,この領域に転送される。
In this case, as shown in FIG. 6, the memory area immediately following the reception descriptor is a buffer memory for storing the reception frame, and the reception frame stored in the reception FIFO 200b on the LAN controller 200 is Transferred to this area.

【0052】受信ディスクリプタの構造は若干異なって
も、基本的な受信フレームの転送処理は先の例の場合と
同じである。以上、イーサネット用ネットワーク・イン
ターフェース装置に使用されている代表的なLANコン
トローラ200での受信フレーム転送機構について説明
した。このように受信ディスクリプタ・テーブルをシス
テム・メモリ300a内にエントリしておき、その受信
ディスクリプタを次々とシステマティックに使用してい
くことによりデバイス・ドライバの処理が高速化され、
ホスト・システム300の負担が軽減されることにな
る。
Although the structure of the reception descriptor is slightly different, the basic transfer processing of the reception frame is the same as that of the previous example. The received frame transfer mechanism in the typical LAN controller 200 used in the Ethernet network interface device has been described above. As described above, the reception descriptor table is entered in the system memory 300a, and the processing of the device driver is speeded up by systematically using the reception descriptor one after another.
The burden on the host system 300 will be reduced.

【0053】ところが、これには二つの大きな問題があ
る。1つは受信ディスクリプタの内容をLANコントロ
ーラ200上へコピーすることによる不効率な転送形態
であり、もう1つはシステム・メモリ300aの不効率
な利用形態である。
However, this has two major problems. One is an inefficient transfer form by copying the contents of the reception descriptor onto the LAN controller 200, and the other is an inefficient use form of the system memory 300a.

【0054】上記に示した二つの受信ディスクリプタの
例のうち、いずれのタイプの受信ディスクリプタを使用
する場合でも、1つの受信フレームをホスト・システム
300へ転送するために1つの受信ディスクリプタを使
用する。つまり、1つの受信フレームを処理するたびに
1つの受信ディスクリプタの内容をLANコントローラ
200の多目的レジスタ200cへコピーしなくてはな
らない。
Regardless of which type of reception descriptor is used, one reception descriptor is used to transfer one reception frame to the host system 300. That is, every time one received frame is processed, the contents of one received descriptor must be copied to the multi-purpose register 200c of the LAN controller 200.

【0055】受信フレームが受信FIFO200aに格
納されてから受信ディスクリプタを確保するのでは時間
がかかってしまうので、通常は前もって使用可能な受信
ディスクリプタを確保し、その内容をLANコントロー
ラ200にコピーしておく。
Since it takes time to secure the reception descriptor after the reception frame is stored in the reception FIFO 200a, usually, a reception descriptor that can be used is secured in advance, and the contents are copied to the LAN controller 200. .

【0056】コピーの方法はデバイス・ドライバによる
PCIターゲット・ライトでもよいし、一般的にはLA
Nコントローラ200が必要なときにPCIマスタ・リ
ードを実行することになる。いずれにしても受信フレー
ム自体の転送とは別にPCIバス・オペレーションが実
行される。
The copy method may be PCI target write by a device driver, or generally, LA copy.
The N controller 200 will perform a PCI master read when needed. In any case, the PCI bus operation is executed separately from the transfer of the received frame itself.

【0057】ところが次々と受信フレームが到着する場
合、受信ディスクリプタのコピーによるPCIバス・オ
ペレーションの回数は受信フレームをLANコントロー
ラ200からシステム・メモリ300aへ転送する際の
大きなオーバーヘッドとなり得る。受信フレームのサイ
ズが小さい場合、このオーバーヘッドはいっそう効率の
悪いものとなる。
However, when the received frames arrive one after another, the number of times of the PCI bus operation due to the copying of the received descriptor can be a large overhead when transferring the received frame from the LAN controller 200 to the system memory 300a. If the size of the received frame is small, this overhead becomes even less efficient.

【0058】また、今後さらにLANの伝送速度が向上
すれば、このオーバーヘッドはより深刻な問題へと発展
する恐れがある。当然ながら、受信ディスクリプタの内
容をコピーするためにPCIアクセスしている時間は受
信フレームの転送が行えない。したがって、受信ディス
クリプタのコピーにより受信フレームの転送が圧迫さ
れ、受信FIFO200bが溢れてしまうという問題が
生じてくるからである。
Further, if the transmission speed of the LAN is further improved in the future, this overhead may develop into a more serious problem. As a matter of course, the reception frame cannot be transferred during the time of the PCI access for copying the contents of the reception descriptor. Therefore, the transfer of the reception frame is suppressed by the copy of the reception descriptor, and a problem occurs that the reception FIFO 200b overflows.

【0059】また、受信ディスクリプタが指定するシス
テム・メモリ300a上に用意された受信フレーム格納
用バッファ・メモリは、十分に大きく確保しておくのが
普通である。
In general, a sufficiently large buffer memory for storing received frames prepared on the system memory 300a designated by the received descriptor is reserved.

【0060】イーサネットフレームであればフレームの
サイズは規定により64Bytesから1514Byt
esの間であるので、通常それ以上の大きさの受信フレ
ーム格納用バッファ・メモリを確保する。しかし、受信
したフレームのサイズが比較的小さいと、この受信フレ
ーム格納用バッファ・メモリ領域の大部分が使われず、
メモリの使用効率が非常に悪い。
In the case of an Ethernet frame, the size of the frame is 64 bytes to 1514 bytes according to regulations.
Since it is between es, a buffer memory for storing received frames of a larger size is usually secured. However, if the size of the received frame is relatively small, most of the buffer memory area for storing the received frame is not used,
Memory usage is very poor.

【0061】受信フレームのロスを少なくするためには
受信ディスクリプタの数は十分に用意しておく必要があ
るが、受信ディスクリプタの数を多くすれば多くするほ
ど使用効率は悪くなることになる。
In order to reduce the loss of received frames, it is necessary to prepare a sufficient number of reception descriptors, but as the number of reception descriptors increases, the use efficiency decreases as the number of reception descriptors increases.

【0062】また、今後、ギガビットイーサネットなど
でサポートされるジャンボ・パケットに対応するために
は、確保するべき受信フレーム格納用バッファ・メモリ
領域をさらに大きくする必要があり、この受信フレーム
格納用バッファ・メモリの非効率的使用は、より深刻
な、大きな問題となってくる。
In order to cope with jumbo packets supported by Gigabit Ethernet in the future, it is necessary to further increase the buffer memory area for storing the received frame to be secured. Inefficient use of memory becomes a more serious and major problem.

【0063】しかしながら、各々の受信フレーム格納用
バッファ・メモリを小さくして、1つの受信フレームを
複数の受信フレーム格納用バッファ・メモリへ分散して
格納するようにすると、受信フレームを分解する機構が
どうしても複雑になってしまい、回路規模の面で不利で
ある。またPCI バス・オペレーションの回数も増えて
しまう。
However, if each received frame storage buffer memory is made smaller and one received frame is stored in a distributed manner in a plurality of received frame storage buffer memories, a mechanism for disassembling the received frame is provided. It is inevitably complicated and disadvantageous in terms of circuit scale. Also, the number of PCI bus operations increases.

【0064】以上説明したように、イーサネット用ネッ
トワーク・インターフェース装置に使用されている代表
的なLANコントローラ200では、受信フレームをシ
ステム・メモリ300aへ転送する際にオーバーヘッド
が発生して転送効率が悪いという問題と、システム・メ
モリ300aの使用効率が悪いという問題がある。
As described above, in the typical LAN controller 200 used in the Ethernet network interface device, overhead is generated when a received frame is transferred to the system memory 300a, resulting in poor transfer efficiency. There is a problem and a problem that the use efficiency of the system memory 300a is low.

【0065】これらの二つの問題は今後ネットワーク2
の伝送速度が向上したときに、より深刻となる。本発明
では、複雑な機構を実装して回路規模を大きくすること
なく、この二つの問題を解決することにある。
These two problems will be considered
It becomes more serious when the transmission speed of the data is improved. An object of the present invention is to solve these two problems without increasing the circuit scale by implementing a complicated mechanism.

【0066】次にデータ転送装置10を適用した本発明
のLAN通信システムについて説明する。図7は本発明
のLAN通信システムの構成を示す図である。なお、以
降ではLANに用いられるネットワーク2をイーサネッ
トとする。また、イーサネットが転送する情報の基本単
位はフレームと呼ばれるので、以降この言葉を用いる。
Next, the LAN communication system of the present invention to which the data transfer device 10 is applied will be described. FIG. 7 is a diagram showing the configuration of the LAN communication system of the present invention. Hereinafter, the network 2 used for the LAN is assumed to be Ethernet. The basic unit of information transferred by the Ethernet is called a frame, so this term will be used hereinafter.

【0067】LAN通信システム1は、LANコントロ
ーラ20とホスト・システム(情報端末装置に該当)3
0から構成される。LANコントローラ20は、32ビ
ットの周辺要素相互接続 (PCI :Peripheral Compone
nt Interconnect)バス・インターフェース21を備えて
いる。現在、PCIバスのクロック周波数は33MHz
が一般的であり、したがって、ホスト・システム30と
LANコントローラ20との間の最高データ転送速度は
133Mバイト/ 秒となる。
The LAN communication system 1 includes a LAN controller 20 and a host system (corresponding to an information terminal device) 3
It consists of 0. The LAN controller 20 is a 32-bit peripheral component interconnect (PCI).
nt Interconnect) bus interface 21. Currently, the clock frequency of the PCI bus is 33 MHz
Therefore, the maximum data transfer rate between the host system 30 and the LAN controller 20 is 133 Mbytes / sec.

【0068】また、DMAコントローラ22を備えてお
り、LANコントローラ20はバス・マスタとなり得
る。ここでは1つのDMAコントローラ22しか書かれ
ていないが、一般的には送信用及び受信用に2チャネル
のDMAコントローラを備えている。これらは各々に独
立して動作し、ホスト・システム30中のシステム・メ
モリ32との間のデータ転送に使われる。
Further, a DMA controller 22 is provided, and the LAN controller 20 can be a bus master. Although only one DMA controller 22 is described here, a two-channel DMA controller is generally provided for transmission and reception. These operate independently of each other and are used to transfer data to and from the system memory 32 in the host system 30.

【0069】ネットワーク2から流れてきた受信フレー
ムは、SIA (Serial Interface Adapter) インターフ
ェース23もしくはMII(Media Independent Interfa
ce)インターフェース24を介し、メディア・アクセス
制御 (MAC:Media AccessControl)コントローラ25
で必要な処理を施された後に、受信FIFO (FIFO:Fir
st-In First-Out Buffer)26に一時格納される。
The received frame flowing from the network 2 is transmitted to an SIA (Serial Interface Adapter) interface 23 or an MII (Media Independent Interface).
ce) A media access control (MAC) controller 25 via an interface 24
After the necessary processing is performed in the receiving FIFO (FIFO: Fir:
(st-In First-Out Buffer) 26.

【0070】また、送信FIFO27は、送信データを
ネットワーク2へ送出する前に一時格納しておくための
バッファ・メモリである。送信フレーム及び受信フレー
ムや、ホスト・システム30からLANコントローラ2
0に対するコマンド及びステータスなどの情報の受け渡
しマネージメントはデータ制御手段(通信データ転送手
段に該当)28で行われる。
The transmission FIFO 27 is a buffer memory for temporarily storing transmission data before sending it to the network 2. The transmission frame and the reception frame, and the LAN controller 2 from the host system 30
Delivery management of information such as a command and status for 0 is performed by a data control unit (corresponding to a communication data transfer unit) 28.

【0071】また、受信フレーム・ヘッダ生成手段29
は、受信データに関する通信情報を受信フレーム・ヘッ
ダとして生成する。さらに、上記のコマンドやステータ
スなどを格納しておくための多目的レジスタA、Bが用
意されている。通常はコントロール/ ステータス・レジ
スタ (CSR:Control/Status Register) と呼ばれる名
で用意され、これはシステム・メモリ32上にマッピン
グされる(多目的レジスタA)。したがって、LANコ
ントローラ20からもホスト・システム30からもリー
ド/ ライトが可能となる。
The received frame header generating means 29
Generates communication information on received data as a received frame header. Further, multipurpose registers A and B for storing the above commands and statuses are prepared. Usually, a control / status register (CSR: Control / Status Register) is prepared and is mapped on the system memory 32 (multipurpose register A). Therefore, reading / writing is possible from both the LAN controller 20 and the host system 30.

【0072】ここで多目的レジスタAは、システム・メ
モリ32にマッピングされ、多目的レジスタBは、LA
Nコントローラ20内のローカルなものである。また、
受信FIFO26のデータ幅は32ビットとし、蓄積デ
ータのサイズを示すために1つもしくは段階的に複数の
閾値が設定できる。
Here, multi-purpose register A is mapped to system memory 32, and multi-purpose register B is
It is local in the N controller 20. Also,
The data width of the reception FIFO 26 is 32 bits, and a plurality of thresholds can be set one or stepwise to indicate the size of the stored data.

【0073】次に受信フレームをシステム・メモリ32
へ転送するためにデバイス・ドライバによって行われる
準備動作について説明する。まず、LANコントローラ
20の起動時にデバイス・ドライバは、PCIデバイス
としてのコンフィギュレーションを行い、コマンド、レ
イテンシ・タイマ及びベース・アドレスが設定される。
Next, the received frame is stored in the system memory 32.
A preparation operation performed by the device driver to transfer the data to the device will be described. First, when the LAN controller 20 is started, the device driver performs configuration as a PCI device, and a command, a latency timer, and a base address are set.

【0074】そして、多目的レジスタAをシステム・メ
モリ32にマッピングする。これにより、多目的レジス
タAはホスト・システム30からもLANコントローラ
20からもアクセスが可能となる。
Then, the multi-purpose register A is mapped to the system memory 32. Thus, the multi-purpose register A can be accessed from both the host system 30 and the LAN controller 20.

【0075】図8は多目的レジスタAの一構成例を示す
図である。システム・メモリ32上に確保した受信フレ
ーム格納用バッファ・メモリ32a(受信フレーム格納
手段に該当)のうち、書き込みが可能な範囲の最終アド
レスを表すオーバーライト・アドレスを格納するレジス
タOverwrite Address 41に加え、本実施の形態の中で
使用されるいくつかの割り込みビットが用意されてい
る。
FIG. 8 is a diagram showing a configuration example of the multi-purpose register A. In addition to the register Overwrite Address 41 for storing the overwrite address indicating the last address of the writable range in the buffer memory 32a for storing received frames (corresponding to the received frame storing means) secured on the system memory 32. Some interrupt bits used in the present embodiment are provided.

【0076】割り込みビットとしては例えば、Receive
End Int 42、From Start Int43、Overwrite Addres
s Request Int44、 Resete Request Int 45があ
り、またフレーム数のセットビットとしてNumber of Fr
ame 46が設定される。
As an interrupt bit, for example, Receive
End Int 42, From Start Int 43, Overwrite Addres
s Request Int 44 and Resete Request Int 45, and Number of Fr
ame 46 is set.

【0077】ホスト・システム30はLANコントロー
ラ20から割り込みが生じたら多目的レジスタAがマッ
ピングされたメモリ領域をリードし、割り込み要因を確
認することができる。ホスト・システム30は割り込み
要因が通知されると、多目的レジスタA中の対応する割
り込みビットをクリアする。
When an interrupt occurs from the LAN controller 20, the host system 30 reads the memory area to which the multi-purpose register A is mapped, and can confirm the cause of the interrupt. When notified of the interrupt cause, the host system 30 clears the corresponding interrupt bit in the multi-purpose register A.

【0078】続いて、デバイス・ドライバは、格納領域
割当てを行って、システム・メモリ32中に受信フレー
ム格納用のバッファ・メモリ32a領域を確保する。図
9は確保した受信フレーム格納用バッファ・メモリ32
a領域の一例を示す図である。本実施の形態では例え
ば、32Kバイトを確保する。また、わかりやすくする
ために、アドレスがx1000 からx8fff の範囲を確保でき
たとして考える。なお、太枠の中には値が格納されてい
ることを示す。
Subsequently, the device driver allocates a storage area to secure a buffer memory 32 a area for storing the received frame in the system memory 32. FIG. 9 shows the secured buffer memory 32 for storing received frames.
It is a figure showing an example of a field. In the present embodiment, for example, 32 Kbytes are secured. For simplicity, it is assumed that the address range has been secured from x1000 to x8fff. Note that a value is stored in a bold frame.

【0079】必要な領域がシステム・メモリ32上に確
保されると、デバイス・ドライバは受信フレーム格納用
バッファ・メモリ32a領域の最初のアドレスを表すス
タート・アドレス32a−sと受信フレーム格納用バッ
ファ・メモリ32a領域の最後のアドレスを表すエンド
・アドレス32a−eをLANコントローラ20へ転送
し、LANコントローラ20はそれぞれを多目的レジス
タBへと書き込む。
When the necessary area is secured in the system memory 32, the device driver sets the start address 32a-s indicating the first address of the reception frame storage buffer memory 32a area and the reception frame storage buffer memory 32a. The end addresses 32a-e representing the last address of the memory 32a area are transferred to the LAN controller 20, and the LAN controller 20 writes each to the multi-purpose register B.

【0080】図10は多目的レジスタBの例を示す図で
ある。アドレス幅は32ビットで用意されている。この
例では多目的レジスタBのStart Address 51に“ x10
00"(図9)なるスタート・アドレス32a−sが、End
Address 52に“ x8ffc"(図9)なるエンド・アドレ
ス32a−eが書き込まれることになる。
FIG. 10 is a diagram showing an example of the multi-purpose register B. The address width is prepared in 32 bits. In this example, the start address 51 of the multi-purpose register B has "x10
00 "(FIG. 9) as the start address 32a-s
The end address 32a-e of "x8ffc" (FIG. 9) is written to the address 52.

【0081】システムが一度起動すると、リセットされ
るまでこれら二つのアドレスの値は変わらない。一方、
Current Address 53は現在受信フレーム格納用バッフ
ァ・メモリ32a中のどこのアドレスまで受信フレーム
を格納したかを表すカレント・アドレス32a−c(図
9)が書きこまれ、逐一ハードウェアにより更新されて
いく。
Once the system is started, the values of these two addresses do not change until reset. on the other hand,
In the Current Address 53, the current addresses 32a-c (FIG. 9) indicating the address of the currently received frame storage buffer memory 32a to which the received frame has been stored are written, and are updated one by one by the hardware. .

【0082】以上が受信のためにデバイス・ドライバに
前もって実施されるすべてであり、従来の代表的なLA
Nコントローラ200で行われているように、システム
・メモリ300aに受信ディスクリプタ・テーブルをエ
ントリすることはしない。
The above is all that is previously performed by the device driver for reception, and the conventional typical LA
As in the N controller 200, no entry is made in the receive descriptor table in the system memory 300a.

【0083】ただし、デバイス・ドライバは、受信フレ
ームの最初に受信フレーム・ヘッダが付加されていて、
それがいかなる構造になっているかということを知って
いる。
However, the device driver adds a reception frame header to the beginning of the reception frame,
I know what structure it is.

【0084】図11は受信フレーム・ヘッダ構成の一例
を示す図である。Actual Byte Count フィールド29a
は、受信フレームのバイト単位でのサイズを表すために
用意された領域で、この例では14ビットが確保されて
いる。
FIG. 11 is a diagram showing an example of the configuration of a received frame header. Actual Byte Count field 29a
Is an area prepared to represent the size of a received frame in byte units. In this example, 14 bits are reserved.

【0085】Status/Commandフィールド29bにはホス
ト・システム30がこの受信フレームを処理するにあた
り必要となる情報や、ホスト・システム30に対する要
求をセットするために用意された領域で、この例では17
ビットが確保されている。
The Status / Command field 29b is an area prepared for setting information necessary for the host system 30 to process the received frame and a request for the host system 30.
Bits are reserved.

【0086】Next Data Address フィールド29cは、
次の受信フレーム・ヘッダ及び受信フレームが格納され
るべき受信フレーム格納用バッファ・メモリ32aの最
初のアドレスを示す、ネクスト・アドレスが書き込まれ
る。
The Next Data Address field 29c contains
The next address indicating the first address of the buffer memory 32a for storing the next received frame header and the received frame in which the received frame is to be stored is written.

【0087】図12はStatus/Commandフィールド29b
の具体的な一構成例を示す図である。図では例えば、受
信フレームがマルチキャストで受信したフレームである
ことを示すビットやブロードキャストで受信したフレー
ムであることを示すビットを含んだキャラクタ・フィー
ルド29b−1がある。
FIG. 12 shows the Status / Command field 29b.
FIG. 3 is a diagram showing a specific example of the configuration of FIG. In the figure, for example, there is a character field 29b-1 including a bit indicating that the received frame is a frame received by multicast and a bit indicating that it is a frame received by broadcast.

【0088】また、CRCエラーが生じていることを示
すビットやショート・フレーム・エラーが生じているこ
とを示すビットを含んだエラー・ステータス・フィール
ド29b−2がある。
There is an error status field 29b-2 including a bit indicating that a CRC error has occurred and a bit indicating that a short frame error has occurred.

【0089】また、受信フレームを転送可能なシステム
・メモリ上の最終アドレスの更新を要求するコマンドを
含んだ、コマンド・フィールド29b−3がある。さら
に、現在の受信フレーム以降にいくつの受信フレームが
既に転送されているかを示す、転送終了フレーム数フィ
ールド29b−4がある。
There is also a command field 29b-3 containing a command for requesting updating of the last address on the system memory to which a received frame can be transferred. Further, there is a transfer end frame number field 29b-4 indicating how many received frames have already been transferred after the current received frame.

【0090】次に受信フレームをLANコントローラ2
0からシステム・メモリ32へ転送する動作について説
明する。図13、図14は受信フレーム転送処理時のフ
ローチャートを示す図である。 〔S1〕デバイス・ドライバによる準備が済むとLAN
コントローラ20は待機状態となる。 〔S2〕ネットワーク2から送信されてきた受信フレー
ムは、LANコントローラ20に到着する。 〔S3〕MACコントローラ25は、プリアンブルの除
去やデスティネーション・アドレスによるフィルタリン
グなどの処理を行う。 〔S4〕受信フレームは受信FIFO26に一旦格納さ
れる。 〔S5〕受信フレームのサイズ、特徴及びエラー情報
は、データ制御手段28によって解析される。なんらか
の致命的なエラーがありシステム・メモリ32へ転送す
る必要がないのであればステップS6へ、致命的なエラ
ーがなければステップS7へ行く。 〔S6〕受信FIFO26のリード・ポインタを進め
て、受信フレームを廃棄する。つまり、この場合受信フ
レームの転送は行わない。 〔S7〕データ制御手段28は、受信フレームのサイ
ズ、特徴及びエラー情報を受信フレーム・ヘッダ生成手
段29に渡し、受信フレーム・ヘッダ生成手段29が受
信フレームのサイズ、特徴及びエラー情報から受信フレ
ーム・ヘッダを生成する。なお、受信フレーム・ヘッダ
の詳細生成については図15で説明する。 〔S8〕データ制御手段28は、多目的レジスタB中Cu
rrent Address 53に書かれたカレント・アドレスと多
目的レジスタA中Overwrite Address 41に書かれたオ
ーバーライト・アドレスを比較する。
Next, the received frame is sent to the LAN controller 2
The operation of transferring from 0 to the system memory 32 will be described. FIG. 13 and FIG. 14 are flowcharts showing the received frame transfer process. [S1] When preparation by the device driver is completed, the LAN
The controller 20 enters a standby state. [S2] The received frame transmitted from the network 2 reaches the LAN controller 20. [S3] The MAC controller 25 performs processing such as removal of the preamble and filtering by the destination address. [S4] The received frame is temporarily stored in the reception FIFO 26. [S5] The size, characteristics and error information of the received frame are analyzed by the data control means 28. If there is any fatal error and there is no need to transfer the data to the system memory 32, the process goes to step S6. If there is no fatal error, the process goes to step S7. [S6] The read pointer of the reception FIFO 26 is advanced, and the reception frame is discarded. That is, in this case, the reception frame is not transferred. [S7] The data control unit 28 passes the size, characteristics, and error information of the reception frame to the reception frame header generation unit 29, and the reception frame header generation unit 29 determines the reception frame size, characteristics, and error information from the reception frame. Generate a header. The detailed generation of the received frame header will be described with reference to FIG. [S8] The data control unit 28 sets the Cu in the multi-purpose register B
The current address written in the rrent address 53 is compared with the overwrite address written in the overwrite address 41 in the multi-purpose register A.

【0091】先に説明したように、受信FIFO26に
格納されているデータ量が少ないときを見計らって、オ
ーバーライト・アドレスは随時更新されているが、例え
ば、ホスト・システム30での処理が間に合わなかった
り、または受信FIFO26が常に満たされているとい
った理由でオーバーライト・アドレスが更新されず、ネ
クスト・アドレスから受信フレーム・ヘッダ及び受信フ
レームを書き込むとオーバーライト・アドレスを超えて
しまう場合、オーバーライト・アドレスの更新を要求す
るため、多目的レジスタAに含まれる割り込みビットの
うち、オーバーライト・アドレスの更新要求を表すOver
write Address Request 割り込み44に“1”をセット
することで割り込みを発生し、ホスト・システム30
によってオーバーライト・アドレスが更新されるまで待
機する。カレント・アドレスがネクスト・アドレスより
大きくなった場合にステップS9へ行く。 〔S9〕十分に新しい受信フレームを格納するだけの領
域があるのであれば、受信フレームのサイズに受信フレ
ーム・ヘッダのサイズを加えたデータ・サイズでのDM
A転送をDMAコントローラ22へ要求する。DMA転
送サイズもダブルワード・アライメントでなくてはなら
ないので、したがって、136バイトのDMA転送要求
を出す。 〔S10〕要求が受け付けられると、これらはPCIバ
ス・インターフェース21を介してシステム・メモリ3
2へバースト転送される。 〔S11〕転送終了した場合はステップS12へ、そう
でなければステップS10へ行く。 〔S12〕受信フレーム・ヘッダである最初の8バイト
はデータ制御手段28から転送され、受信フレーム本体
である残りの128バイトは受信FIFO26から出力
される。転送が終了するとホスト・システム30のサー
ビスを要求するために、LANコントローラ20は受信
フレームの転送終了をホスト・システム30へ伝える必
要がある。そこで、セットした数の受信フレームが転送
し終わったのであればステップS13へ、そうでなけれ
ばステップS14へ行く。 〔S13〕多目的レジスタAに含まれる割り込みビット
のうち、受信フレーム転送終了を表すReceive End 割り
込み42に“1”をセットし、割り込みを発生して受信
フレーム転送の終了をホスト・システム30へ通知す
る。 〔S14〕スタート・アドレスから格納した場合はステ
ップS15へ、そうでなければ終了する。 〔S15〕既に前の受信フレームに付加された受信フレ
ーム・ヘッダのNext Data Address 29cには、次にア
クセスする受信フレーム格納用バッファ・メモリ32a
のアドレスとして連続するアドレスが書きこまれてお
り、食い違いが生じる。そこで、この場合は必ず受信フ
レーム格納用バッファ・メモリ32a領域の最初のアド
レスに次の受信フレーム・ヘッダ及び受信フレームを格
納したことを伝えるため、多目的レジスタAに含まれる
割り込みビットのうち、From Start割り込み43を発生
する。
As described above, when the amount of data stored in the reception FIFO 26 is small, the overwrite address is updated as needed. For example, the processing in the host system 30 cannot be completed in time. If the overwrite address is not updated because the receive FIFO 26 is always full or the received frame header and received frame are written from the next address, the overwrite address is exceeded. In order to request an address update, of the interrupt bits included in the multi-purpose register A, OverOver indicating an update request of the overwrite address
By setting "1" to the write address request interrupt 44, an interrupt is generated and the host system 30
Wait until the overwrite address is updated. When the current address is larger than the next address, the process goes to step S9. [S9] If there is an area for storing a sufficiently new received frame, the DM with the data size obtained by adding the size of the received frame header to the size of the received frame is used.
Requests the A transfer to the DMA controller 22. Since the DMA transfer size must also be double word aligned, it issues a 136 byte DMA transfer request. [S10] When the requests are accepted, they are sent to the system memory 3 via the PCI bus interface 21.
2 is burst-transferred. [S11] If the transfer is completed, go to step S12, otherwise go to step S10. [S12] The first 8 bytes of the received frame header are transferred from the data control means 28, and the remaining 128 bytes of the received frame body are output from the receive FIFO 26. When the transfer is completed, the LAN controller 20 needs to notify the host system 30 that the transfer of the received frame has been completed in order to request the service of the host system 30. Therefore, if the set number of received frames have been transferred, the process proceeds to step S13; otherwise, the process proceeds to step S14. [S13] Among the interrupt bits included in the multi-purpose register A, "1" is set to the Receive End interrupt 42 indicating the end of the reception frame transfer, and an interrupt is generated to notify the host system 30 of the end of the reception frame transfer. . [S14] If the data is stored from the start address, the process proceeds to step S15. If not, the process ends. [S15] In the Next Data Address 29c of the received frame header already added to the previous received frame, the buffer memory 32a for storing the next received received frame is stored.
A continuous address is written as the address, and a discrepancy occurs. Therefore, in this case, in order to notify that the next received frame header and the received frame have been stored at the first address of the received frame storage buffer memory area 32a, the From Start interrupt bit included in the multi-purpose register A is used. An interrupt 43 is generated.

【0092】一方、複数の受信フレームの転送モードで
この事態が発生した場合、ホスト・システムは何番目の
受信フレームが受信フレーム格納用バッファ・メモリ3
2a領域の最初のアドレスから格納されたのかわからな
い。
On the other hand, if this situation occurs in the transfer mode of a plurality of received frames, the host system determines which number of received frames is in the buffer memory 3 for storing received frames.
It is not known whether the data was stored from the first address of the area 2a.

【0093】そこで、割り込みを発生すると同時に何番
目の受信フレームが受信フレーム格納用バッファ・メモ
リ32a領域の最初のアドレスから格納されたかを示す
多目的レジスタA中Number of Frame 46をフィールド
にその数をセットする。
Therefore, at the same time as when an interrupt is generated, the number of the received frame is set in the field of Number of Frame 46 in the multi-purpose register A indicating the number of the received frame from the first address of the received frame storage buffer memory area 32a. I do.

【0094】次に受信フレーム・ヘッダ生成について説
明する。図15は受信フレーム・ヘッダ生成手段29に
よる処理のフローチャートを示す図である。 〔S21〕受信フレーム・ヘッダ生成手段29は、デー
タ制御手段28から受信フレームのサイズ、特徴及びエ
ラー情報を受け取ると、Actual Byte Count 29aをセ
ットする。 〔S22〕Status/Command29bのキャラクタ・フィー
ルド29b−1をセットする。 〔S23〕Status/Command29bのエラー・ステータス
・フィールド29b−2をセットする。 〔S24〕受信フレーム格納用バッファ・メモリ32a
は、最後まで受信フレームで埋まると、スタート・アド
レスに戻って上書きすることになる。ところが、LAN
コントローラ20はどこまでが既にホスト・システム3
0によって処理が終了していて、上書きが可能なのかが
わからない。
Next, generation of a received frame header will be described. FIG. 15 is a diagram showing a flowchart of the processing by the reception frame header generation means 29. [S21] When receiving the size, characteristics, and error information of the received frame from the data controller 28, the received frame header generator 29 sets the Actual Byte Count 29a. [S22] The character field 29b-1 of the Status / Command 29b is set. [S23] The error status field 29b-2 of the Status / Command 29b is set. [S24] Received frame storage buffer memory 32a
Will be overwritten by returning to the start address when it is filled with the received frame to the end. However, LAN
The controller 20 is already up to the host system 3
0 indicates that the process has been completed, and it is not known whether overwriting is possible.

【0095】そこで、デバイス・ドライバはLANコン
トローラ20上の多目的レジスタA中Overwrite Addres
s 41に上書き可能な受信フレーム格納用バッファ・メ
モリ32aの最終アドレス、すなわちオーバーライト・
アドレスをライトし、LANコントローラ20に通知す
る。
Then, the device driver sets the Overwrite Addres
s 41, the last address of the received frame storage buffer memory 32a which can be overwritten,
Write the address and notify the LAN controller 20.

【0096】これはバスの空きタイマによって決まった
間隔で書き込みを行うようにしてもよい。本実施の形態
では上書き可能なバッファの最終アドレス通知を要求す
るコマンド・ビットを受信フレーム・ヘッダのStatus/C
ommand29b中コマンド・フィールド29b−3に設け
てある。ここで、オーバーライト可能領域が十分でない
場合はステップS25へ、十分ならばステップS26へ
行く。 〔S25〕Status/Command29b中コマンド・フィール
ド29b−3をセットする。すると、デバイス・ドライ
バは、ホスト・システム30の上位のレベルで受信フレ
ームが処理され、これまで受信フレームが格納されてい
た受信フレーム格納用バッファ・メモリ32aに新しい
受信フレームを上書きしてもよい状態になっているので
あれば、LANコントローラ20にオーバーライト・ア
ドレスを通知する。
In this case, writing may be performed at intervals determined by a bus idle timer. In the present embodiment, the command bit for requesting notification of the last address of the overwritable buffer is set to Status / C of the received frame header.
It is provided in the command field 29b-3 in the ommand 29b. Here, if the overwritable area is not sufficient, the process proceeds to step S25. [S25] The command field 29b-3 in the Status / Command 29b is set. Then, the device driver processes the received frame at a higher level of the host system 30 and may overwrite the received frame storing buffer memory 32a with the new received frame in which the received frame has been stored. If so, the LAN controller 20 is notified of the overwrite address.

【0097】この動作中は受信フレームの転送はできな
いので、次々と受信FIFO26に受信フレームが入っ
てくる場合、この動作が頻繁に行われることは望ましく
ない。そこで、LANコントローラ20の起動時に受信
FIFO26の閾値を決めておき、閾値を超えていない
場合、すなわち受信FIFO26が溢れてしまうおそれ
がない場合にこのビットをセットするようにしても構わ
ない。 〔S26〕LANコントローラ20の起動時に受信FI
FO26の閾値を決めておき、受信FIFO26に受信
フレームがある閾値以上格納されているようであればス
テップS28へ、そうでなければステップS27へ行
く。
Since the reception frame cannot be transferred during this operation, it is not desirable that this operation be performed frequently when the reception frame sequentially enters the reception FIFO 26. Therefore, the threshold of the reception FIFO 26 may be determined when the LAN controller 20 is activated, and this bit may be set when the reception FIFO 26 does not exceed the threshold, that is, when there is no possibility that the reception FIFO 26 overflows. [S26] When the LAN controller 20 starts up, the reception FI
The threshold value of the FO 26 is determined, and if the received frame is stored in the reception FIFO 26 at a certain threshold or more, the process proceeds to step S28. Otherwise, the process proceeds to step S27.

【0098】オーバーライト可能領域が十分である場
合、いくつの受信フレームをシステム・メモリ32に転
送してからホスト・システム30に受信フレーム転送終
了の通知をするかを設定する。通常、受信フレームの転
送終了通知は割り込みを発生することにより行うが、割
り込みが発生するとホスト・システム30は割り込み要
因を確認するためにLANコントローラ20の多目的レ
ジスタAをリードする。そのためにPCIバスがビジー
となり、LANコントローラ20からシステム・メモリ
32への受信フレーム転送を圧迫する可能性がある。
If the overwritable area is sufficient, the number of received frames to be transferred to the system memory 32 and then the host system 30 to be notified of the end of the received frame transfer is set. Usually, the transfer completion notification of the received frame is performed by generating an interrupt. When the interrupt occurs, the host system 30 reads the multi-purpose register A of the LAN controller 20 to confirm the cause of the interrupt. As a result, the PCI bus becomes busy, and there is a possibility that the transfer of received frames from the LAN controller 20 to the system memory 32 will be suppressed.

【0099】したがって、次々と受信FIFO26に受
信フレームが入ってくる場合、割り込みの発生回数はな
るべく少ないほうが良く、オーバーライト可能領域が十
分確保されているのであれば、割り込みは毎受信フレー
ムごとに発生するのではなく、いくつかの受信フレーム
のまとまりを転送し終わった時点で発生しても構わな
い。
Therefore, when receiving frames successively enter the receiving FIFO 26, the number of interrupts generated should be as small as possible, and if the overwritable area is sufficiently secured, an interrupt is generated for each received frame. Instead, it may occur when a group of several received frames has been transferred.

【0100】本実施の形態では、いくつの受信フレーム
がシステム・メモリへ転送し終わってから割り込みを発
生したかを表す転送終了フレーム数フィールド29b−
4を受信フレーム・ヘッダに設けてあり、このフィール
ドを使うことができる。 〔S27〕受信フレーム・ヘッダのStatus/Command29
b中転送終了フレーム数フィールド29b−4に適当な
値をセットする。 なお、ここで、受信FIFO26の
閾値は段階的に設定できることが望ましく、例えば受信
FIFO26に格納されているデータ量が第一の閾値以
下であるなら転送終了フレーム数フィールド29b−4
に“00”なる値をセットし、これは1フレームのみが
転送終了したことを示す。
In the present embodiment, a transfer end frame number field 29b-indicating how many received frames have been interrupted since they have been transferred to the system memory.
4 is provided in the received frame header, and this field can be used. [S27] Status / Command 29 of the received frame header
An appropriate value is set in the transfer end frame number field 29b-4 during b. Here, it is desirable that the threshold value of the reception FIFO 26 can be set stepwise. For example, if the data amount stored in the reception FIFO 26 is equal to or less than the first threshold value, the transfer end frame number field 29b-4
Is set to "00", which indicates that only one frame has been transferred.

【0101】また、受信FIFO26に格納されている
受信フレーム・サイズが第一の閾値以上かつ第二の閾値
以下であるなら、転送終了フレーム数フィールド29b
−4に“01”なる値をセットし、これは2フレームの
転送が終了したことを示す。
If the size of the reception frame stored in the reception FIFO 26 is equal to or larger than the first threshold and equal to or smaller than the second threshold, the transfer end frame number field 29b
-4 is set to a value "01", which indicates that the transfer of two frames has been completed.

【0102】同様に第三の閾値までなら“10”をセッ
トして、これは3フレーム転送終了を意味し、第四の閾
値までなら“11”をセットして、これは4フレームの
転送終了を意味すると決めておいてもよい。
Similarly, up to the third threshold, "10" is set, which means that the transfer of three frames has been completed. Up to the fourth threshold, "11" is set, which is the end of the transfer of four frames. May be determined.

【0103】デバイス・ドライバは、受信フレーム転送
終了の割り込みが発生すると、最初の受信フレーム・ヘ
ッダのStatus/Command29b中転送終了フレーム数フィ
ールド29b−4を見て、いくつの受信フレームが既に
システム・メモリへ転送されていて処理しなくてはなら
ないかを知る。
When an interrupt for reception frame transfer end occurs, the device driver looks at the transfer end frame number field 29b-4 in the Status / Command 29b of the first reception frame header, and finds how many reception frames have already been stored in the system memory. To see if it has been forwarded and must be processed.

【0104】例えば、転送終了フレーム数フィールド2
9b−4の値が“11”であった場合、残りの3つの受
信フレームに付加された受信フレーム・ヘッダの転送終
了フレーム数フィールドは意味をもたない。
For example, transfer end frame number field 2
If the value of 9b-4 is "11", the transfer end frame number field of the reception frame header added to the remaining three reception frames has no meaning.

【0105】デバイス・ドライバは次の受信フレームが
受信フレーム格納用バッファ・メモリ32a上のどこに
格納されるかを表すネクスト・アドレス(図9の32a
−n)を知る必要がある。
The device driver sends a next address (32a in FIG. 9) indicating where the next received frame is to be stored in the received frame storage buffer memory 32a.
-N).

【0106】ホスト・システム30は、現在の受信フレ
ームが格納されている最初のアドレスに加え、受信フレ
ーム・ヘッダのサイズと現在の受信フレームのサイズが
わかっているので、次の受信フレームが格納されるべき
受信フレーム格納用バッファ・メモリ32a上のアドレ
スを容易に計算することができる。
Since the host system 30 knows the size of the received frame header and the size of the current received frame in addition to the first address where the current received frame is stored, the next received frame is stored. The address on the buffer memory 32a for storing the received frame to be stored can be easily calculated.

【0107】例えば、本実施の形態の場合、受信フレー
ム・ヘッダのサイズは8バイトであり、受信フレームの
サイズが例えば127バイトであったとすれば、ダブル
ワード・アライメントするためにさらにこれに1バイト
付け足し、合計136バイト、すなわち"x0088" をスタ
ート・アドレス32a−s(図9)に加える。したがっ
て、次の受信フレーム・ヘッダ及び受信フレームが格納
されるアドレスは“x1088"となる。ところが受信用フレ
ーム格納用バッファ・メモリ32aへ受信フレームが次
々と転送されていき、システム・メモリ32に確保した
受信用フレーム格納用バッファ・メモリ32aの最後の
方になると、残りの容量が少なくなったために次の受信
フレーム・ヘッダ及び受信フレームが入りきれないとい
う場合が生じる。
For example, in the case of the present embodiment, the size of the received frame header is 8 bytes, and if the size of the received frame is, for example, 127 bytes, another 1 byte is added for double word alignment. In addition, a total of 136 bytes, ie, "x0088", are added to the start addresses 32a-s (FIG. 9). Therefore, the address where the next received frame header and the next received frame are stored is “x1088”. However, the received frames are successively transferred to the receiving frame storing buffer memory 32a, and the remaining capacity becomes smaller at the end of the receiving frame storing buffer memory 32a secured in the system memory 32. As a result, there is a case where the next received frame header and the next received frame cannot be accommodated.

【0108】この場合、受信フレーム格納用バッファ・
メモリ32aの最初のアドレスから格納し直すことにな
るが、ソフトウェアでの対応は複雑になるので、ネクス
ト・アドレス32a−n(図9)は受信フレーム・ヘッ
ダ生成手段29で用意し、受信フレーム・ヘッダのNext
Data Address 29cにセットすることが望ましい。 〔S28〕受信フレーム・ヘッダ生成手段29は、多目
的レジスタB中End Address 52及びCurrent Address
53に記憶しているエンド・アドレス32a−e(図
9)と逐一更新しているカレント・アドレス32a−c
(図9)から次の受信フレームが残りのバッファ・メモ
リ32a中に入りきるかどうかを判断する。入る場合は
ステップS30へ、そうでなければステップS29へ行
く。 〔S29〕受信フレーム・ヘッダのNext Data Address
29cに多目的レジスタB中Start Address 51に記憶
しているスタート・アドレス32a−s(図9)を受信
フレーム・ヘッダのNext Data Address 29cに書き込
む。 〔S30〕ネクスト・アドレス32a−n(図9)を受
信フレーム・ヘッダのNext Data Address 29cに書き
込む。
In this case, the buffer for storing the received frame
The data is stored again from the first address of the memory 32a. However, since the correspondence by software becomes complicated, the next address 32a-n (FIG. 9) is prepared by the reception frame header generation means 29, and Next in header
It is desirable to set to Data Address 29c. [S28] The received frame header generating means 29 sets the End Address 52 and the Current Address in the multi-purpose register B
The end addresses 32a-e (FIG. 9) stored in the memory 53 and the current addresses 32a-c updated one by one
It is determined from (FIG. 9) whether the next received frame can fit in the remaining buffer memory 32a. If yes, go to step S30; otherwise, go to step S29. [S29] Next Data Address of the received frame header
At 29c, the start address 32a-s (FIG. 9) stored in the Start Address 51 of the multipurpose register B is written to the Next Data Address 29c of the received frame header. [S30] The next address 32a-n (FIG. 9) is written in the Next Data Address 29c of the received frame header.

【0109】次に本発明のデータ転送方法について説明
する。図16は本発明のデータ転送方法の処理フローチ
ャートを示す図である。 〔S40〕受信データを一時格納する。 〔S41〕受信データに関する通信情報を生成する。 〔S42〕受信データ及び通信情報からなる通信データ
を転送する。 〔S43〕転送された受信データに対し、通信情報にも
とづいて通信データを連続して格納する。
Next, the data transfer method of the present invention will be described. FIG. 16 is a diagram showing a processing flowchart of the data transfer method of the present invention. [S40] The received data is temporarily stored. [S41] The communication information relating to the received data is generated. [S42] The communication data including the reception data and the communication information is transferred. [S43] For the transferred received data, the communication data is stored continuously based on the communication information.

【0110】以上説明したように、本発明のデータ転送
装置10、LAN通信システム1、データ転送方法で
は、システム・メモリの無駄を最低限に抑え、メモリ効
率の向上を図ることができる。また、受信時のオーバー
ヘッドを減らすことができ、受信データを高速にシステ
ム・メモリへ転送することができる。
As described above, in the data transfer device 10, the LAN communication system 1, and the data transfer method of the present invention, waste of system memory can be minimized and memory efficiency can be improved. Also, the overhead at the time of reception can be reduced, and the received data can be transferred to the system memory at high speed.

【0111】[0111]

【発明の効果】以上説明したように、本発明のデータ転
送装置は、受信データと通信情報とからなる通信データ
を転送し、通信情報にもとづいて、通信データを格納す
る構成とした。これにより、データ受信時のオーバーヘ
ッドの削減及びメモリの有効活用を図ることが可能にな
る。
As described above, the data transfer apparatus of the present invention transfers communication data including received data and communication information, and stores the communication data based on the communication information. As a result, it is possible to reduce the overhead at the time of data reception and to effectively use the memory.

【0112】また、本発明のLANシステムは、受信フ
レームと受信フレーム・ヘッダとからなる通信データを
転送し、受信フレーム・ヘッダにもとづいて、通信デー
タを格納する構成とした。これにより、フレーム受信時
のオーバーヘッドの削減及びメモリの有効活用を図るこ
とが可能になる。
Further, the LAN system of the present invention is configured to transfer communication data including a reception frame and a reception frame header, and to store the communication data based on the reception frame header. As a result, it is possible to reduce the overhead at the time of frame reception and effectively use the memory.

【0113】さらに、本発明のデータ転送方法は、受信
データと通信情報とからなる通信データを転送し、通信
情報にもとづいて、通信データを格納するものとした。
これにより、データ受信時のオーバーヘッドの削減及び
メモリの有効活用を図ることが可能になる。
Further, according to the data transfer method of the present invention, communication data including received data and communication information is transferred, and the communication data is stored based on the communication information.
As a result, it is possible to reduce the overhead at the time of data reception and to effectively use the memory.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明のデータ転送装置の原理図である。FIG. 1 is a principle diagram of a data transfer device of the present invention.

【図2】 従来の受信データ転送を説明するためのLA
Nコントローラとホスト・システムの簡略構成図であ
る。
FIG. 2 is an LA for explaining conventional reception data transfer;
FIG. 2 is a simplified configuration diagram of an N controller and a host system.

【図3】 受信ディスクリプタの一般的な構造の一例を
示す図である。
FIG. 3 is a diagram illustrating an example of a general structure of a reception descriptor.

【図4】 受信ディスクリプタのリング構造を示す図で
ある。
FIG. 4 is a diagram showing a ring structure of a reception descriptor.

【図5】 受信ディスクリプタの別の構成例を示す図で
ある。
FIG. 5 is a diagram illustrating another configuration example of the reception descriptor.

【図6】 受信ディスクリプタのチェイン構造を示す図
である。
FIG. 6 is a diagram showing a chain structure of a reception descriptor.

【図7】 本発明のLAN通信システムの構成を示す図
である。
FIG. 7 is a diagram showing a configuration of a LAN communication system of the present invention.

【図8】 多目的レジスタの一構成例を示す図である。FIG. 8 is a diagram illustrating a configuration example of a multipurpose register.

【図9】 確保した受信フレーム格納用バッファ・メモ
リ領域の一例を示す図である。
FIG. 9 is a diagram illustrating an example of a secured buffer memory area for storing received frames.

【図10】 多目的レジスタの例を示す図である。FIG. 10 is a diagram illustrating an example of a multi-purpose register.

【図11】 受信フレーム・ヘッダ構成の一例を示す図
である。
FIG. 11 is a diagram illustrating an example of a received frame header configuration.

【図12】 Status/Commandフィールド29bの具体的
な一構成例を示す図である。
FIG. 12 is a diagram illustrating a specific configuration example of a Status / Command field 29b.

【図13】 受信フレーム転送処理時のフローチャート
を示す図である。
FIG. 13 is a diagram showing a flowchart at the time of reception frame transfer processing.

【図14】 受信フレーム転送処理時のフローチャート
を示す図である。
FIG. 14 is a diagram showing a flowchart at the time of reception frame transfer processing.

【図15】 受信フレーム・ヘッダ生成手段による処理
のフローチャートを示す図である。
FIG. 15 is a diagram showing a flowchart of processing by a reception frame header generation unit.

【図16】 本発明のデータ転送方法の処理フローチャ
ートを示す図である。
FIG. 16 is a diagram showing a processing flowchart of a data transfer method of the present invention.

【符号の説明】[Explanation of symbols]

10 データ転送装置 11 受信データ一時格納手段 12 通信情報生成手段 13 通信データ転送手段 14 通信データ格納手段 DESCRIPTION OF SYMBOLS 10 Data transfer apparatus 11 Received data temporary storage means 12 Communication information generation means 13 Communication data transfer means 14 Communication data storage means

フロントページの続き Fターム(参考) 5B089 GA04 GA21 HA06 JA32 KA06 KA11 KD01 KE03 LB25 5K030 GA01 GA04 HA08 HC14 JA07 JT06 KA04 KA06 KA13 LC09 LD11 5K033 AA02 AA03 AA04 BA04 DB12 DB14 DB16 EA07 Continued on front page F term (reference) 5B089 GA04 GA21 HA06 JA32 KA06 KA11 KD01 KE03 LB25 5K030 GA01 GA04 HA08 HC14 JA07 JT06 KA04 KA06 KA13 LC09 LD11 5K033 AA02 AA03 AA04 BA04 DB12 DB14 DB16 EA07

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 データの転送制御を行うデータ転送装置
において、 受信データを一時格納する受信データ一時格納手段と、 前記受信データに関する通信情報を生成する通信情報生
成手段と、 前記受信データ及び前記通信情報からなる通信データを
転送する通信データ転送手段と、 転送された前記通信データに対し、前記通信情報にもと
づいて、前記通信データを連続して格納する通信データ
格納手段と、 を有することを特徴とするデータ転送装置。
1. A data transfer device for performing data transfer control, a received data temporary storage unit for temporarily storing received data, a communication information generating unit for generating communication information related to the received data, the received data and the communication Communication data transfer means for transferring communication data composed of information; and communication data storage means for continuously storing the communication data with respect to the transferred communication data based on the communication information. Data transfer device.
【請求項2】 前記通信情報生成手段は、前記通信情報
として、前記受信データのサイズ、特徴、エラーステー
タス及び他装置への命令の少なくとも1つを含むことを
特徴とする請求項1記載のデータ転送装置。
2. The data according to claim 1, wherein the communication information generating unit includes at least one of a size, a characteristic, an error status, and an instruction to another device of the received data as the communication information. Transfer device.
【請求項3】 前記通信情報生成手段は、前記通信情報
として、前記通信データ格納手段が次に前記通信データ
を格納すべきアドレス情報を生成することを特徴とする
請求項1記載のデータ転送装置。
3. The data transfer device according to claim 1, wherein said communication information generating means generates, as said communication information, address information in which said communication data storage means next stores said communication data. .
【請求項4】 前記通信情報生成手段は、前記通信情報
として、前記通信データ格納手段の格納領域の最終アド
レスを通知することを指示するコマンド情報を生成する
ことを特徴とする請求項1記載のデータ転送装置。
4. The communication information generating means according to claim 1, wherein said communication information generating means generates command information instructing to notify a final address of a storage area of said communication data storing means as said communication information. Data transfer device.
【請求項5】 前記通信情報生成手段は、閾値が設定さ
れた前記受信データ一時格納手段に対し、前記受信デー
タの蓄積量が前記閾値を越える場合は、前記コマンド情
報を生成せず、前記閾値を越えない場合に前記コマンド
情報を生成することを特徴とする請求項4記載のデータ
転送装置。
5. The communication information generating means does not generate the command information if the storage amount of the received data exceeds the threshold value. 5. The data transfer apparatus according to claim 4, wherein the command information is generated when the command information is not exceeded.
【請求項6】 前記通信情報生成手段は、前記通信情報
として、転送完了した前記受信データの数を生成するこ
とを特徴とする請求項1記載のデータ転送装置。
6. The data transfer apparatus according to claim 1, wherein the communication information generating unit generates, as the communication information, the number of the received data that has been transferred.
【請求項7】 LANの通信制御を行うLAN通信シス
テムにおいて、 ネットワークから受信した受信フレームを一時格納する
受信フレーム一時格納手段と、前記受信フレームに関す
る通信情報を受信フレーム・ヘッダとして生成する受信
フレーム・ヘッダ生成手段と、前記受信フレームと前記
受信フレーム・ヘッダからなる通信データを転送する通
信データ転送手段と、から構成されるLANコントロー
ラと、 転送された前記通信データに対し、前記受信フレーム・
ヘッダにもとづいて、前記通信データを連続して格納す
る通信データ格納手段と、起動時に前記通信データ格納
手段の連続する格納領域の空間を割り当てる格納領域割
当て手段と、から構成される情報端末装置と、 を有することを特徴とするLAN通信システム。
7. In a LAN communication system for controlling communication of a LAN, a reception frame temporary storage means for temporarily storing a reception frame received from a network, and a reception frame for generating communication information relating to the reception frame as a reception frame header. A LAN controller comprising: a header generating unit; and a communication data transfer unit for transferring communication data including the reception frame and the reception frame header; and a LAN controller for transmitting the communication frame.
An information terminal device comprising: a communication data storage means for continuously storing the communication data based on a header; and a storage area allocating means for allocating a space of a continuous storage area of the communication data storage means at startup. A LAN communication system, comprising:
【請求項8】 前記通信情報生成手段は、前記通信情報
として、前記受信フレームのサイズ、特徴、エラーステ
ータス及び他装置への命令の少なくとも1つを含むこと
を特徴とする請求項7記載のLAN通信システム。
8. The LAN according to claim 7, wherein the communication information generating means includes at least one of a size, a characteristic, an error status, and a command to another device of the received frame as the communication information. Communications system.
【請求項9】 前記受信フレーム・ヘッダ生成手段は、
前記受信フレーム・ヘッダとして、前記通信データ格納
手段が次に前記通信データを格納すべきアドレス情報を
生成することを特徴とする請求項7記載のLAN通信シ
ステム。
9. The reception frame header generation means,
8. The LAN communication system according to claim 7, wherein the communication data storage means generates address information to store the communication data next as the reception frame header.
【請求項10】 前記通信データ・ヘッダ生成手段は、
前記受信フレーム・ヘッダとして、前記通信データ格納
手段の格納領域の最終アドレスを通知することを指示す
るコマンド情報を生成することを特徴とする請求項7記
載のLAN通信システム。
10. The communication data header generation means,
8. The LAN communication system according to claim 7, wherein command information for instructing notification of a final address of a storage area of said communication data storage means is generated as said reception frame header.
【請求項11】 前記受信フレーム・ヘッダ生成手段
は、閾値が設定された前記受信フレーム一時格納手段に
対し、前記受信フレームの蓄積量が前記閾値を越える場
合は、前記コマンド情報を生成せず、前記閾値を越えな
い場合に前記コマンド情報を生成することを特徴とする
請求項10記載のLAN通信システム。
11. The received frame header generating means does not generate the command information for the received frame temporary storage means in which a threshold value is set, when the storage amount of the received frame exceeds the threshold value, The LAN communication system according to claim 10, wherein the command information is generated when the command information does not exceed the threshold.
【請求項12】 前記受信フレーム・ヘッダ生成手段
は、前記受信フレーム・ヘッダとして、転送完了した前
記受信フレームの数を生成することを特徴とする請求項
7記載のLAN通信システム。
12. The LAN communication system according to claim 7, wherein said reception frame header generation means generates, as said reception frame header, the number of transfer-completed reception frames.
【請求項13】 LANの通信制御を行うLANコント
ローラにおいて、 ネットワークから受信した受信フレームを一時格納する
受信フレーム一時格納手段と、 前記受信フレームに関する通信情報を受信フレーム・ヘ
ッダとして生成する受信フレーム・ヘッダ生成手段と、 前記受信フレームと前記受信フレーム・ヘッダからなる
通信データを転送する通信データ転送手段と、 を有することを特徴とするLANコントローラ。
13. A LAN controller for controlling communication of a LAN, a receiving frame temporary storing means for temporarily storing a receiving frame received from a network, and a receiving frame header for generating communication information on the receiving frame as a receiving frame header. A LAN controller comprising: a generating unit; and a communication data transfer unit that transfers communication data including the received frame and the received frame header.
【請求項14】 LANに接続する情報端末装置におい
て、 LANコントローラから転送され、受信フレームと、通
信情報を含む受信フレーム・ヘッダと、から生成される
通信データに対し、前記受信フレーム・ヘッダにもとづ
いて、前記通信データを連続して格納する通信データ格
納手段と、 起動時に前記通信データ格納手段の連続する格納領域の
空間を割り当てる格納領域割当て手段と、 を有することを特徴とする情報端末装置。
14. An information terminal device connected to a LAN, wherein communication data transferred from a LAN controller and generated from a received frame and a received frame header including communication information is generated based on the received frame header. An information terminal device comprising: communication data storage means for continuously storing the communication data; and storage area allocation means for allocating a space of a continuous storage area of the communication data storage means at the time of activation.
【請求項15】 データの転送制御を行うデータ転送方
法において、 受信データを一時格納し、 前記受信データに関する通信情報を生成し、 前記受信データ及び前記通信情報からなる通信データを
転送し、 転送された前記通信データに対し、前記通信情報にもと
づいて、前記通信データを連続して格納することを特徴
とするデータ転送方法。
15. A data transfer method for performing data transfer control, comprising: temporarily storing received data; generating communication information related to the received data; transferring communication data including the received data and the communication information; A data transfer method for continuously storing the communication data with respect to the communication data based on the communication information.
JP11061093A 1999-03-09 1999-03-09 Data transfer device, lan communication system and data transfer method Pending JP2000259523A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11061093A JP2000259523A (en) 1999-03-09 1999-03-09 Data transfer device, lan communication system and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11061093A JP2000259523A (en) 1999-03-09 1999-03-09 Data transfer device, lan communication system and data transfer method

Publications (1)

Publication Number Publication Date
JP2000259523A true JP2000259523A (en) 2000-09-22

Family

ID=13161134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11061093A Pending JP2000259523A (en) 1999-03-09 1999-03-09 Data transfer device, lan communication system and data transfer method

Country Status (1)

Country Link
JP (1) JP2000259523A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472205B2 (en) 2002-04-24 2008-12-30 Nec Corporation Communication control apparatus which has descriptor cache controller that builds list of descriptors
JP2014534522A (en) * 2011-10-26 2014-12-18 インテル・コーポレーション Multi-touch interface method
JP2020107182A (en) * 2018-12-28 2020-07-09 能美防災株式会社 Dispersion type fire alarm system
JP2020170982A (en) * 2019-04-05 2020-10-15 ルネサスエレクトロニクス株式会社 Communication device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472205B2 (en) 2002-04-24 2008-12-30 Nec Corporation Communication control apparatus which has descriptor cache controller that builds list of descriptors
JP2014534522A (en) * 2011-10-26 2014-12-18 インテル・コーポレーション Multi-touch interface method
US9262000B2 (en) 2011-10-26 2016-02-16 Intel Corporation Multi-touch interface schemes
GB2512214B (en) * 2011-10-26 2020-10-07 Intel Corp Multi-touch interface schemes
JP2020107182A (en) * 2018-12-28 2020-07-09 能美防災株式会社 Dispersion type fire alarm system
JP2020170982A (en) * 2019-04-05 2020-10-15 ルネサスエレクトロニクス株式会社 Communication device
JP7145117B2 (en) 2019-04-05 2022-09-30 ルネサスエレクトロニクス株式会社 Communication device

Similar Documents

Publication Publication Date Title
JP3336816B2 (en) Multimedia communication device and method
US6847645B1 (en) Method and apparatus for controlling packet header buffer wrap around in a forwarding engine of an intermediate network node
US5151895A (en) Terminal server architecture
US6044418A (en) Method and apparatus for dynamically resizing queues utilizing programmable partition pointers
US6032190A (en) System and method for processing data packets
US6023732A (en) Message transfer apparatus for controlling a message send in a packet switched interconnection network
US5752078A (en) System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
USRE43058E1 (en) Switching ethernet controller
US5367643A (en) Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US7461160B2 (en) Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US6577542B2 (en) Scratchpad memory
EP0674276B1 (en) A computer system
EP1093252A2 (en) Access control device for IEEE 1394 Bus
JPH09325947A (en) Method and device for atomically transferring command and data information to device
US7860120B1 (en) Network interface supporting of virtual paths for quality of service with dynamic buffer allocation
US6842797B1 (en) USB adapter for burst mode communications
JP2008310832A (en) Apparatus and method for distributing signal from high level data link controller to a plurality of digital signal processor cores
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
US6976149B1 (en) Mapping technique for computing addresses in a memory of an intermediate network node
EP1052873A2 (en) A memory management technique for maintaining packet order in a packet processing system
JP2000259523A (en) Data transfer device, lan communication system and data transfer method
JP2002176464A (en) Network interface device
JPH06274463A (en) Data communication system
JPH03294949A (en) High speed communication bus window controller
JP2738314B2 (en) Switching system of N + 1 redundant circuit controller

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20070922

Year of fee payment: 7

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

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20080922

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

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20090922

LAPS Cancellation because of no payment of annual fees