[go: up one dir, main page]

JP2002176464A - Network interface device - Google Patents

Network interface device

Info

Publication number
JP2002176464A
JP2002176464A JP2000372761A JP2000372761A JP2002176464A JP 2002176464 A JP2002176464 A JP 2002176464A JP 2000372761 A JP2000372761 A JP 2000372761A JP 2000372761 A JP2000372761 A JP 2000372761A JP 2002176464 A JP2002176464 A JP 2002176464A
Authority
JP
Japan
Prior art keywords
transmission
data
transmission data
network interface
descriptor
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
JP2000372761A
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 JP2000372761A priority Critical patent/JP2002176464A/en
Publication of JP2002176464A publication Critical patent/JP2002176464A/en
Pending legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To transmit transmission data to a network 3 at high speed by increasing a transfer rate of the transmission data transferred from communication equipment 2 to a network interface device 1. SOLUTION: The communication unit 2 gives transmission data together with a transmission descriptor including control information with respect to the transmission data to the network interface device 1 and the network interface device 1 transmits the transmission data received on the basis of the received transmission descriptor to the network 3.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、例えばローカルエ
リアネットワーク(LAN:Local Area Network)通信
システムや計算クラスターシステムなどにおけるデータ
転送を行うネットワークインタフェース装置等に関し、
特に、LAN通信システムや計算クラスターシステムな
どを構成する計算機端末において、システムメモリから
ネットワークへ高速にメッセージデータパケットを送信
することを実現するネットワークインタフェース装置に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network interface device for transferring data in, for example, a local area network (LAN) communication system or a computing cluster system.
In particular, the present invention relates to a network interface device for realizing high-speed transmission of a message data packet from a system memory to a network in a computer terminal constituting a LAN communication system, a computing cluster system, or the like.

【0002】[0002]

【従来の技術】近年、例えばLANの伝送速度は100
Mbps(Mega Bit Per Second)が主流となりつつあ
り、LANの伝送速度が向上したことにより、映像や音
声などの大量のマルチメディアデータの高速伝送も可能
となってきた。同時に、近年、パーソナルコンピュータ
(PC:Personal Computer)のパフォーマンスが格段
に向上してきており、CPU(Central Processing Uni
t)の計算速度が高速になり、且つ、メモリの容量もこ
れまでと比較して非常に大きくなっている。
2. Description of the Related Art In recent years, for example, the transmission speed of a LAN is 100
Mbps (Mega Bit Per Second) is becoming mainstream, and the improvement in LAN transmission speed has enabled high-speed transmission of large amounts of multimedia data such as video and audio. At the same time, the performance of personal computers (PCs) has been significantly improved in recent years, and CPUs (Central Processing Uni
The calculation speed of t) has been increased, and the capacity of the memory has become much larger than before.

【0003】このような状況に伴い、例えばPCを使っ
て遠隔地間で会議を行うデスクトップ会議システムや遠
隔教育を行うシステムなどの新しいアプリケーションが
現実のものとなってきている。また、最近では、複数の
PCをLANで接続して、大規模な計算を各PC (ノー
ド) に並列/並行・分散して処理させる計算PCクラス
ターシステムが実現されている。ここで、計算PCクラ
スターシステムは、市販のPCとネットワークインタフ
ェース装置を用いることで非常に安価に構成することが
可能な上に、スーパーコンピュータに匹敵する計算パフ
ォーマンスを発揮することができるものであり、現在非
常に注目されている技術である。
[0003] Under such circumstances, new applications such as a desktop conference system for performing a conference between remote locations using a PC and a system for performing a remote education have been realized. In recent years, a computing PC cluster system has been realized in which a plurality of PCs are connected via a LAN and large-scale computations are processed in parallel / parallel / distributed by each PC (node). Here, the calculation PC cluster system can be configured at a very low cost by using a commercially available PC and a network interface device, and can exhibit calculation performance comparable to a supercomputer. This is a technology that is currently receiving much attention.

【0004】なお、今後もあらゆるアプリケーションか
らネットワークの高速化に対する要求は高まる一方であ
り、1Gbpsの伝送速度を有するLANへの移行が急
速に進められている。更に、IEEE(Institute of E
lectrical and ElectronicsEngineers)により10Gb
psのイーサネット(登録商標)(Ethernet
(登録商標))の標準化作業が既に開始されている。
[0004] In the future, demands for speeding up the network from all kinds of applications will continue to increase, and the transition to a LAN having a transmission speed of 1 Gbps is rapidly progressing. In addition, IEEE (Institute of E
10Gb by Electrical and Electronics Engineers)
ps Ethernet (registered trademark) (Ethernet)
(Registered trademark)) standardization work has already started.

【0005】また、計算機端末をLANに接続する装
置、即ちネットワークインタフェースカード (NI
C:Network Interface Card)は、計算機端末のホスト
システムからネットワークへ送信データを送出する働き
と、ネットワークから入ってきた受信データを計算機端
末のホストシステムへ転送する働きとを有する。
A device for connecting a computer terminal to a LAN, that is, a network interface card (NI)
C: Network 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
との間のデータ転送速度がネットワーク間コミュニケー
ションにおけるボトルネックとなる可能性が出てくる。
例えば、計算PCクラスターシステムにおいて、或る計
算機端末のホストシステムからNICへのデータ転送効
率が悪く、メッセージデータパケットを転送する速度が
遅くなるために送信をスムーズに行えないといったこと
が生じ得る。このような場合には、ネットワークのトラ
フィックには余裕があるにも関わらず、ネットワークが
使われない状態が続いたり、また別の計算機端末はメッ
セージデータパケットが来ないために計算処理能力を持
て余すといったことが起こり得る。そして、このような
状況では、ネットワークの高速化や計算機端末のパフォ
ーマンス向上が活かされない。
Here, when the transmission speed of the LAN is improved as at present, the host system of the computer terminal and the NIC
There is a possibility that the data transfer speed between the two will become a bottleneck in communication between networks.
For example, in a computing PC cluster system, the data transfer efficiency from a host system of a certain computer terminal to the NIC is low, and the speed at which message data packets are transferred becomes slow, so that transmission cannot be performed smoothly. In such a case, the network continues to be unused even though the network traffic has room, or another computer terminal has too much computational capacity because no message data packet arrives. Things can happen. In such a situation, the speeding up of the network and the performance improvement of the computer terminal cannot be utilized.

【0007】現在のNICは、多くの場合、LANコン
トローラと呼ばれるIC(Integrated Circuit)チップ
によって機能する。図9には、従来の代表的なイーサネ
ット用のLANコントローラ61の構成例を示してある
とともに、当該LANコントローラ61と接続されたホ
ストシステム62及びネットワーク63を示してある。
なお、例えばDigital Equipment社や
Intel社などにより市販されているLANコントロ
ーラも同図に示したような構成を有している。
[0007] Current NICs often function with IC (Integrated Circuit) chips called LAN controllers. FIG. 9 shows a configuration example of a conventional typical LAN controller 61 for Ethernet, and also shows a host system 62 and a network 63 connected to the LAN controller 61.
It should be noted that, for example, a LAN controller marketed by Digital Equipment Corporation or Intel Corporation also has a configuration as shown in FIG.

【0008】同図に示したLANコントローラ61に
は、ホストシステム62との間のインタフェース機能を
有した周辺要素相互接続 (PCI:Peripheral Compon
ent Interconnect)バスインターフェース71と、メモ
リに対するアクセスを制御するDMA(Direct Memory
Access)コントローラ72と、データを格納する多目的
レジスタ73と、送信用のデータを格納する送信用先入
れ先出し(FIFO:First In First Out)バッファメ
モリ74と、メディアアクセスを制御するメディアアク
セス制御 (MAC:Media Access Control)コントロ
ーラ75と、ネットワーク63との間のインタフェース
機能を有したSIA(Serial Interface Adapter)イン
タフェース76と、ネットワーク63との間のインタフ
ェース機能を有したMII(Media Independent Interf
ace)インタフェース77と、受信用のデータを格納す
る受信用FIFOバッファメモリ78と、これら各処理
部71〜78を制御するデータ制御部79とが備えられ
ている。
A LAN controller 61 shown in FIG. 1 includes a peripheral component interconnect (PCI) having an interface function with a host system 62.
ent Interconnect) bus interface 71 and a DMA (Direct Memory) for controlling access to the memory.
Access) controller 72, a multi-purpose register 73 for storing data, a first-in first-out (FIFO) buffer memory 74 for storing data for transmission, and a media access control (MAC) for controlling media access. An SIA (Serial Interface Adapter) interface 76 having an interface function between an Access Control (Controller) controller 75 and a network 63, and an MII (Media Independent Interface) having an interface function between the network 63
ace) interface 77, a reception FIFO buffer memory 78 for storing reception data, and a data control unit 79 for controlling each of the processing units 71 to 78.

【0009】また、同図に示したホストシステム62に
は、各種の処理を実行するCPU80と、データを格納
するシステムメモリ81とが備えられている。また、L
ANコントローラ61に備えられたSIAインタフェー
ス76やMIIインタフェース77はネットワーク63
と接続されており、PCIバスインタフェース71はホ
ストシステム62に備えられたCPU80やシステムメ
モリ81と接続されている。
The host system 62 shown in FIG. 1 is provided with a CPU 80 for executing various processes and a system memory 81 for storing data. Also, L
The SIA interface 76 and the MII interface 77 provided in the AN controller 61
The PCI bus interface 71 is connected to a CPU 80 and a system memory 81 provided in the host system 62.

【0010】同図に示したように、現在の代表的なLA
Nコントローラ61はほとんどが32ビットのPCIバ
スインタフェース71を備えている。現在、PCIバス
のクロック周波数は33MHzが一般的であり、従っ
て、ホストシステム62とLANコントローラ61との
間の最高データ転送速度は133Mバイト/秒となる。
なお、最近では、64ビット、66MHzのPCIバス
インタフェースを備えたものも現れてきている。
[0010] As shown in FIG.
The N controller 61 has a PCI bus interface 71 of mostly 32 bits. At present, the clock frequency of the PCI bus is generally 33 MHz, so that the maximum data transfer rate between the host system 62 and the LAN controller 61 is 133 Mbytes / sec.
Recently, a device having a 64-bit, 66 MHz PCI bus interface has appeared.

【0011】また、同図に示したように、LANコント
ローラ61は、通常、DMAコントローラ72を備えて
おり、このようなLANコントローラ61はバスマスタ
となり得る。なお、同図の例では、説明の便宜上から一
つのDMAコントローラ72を示したが、一般的には送
信用及び受信用に2チャネル分のDMAコントローラを
備えている。これらのDMAコントローラは各々に独立
して動作し、ホストシステム62中のシステムメモリ8
1との間のデータ転送に用いられる。
Further, as shown in FIG. 1, the LAN controller 61 usually has a DMA controller 72, and such a LAN controller 61 can be a bus master. Although one DMA controller 72 is shown in the example of FIG. 1 for convenience of description, generally, DMA controllers for two channels are provided for transmission and reception. These DMA controllers operate independently of each other, and operate in the system memory 8 in the host system 62.
1 is used for data transfer between the two.

【0012】また、同図に示したLANコントローラ6
1では、ネットワーク63から流れてきた受信フレーム
は、SIAインタフェース76若しくはMIIインタフ
ェース77を介して入力された後に、MACコントロー
ラ75により必要な処理を施されて受信用FIFOバッ
ファメモリ78に一時的に格納され、その後、当該メモ
リ78から読み出されてPCIバスインタフェース71
を介してホストシステム62へ転送される。
The LAN controller 6 shown in FIG.
In 1, a received frame flowing from the network 63 is input through the SIA interface 76 or the MII interface 77, subjected to necessary processing by the MAC controller 75, and temporarily stored in the receiving FIFO buffer memory 78. The PCI bus interface 71 is then read from the memory 78 and
Is transferred to the host system 62 via the.

【0013】また、送信用FIFOバッファメモリ74
は、送信データをネットワーク63へ送出する前に一時
的に格納しておくためのバッファメモリである。そし
て、同図に示したLANコントローラ61では、ホスト
システム62からPCIバスインタフェース71を介し
て転送される送信フレームは、送信用FIFOバッファ
メモリ74に一時的に格納された後に、MACコントロ
ーラ75により必要な処理を施され、その後、SIAイ
ンタフェース76若しくはMIIインタフェース77を
介してネットワーク63へ送信される。
The transmission FIFO buffer memory 74
Is a buffer memory for temporarily storing transmission data before sending it to the network 63. In the LAN controller 61 shown in the figure, the transmission frame transferred from the host system 62 via the PCI bus interface 71 is temporarily stored in the transmission FIFO buffer memory 74 and then required by the MAC controller 75. After that, it is transmitted to the network 63 via the SIA interface 76 or the MII interface 77.

【0014】また、同図に示したLANコントローラ6
1では、送信フレーム及び受信フレームや、ホストシス
テム62からLANコントローラ61に対するコマンド
及びステータスなどの情報を含んだデータストラクチャ
の受け渡しマネージメントは、データ制御部79により
行われる。
The LAN controller 6 shown in FIG.
In 1, the data control unit 79 manages the transfer of a data structure including information such as a transmission frame and a reception frame, and a command and status from the host system 62 to the LAN controller 61.

【0015】また、同図に示したLANコントローラ6
1では、上記したコマンドやステータスなどの情報を格
納しておくための多目的レジスタ73が用意されてい
る。ここで、多目的レジスタ73は、通常は、コントロ
ール/ステータスレジスタ (CSR:Control/Status R
egsiter))と呼ばれる名で用意され、これはホストシス
テム62のシステムメモリ81上にマッピングされる。
従って、このような構成では、LANコントローラ61
からも、ホストシステム62からも、リード/ライトが
可能となる。
The LAN controller 6 shown in FIG.
In 1, a multi-purpose register 73 for storing information such as the above-mentioned commands and status is provided. Here, the multipurpose register 73 is usually a control / status register (CSR).
egsiter)), which is mapped on the system memory 81 of the host system 62.
Therefore, in such a configuration, the LAN controller 61
And the host system 62 can perform read / write.

【0016】次に、図9に示した構成において、送信フ
レームをPCのホストシステム62からLANコントロ
ーラ61へ転送する処理について、その最も一般的な機
構の概要を以下で説明する。すなわち、一般に、PCの
ホストシステム62からLANコントローラ61へ送信
フレームを転送するために、送信ディスクリプタと呼ば
れるデータストラクチャが用いられる。
Next, in the configuration shown in FIG. 9, an outline of the most general mechanism of the process of transferring a transmission frame from the host system 62 of the PC to the LAN controller 61 will be described below. That is, in general, a data structure called a transmission descriptor is used to transfer a transmission frame from the host system 62 of the PC to the LAN controller 61.

【0017】送信ディスクリプタは、PCの起動時にデ
バイスドライバによってホストシステム62のシステム
メモリ81に複数割り当てられる。ここで、図10に
は、送信ディスクリプタの一般的な構造の一例を示して
あり、この送信ディスクリプタは、送信フレームのサイ
ズ(Size)の情報を格納するサイズフィールド91
と、コマンド(Command)の情報を格納するコマ
ンドフィールド92と、ステータス(Status)の
情報を格納するステータスフィールド93と、送信フレ
ームのバッファアドレス(Buffer Addres
s)の情報を格納するバッファアドレスフィールド94
とから構成されている。
A plurality of transmission descriptors are assigned to the system memory 81 of the host system 62 by a device driver when the PC is started. Here, FIG. 10 shows an example of a general structure of a transmission descriptor. This transmission descriptor has a size field 91 for storing information of a size (Size) of a transmission frame.
, A command field 92 for storing command (Command) information, a status field 93 for storing status (Status) information, and a buffer address (Buffer Address) of a transmission frame.
s) buffer address field 94 for storing information
It is composed of

【0018】ステータスフィールド93には、多くの場
合には、送信フレームの転送中に生じたエラーの情報が
セットされる。また、コマンドフィールド92には、通
常では、LANコントローラ61の動作を制御するため
のパラメータが用意される。具体的には、例えば、現在
のフレームの送信後に送信フレームの転送を中断させる
ことを命令するビットや、送信フレームの転送方法にい
くつかのモードがある場合にいずれのモードで転送を実
行すべきであるかを指定するビットなどが用意される。
In many cases, information on an error that has occurred during transfer of a transmission frame is set in the status field 93. In the command field 92, parameters for controlling the operation of the LAN controller 61 are usually prepared. Specifically, for example, a bit for instructing to suspend transmission of a transmission frame after transmission of the current frame, or when there are several modes in the transmission frame transmission method, transmission should be performed in any mode There are provided bits for designating whether or not.

【0019】またサイズフィールドには、送信フレーム
のサイズの情報がセットされる。また、バッファアドレ
スフィールド94には、ホストシステム62のシステム
メモリ81上に用意された送信フレームの先頭アドレス
を示す情報がセットされる。
In the size field, information on the size of the transmission frame is set. In the buffer address field 94, information indicating the start address of the transmission frame prepared on the system memory 81 of the host system 62 is set.

【0020】また、図11に示すように、この例では、
送信ディスクリプタはリング構造となっており、同図に
示されるような形式でホストシステム62のシステムメ
モリ81内に連続して割り当てられている。具体的に
は、ホストシステム62のシステムメモリ81では、例
えば“0”〜“n”番目の送信ディスクリプタ101a
〜101dが連続して配置されるとともに、これら各送
信ディスクリプタ101a〜101dにより先頭アドレ
スが示される“0”〜“n”番目の送信フレームの待機
用バッファ(送信待機用バッファ)102a〜102d
が用意される。
As shown in FIG. 11, in this example,
The transmission descriptor has a ring structure, and is continuously allocated in the system memory 81 of the host system 62 in a format as shown in FIG. Specifically, in the system memory 81 of the host system 62, for example, the “0” to “n” th transmission descriptors 101a
The transmission buffers 101a to 101d are arranged continuously, and the transmission buffers 101a to 101d indicate the start address, and the standby buffers (transmission standby buffers) 102a to 102d of the "0" to "n" th transmission frames.
Is prepared.

【0021】まず、ホストシステム62のデバイスドラ
イバは、上位レベルから送信の要求があると、LANコ
ントローラ61に対して送信コマンド(TX CMD:
Transmit Command)を発生し、同時に、LANコント
ローラ61に対して送信に使用する送信ディスクリプタ
のアドレスを伝える。通常は、LANコントローラ61
のCSR73に対してPCIサイクルのターゲットライ
トサイクルを発生することによって、この命令とアドレ
スがLANコントローラ61へ伝えられる。なお、ター
ゲットとは他の装置により制御されて一方的に処理され
ることを示し、マスタとは自己がトランザクションの主
導を取って処理を実行することを示す。
First, upon receiving a transmission request from a higher level, the device driver of the host system 62 sends a transmission command (TX CMD:
Transmit Command), and at the same time, notifies the LAN controller 61 of the address of the transmission descriptor used for transmission. Normally, the LAN controller 61
This instruction and address are transmitted to the LAN controller 61 by generating a target write cycle of the PCI cycle for the CSR 73. Note that the target indicates that the processing is performed unilaterally by being controlled by another device, and the master indicates that the processing is executed by taking the initiative of the transaction.

【0022】LANコントローラ61は、送信ディスク
リプタのアドレスを伝えられると、ホストシステム62
のシステムメモリ81内のそのアドレスから送信ディス
クリプタをリードして多目的レジスタ73へ格納する。
なお、通常は、PCIサイクルのマスタリードサイクル
を実行して送信ディスクリプタをコピーする。
When the LAN controller 61 receives the address of the transmission descriptor, the host system 62
The transmission descriptor is read from that address in the system memory 81 and stored in the multi-purpose register 73.
Normally, a master read cycle of a PCI cycle is executed to copy the transmission descriptor.

【0023】次に、LANコントローラ61は、リード
した送信ディスクリプタに記載されている内容を参照し
て、バッファアドレスフィールド94で指定されたシス
テムメモリ81内のアドレスからサイズフィールド91
で指定されたサイズのデータを読み込んで送信用FIF
Oバッファメモリ74へ格納する。
Next, the LAN controller 61 refers to the contents described in the read transmission descriptor and reads the size field 91 from the address in the system memory 81 specified by the buffer address field 94.
Reads data of the size specified by
The data is stored in the O buffer memory 74.

【0024】このようにして送信データが送信用FIF
Oバッファメモリ74内に準備されると、LANコント
ローラ61では、MACコントローラ75が当該送信デ
ータをSIAインタフェース76若しくはMIIインタ
フェース77を介してネットワーク63へ送出する。
In this way, the transmission data is
When prepared in the O buffer memory 74, in the LAN controller 61, the MAC controller 75 sends the transmission data to the network 63 via the SIA interface 76 or the MII interface 77.

【0025】また、ネットワーク63への送信データの
送出が完了すると、LANコントローラ61では、デー
タ制御部79が送信ディスクリプタのステータスフィー
ルド93を更新し、当該送信ディスクリプタをホストシ
ステム62のシステムメモリ81へ書き戻した後に割り
込みを発生する。これにより、ホストシステム62のデ
バイスドライバでは、書き戻された送信ディスクリプタ
に基づいて、その送信ディスクリプタが使われた送信処
理が成功したのか或いは失敗したのかを判断することが
できる。また、ホストシステム62のデバイスドライバ
では、その送信ディスクリプタを次の送信のために使っ
てよいことを知る。
When the transmission of the transmission data to the network 63 is completed, in the LAN controller 61, the data controller 79 updates the status field 93 of the transmission descriptor and writes the transmission descriptor into the system memory 81 of the host system 62. Generate an interrupt after returning. As a result, the device driver of the host system 62 can determine, based on the rewritten transmission descriptor, whether the transmission processing using the transmission descriptor has succeeded or failed. Further, the device driver of the host system 62 knows that the transmission descriptor may be used for the next transmission.

【0026】なお、図12には、送信ディスクリプタの
一般的な構造の別の例を示してあり、この送信ディスク
リプタは、例えば図10に示したのと同様なサイズフィ
ールド111及びコマンドフィールド112及びステー
タスフィールド113と、リンク先のアドレスの情報を
格納するリンクアドレス(Link Address)
フィールド114とから構成されている。
FIG. 12 shows another example of the general structure of the transmission descriptor. The transmission descriptor has, for example, a size field 111, a command field 112, and a status similar to those shown in FIG. A field 113 and a link address (Link Address) for storing information on a link destination address
And a field 114.

【0027】図12に示した送信ディスクリプタは、ホ
ストシステム62のシステムメモリ81上に散在して用
意された送信ディスクリプタの例であり、送信ディスク
リプタの中にリンクアドレスの情報が書き込まれてい
る。ここで、リンクアドレスの情報は、次に使用される
べき送信ディスクリプタのアドレスを指定する。
The transmission descriptor shown in FIG. 12 is an example of a transmission descriptor scatteredly prepared on the system memory 81 of the host system 62, and information of a link address is written in the transmission descriptor. Here, the link address information specifies the address of the transmission descriptor to be used next.

【0028】つまり、例えば図13に示すように、この
例の送信ディスクリプタはいわゆるチェイン構造となっ
ており、これによって次に使用すべき送信ディスクリプ
タが格納されているシステムメモリ81上のアドレスを
知ることができる。具体的には、同図に示されるよう
に、“0”番目の送信ディスクリプタ121aでは次の
“1”番目の送信ディスクリプタ121bのアドレスが
指定され、“1”番目の送信ディスクリプタ121bで
は次の“2”番目の送信ディスクリプタ121cのアド
レスが指定されるといったように、各送信ディスクリプ
タでは次に使用すべき送信ディスクリプタのアドレスが
指定される。
That is, as shown in FIG. 13, for example, the transmission descriptor of this example has a so-called chain structure, whereby the address on the system memory 81 in which the next transmission descriptor to be used is stored is known. Can be. Specifically, as shown in the figure, the address of the next “1” -th transmission descriptor 121b is specified in the “0” -th transmission descriptor 121a, and the next “1” -th transmission descriptor 121b is specified in the next “1” -th transmission descriptor 121b. Each transmission descriptor specifies the address of the next transmission descriptor to be used, such as the address of the 2 ″ -th transmission descriptor 121c.

【0029】また、この例の送信ディスクリプタにはバ
ッファアドレスフィールドが含まれていない。この場
合、図13に示されるように、ホストシステム62のシ
ステムメモリ81では、各送信ディスクリプタ121a
〜121cのすぐ後に続くメモリ領域がそれぞれの送信
フレームを待機するバッファメモリ(送信待機用バッフ
ァ)122a〜122cとなっており、LANコントロ
ーラ61上の送信用FIFOバッファメモリ74には当
該領域から送信フレームが転送される。なお、送信ディ
スクリプタの構造は若干異なっても、基本的な送信フレ
ームの転送処理の手順は、例えば図10に示した送信デ
ィスクリプタを用いた場合について述べたのと同様であ
る。
The transmission descriptor of this example does not include a buffer address field. In this case, as shown in FIG. 13, in the system memory 81 of the host system 62, each transmission descriptor 121a
To 121c are buffer memories (transmission waiting buffers) 122a to 122c for waiting for respective transmission frames, and the transmission FIFO buffer memory 74 on the LAN controller 61 stores transmission frames from the corresponding areas. Is transferred. Although the structure of the transmission descriptor is slightly different, the basic procedure for transmitting the transmission frame is the same as that described for the case where the transmission descriptor shown in FIG. 10 is used, for example.

【0030】[0030]

【発明が解決しようとする課題】以上では、従来の技術
として、ネットワークインタフェース装置に使用されて
いる代表的なLANコントローラによる送信フレームの
転送処理の機構について説明した。上記のように、送信
ディスクリプタのテーブルをホストシステムのシステム
メモリ内にエントリしておき、その送信ディスクリプタ
を次々とシステマティックに使用していくことにより、
デバイスドライバの処理が高速化され、ホストシステム
の負担を軽減することができる。
As described above, as a conventional technique, a mechanism for transmitting a transmission frame by a typical LAN controller used in a network interface device has been described. As described above, the table of the transmission descriptor is entered in the system memory of the host system, and the transmission descriptor is systematically used one after another.
The processing speed of the device driver is increased, and the load on the host system can be reduced.

【0031】ところが、これには大きな問題があり、そ
れは、送信ディスクリプタの内容をLANコントローラ
上へコピーし、また書き戻すことによる不効率な転送形
態である。具体的には、例えば図10や図12に示した
二つの送信ディスクリプタの例のうち、いずれのタイプ
の送信ディスクリプタを使用する場合においても、一つ
の送信フレームをLANコントローラへ転送するために
一つの送信ディスクリプタを使用することとなる。つま
り、一つの送信フレームを処理する度に一つの送信ディ
スクリプタの内容をLANコントローラの多目的レジス
タへコピーしなくてはならない。
However, this has a serious problem, which is an inefficient transfer form by copying the contents of the transmission descriptor onto the LAN controller and writing it back. Specifically, for example, in the case of using any type of transmission descriptor among the examples of the two transmission descriptors shown in FIGS. 10 and 12, one transmission frame is transferred to the LAN controller in order to transfer one transmission frame to the LAN controller. The transmission descriptor will be used. That is, each time one transmission frame is processed, the contents of one transmission descriptor must be copied to the multi-purpose register of the LAN controller.

【0032】なお、コピーの方法としては、デバイスド
ライバによるPCIターゲットライトを用いた方法でも
よいし、一般的にはLANコントローラが必要なときに
PCIマスタリードを実行することになるが、いずれに
しても送信フレーム自体の転送とは別に送信ディスクリ
プタに関するPCIバスオペレーションが実行される。
更に、送信フレームをネットワークへ送出した後にはこ
の送信ディスクリプタをホストシステムのシステムメモ
リへ書き戻すことが必要となる。
As a copying method, a method using a PCI target write by a device driver may be used, or a PCI master read is generally executed when a LAN controller is required. Also, a PCI bus operation relating to the transmission descriptor is executed separately from the transmission of the transmission frame itself.
Further, after transmitting the transmission frame to the network, it is necessary to write the transmission descriptor back to the system memory of the host system.

【0033】ところで、特にPCIマスタリードのトラ
ンザクションでは概してターゲット側でのデータ準備が
遅く、トランザクションはウェイトサイクルを多く含む
か若しくはリトライされることが多くなる。従って、次
々と送信フレームを送信する場合、送信ディスクリプタ
をコピーするためのPCIバスオペレーションの回数
は、送信フレームをシステムメモリからLANコントロ
ーラへ転送する際の大きなオーバーヘッドとなり得る。
また、送信フレームのサイズが小さい場合には、このよ
うなオーバーヘッドはより一層効率の悪いものとなる。
By the way, especially in a PCI master read transaction, data preparation on the target side is generally slow, and the transaction often includes many wait cycles or is frequently retried. Therefore, when transmitting transmission frames one after another, the number of times of the PCI bus operation for copying the transmission descriptor can be a large overhead when transferring the transmission frame from the system memory to the LAN controller.
Also, if the size of the transmission frame is small, such overhead becomes even less efficient.

【0034】具体例として、計算PCクラスターシステ
ムでは構成コストを抑えるために一般に市販されている
NICを使用することが多い。ところが、計算PCクラ
スターシステムでは概して短いメッセージパケットのや
り取りが頻繁に行われる。従って、NICにおけるショ
ートメッセージパケット送信時のオーバーヘッドによる
遅延が計算PCクラスターシステム全体の計算パフォー
マンスに大きく影響してくる。
As a specific example, a commercially available NIC is often used in the computing PC cluster system in order to reduce the configuration cost. However, in the computing PC cluster system, generally, short message packets are frequently exchanged. Accordingly, the delay due to the overhead at the time of transmitting the short message packet in the NIC greatly affects the calculation performance of the entire calculation PC cluster system.

【0035】そこで、ショートメッセージパケットを如
何に効率良くレイテンシー(遅延)を抑えて送信するか
ということは非常に重要な課題となる。また、今後さら
にLANの伝送速度が向上したとしても、このようなオ
ーバーヘッドによりシステム全体のパフォーマンスは制
限される結果となる。
Therefore, it is very important how to transmit a short message packet with low latency (delay). Further, even if the transmission speed of the LAN is further improved in the future, the performance of the entire system will be limited by such overhead.

【0036】なお、ホストシステムからLANコントロ
ーラの送信用FIFOバッファメモリへ送信フレームを
効率的に転送するために、最近では64bit/66M
HzのPCIバスを用いることが考えられる。しかしな
がら、この構成では、LANコントローラの送信用FI
FOバッファメモリへのデータ転送は高速化されるもの
の、送信ディスクリプタをリードすることによるオーバ
ーヘッドはなくならない。
In order to efficiently transfer a transmission frame from the host system to the transmission FIFO buffer memory of the LAN controller, recently, a 64 bit / 66M
It is conceivable to use a PCI bus of 1 Hz. However, in this configuration, the transmission FI of the LAN controller
Although the speed of data transfer to the FO buffer memory is increased, the overhead of reading the transmission descriptor does not disappear.

【0037】また、例えば特開平6−168196号公
報や米国特許第5,721,955号公報では、全ての
送信データをホストコンピュータからLANコントロー
ラの送信バッファへ転送し終わる前にネットワークに対
する送信データの送信を開始する方法が開示されてい
る。これは送信パフォーマンスを向上するために非常に
効果的な方法ではあるが、送信バッファへの転送が間に
合わずに空となってしまうアンダーランが発生する危険
性がある。
Also, for example, in Japanese Patent Application Laid-Open No. 6-168196 and US Pat. No. 5,721,955, before all the transmission data is transferred from the host computer to the transmission buffer of the LAN controller, the transmission data to the network is completed. A method for initiating a transmission is disclosed. Although this is a very effective method for improving the transmission performance, there is a danger that an underrun may occur in which the transfer to the transmission buffer becomes empty in time.

【0038】また、例えば米国特許第5,729,68
1号公報では、送信パケット情報を保持するパケットフ
ラグメントアレイをそのままLANコントローラへ伝
え、LANコントローラがその情報を基に送信データを
当該LANコントローラの送信バッファへ転送する方法
が開示されている。しかしながら、この方法では、パケ
ットフラグメントアレイをLANコントローラへ伝える
ために余計なPCIバスオペレーションが発生してしま
い、オーバーヘッドが大きくなってしまう。一般的に用
いられるPCのCPUパワーが向上していることと、比
較的短いパケットの送信について適用されることを考慮
すると、この方法は不利である上に、回路が複雑で余計
なメモリも必要となってしまう。
For example, see US Pat. No. 5,729,68.
Japanese Patent Laid-Open Publication No. 1 (1999) -121 discloses a method in which a packet fragment array holding transmission packet information is transmitted to a LAN controller as it is, and the LAN controller transfers transmission data to a transmission buffer of the LAN controller based on the information. However, in this method, an extra PCI bus operation occurs to transmit the packet fragment array to the LAN controller, and the overhead increases. This method is disadvantageous in addition to the fact that the CPU power of commonly used PCs is increased and that the method is applied to transmission of relatively short packets, and the circuit is complicated and requires extra memory. Will be.

【0039】いずれにしても、これらの文献に記載され
た技術は、上記した送信フレームの転送時における余計
なPCIトランザクションによるオーバーヘッドを軽減
するものではない。以上のように、従来のLANコント
ローラなどのネットワークインタフェース装置では、送
信フレームをホストシステムのシステムメモリからネッ
トワークインタフェース装置へ転送する際にオーバーヘ
ッドが発生してしまい、転送効率が悪いといった不具合
があった。
In any case, the techniques described in these documents do not reduce the overhead due to the unnecessary PCI transaction at the time of transmitting the transmission frame described above. As described above, the conventional network interface device such as a LAN controller has a problem that overhead is generated when a transmission frame is transferred from the system memory of the host system to the network interface device, resulting in poor transfer efficiency.

【0040】本発明は、このような従来の課題を解決す
るためになされたもので、例えば複雑な機構を実装して
回路規模を大きくすることなく容易な構成で送信データ
の転送効率を向上させることができるネットワークイン
タフェース装置や通信装置などを提供することを目的と
する。
The present invention has been made to solve such a conventional problem. For example, the transfer efficiency of transmission data can be improved with a simple structure without increasing the circuit scale by mounting a complicated mechanism. It is an object of the present invention to provide a network interface device, a communication device, and the like that can perform such operations.

【0041】[0041]

【課題を解決するための手段】上記目的を達成するた
め、本発明に係るネットワークインタフェース装置で
は、次のようにして、送信データに関する制御情報を含
む送信ディスクリプタ及び送信データを通信装置から入
力し、入力した送信ディスクリプタに基づいて入力した
送信データをネットワークに対して送信する。すなわ
ち、インタフェース手段が、送信ディスクリプタ及び送
信データをまとめて通信装置から入力し、入力した送信
ディスクリプタに基づいて入力した送信データをネット
ワークに対して送信する。
In order to achieve the above object, in a network interface device according to the present invention, a transmission descriptor including control information relating to transmission data and transmission data are input from a communication device as follows. The input transmission data is transmitted to the network based on the input transmission descriptor. That is, the interface unit collectively inputs the transmission descriptor and the transmission data from the communication device, and transmits the input transmission data to the network based on the input transmission descriptor.

【0042】従って、例えば従来のように送信ディスク
リプタが通信装置から入力された後に送信データが当該
通信装置から入力されてネットワークに対して送信され
るのではなく、送信ディスクリプタと送信データとがま
とめて通信装置から入力されて当該送信データがネット
ワークに対して送信されることで、通信装置からネット
ワークインタフェース装置への送信データの転送速度を
高めることができ、これにより、送信データを高速にネ
ットワークへ送信することができる。
Therefore, for example, instead of the transmission data being input from the communication device after the transmission descriptor is input from the communication device and being transmitted to the network as in the related art, the transmission descriptor and the transmission data are collected together. By transmitting the transmission data from the communication device to the network, the transmission speed of the transmission data from the communication device to the network interface device can be increased, thereby transmitting the transmission data to the network at a high speed. can do.

【0043】ここで、送信ディスクリプタに含まれる送
信データに関する制御情報としては、種々な情報が用い
られてもよく、例えば送信データのサイズの情報などが
用いられる。また、送信ディスクリプタや送信データと
しては、種々なデータが用いられてもよい。
Here, various information may be used as the control information on the transmission data included in the transmission descriptor, for example, information on the size of the transmission data is used. Various data may be used as the transmission descriptor and the transmission data.

【0044】また、ネットワークとしては、種々なネッ
トワークが用いられてもよい。また、ネットワークイン
タフェース装置と通信装置との間で行われるデータの入
出力処理は、例えばネットワークインタフェース装置の
主導により行われてもよく、例えば通信装置の主導によ
り行われてもよい。
As the network, various networks may be used. The data input / output processing performed between the network interface device and the communication device may be performed, for example, by the initiative of the network interface device, or may be performed by, for example, the initiative of the communication device.

【0045】また、例えば通信装置からネットワークイ
ンタフェース装置への送信ディスクリプタ及び送信デー
タの転送処理が完了した後にネットワークインタフェー
ス装置からネットワークに対する送信データの送信処理
が行われてもよく、例えば当該データ転送処理と当該デ
ータ送信処理とが並列して行われてもよい。
Further, for example, after the transfer processing of the transmission descriptor and the transmission data from the communication apparatus to the network interface apparatus is completed, the transmission processing of the transmission data from the network interface apparatus to the network may be performed. The data transmission process may be performed in parallel.

【0046】また、本発明に係るネットワークインタフ
ェース装置では、インタフェース手段は、送信データの
サイズが閾値未満である場合に、送信ディスクリプタ及
び送信データをまとめて通信装置から入力する。従っ
て、従来において特に転送速度が遅くなってしまうサイ
ズが小さい送信データについて、通信装置からネットワ
ークインタフェース装置への送信データの転送速度を高
めることができ、これにより、送信データを高速にネッ
トワークへ送信することができる。なお、送信データの
サイズが閾値未満であるか否かは、例えば通信装置から
ネットワークインタフェース装置に対して指示される。
In the network interface device according to the present invention, when the size of the transmission data is smaller than the threshold, the interface means collectively inputs the transmission descriptor and the transmission data from the communication device. Therefore, the transfer speed of the transmission data from the communication device to the network interface device can be increased with respect to the transmission data of a small size, which particularly reduces the transmission speed in the related art, whereby the transmission data is transmitted to the network at high speed. be able to. Whether or not the size of the transmission data is smaller than the threshold is instructed from the communication device to the network interface device, for example.

【0047】ここで、送信データのサイズの閾値として
は、例えばシステムの使用状況等に応じて、種々な値が
用いられてもよい。また、送信データのサイズが閾値未
満であるか否かを判定する仕方として、本発明では、例
えば送信データのサイズとして複数のサイズが選択可能
であるような構成において、所定の小さいサイズが選択
される場合に送信データのサイズが閾値未満であると判
定する仕方を用いることを含んでいる。
Here, as the threshold value of the size of the transmission data, various values may be used depending on, for example, the usage status of the system. As a method of determining whether or not the size of the transmission data is smaller than the threshold, in the present invention, for example, in a configuration in which a plurality of sizes can be selected as the size of the transmission data, a predetermined small size is selected. In this case, a method of determining that the size of the transmission data is smaller than the threshold is used.

【0048】また、本発明に係るネットワークインタフ
ェース装置では、一実施形態例として、通信装置が送信
ディスクリプタ及び所定サイズ以下の送信データを格納
するデータ格納領域を複数の送信データサイズに対応し
て有しており、インタフェース手段が、送信データのサ
イズに応じて通信装置が有するいずれかのデータ格納領
域に格納されたデータを通信装置から入力することで、
当該データ格納領域に格納された送信ディスクリプタ及
び送信データを当該通信装置から入力する。
In one embodiment of the network interface device according to the present invention, the communication device has a transmission descriptor and a data storage area for storing transmission data of a predetermined size or less corresponding to a plurality of transmission data sizes. The interface means inputs data stored in any data storage area of the communication device according to the size of the transmission data from the communication device,
The transmission descriptor and the transmission data stored in the data storage area are input from the communication device.

【0049】従って、送信データのサイズに応じて、当
該サイズに対応したデータ格納領域に格納されたデータ
を通信装置から入力することで、当該データ格納領域に
格納された送信ディスクリプタ及び送信データを入力し
て当該送信データをネットワークに対して送信すること
ができる。なお、通信装置のデータ格納領域に格納され
るデータには送信ディスクリプタ及び送信データが含ま
れ、例えばデータ格納領域に送信ディスクリプタ及び送
信データが格納されていない空き領域があってもよい。
Therefore, by inputting the data stored in the data storage area corresponding to the size of the transmission data from the communication device in accordance with the size of the transmission data, the transmission descriptor and the transmission data stored in the data storage area are input. Then, the transmission data can be transmitted to the network. The data stored in the data storage area of the communication device includes the transmission descriptor and the transmission data. For example, the data storage area may have an empty area where the transmission descriptor and the transmission data are not stored.

【0050】ここで、通信装置が有するデータ格納領域
の数(つまり、本発明に言う複数の送信データサイズの
数)としては、種々な数であってもよい。また、各デー
タ格納領域に格納することが可能な送信データの所定サ
イズとしては、種々なサイズが用いられてもよい。
Here, the number of data storage areas of the communication device (that is, the number of a plurality of transmission data sizes in the present invention) may be various numbers. Various sizes may be used as the predetermined size of the transmission data that can be stored in each data storage area.

【0051】なお、具体的に、2つのデータ格納領域を
用いる場合の例を示す。すなわち、例えば、Aサイズ以
下の送信データを格納することが可能な第1データ格納
領域と、B(B>Aとする)サイズ以下の送信データを
格納することが可能な第2データ格納領域とを通信装置
に用意して、Aサイズ以下の送信データについては第1
データ格納領域に送信データを格納して、ネットワーク
インタフェース装置では当該第1データ格納領域から送
信データを入力し、また、Aサイズより大きくBサイズ
以下の送信データについては第2データ格納領域に送信
データを格納して、ネットワークインタフェース装置で
は当該第2データ格納領域から送信データを入力する。
An example in which two data storage areas are used is specifically shown. That is, for example, a first data storage area capable of storing transmission data of size A or smaller, and a second data storage area capable of storing transmission data of size B (B> A) or smaller. Is prepared in the communication device, and the transmission data of A size or less is set to the first.
The transmission data is stored in the data storage area, and the transmission data is input from the first data storage area in the network interface device, and the transmission data is transmitted to the second data storage area for transmission data larger than A size and smaller than B size. And the network interface device inputs transmission data from the second data storage area.

【0052】また、本発明に係るネットワークインタフ
ェース装置では、インタフェース手段は、送信対象とな
る送信データの数に関する情報を通信装置から入力し、
入力した当該情報に基づく数の送信ディスクリプタ及び
送信データの組を通信装置から入力する。
In the network interface device according to the present invention, the interface means inputs information on the number of transmission data to be transmitted from the communication device,
The number of sets of transmission descriptors and transmission data based on the input information is input from the communication device.

【0053】従って、送信対象となる送信データの数が
予め通信装置から通知されて、当該数の送信ディスクリ
プタ及び送信データの組が通信装置から入力されるた
め、通信装置からネットワークインタフェース装置への
データ転送処理を効率よく行うことができる。
Therefore, the number of transmission data to be transmitted is notified from the communication device in advance, and the set of transmission descriptors and transmission data of the number is input from the communication device, so that data from the communication device to the network interface device is transmitted. Transfer processing can be performed efficiently.

【0054】なお、本発明に係るネットワークインタフ
ェース装置に関して、更に具体的な実施形態例を以下に
示す。すなわち、本発明に係るネットワークインタフェ
ース装置では、一実施形態例として、送信ディスクリプ
タを格納する送信ディスクリプタ格納手段と、送信デー
タを格納する送信データ格納手段と、通信装置からまと
めて入力される送信ディスクリプタ及び送信データのそ
れぞれを分離して、分離した送信ディスクリプタを送信
ディスクリプタ格納手段に格納するとともに分離した送
信データを送信データ格納手段に格納するセレクタ手段
とを備え、インタフェース手段は送信ディスクリプタ格
納手段に格納された送信ディスクリプタに基づいて送信
データ格納手段に格納された送信データをネットワーク
に対して送信する。
A more specific embodiment of the network interface device according to the present invention will be described below. That is, in the network interface device according to the present invention, as an example of the embodiment, a transmission descriptor storage unit that stores a transmission descriptor, a transmission data storage unit that stores transmission data, a transmission descriptor that is collectively input from a communication device, and Selector means for separating each of the transmission data, storing the separated transmission descriptor in the transmission descriptor storage means, and storing the separated transmission data in the transmission data storage means, wherein the interface means is stored in the transmission descriptor storage means. The transmission data stored in the transmission data storage is transmitted to the network based on the transmission descriptor.

【0055】また、本発明に係るネットワークインタフ
ェース装置では、一実施形態例として、ネットワークに
対する送信データの送信状況に関する情報を保持する送
信状況情報保持手段を備え、送信状況通知手段が送信状
況情報保持手段の保持情報に基づいて送信データの送信
状況を通信装置に対して通知する。
Further, the network interface device according to the present invention includes, as one embodiment, transmission status information holding means for holding information on the transmission status of transmission data to the network, and the transmission status notifying means includes the transmission status information holding means. The transmission status of the transmission data is notified to the communication device based on the held information of the communication device.

【0056】また、本発明に係るネットワークインタフ
ェース装置では、一実施形態例として、送信状況に関す
る情報には、送信データの送信処理が終了したことを示
す情報及び当該送信処理が成功したか否かを示す情報が
含まれる。そして、送信データの送信処理が終了したこ
とを示す情報は例えば当該送信処理が終了した時点で通
信装置に対して通知され、また、当該送信処理が成功し
たか否かを示す情報は例えば通信装置からの要求に応じ
て当該通信装置に対して通知される。
In one embodiment of the network interface device according to the present invention, the information on the transmission status includes information indicating that the transmission process of the transmission data has been completed and whether or not the transmission process has succeeded. Information is included. The information indicating that the transmission process of the transmission data has been completed is notified to the communication device when the transmission process ends, for example, and the information indicating whether or not the transmission process has succeeded is, for example, the communication device. Is notified to the communication device in response to a request from the communication device.

【0057】また、本発明に係るネットワークインタフ
ェース装置では、一実施形態例として、送信状況に関す
る情報には、送信処理が失敗した送信データを特定する
情報が含まれる。そして、送信処理が失敗した送信デー
タを特定する情報は例えば通信装置からの要求に応じて
当該通信装置に対して通知される。
In the network interface device according to the present invention, as one embodiment, the information relating to the transmission status includes information for specifying transmission data for which transmission processing has failed. Then, information specifying the transmission data for which the transmission processing has failed is notified to the communication device in response to a request from the communication device, for example.

【0058】また、本発明では、以上に示したようなデ
ータ転送を実現することができる通信装置を提供する。
すなわち、本発明に係る通信装置では、送信データに関
する制御情報を含む送信ディスクリプタに基づいて送信
データをネットワークに対して送信するネットワークイ
ンタフェース装置に対して送信ディスクリプタ及び送信
データを出力するに際して、通信手段が、送信ディスク
リプタ及び送信データをまとめてネットワークインタフ
ェース装置に対して出力する。
Further, the present invention provides a communication device capable of realizing the data transfer as described above.
That is, in the communication device according to the present invention, when outputting the transmission descriptor and the transmission data to the network interface device that transmits the transmission data to the network based on the transmission descriptor including the control information about the transmission data, , The transmission descriptor and the transmission data are output together to the network interface device.

【0059】また、本発明に係る通信装置では、通信手
段は、送信データのサイズが閾値未満である場合に、送
信ディスクリプタ及び送信データをまとめてネットワー
クインタフェース装置に対して出力する。
In the communication device according to the present invention, when the size of the transmission data is smaller than the threshold, the communication means outputs the transmission descriptor and the transmission data to the network interface device together.

【0060】また、本発明に係る通信装置では、送信デ
ィスクリプタ及び所定サイズ以下の送信データを格納す
るデータ格納領域を複数の送信データサイズに対応して
有しており、通信手段は、送信データのサイズに応じて
いずれかのデータ格納領域に格納されたデータをネット
ワークインタフェース装置に対して出力する。
Further, the communication device according to the present invention has a transmission descriptor and a data storage area for storing transmission data of a predetermined size or less corresponding to a plurality of transmission data sizes. The data stored in any of the data storage areas is output to the network interface device according to the size.

【0061】また、本発明に係る通信装置では、通信手
段は、送信対象となる送信データの数に関する情報をネ
ットワークインタフェース装置に対して出力し、当該数
の送信ディスクリプタ及び送信データの組をネットワー
クインタフェース装置に対して出力する。
In the communication device according to the present invention, the communication means outputs information on the number of transmission data to be transmitted to the network interface device, and transmits the set of transmission descriptors and transmission data of the number to the network interface device. Output to the device.

【0062】また、本発明では、以上に示したようなデ
ータ転送を実現することができるプログラムを記憶した
記憶媒体を提供する。すなわち、本発明に係る記憶媒体
では、コンピュータに実行させるプログラムを当該コン
ピュータの入力手段が読取可能に記憶しており、当該プ
ログラムは、送信データに関する制御情報を含む送信デ
ィスクリプタに基づいて送信データをネットワークに対
して送信するネットワークインタフェース装置に対して
送信ディスクリプタ及び送信データをまとめて出力する
処理を当該コンピュータに実行させる。
Further, the present invention provides a storage medium storing a program capable of realizing the data transfer as described above. That is, in the storage medium according to the present invention, a program to be executed by a computer is stored in a readable manner by an input means of the computer, and the program transmits transmission data to a network based on a transmission descriptor including control information on the transmission data. And causes the computer to execute a process of collectively outputting the transmission descriptor and transmission data to the network interface device transmitting the transmission descriptor.

【0063】また、本発明に係る記憶媒体では、前記プ
ログラムは、送信データのサイズが閾値未満である場合
に、送信ディスクリプタ及び送信データをまとめてネッ
トワークインタフェース装置に対して出力する処理を前
記コンピュータに実行させる。
Further, in the storage medium according to the present invention, when the size of the transmission data is smaller than the threshold value, the program causes the computer to perform a process of outputting the transmission descriptor and the transmission data to the network interface device together. Let it run.

【0064】また、本発明に係る記憶媒体では、前記プ
ログラムは、複数の送信データサイズに対応して設けら
れて送信ディスクリプタ及び所定サイズ以下の送信デー
タを格納するデータ格納領域の中から、送信データのサ
イズに応じていずれかのデータ格納領域に格納されたデ
ータをネットワークインタフェース装置に対して出力す
る処理を前記コンピュータに実行させる。
Further, in the storage medium according to the present invention, the program is provided in a data storage area provided corresponding to a plurality of transmission data sizes and storing a transmission descriptor and transmission data of a predetermined size or less. And causing the computer to execute a process of outputting data stored in any of the data storage areas to the network interface device according to the size of the data.

【0065】また、本発明に係る記憶媒体では、前記プ
ログラムは、送信対象となる送信データの数に関する情
報をネットワークインタフェース装置に対して出力する
処理と、当該数の送信ディスクリプタ及び送信データの
組をネットワークインタフェース装置に対して出力する
処理とを前記コンピュータに実行させる。なお、本発明
では、以上に示したような処理を実行するためのプログ
ラムを提供することも可能である。
In the storage medium according to the present invention, the program includes a process of outputting information on the number of transmission data to be transmitted to the network interface device, and a set of the transmission descriptor and the transmission data of the number. And causing the computer to execute a process of outputting to the network interface device. In the present invention, it is also possible to provide a program for executing the above-described processing.

【0066】[0066]

【発明の実施の形態】本発明に係る実施例を図面を参照
して説明する。なお、以下に示す本実施例では、ホスト
システムのデバイスドライバが送信フレームのサイズを
確認して、送信フレームのサイズが或る値以下であると
判断した場合には送信ディスクリプタと送信データを一
度にバースト転送してLANコントローラによりリード
することにより、送信フレームをホストシステムからL
ANコントローラへ転送するに際して余計なトランザク
ションの発生に起因するオーバーヘッドが生じてしまう
ことをなくす。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment according to the present invention will be described with reference to the drawings. In the embodiment described below, the device driver of the host system checks the size of the transmission frame, and if the size of the transmission frame is determined to be smaller than a certain value, the transmission descriptor and the transmission data are transmitted at once. By performing burst transfer and reading by the LAN controller, the transmission frame is transmitted from the host system to the L
Eliminating the overhead due to the occurrence of extra transactions when transferring to the AN controller.

【0067】以下では、本発明に係るネットワークイン
タフェース装置をLANコントローラに適用するととも
に、本発明に係る通信装置をホストシステムに適用した
場合の実施例を図面を参照して説明する。
An embodiment in which the network interface device according to the present invention is applied to a LAN controller and the communication device according to the present invention is applied to a host system will be described below with reference to the drawings.

【0068】まず、本発明の第1実施例に係るデータ転
送システムを説明する。図1には、本発明を適用したデ
ータ転送システムの一例として、LANコントローラ1
と、当該LANコントローラ1と接続されたホストシス
テム2と、当該LANコントローラ1と接続されたネッ
トワーク3とを示してある。
First, a data transfer system according to a first embodiment of the present invention will be described. FIG. 1 shows a LAN controller 1 as an example of a data transfer system to which the present invention is applied.
And a host system 2 connected to the LAN controller 1 and a network 3 connected to the LAN controller 1.

【0069】LANコントローラ1には、ホストシステ
ム2との間のインタフェース機能を有した周辺要素相互
接続(PCI)バスインターフェース11と、メモリに
対するアクセスを制御するDMAコントローラ12と、
データを格納する第1の多目的レジスタ13及び第2の
多目的レジスタ14と、送信用のデータを格納する送信
用先入れ先出し(FIFO)バッファメモリ15と、送
信ディスクリプタと送信データの格納先をダイナミック
に切り変える分岐ロジックであるセレクタ16と、メデ
ィアアクセスを制御するメディアアクセス制御(MA
C)コントローラ17と、ネットワーク3との間のイン
タフェース機能を有したSIAインタフェース18と、
ネットワーク3との間のインタフェース機能を有したM
IIインタフェース19と、受信用のデータを格納する
受信用FIFOバッファメモリ20と、これら各処理部
11〜20を制御するデータ制御部21とが備えられて
いる。
The LAN controller 1 includes a peripheral component interconnect (PCI) bus interface 11 having an interface function with the host system 2, a DMA controller 12 for controlling access to a memory, and
A first multi-purpose register 13 and a second multi-purpose register 14 for storing data, a first-in-first-out (FIFO) buffer memory 15 for storing data for transmission, and a storage for dynamically switching between a transmission descriptor and a storage destination for transmission data. A selector 16 which is a branching logic, and a media access control (MA) for controlling media access.
C) an SIA interface 18 having an interface function between the controller 17 and the network 3;
M having an interface function with the network 3
An II interface 19, a reception FIFO buffer memory 20 for storing reception data, and a data control unit 21 for controlling these processing units 11 to 20 are provided.

【0070】また、ホストシステム2には、各種の処理
を実行するCPU22と、データを格納するシステムメ
モリ23とが備えられている。また、LANコントロー
ラ1に備えられたSIAインタフェース18やMIIイ
ンタフェース19はネットワーク3と接続されており、
PCIバスインタフェース11はホストシステム2に備
えられたCPU22やシステムメモリ23と接続されて
いる。
The host system 2 is provided with a CPU 22 for executing various processes and a system memory 23 for storing data. The SIA interface 18 and the MII interface 19 provided in the LAN controller 1 are connected to the network 3,
The PCI bus interface 11 is connected to a CPU 22 and a system memory 23 provided in the host system 2.

【0071】ここで、本例のデータ転送システムにより
行われる動作は、ホストシステム2からLANコントロ
ーラ1へ送信データを転送して当該送信データをLAN
コントローラ1からネットワークに対して送信する処理
に係る動作を除いては、例えば図9に示したシステムに
より行われる動作と同様であるため、本例では、当該シ
ステムとは異なる動作について詳しく説明する。
Here, the operation performed by the data transfer system of the present embodiment is such that the transmission data is transferred from the host system 2 to the LAN controller 1 and the transmission data is transmitted to the LAN controller 1.
Except for the operation related to the process of transmitting data from the controller 1 to the network, the operation is the same as the operation performed by the system shown in FIG. 9, for example.

【0072】まず、送信フレームをホストシステム2の
システムメモリ23からLANコントローラ1へ転送す
るために当該ホストシステム2のデバイスドライバによ
って行われる準備動作の一例を示す。なお、デバイスド
ライバは一般にコンピュータに接続される周辺機器を利
用可能にするためのソフトウエアであり、本例では、ホ
ストシステム2のCPU22がシステムメモリ23に格
納されたデバイスドライバのプログラムを実行すること
により、当該デバイスドライバによる動作処理が行われ
る。
First, an example of a preparation operation performed by the device driver of the host system 2 to transfer a transmission frame from the system memory 23 of the host system 2 to the LAN controller 1 will be described. Note that the device driver is generally software for enabling use of a peripheral device connected to the computer. In this example, the CPU 22 of the host system 2 executes the device driver program stored in the system memory 23. Thus, the operation processing by the device driver is performed.

【0073】すなわち、まず、LANコントローラ1の
起動時にデバイスドライバがPCIデバイスとしてのコ
ンフィギュレーションを行い、コマンド、レイテンシー
タイマ及びベースアドレスを設定する。そして、デバイ
スドライバは、LANコントローラ1の第1の多目的レ
ジスタ13をシステムメモリ23にマッピングする。こ
のようなマッピングを行うと、第1の多目的レジスタ1
3は、ホストシステム2からもLANコントローラ1か
らもアクセスが可能となる。
That is, first, when the LAN controller 1 is started, the device driver performs configuration as a PCI device, and sets a command, a latency timer, and a base address. Then, the device driver maps the first multi-purpose register 13 of the LAN controller 1 to the system memory 23. By performing such a mapping, the first multi-purpose register 1
3 can be accessed from both the host system 2 and the LAN controller 1.

【0074】ここで、第1の多目的レジスタ13として
は、一般的にCSRと呼ばれているものが用いられてい
る。図2(a)には、第1の多目的レジスタ13の構成
例を示してあり、この第1の多目的レジスタ13は、コ
マンド(Command)の情報を格納するコマンドフ
ィールド31と、ステータス(Status)の情報を
格納するステータスフィールド32と、様々な目的の情
報を格納するためのレジスタ(Register)であ
るVP(Various Purpose)レジスタフィールド33と
から構成されている。
Here, as the first multi-purpose register 13, a register generally called CSR is used. FIG. 2A shows a configuration example of the first multi-purpose register 13. The first multi-purpose register 13 includes a command field 31 for storing command (Command) information and a status (Status). It is composed of a status field 32 for storing information and a VP (Various Purpose) register field 33 which is a register (Register) for storing information for various purposes.

【0075】コマンドフィールド31は、LANコント
ローラ1に対するコマンドがセットされる領域として用
いられる。ステータスフィールド32は、LANコント
ローラ1の内部の状態などを示すビットがセットされる
領域として用いられる。VPレジスタフィールド33
は、LANコントローラ1によりアクセスすべき32b
itのアドレスなどをセットするための領域として用い
られる。
The command field 31 is used as an area in which a command for the LAN controller 1 is set. The status field 32 is used as an area in which bits indicating the internal state of the LAN controller 1 and the like are set. VP register field 33
Is 32b to be accessed by the LAN controller 1.
It is used as an area for setting the address of the it and the like.

【0076】また、同図(b)には、コマンドフィール
ド31の構成例を示してあり、このコマンドフィールド
31には、コマンドの内容を示すコマンド(CMD)ビ
ット34と、一度に送信するパケットの数を示すシリア
ルナンバー(SerialNumber)ビット35が
含まれる。また、同図(c)には、ステータスフィール
ド32の構成例を示してあり、このステータスフィール
ド32には、エラーに関する内容を示すエラーステータ
ス(Error Status)ビット36と、連続し
て送信したパケットの数を示すシリアルパケットナンバ
ー(Serial Packets Number)ビ
ット37と、送信に失敗したパケットを示すフェイラパ
ケットインディケータビット38が含まれる。なお、同
図(b)及び同図(c)に示した構成についての詳しい
説明は後述する第2実施例で述べる。
FIG. 11B shows an example of the configuration of a command field 31. The command field 31 includes a command (CMD) bit 34 indicating the content of the command, and a command A serial number (SerialNumber) bit 35 indicating the number is included. FIG. 3C shows an example of the configuration of the status field 32. The status field 32 includes an error status (Error Status) bit 36 indicating the content related to the error, and a packet of a continuously transmitted packet. A serial packet number (Serial Packets Number) bit 37 indicating the number and a failer packet indicator bit 38 indicating a packet whose transmission has failed are included. A detailed description of the configuration shown in FIGS. 7B and 7C will be given in a second embodiment described later.

【0077】次に、ホストシステム2のデバイスドライ
バは、システムメモリ23中に、送信ディスクリプタを
格納する領域(送信ディスクリプタ格納領域)と、それ
に続くアドレス位置に送信フレーム待機用のバッファメ
モリの領域(送信待機用バッファ)を確保する。なお、
本例では、送信ディスクリプタはチェイン構造を有して
おり、2チャネル分の領域を用意する。
Next, the device driver of the host system 2 sends an area for storing the transmission descriptor (transmission descriptor storage area) in the system memory 23 and an area of the buffer memory for transmission frame standby (transmission (Standby buffer). In addition,
In this example, the transmission descriptor has a chain structure, and prepares an area for two channels.

【0078】図3には、システムメモリ23中に確保さ
れる2チャネル分の送信ディスクリプタ格納領域及び送
信待機用バッファの一例を示してある。具体的には、同
図には、チャネル1(Ch1)のデータを格納する領域
であるCh1データ格納領域41と、チャネル2(Ch
2)のデータを格納する領域であるCh2データ格納領
域42とが示されている。
FIG. 3 shows an example of a transmission descriptor storage area for two channels and a transmission standby buffer secured in the system memory 23. Specifically, FIG. 2 shows a Ch1 data storage area 41 that is an area for storing data of channel 1 (Ch1), and a channel 2 (Ch1).
2 shows a Ch2 data storage area 42 which is an area for storing data.

【0079】また、Ch1データ格納領域41は、1つ
の固定サイズの送信ディスクリプタ格納領域とこれに対
応する1つの固定サイズの送信待機用バッファとを連続
したアドレス位置に並べた組を複数連続したアドレス位
置に並べて構成されており、具体的には、“0”番目の
送信ディスクリプタ格納領域43a、“0”番目の送信
待機用バッファ44a、“1”番目の送信ディスクリプ
タ格納領域43b、“1”番目の送信待機用バッファ4
4b、“2”番目の送信ディスクリプタ格納領域43
c、“2”番目の送信待機用バッファ44c、…といっ
た順序で各領域が連続したアドレス位置に並べられて設
けられている。なお、本例のチャネル1では、送信待機
用バッファの固定サイズとして、3000バイトのサイ
ズを用いている。
The Ch1 data storage area 41 includes a plurality of sets each having a fixed-size transmission descriptor storage area and a corresponding fixed-size transmission standby buffer arranged at consecutive address positions. The "0" -th transmission descriptor storage area 43a, the "0" -th transmission standby buffer 44a, the "1" -th transmission descriptor storage area 43b, and the "1" -th transmission descriptor storage area 43a. Buffer 4 for sending data
4b, “2” -th transmission descriptor storage area 43
The respective areas are arranged at consecutive address positions in the order of c, the "2" -th transmission standby buffer 44c,.... In the channel 1 of this example, a size of 3000 bytes is used as the fixed size of the transmission standby buffer.

【0080】同様に、Ch2データ格納領域42は、1
つの固定サイズの送信ディスクリプタ格納領域とこれに
対応する1つの固定サイズの送信待機用バッファとを連
続したアドレス位置に並べた組を複数連続したアドレス
位置に並べて構成されており、具体的には、“0”番目
の送信ディスクリプタ格納領域45a、“0”番目の送
信待機用バッファ46a、“1”番目の送信ディスクリ
プタ格納領域45b、“1”番目の送信待機用バッファ
46b、“2”番目の送信ディスクリプタ格納領域45
c、“2”番目の送信待機用バッファ46c、…といっ
た順序で各領域が連続したアドレス位置に並べられて設
けられている。なお、本例のチャネル2では、送信待機
用バッファの固定サイズとして、100バイトのサイズ
を用いている。
Similarly, the Ch2 data storage area 42 stores 1
A set in which two fixed-size transmission descriptor storage areas and one corresponding fixed-size transmission standby buffer are arranged at consecutive address positions is arranged at a plurality of consecutive address positions. “0” -th transmission descriptor storage area 45a, “0” -th transmission standby buffer 46a, “1” -th transmission descriptor storage area 45b, “1” -th transmission standby buffer 46b, “2” -th transmission Descriptor storage area 45
The respective areas are arranged at consecutive address positions in the order of c, the “second” transmission standby buffer 46c,... In the channel 2 of this example, a size of 100 bytes is used as the fixed size of the transmission standby buffer.

【0081】このように、本例では、送信フレーム待機
用バッファのメモリ領域として3000バイトを用意し
たチャネル1と100バイトを用意したチャネル2との
2チャネル分を確保する。なお、送信ディスクリプタの
チェインは例えば1チャネル分だけ用意されても構わな
いが、本例のように小さいサイズの送信フレーム用に送
信フレーム待機用バッファの領域が狭いチャネル(つま
り、チャネル2)を別に1チャネル用意しておいた方
が、システムメモリ23の浪費を防ぐことができて好ま
しい。
As described above, in the present embodiment, two channels, that is, channel 1 having 3000 bytes and channel 2 having 100 bytes are secured as memory areas of the transmission frame waiting buffer. The transmission descriptor chain may be prepared for, for example, one channel. However, as shown in this example, a channel having a small transmission frame standby buffer area for a small transmission frame (that is, channel 2) is separately provided. It is preferable to prepare one channel because it is possible to prevent waste of the system memory 23.

【0082】上記のようにしてデバイスドライバによっ
て必要なデータ格納領域41、42がホストシステム2
のシステムメモリ23上に確保され、例えばPC等の上
位システムがデータの送信を要求すると、デバイスドラ
イバは、ネットワーク3への送信対象となる送信データ
のサイズを確認し、当該サイズが100バイトより大き
い場合には、チャネル1の送信ディスクリプタチェイン
を用いて送信データの送信処理が実行されるように制御
する一方、当該サイズが100バイト以下である場合に
は、チャネル2の送信ディスクリプタチェインを用いて
送信データの送信処理が実行されるように制御する。
As described above, the data storage areas 41 and 42 required by the device driver are stored in the host system 2.
When a higher-level system such as a PC requests data transmission, the device driver checks the size of transmission data to be transmitted to the network 3 and the size is larger than 100 bytes. In this case, control is performed so that transmission processing of transmission data is performed using the transmission descriptor chain of channel 1, while if the size is 100 bytes or less, transmission is performed using the transmission descriptor chain of channel 2. Control is performed so that data transmission processing is executed.

【0083】次に、ホストシステム2のシステムメモリ
23に格納された送信フレームを当該ホストシステム2
からLANコントローラ1へ転送する動作の一例を示
す。なお、図4には、送信フレームをホストシステム2
からLANコントローラ1へ転送する処理の手順の一例
を示してあり、同図を参照して当該処理に係る動作例を
示す。
Next, the transmission frame stored in the system memory 23 of the host system 2 is stored in the host system 2.
An example of the operation of transferring from the LAN controller 1 to the LAN controller 1 will be described. In FIG. 4, the transmission frame is stored in the host system 2.
2 shows an example of a procedure of a process of transferring data from the LAN controller 1 to the LAN controller 1, and an operation example of the process will be described with reference to FIG.

【0084】すなわち、まず、上述のように、デバイス
ドライバによる準備が済み、上位のソフトウェアから送
信の命令がデバイスドライバに指示されると(ステップ
S1)、デバイスドライバは送信対象となる送信データ
が含まれる送信フレームのサイズを確認する(ステップ
S2)。
That is, first, as described above, the preparation by the device driver is completed, and when a transmission command is instructed to the device driver from the upper software (step S1), the device driver includes the transmission data to be transmitted. The size of the transmission frame to be transmitted is confirmed (step S2).

【0085】この確認の結果、送信フレームのサイズが
或るサイズ (本例では、100バイト) よりも大きい場
合には、例えば図9に示したシステムを用いて説明した
転送処理のシーケンスと同様な転送シーケンス(以下
で、通常シーケンスと言う)により送信フレームの転送
処理が行われる(ステップS8)。
As a result of this check, if the size of the transmission frame is larger than a certain size (100 bytes in this example), for example, the transfer processing sequence described with reference to the system shown in FIG. Transmission processing of a transmission frame is performed according to a transfer sequence (hereinafter, referred to as a normal sequence) (step S8).

【0086】つまり、この通常シーケンスでは、まず、
デバイスドライバは、チャネル1のデータ格納領域41
中の各送信ディスクリプタ格納領域43a、43b、…
に必要な値をセットするとともに、当該データ格納領域
41中の各送信待機用バッファ44a、44b、…に送
信対象となる送信フレームを格納する。
That is, in this normal sequence, first,
The device driver stores the data storage area 41 of channel 1
Each of the transmission descriptor storage areas 43a, 43b,.
Are set, and the transmission frames to be transmitted are stored in the transmission waiting buffers 44a, 44b,... In the data storage area 41.

【0087】次に、デバイスドライバは、チャネル1の
最初の(本例では、“0番目”の)送信ディスクリプタ
格納領域43aの先頭アドレスをLANコントローラ1
の第1の多目的レジスタ13内のVPレジスタフィール
ド33にライトし、この処理に続けて、コマンドフィー
ルド31に送信コマンド(TX CMD:Transmit Com
mand)に対応したビット値をライトすることで、LAN
コントローラ1に対して送信データの送信命令を発生す
る。なお、これらの処理は、PCIターゲットライトサ
イクルによって実現される。
Next, the device driver sets the start address of the first (“0th” in this example) transmission descriptor storage area 43 a of channel 1 to the LAN controller 1.
Of the first multi-purpose register 13 in the VP register field 33, and following this processing, a transmission command (TX CMD: Transmit Commit
mand) by writing the bit value corresponding to
A transmission data transmission command is issued to the controller 1. Note that these processes are realized by a PCI target write cycle.

【0088】すると、LANコントローラ1は、ホスト
システム2から伝えられて第1の多目的レジスタ13内
のVPレジスタフィールドに格納されたアドレスから、
ホストシステムのシステムメモリ23内に用意されたチ
ャネル1の各送信ディスクリプタ格納領域43a、43
b、…に格納された送信ディスクリプタをリードして第
2の多目的レジスタ14に格納する。なお、この場合、
セレクタ16は、ホストシステム2からの送信ディスク
リプタが第2の多目的レジスタ14へ格納されるように
切り替える。
Then, the LAN controller 1 calculates the address from the address transmitted from the host system 2 and stored in the VP register field in the first multi-purpose register 13.
Each transmission descriptor storage area 43a, 43 of channel 1 prepared in the system memory 23 of the host system
Read the transmission descriptor stored in b,... and store it in the second multi-purpose register 14. In this case,
The selector 16 switches so that the transmission descriptor from the host system 2 is stored in the second multi-purpose register 14.

【0089】ここで、LANコントローラ1は、第2の
多目的レジスタ14に格納された送信ディスクリプタの
情報内容に基づいて送信フレームのサイズを知ることが
でき、次に、LANコントローラ1は、改めてPCIマ
スタリードトランザクションの要求を出して、ホストシ
ステム2のシステムメモリ23内に用意されたチャネル
1の各送信待機用バッファ41に格納された送信フレー
ムを当該ホストシステム2から当該LANコントローラ
1へリード転送する。そして、LANコントローラ1に
よりリードされた送信フレームは、送信用FIFOバッ
ファメモリ15に格納され、これにより、転送処理が完
了する(ステップS7)。なお、この場合、セレクタ1
6は、ホストシステム2からの送信フレームが送信用F
IFOバッファメモリ15へ格納されるように切り替え
る。
Here, the LAN controller 1 can know the size of the transmission frame based on the information content of the transmission descriptor stored in the second multi-purpose register 14. Next, the LAN controller 1 renews the PCI master. A read transaction request is issued, and the transmission frame stored in each transmission standby buffer 41 of the channel 1 prepared in the system memory 23 of the host system 2 is read-transferred from the host system 2 to the LAN controller 1. Then, the transmission frame read by the LAN controller 1 is stored in the transmission FIFO buffer memory 15, whereby the transfer processing is completed (step S7). In this case, the selector 1
6 indicates that the transmission frame from the host system 2 is the transmission F
Switching is performed so as to be stored in the IFO buffer memory 15.

【0090】一方、上記の確認の結果(ステップS
2)、送信フレームのサイズが或るサイズ (本例で
は、100バイト) 以下である場合には、デバイスド
ライバは、チャネル2のデータ格納領域42中の各送信
ディスクリプタ格納領域45a、45b、…に必要な値
をセットするとともに、当該データ格納領域42中の各
送信待機用バッファ46a、46b、…に送信対象とな
る送信フレームを格納する(ステップS3)。
On the other hand, the result of the above confirmation (step S
2) If the size of the transmission frame is smaller than a certain size (100 bytes in this example), the device driver stores the transmission descriptor storage areas 45a, 45b,. A necessary value is set, and a transmission frame to be transmitted is stored in each transmission standby buffer 46a, 46b,... In the data storage area 42 (step S3).

【0091】その後、デバイスドライバは、チャネル2
の最初の(本例では、“0番目”の)送信ディスクリプ
タ格納領域45aの先頭アドレスをLANコントローラ
1の第1の多目的レジスタ13内のVPレジスタフィー
ルド33にライトし、この処理に続けて直ちに、コマン
ドフィールド31にスモール送信コマンド(S−TXC
MD:Small-Transmit Command)に対応したビット値を
ライトすることで、LANコントローラ1に対して比較
的サイズの小さい送信データの送信命令を発生する(ス
テップS4)。なお、この処理は、デバイスドライバが
コマンドフィールド31にS−TX CMDに対応した
値をPCIターゲットライトアクセスすることにより行
われる。
Thereafter, the device driver operates on channel 2
Is written to the VP register field 33 in the first multi-purpose register 13 of the LAN controller 1 at the beginning (in this example, the "0th") transmission descriptor storage area 45a. A small transmission command (S-TXC
By writing a bit value corresponding to the MD (Small-Transmit Command), a transmission command for transmission data of a relatively small size is generated for the LAN controller 1 (step S4). This process is performed by the device driver making a PCI target write access to the command field 31 with a value corresponding to S-TX CMD.

【0092】ここで、この時点では、LANコントロー
ラ1はホストシステム2に格納された送信ディスクリプ
タにセットされた内容をまだ知らないために実際に送信
するフレームのサイズはわからないが、この転送シーケ
ンスでは、送信命令が発生された場合には必ず、各送信
ディスクリプタに加えて各送信待機用バッファ46a、
46b、…内の100バイト分のデータをホストシステ
ム2からLANコントローラ1へPCIバースト転送し
て、当該送信フレームを送信用FIFOバッファメモリ
15に格納することを行う(ステップS5)。
At this point, the LAN controller 1 does not yet know the contents set in the transmission descriptor stored in the host system 2 and thus does not know the size of the frame to be actually transmitted. Whenever a transmission command is issued, in addition to each transmission descriptor, each transmission standby buffer 46a,
The data of 100 bytes in 46b,... Is subjected to PCI burst transfer from the host system 2 to the LAN controller 1, and the transmission frame is stored in the transmission FIFO buffer memory 15 (step S5).

【0093】つまり、この転送シーケンスでは、ホスト
システム2のシステムメモリ23に格納されたチャネル
2の送信ディスクリプタ及び送信フレームがまとめてL
ANコントローラに入力され、当該LANコントローラ
1では、入力された送信ディスクリプタがセレクタ16
により分離されて第2の多目的レジスタ14へ格納され
るとともに、入力された送信フレームがセレクタ16に
より分離されて送信用FIFOバッファメモリ15へ格
納される。
That is, in this transfer sequence, the transmission descriptor and the transmission frame of the channel 2 stored in the system memory 23 of the host system 2 are collectively set to L.
The LAN controller 1 inputs the transmission descriptor to the selector 16.
Are stored in the second multi-purpose register 14, and the input transmission frame is separated by the selector 16 and stored in the transmission FIFO buffer memory 15.

【0094】また、このように送信フレームの転送処理
が実行されると、LANコントローラ1では、第2の多
目的レジスタ14に格納された各送信ディスクリプタの
ステータスフィールドに転送処理が正常に行われたか否
かを示す値を書き込んで当該ステータスフィールドを更
新することが行われ(ステップS6)、これにより、転
送処理が完了する(ステップS7)。
When the transmission processing of the transmission frame is executed as described above, the LAN controller 1 determines whether the transmission processing is normally performed in the status field of each transmission descriptor stored in the second multi-purpose register 14. The status field is updated by writing a value indicating the status (step S6), whereby the transfer process is completed (step S7).

【0095】次に、LANコントローラ1の第2の多目
的レジスタ14に格納された送信ディスクリプタに基づ
いて、LANコントローラ1の送信用FIFOバッファ
メモリ15に格納された送信フレームをネットワーク3
に対して送信する動作の一例を示す。なお、図5には、
例えば送信ディスクリプタや送信フレームがLANコン
トローラ1に格納された後に、当該送信フレームをLA
Nコントローラ1からネットワーク3に対して送信する
処理の手順の一例を示してあり、同図を参照して当該処
理に係る動作例を示す。
Next, based on the transmission descriptor stored in the second multi-purpose register 14 of the LAN controller 1, the transmission frame stored in the transmission FIFO buffer memory 15 of the LAN controller 1 is transferred to the network 3.
An example of the operation of transmitting to the. In FIG. 5,
For example, after a transmission descriptor or a transmission frame is stored in the LAN controller 1, the transmission frame is
An example of a procedure of a process of transmitting data from the N controller 1 to the network 3 is shown, and an operation example of the process is shown with reference to FIG.

【0096】すなわち、LANコントローラ1では、例
えば送信データが送信用FIFOバッファメモリ15に
転送された後に(ステップS11)、当該転送処理が完
了したことをMACコントローラ17に伝える。する
と、MACコントローラ17は、第2の多目的レジスタ
14に格納されている送信ディスクリプタを参照して送
信フレームのサイズを把握する(ステップS12)。
That is, in the LAN controller 1, for example, after the transmission data is transferred to the transmission FIFO buffer memory 15 (step S11), the completion of the transfer processing is notified to the MAC controller 17. Then, the MAC controller 17 refers to the transmission descriptor stored in the second multi-purpose register 14 to determine the size of the transmission frame (Step S12).

【0097】ここで、例えばチャネル2の転送処理が行
われた場合には送信用FIFOバッファメモリ15内に
実際に送信するデータ以外の余計なデータが含まれてい
ることもあり得るが、MACコントローラ17は、送信
ディスクリプタを参照することで正確に送信フレームの
サイズだけのデータを送信用FIFOバッファメモリ1
5から読み出すことができ、これにより、送信対象とな
る送信フレームをSIAインタフェース18若しくはM
IIインタフェース19を介してネットワーク3へ送出
する(ステップS13)。
Here, for example, when the transfer processing of the channel 2 is performed, the transmission FIFO buffer memory 15 may contain unnecessary data other than the data to be actually transmitted. Reference numeral 17 denotes a transmission FIFO buffer memory 1 which stores data of the size of the transmission frame exactly by referring to the transmission descriptor.
5 from the SIA interface 18 or M
The data is transmitted to the network 3 via the II interface 19 (step S13).

【0098】このようにしてネットワーク3への送信デ
ータの送出処理が終わると、MACコントローラ17は
データ制御部21に対して送信成功の是非を知らせ、こ
れを受けたデータ制御部21は第1の多目的レジスタ1
3のステータスフィールド32内にあるエラーステータ
スビット36に値をセットする(ステップS14)。こ
こで、エラーステータスビット36の値としては、例え
ば送信処理が成功した場合には“01”という値をセッ
トし、送信処理が失敗した場合には“11”という値を
セットする。
When the transmission processing of the transmission data to the network 3 is completed in this way, the MAC controller 17 informs the data control section 21 of the success or failure of the transmission, and the data control section 21 receiving the notification notifies the data control section 21 of the first transmission. Multipurpose register 1
A value is set to an error status bit 36 in the status field 32 of No. 3 (step S14). Here, as the value of the error status bit 36, for example, a value of “01” is set when the transmission processing is successful, and a value of “11” is set when the transmission processing is failed.

【0099】また、本例では、エラーステータスビット
36の下位1ビットのデータを格納する領域がPCIの
割り込み線に直結されており、これにより、ホストシス
テム2のデバイスドライバでは、例えば送信処理が完了
して割り込みが発生したことによって送信処理が終了し
たことを把握することができるとともに、LANコント
ローラ1の第1の多目的レジスタ13内のエラーステー
タスビット36の値をリードすることによって当該送信
処理の成功の是非を把握することができる(ステップS
15)。
Further, in this example, the area for storing the data of the lower 1 bit of the error status bit 36 is directly connected to the interrupt line of the PCI, so that the device driver of the host system 2 completes the transmission processing, for example. As a result, the completion of the transmission process can be grasped by the occurrence of the interrupt, and the value of the error status bit 36 in the first multi-purpose register 13 of the LAN controller 1 can be read to determine the success of the transmission process. (Step S
15).

【0100】なお、デバイスドライバが送信成功の是非
を知る必要がなければ、デバイスドライバではLANコ
ントローラ1の多目的レジスタ13内のエラーステータ
スビット36の値をリードする必要はなく、この場合に
は、デバイスドライバでは割り込み線を介して送信処理
の終了を示す信号を受けた後に、送信ディスクリプタを
再利用可能にするためにクリーニングするだけでよい。
例えば従来技術では送信成功の是非を知ることが必要で
あるか否かといった要求に関係なく必ず送信ディスクリ
プタにエラーステータスを記述してLANコントローラ
1からホストシステム2へ書き戻していたが、本例で
は、送信成功の是非を知ることが不要である場合には、
このためのトランザクションを省略することが可能であ
る。
If the device driver does not need to know whether or not the transmission has succeeded, the device driver does not need to read the value of the error status bit 36 in the multi-purpose register 13 of the LAN controller 1. After receiving the signal indicating the end of the transmission processing via the interrupt line, the driver need only clean the transmission descriptor to make it reusable.
For example, in the prior art, the error status is always described in the transmission descriptor and written back from the LAN controller 1 to the host system 2 irrespective of whether it is necessary to know whether the transmission is successful or not. , If you do n’t need to know if the transmission was successful,
It is possible to omit the transaction for this.

【0101】以上のように、本例のようなデータ転送方
法を用いたデータ転送システムでは、例えばチャネル2
を用いた送信フレームの転送処理において、送信ディス
クリプタのコピーに係るオーバーヘッドを発生させるこ
となく、送信フレームをホストシステム2のシステムメ
モリ23からLANコントローラ1へ転送することがで
き、これにより、送信フレームの効率的な転送が可能と
なる。更に、本例では、送信ディスクリプタの書き戻し
に係るPCIトランザクションを省略することも可能と
なっている。
As described above, in the data transfer system using the data transfer method as in this example, for example, the channel 2
In the transfer processing of the transmission frame using the transmission frame, the transmission frame can be transferred from the system memory 23 of the host system 2 to the LAN controller 1 without generating the overhead related to the transmission of the transmission descriptor. Efficient transfer becomes possible. Further, in this example, it is possible to omit the PCI transaction related to the writing back of the transmission descriptor.

【0102】また、本例では、比較的サイズが小さい
(本例では、100バイト以下のサイズの)送信フレー
ムを送信する場合に、送信待機用バッファのサイズが小
さい送信ディスクリプタチャネル(本例では、チャネル
2)を使用してデータ転送が行われるため、例えばシス
テムメモリ23の使用効率が悪くなるといったことも生
じない。
In this example, when transmitting a transmission frame having a relatively small size (in this example, a size of 100 bytes or less), a transmission descriptor channel having a small transmission standby buffer (in this example, Since the data transfer is performed using the channel 2), for example, the use efficiency of the system memory 23 does not deteriorate.

【0103】また、本例では、例えば比較的小さいサイ
ズの送信フレームをチャネル1のデータ格納領域41に
格納すると空き領域が多くなることが生じ得ることか
ら、所定のサイズ(本例では、100バイト)以下の小
さいサイズの送信フレームについてはチャネル2のデー
タ格納領域42に格納することで、発生する空き領域を
少なくしている。また、チャネル1のデータ格納領域4
1では比較的多くの空き領域が生じる場合もあることか
ら、チャネル1のデータ転送処理では、ホストシステム
2からLANコントローラ1へ送信ディスクリプタを転
送した後に、当該送信ディスクリプタに基づいて必要な
データ分の送信フレームをホストシステム2からLAN
コントローラ1へ転送している。
Also, in this example, if a transmission frame of a relatively small size is stored in the data storage area 41 of the channel 1, for example, the free area may increase, so that a predetermined size (in this example, 100 bytes) is used. ) The following small transmission frames are stored in the data storage area 42 of the channel 2 so that the generated free area is reduced. Also, the data storage area 4 of channel 1
In the data transfer process of channel 1, since a transmission descriptor is transferred from the host system 2 to the LAN controller 1 in the data transfer process of the channel 1, a necessary amount of data based on the transmission descriptor may be generated. Transmission frame from host system 2 to LAN
It has been transferred to the controller 1.

【0104】次に、本発明の第2実施例として、図2
(b)に示したコマンドフィールド31や同図(c)に
示したステータスフィールド32を用いてデータ転送シ
ステムにより行われる動作の一例を示す。なお、本例の
データ転送システムの構成は、例えば第1実施例の図1
に示したものと同様であるため、その説明を省略する。
Next, as a second embodiment of the present invention, FIG.
An example of an operation performed by the data transfer system using the command field 31 shown in (b) and the status field 32 shown in FIG. Note that the configuration of the data transfer system of the present embodiment is, for example, as shown in FIG.
The description is omitted because it is the same as that shown in FIG.

【0105】すなわち、図1に示したようなデータ転送
システムでは、例えばロングメッセージパケットを送信
しているときに、複数のショートメッセージパケットの
送信が送信待ちのキューに溜まる場合があり、本例で
は、このような場合に、より一層効率的にショートメッ
セージパケットを送信することを可能とすることを実現
する。ここで、本例では、送信フレームがパケットとし
てネットワーク3に対して送信され、ロングデータパケ
ットとは図3に示したチャネル1の送信待機用バッファ
44a、44b、…に格納される送信フレームを示し、
ショートメッセージパケットとは同図に示したチャネル
2の送信待機用バッファ46a、46b、…に格納され
る送信フレームを示す。
That is, in the data transfer system as shown in FIG. 1, for example, when a long message packet is being transmitted, transmission of a plurality of short message packets may accumulate in a transmission waiting queue. In such a case, it is possible to more efficiently transmit a short message packet. Here, in this example, the transmission frame is transmitted as a packet to the network 3, and the long data packet indicates a transmission frame stored in the transmission standby buffers 44a, 44b,... Of the channel 1 shown in FIG. ,
The short message packet indicates a transmission frame stored in the transmission standby buffers 46a, 46b,... Of the channel 2 shown in FIG.

【0106】以下では、100バイトに満たないショー
トメッセージパケットが3つ溜まっている場合を例とし
て、本例のデータ転送システムにより行われる動作例を
示す。このような場合、本例では、図2(b)に示した
ように、LANコントローラ1の第1の多目的レジスタ
13内のコマンドフィールド31には、一度に送信する
パケットの数を示すシリアルナンバービット35を格納
する領域を設けておく。そして、デバイスドライバは、
キューに溜まっている3つのショートメッセージパケッ
トをLANコントローラ1へ転送するに際して、第1の
多目的レジスタ13内のコマンドフィールド31に設け
られたCMDビット34にS−TX CMDを書き込む
のと同時に、溜まっている送信キューの数 (本例で
は、3)をシリアルナンバービット35に書き込む。
In the following, an example of the operation performed by the data transfer system of this embodiment will be described, taking as an example a case where three short message packets of less than 100 bytes are accumulated. In such a case, in this example, as shown in FIG. 2B, the command field 31 in the first multi-purpose register 13 of the LAN controller 1 has a serial number bit indicating the number of packets to be transmitted at one time. An area for storing 35 is provided. And the device driver
When transferring the three short message packets stored in the queue to the LAN controller 1, the S-TX CMD is written into the CMD bit 34 provided in the command field 31 in the first multi-purpose register 13 and at the same time the three short message packets are stored. The number of the transmission queue (3 in this example) is written to the serial number bit 35.

【0107】すると、LANコントローラ1では、デー
タ制御部21が第1の多目的レジスタ13内のシリアル
ナンバービット35の値を参照し、この値に基づいて、
チャネル2に関する3つ分の送信ディスクリプタ及び1
00バイトのデータの組を一度にホストシステム2から
LANコントローラ1へバースト転送してリードする。
Then, in the LAN controller 1, the data control unit 21 refers to the value of the serial number bit 35 in the first multi-purpose register 13, and based on this value,
3 transmit descriptors for channel 2 and 1
A set of 00-byte data is burst-transferred and read from the host system 2 to the LAN controller 1 at a time.

【0108】ここで、例えば図6に示されるように、本
例のLANコントローラ1では、送信ディスクリプタ4
5a、45b、…及び送信待機用バッファ46a、46
b、…内の送信データの組を連続してホストシステム2
から読み込む場合に、セレクタ16がダイナミックに送
信ディスクリプタ45a、45b、…と送信データとの
それぞれを分離してそれぞれの格納先を第2の多目的レ
ジスタ14と送信用FIFOバッファメモリ15とへ分
別して転送する。このようにすることで、例えば従来の
データ転送方法では6回のPCIトランザクションが発
生していたのに対して、本例のデータ転送方法では、1
回のPCIトランザクションで済ませることが可能であ
り、オーバーヘッドを大幅に減少することができる。
Here, as shown in FIG. 6, for example, in the LAN controller 1 of this embodiment, the transmission descriptor 4
5a, 45b,... And transmission standby buffers 46a, 46
b,..., the host system 2
, The selector 16 dynamically separates the transmission descriptors 45a, 45b,... And the transmission data, and separates and stores the respective storage destinations in the second multi-purpose register 14 and the transmission FIFO buffer memory 15. I do. By doing so, for example, six PCI transactions have occurred in the conventional data transfer method, whereas in the data transfer method of the present example, one PCI transaction has occurred.
Only one PCI transaction is required, and the overhead can be greatly reduced.

【0109】また、本例では、他の特徴的な構成とし
て、図2(c)に示したように、第1の多目的レジスタ
13内のステータスフィールド32に、連続して送信し
たショートメッセージパケットの数をセットするシリア
ルパケットナンバービット37と、送信にエラーが生じ
たパケットを特定するためのフェイラパケットインディ
ケータビット38を設けてあり、これにより、いずれの
パケットにネットワーク送信時のエラーが生じたかをL
ANコントローラ1からホストシステム2のデバイスド
ライバへ伝えることができるようになっている。
In this example, as another characteristic configuration, as shown in FIG. 2C, the status field 32 in the first multi-purpose register 13 stores the short message packet of the continuously transmitted short message packet. A serial packet number bit 37 for setting the number and a failer packet indicator bit 38 for specifying a packet in which an error has occurred in transmission are provided, so that which packet has an error in network transmission has been determined.
The data can be transmitted from the AN controller 1 to the device driver of the host system 2.

【0110】例えば、2番目などに送信したパケットに
エラーが生じた場合を考えると、第1実施例で述べたよ
うにステータスフィールド32内のエラーステータスビ
ット36の値を用いて送信処理が全体として成功したか
或いは失敗したかを示すだけでは、いずれのパケットが
エラーとなったのかをホストシステム2のデバイスドラ
イバにより特定することができない。そこで、本例で
は、まとめて送信したパケットの数をシリアルナンバー
パケットビット37にセットするとともに、エラーが生
じたパケットに対応したビットをフェイラパケットイン
ディケータビット38にセットする。
For example, when an error occurs in the packet transmitted second or the like, the transmission processing is performed as a whole by using the value of the error status bit 36 in the status field 32 as described in the first embodiment. Just indicating whether the packet has succeeded or failed cannot identify which packet caused the error by the device driver of the host system 2. Therefore, in this example, the number of packets transmitted together is set in the serial number packet bit 37, and the bit corresponding to the packet in which the error has occurred is set in the failure packet indicator bit 38.

【0111】ここで、図7には、ステータスフィールド
32内のフェイラパケットインディケータビット38な
どの値が変更される様子の一例を示してある。同図
(a)には、3つのパケットを連続してまとめて送信し
た場合に、これら3つの中の2番目のパケットの送信処
理にエラーが発生した場合におけるステータスフィール
ド32内のビット列の一例を示してある。この場合、エ
ラーステータスビット36の値は“10”となり、シリ
アルパケットナンバービット37の値は“011”とな
り、フェイラパケットインディケータビット38の値は
“0000010”となり、つまり、3つのパケットを
送信して2番目のパケットにエラーが発生したことが示
されている。
Here, FIG. 7 shows an example in which the value of the failure packet indicator bit 38 in the status field 32 is changed. FIG. 7A shows an example of a bit string in the status field 32 when an error occurs in the transmission processing of the second packet among the three packets when three packets are continuously transmitted together. Is shown. In this case, the value of the error status bit 36 becomes "10", the value of the serial packet number bit 37 becomes "011", and the value of the failure packet indicator bit 38 becomes "0000010". It indicates that an error has occurred in the second packet.

【0112】また、ホストシステム2のデバイスドライ
バは、LANコントローラ1の第1の多目的レジスタ1
3内のステータスフィールド32のビット列を確認する
と、当該ステータスフィールド32内のビット値を全て
“0”にリセットする。ここで、同図(c)にはリセッ
トされたステータスフィールド32内のビット列の一例
を示してあり、全ての値が“0”にセットされている。
The device driver of the host system 2 operates in the first multi-purpose register 1 of the LAN controller 1.
After checking the bit string of the status field 32 in 3, all the bit values in the status field 32 are reset to “0”. Here, FIG. 4C shows an example of a bit string in the reset status field 32, and all the values are set to “0”.

【0113】また、同図(b)には、同図(a)に示し
た状態において、ホストシステム2のデバイスドライバ
がステータスフィールド32内のビット列を確認する前
に、更に次のパケット送信があった場合におけるステー
タスフィールド32内のビット列の一例を示してある。
この場合、エラーステータスビット36の値は“10”
となり、シリアルパケットナンバービット37の値は次
に送信されたパケットの数だけ加算されてセットされて
“110”となり、フェイラパケットインディケータビ
ット38の値は当該送信されたパケットの分だけOR演
算されて“0010010”となり、つまり、6つのパ
ケットを送信して2番目及び5番目のパケットにエラー
が発生したことが示されている。
FIG. 13B shows that the next packet transmission is performed before the device driver of the host system 2 checks the bit string in the status field 32 in the state shown in FIG. 4 shows an example of a bit string in the status field 32 in the case where the error occurs.
In this case, the value of the error status bit 36 is “10”
The value of the serial packet number bit 37 is added and set by the number of the next transmitted packet to be set to “110”, and the value of the failure packet indicator bit 38 is OR-operated by the number of the transmitted packet. "0010010" indicates that six packets have been transmitted and an error has occurred in the second and fifth packets.

【0114】なお、上記のように、ホストシステム2の
デバイスドライバがLANコントローラ1の第1の多目
的レジスタ13内のステータスフィールド32のビット
列を確認すると、当該ステータスフィールド32内のビ
ット値が全て“0”にリセットされて、ステータスフィ
ールド32内のビット列は同図(c)に示した状態とな
る。
As described above, when the device driver of the host system 2 checks the bit string of the status field 32 in the first multi-purpose register 13 of the LAN controller 1, all the bit values in the status field 32 become "0". And the bit string in the status field 32 becomes the state shown in FIG.

【0115】このように、本例では、ホストシステム2
のデバイスドライバがLANコントローラ1の第1の多
目的レジスタ(CSR)13をリードすることで、エラ
ーが生じた送信メッセージパケットを特定することがで
きるため、エラー発生時に例えばTCP/IP(Transm
ission Control Protocol/Internet Protocol)層レベ
ルの遅延をできるだけ短くすることが可能となる。な
お、第1実施例で述べたように、例えばデバイスドライ
バによりエラー情報を取得する必要がない場合には、デ
バイスドライバにより第1の多目的レジスタ(CSR)
13をリードするトランザクションを省略することが可
能である。
As described above, in this example, the host system 2
By reading the first multi-purpose register (CSR) 13 of the LAN controller 1 by the device driver of the LAN controller 1, the transmission message packet in which the error has occurred can be specified.
(Ission Control Protocol / Internet Protocol) layer-level delay can be minimized. As described in the first embodiment, for example, when it is not necessary to obtain the error information by the device driver, the device driver sets the first multi-purpose register (CSR).
It is possible to omit the transaction that leads to 13.

【0116】次に、図8(a)には、従来のデータ転送
システムやデータ転送方法を用いた場合における送信フ
レームの転送シーケンスの一例を示してある一方、同図
(b)には、本発明を適用したデータ転送システムやデ
ータ転送方法を用いた場合における送信フレームの転送
シーケンスの一例を示してあり、同図(a)及び同図
(b)を参照して、本発明を適用したデータ転送システ
ム等により得られる効果を定量的に示す。
Next, FIG. 8A shows an example of a transfer sequence of a transmission frame when a conventional data transfer system or data transfer method is used, while FIG. FIG. 3 shows an example of a transfer sequence of a transmission frame when a data transfer system and a data transfer method to which the present invention is applied, and FIG. 10A and FIG. 10B show data to which the present invention is applied. The effects obtained by the transfer system and the like are quantitatively shown.

【0117】なお、同図(a)や同図(b)に示した転
送シーケンス中には、クロック信号(CLK)や、バス
使用要求信号(REQ#)や、バス使用許可信号(GN
T#)や、送信フレーム信号(FRAME#)や、イニ
シエイタレディ信号(IRDY#)や、デバイスセレク
ト信号(DEVSEL#)や、ターゲットレディ信号
(TRDY#)の波形の一例を示してある。
Note that, during the transfer sequence shown in FIGS. 9A and 9B, a clock signal (CLK), a bus use request signal (REQ #), and a bus use permission signal (GN
T #), a transmission frame signal (FRAME #), an initiator ready signal (IRDY #), a device select signal (DEVSEL #), and a target ready signal (TRDY #).

【0118】すなわち、従来では、同図(a)に示され
るように、送信ディスクリプタのPCIリード転送処理
に係るトランザクション51によりホストシステム2か
らLANコントローラ1へ送信ディスクリプタを転送し
た後に、送信フレームのPCIリード転送処理に係るト
ランザクション53により送信フレームをホストシステ
ム2からLANコントローラ1へリード転送することが
行われていたため、これら2つのトランザクション5
1、53の間に別のデバイスによるトランザクション5
2が行われてしまう可能性もあり、フレームの転送には
非常に時間がかかってしまっていた。
That is, conventionally, as shown in FIG. 11A, after the transmission descriptor is transferred from the host system 2 to the LAN controller 1 by the transaction 51 related to the PCI read transfer processing of the transmission descriptor, the PCI of the transmission frame is transmitted. Since the transmission frame was read-transferred from the host system 2 to the LAN controller 1 by the transaction 53 relating to the read transfer processing, these two transactions 5
Transaction 5 by another device during 1, 53
2 could be performed, and the frame transfer took a very long time.

【0119】一方、本発明を適用したデータ転送システ
ム等における例えばチャネル2を用いた転送処理では、
同図(b)に示されるように、送信ディスクリプタに加
えて予め決まったサイズの送信データをもまとめてホス
トシステム2からLANコントローラ1へバースト転送
するトランザクション54が行われるため、送信フレー
ムがLANコントローラ1内に転送されるまでの時間が
短く、低レイテンシーで送信を行うことが可能である。
On the other hand, in a transfer process using, for example, channel 2 in a data transfer system or the like to which the present invention is applied,
As shown in FIG. 6B, a transaction 54 is performed to collectively transmit transmission data of a predetermined size in addition to the transmission descriptor, and to perform a burst transfer from the host system 2 to the LAN controller 1. 1. The time until the data is transferred within 1 is short, and transmission can be performed with low latency.

【0120】また、同図(a)及び同図(b)に示した
例では、本発明を適用した場合の方が従来例と比べて、
およそ25クロック(CLK)のアドバンテージとなっ
ているが、実際には従来のデータ転送システム等におい
てはデータの準備が遅くリトライが重なることもあるた
め、例えば66MHz動作の場合でも1μsec以上の
高速化が見込まれる。つまり、伝送速度が1Gbpsの
ネットワークを用いた場合、本発明を適用したデータ転
送システム等では、100バイト程度のメッセージパケ
ットを十分に送信してしまえるだけの時間を節約するこ
とができることになる。更に、第2実施例で示したよう
に、複数のメッセージデータパケットをまとめてホスト
システム2からLANコントローラ1へ転送するように
すると、本発明に係る転送処理により得られる効果は更
に大きいものとなる。
Further, in the examples shown in FIGS. 11A and 11B, the case where the present invention is applied is larger than that of the conventional example.
Although it has an advantage of about 25 clocks (CLK), in actuality, in a conventional data transfer system or the like, data preparation is slow and retry may be repeated. Expected. In other words, when a network having a transmission rate of 1 Gbps is used, in a data transfer system or the like to which the present invention is applied, it is possible to save time for sufficiently transmitting a message packet of about 100 bytes. Further, as shown in the second embodiment, when a plurality of message data packets are collectively transferred from the host system 2 to the LAN controller 1, the effect obtained by the transfer processing according to the present invention is further enhanced. .

【0121】このように、本発明を適用したデータ転送
システムやデータ転送方法では、例えば従来のデータ転
送システムやデータ転送方法と比較して、送信データの
送信時におけるオーバーヘッドを大幅に減らすことがで
き、これにより、送信データを高速にホストシステムの
システムメモリからLANコントローラへ転送すること
ができる。
As described above, in the data transfer system and the data transfer method to which the present invention is applied, the overhead at the time of transmitting the transmission data can be greatly reduced as compared with, for example, the conventional data transfer system and the data transfer method. Thus, transmission data can be transferred from the system memory of the host system to the LAN controller at high speed.

【0122】以上に示したように、本発明の実施例に係
るデータ転送装置やデータ転送方法では、例えば計算機
システムをネットワークに接続するためのネットワーク
インタフェース装置を用いた構成において、ホストシス
テムから当該ネットワークインタフェース装置上へ送信
データを転送するに際して、デバイスドライバのソフト
ウエアは、送信するパケットのサイズの大小によって少
なくとも2つのカテゴリーに分け、送信対象となるパケ
ットのサイズが小さいと判断した場合には、その旨を伝
えるための(通常の送信時とは異なる)S−TX CM
Dをネットワークインタフェース装置に対して発生す
る。そして、このコマンドが発生された場合には、送信
ディスクリプタに加えて一律な或る所定サイズの送信デ
ータを一度のPCIバスオペレーションでホストシステ
ムからバースト転送してネットワークインタフェース装
置にバッファリングする。
As described above, according to the data transfer apparatus and the data transfer method according to the embodiment of the present invention, for example, in a configuration using a network interface device for connecting a computer system to a network, the host system transmits the data to the network. When transferring transmission data onto the interface device, the software of the device driver divides the packet into at least two categories according to the size of the packet to be transmitted, and if it determines that the size of the packet to be transmitted is small, the S-TX CM (not at the time of normal transmission)
D to the network interface device. When this command is issued, in addition to the transmission descriptor, uniform transmission data of a certain predetermined size is burst-transferred from the host system by one PCI bus operation and buffered in the network interface device.

【0123】また、本発明の実施例に係るデータ転送シ
ステムやデータ転送方法では、上記のような転送処理を
行うに際して、デバイスドライバがS−TX CMDに
対応するビット値をライトするためのコントロール/ス
テータスレジスタ(CSR)を用いることや、セレクタ
により送信ディスクリプタと送信データとで格納先とな
るメモリを動的に切り変えることを行っている。
In the data transfer system and the data transfer method according to the embodiment of the present invention, when performing the above-described transfer processing, the device driver controls / writes the bit value corresponding to the S-TX CMD. A status register (CSR) is used, and a selector is used to dynamically switch a storage destination memory between a transmission descriptor and transmission data.

【0124】また、本発明の実施例に係るデータ転送シ
ステムやデータ転送方法では、上述のように、送信デー
タを保持するデータ待機領域のサイズが異なる少なくと
も2つの送信ディスクリプタのチャネルを備え、これら
複数のチャネルを適宜切り替えることで、送信データの
転送処理を実行する。
Further, as described above, the data transfer system and the data transfer method according to the embodiment of the present invention are provided with at least two transmission descriptor channels having different sizes of data waiting areas for holding transmission data. The transmission process of the transmission data is executed by appropriately switching the channel of the transmission data.

【0125】また、本発明の実施例に係るデータ転送シ
ステムやデータ転送方法では、CSRがネットワークへ
の送信処理が終了したことを示すビットと当該送信処理
が成功したか否かを示すビットから構成されるエラース
テータスビットを備え、当該送信処理が終了したことを
示すビットは割り込み信号線に直結されていて割り込み
信号としてホストシステムへ通達され、また、デバイス
ドライバのソフトウエアは送信処理が成功したか否かを
知る必要がある場合にのみCSRをリードすることで当
該送信処理の成功の是非を確認する。
In the data transfer system and the data transfer method according to the embodiment of the present invention, the CSR comprises a bit indicating that the transmission processing to the network has been completed and a bit indicating whether the transmission processing has succeeded. A bit indicating that the transmission process has been completed is directly connected to the interrupt signal line and notified to the host system as an interrupt signal, and the device driver software checks whether the transmission process was successful. By reading the CSR only when it is necessary to know whether or not the transmission process is successful, it is confirmed whether or not the transmission process is successful.

【0126】また、本発明の実施例に係るデータ転送シ
ステムやデータ転送方法では、CSRは送信命令のコマ
ンドがS−TX CMDである場合に連続して処理する
フレームの数を指定するシリアルナンバーフィールドを
備え、ネットワークインタフェース装置は当該シリアル
ナンバーフィールドの値を確認して、当該シリアルナン
バーフィールドに記述された数のフレーム分の送信ディ
スクリプタと送信データとの組をまとめてホストシステ
ムからバースト転送して取込む。
In the data transfer system and the data transfer method according to the embodiment of the present invention, the CSR designates a serial number field for designating the number of frames to be processed continuously when the command of the transmission command is S-TX CMD. The network interface device checks the value of the serial number field, and collectively transmits a set of transmission descriptors and transmission data for the number of frames described in the serial number field and performs burst transfer from the host system. Put in.

【0127】また、本発明の実施例に係るデータ転送シ
ステムやデータ転送方法では、CSRは実際にまとめて
送信処理されたフレームの数を示すシリアルパケットナ
ンバーフィールドと、送信処理に失敗したフレームを特
定するためのフェイラパケットインディケータフィール
ドとを備え、デバイスドライバのソフトウェアは送信処
理が成功したか否かを知る必要がある場合にのみ、CS
Rをリードすることでエラーが生じたフレームを特定す
ることができる。
In the data transfer system and the data transfer method according to the embodiment of the present invention, the CSR specifies the serial packet number field indicating the number of frames that have been actually transmitted and processed, and specifies the frame for which transmission processing has failed. And a failure packet indicator field for performing the transmission, and the device driver software needs to know whether or not the transmission process has succeeded.
By reading R, a frame in which an error has occurred can be specified.

【0128】なお、以上に示した実施例では、ホストシ
ステム2のハードディスク装置(HDD)等にデバイス
ドライバがインストールされた形態などを用いて本発明
に係る各種の処理を実現しており、この場合、デバイス
ドライバが本発明に言うプログラムに相当し、デバイス
ドライバをインストールしたHDD等が本発明に言う記
憶媒体に相当する。また、以上に示した実施例では、デ
バイスドライバがハードウエアをドライブするあらゆる
処理を行っており、本発明に言うプログラムにより行わ
れる各種の処理は、当該デバイスドライバにより行われ
る処理の一部として実装されている。
In the embodiment described above, various processes according to the present invention are realized by using a form in which a device driver is installed in a hard disk drive (HDD) of the host system 2 or the like. The device driver corresponds to the program according to the present invention, and the HDD or the like in which the device driver is installed corresponds to the storage medium according to the present invention. In the embodiment described above, the device driver performs all kinds of processing for driving the hardware, and various kinds of processing performed by the program according to the present invention are implemented as a part of the processing performed by the device driver. Have been.

【0129】ここで、本発明に係るネットワークインタ
フェース装置や通信装置の構成としては、必ずしも以上
に示したものに限られず、種々な構成が用いられてもよ
い。また、本発明の適用分野としては、必ずしも以上に
示したものに限られず、本発明は、種々な分野に適用す
ることが可能なものである。
Here, the configurations of the network interface device and the communication device according to the present invention are not necessarily limited to those described above, and various configurations may be used. Further, the application field of the present invention is not necessarily limited to the above-described fields, and the present invention can be applied to various fields.

【0130】一例として、本実施例では、本発明に係る
ネットワークインタフェース装置をLANコントローラ
に適用した場合を示したが、本発明は、種々なネットワ
ークインタフェース装置に適用することが可能なもので
ある。同様に、本実施例では、本発明に係る通信装置を
パーソナルコンピュータ(ホストシステム)に適用した
場合を示したが、本発明は、種々な通信装置に適用する
ことが可能なものである。
As an example, in the present embodiment, the case where the network interface device according to the present invention is applied to a LAN controller has been described. However, the present invention can be applied to various network interface devices. Similarly, in the present embodiment, the case where the communication device according to the present invention is applied to a personal computer (host system) has been described, but the present invention can be applied to various communication devices.

【0131】また、本発明に係るネットワークインタフ
ェース装置や通信装置により行われる各種の処理として
は、例えばプロセッサやメモリ等を備えたハードウエア
資源においてプロセッサがROMに格納された制御プロ
グラムを実行することにより制御される構成が用いられ
てもよく、また、例えば当該処理を実行するための各機
能手段が独立したハードウエア回路として構成されても
よい。また、本発明は上記の制御プログラムを格納した
フロッピー(登録商標)ディスクやCD−ROM等のコ
ンピュータにより読み取り可能な記憶媒体や当該プログ
ラム(自体)として把握することもでき、当該制御プロ
グラムを記憶媒体からコンピュータに入力してプロセッ
サに実行させることにより、本発明に係る処理を遂行さ
せることができる。
The various processes performed by the network interface device and the communication device according to the present invention include, for example, a processor executing a control program stored in a ROM in a hardware resource including a processor and a memory. A configuration to be controlled may be used, and for example, each functional unit for executing the processing may be configured as an independent hardware circuit. The present invention can also be understood as a computer-readable storage medium such as a floppy (registered trademark) disk or a CD-ROM storing the above-mentioned control program or the program (the program itself). By inputting the information to a computer and causing the processor to execute the processing, the processing according to the present invention can be performed.

【0132】[0132]

【発明の効果】以上説明したように、本発明に係るネッ
トワークインタフェース装置や通信装置や記憶媒体によ
ると、送信データに関する制御情報を含む送信ディスク
リプタ及び送信データをまとめて通信装置からネットワ
ークインタフェース装置へ入力し、当該ネットワークイ
ンタフェース装置が入力した送信ディスクリプタに基づ
いて入力した送信データをネットワークに対して送信す
るようにしたため、通信装置からネットワークインタフ
ェース装置への送信データの転送速度を高めることがで
き、これにより、送信データを高速にネットワークへ送
信することができる。
As described above, according to the network interface device, the communication device, and the storage medium according to the present invention, the transmission descriptor including the control information on the transmission data and the transmission data are collectively input from the communication device to the network interface device. Then, since the transmission data input based on the transmission descriptor input by the network interface device is transmitted to the network, the transfer speed of the transmission data from the communication device to the network interface device can be increased. , Transmission data can be transmitted to the network at high speed.

【0133】また、本発明に係るネットワークインタフ
ェース装置などによると、送信データのサイズが閾値未
満である場合に、送信ディスクリプタ及び送信データを
まとめて通信装置からネットワークインタフェース装置
へ入力するようにしたため、従来において特に転送速度
が遅くなってしまうサイズが小さい送信データについ
て、通信装置からネットワークインタフェース装置への
送信データの転送速度を高めることができる。
Further, according to the network interface device or the like according to the present invention, when the size of the transmission data is smaller than the threshold, the transmission descriptor and the transmission data are collectively input from the communication device to the network interface device. In particular, the transmission speed of the transmission data from the communication device to the network interface device can be increased with respect to the transmission data of a small size that causes the transfer speed to be slow.

【0134】また、本発明に係るネットワークインタフ
ェース装置などによると、通信装置が送信ディスクリプ
タ及び所定サイズ以下の送信データを格納するデータ格
納領域を複数の送信データサイズに対応して有し、送信
データのサイズに応じて通信装置が有するいずれかのデ
ータ格納領域に格納されたデータを通信装置からネット
ワークインタフェース装置へ入力するようにしたため、
例えば用意された複数のデータ格納領域の中で送信デー
タのサイズに適したデータ格納領域を用いて、通信装置
からネットワークインタフェース装置へのデータ転送処
理やネットワークに対する送信データの送信処理を行う
ことができる。
Further, according to the network interface device or the like according to the present invention, the communication device has a transmission descriptor and a data storage area for storing transmission data of a predetermined size or less corresponding to a plurality of transmission data sizes. Because data stored in any data storage area of the communication device according to the size is input from the communication device to the network interface device,
For example, data transfer processing from a communication device to a network interface device and transmission data transmission processing to a network can be performed using a data storage area suitable for the size of transmission data among a plurality of prepared data storage areas. .

【0135】また、本発明に係るネットワークインタフ
ェース装置などによると、送信対象となる送信データの
数に関する情報を通信装置からネットワークインタフェ
ース装置へ入力し、入力した当該情報に基づく数の送信
ディスクリプタ及び送信データの組を通信装置からネッ
トワークインタフェース装置へ入力するようにしたた
め、通信装置からネットワークインタフェース装置への
データ転送処理を効率よく行うことができる。
According to the network interface device of the present invention, information on the number of transmission data to be transmitted is input from the communication device to the network interface device, and the number of transmission descriptors and transmission data based on the input information is input. Is input from the communication device to the network interface device, so that data transfer processing from the communication device to the network interface device can be performed efficiently.

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

【図1】 本発明の実施例に係るデータ転送システムの
一例を示す図である。
FIG. 1 is a diagram illustrating an example of a data transfer system according to an embodiment of the present invention.

【図2】 第1の多目的レジスタの構成例を示す図であ
る。
FIG. 2 is a diagram illustrating a configuration example of a first multi-purpose register.

【図3】 2チャネル分の送信ディスクリプタ格納領域
及び送信待機用バッファの一例を示す図である。
FIG. 3 is a diagram illustrating an example of a transmission descriptor storage area for two channels and a transmission standby buffer;

【図4】 送信フレームをホストシステムからLANコ
ントローラへ転送する処理の手順の一例を示すフローチ
ャート図である。
FIG. 4 is a flowchart illustrating an example of a procedure of a process of transferring a transmission frame from a host system to a LAN controller.

【図5】 送信フレームをLANコントローラからネッ
トワークに対して送信する処理の手順の一例を示すフロ
ーチャート図である。
FIG. 5 is a flowchart illustrating an example of a procedure of a process of transmitting a transmission frame from a LAN controller to a network.

【図6】 セレクタによりデータの格納先を切り替える
処理を説明するための図である。
FIG. 6 is a diagram illustrating a process of switching a data storage destination by a selector.

【図7】 ステータスフィールド内のフェイラパケット
インディケータビットなどの値が変更される様子の一例
を示す図である。
FIG. 7 is a diagram illustrating an example of a state in which a value such as a failure packet indicator bit in a status field is changed.

【図8】 本発明を適用したデータ転送システムなどに
より得られる効果の一例を説明するための図である。
FIG. 8 is a diagram illustrating an example of an effect obtained by a data transfer system or the like to which the present invention is applied.

【図9】 従来の代表的なイーサネット用のLANコン
トローラの構成例を示す図である。
FIG. 9 is a diagram showing a configuration example of a conventional typical Ethernet LAN controller.

【図10】 送信ディスクリプタの構造の一例を示す図
である。
FIG. 10 is a diagram illustrating an example of the structure of a transmission descriptor.

【図11】 送信ディスクリプタのリング構造の一例を
示す図である。
FIG. 11 is a diagram illustrating an example of a ring structure of a transmission descriptor.

【図12】 送信ディスクリプタの構造の他の例を示す
図である。
FIG. 12 is a diagram illustrating another example of the structure of the transmission descriptor.

【図13】 送信ディスクリプタのチェイン構造の一例
を示す図である。
FIG. 13 is a diagram illustrating an example of a chain structure of a transmission descriptor.

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

1・・LANコントローラ、 2・・ホストシステム、
3・・ネットワーク、11・・PCIバスインタフェ
ース、 12・・DMAコントローラ、13、14・・
多目的レジスタ、 15・・送信用FIFOバッファメ
モリ、16・・セレクタ、 17・・MACコントロー
ラ、18・・SIAインタフェース、 19・・MII
インタフェース、20・・受信用FIFOバッファメモ
リ、 21・・データ制御部、22・・CPU、 23
・・システムメモリ、 31・・コマンドフィールド、
32・・ステータスフィールド、 33・・VPレジス
タフィールド、34・・コマンドビット、 35・・シ
リアルナンバービット、36・・エラーステータスビッ
ト、37・・シリアルパケットナンバービット、38・
・フェイラパケットインディケータビット、41、42
・・データ格納領域、43a〜43c、45a〜45c
・・送信ディスクリプタ、44a〜44c、46a〜4
6c・・送信待機用バッファ、
1. LAN controller, 2. Host system,
3. Network, 11. PCI bus interface, 12. DMA controller, 13, 14,.
Multi-purpose register, 15 ··· FIFO buffer memory for transmission, 16 · selector, 17 · · MAC controller, 18 · · SIA interface, 19 · · MII
Interface, 20 FIFO buffer memory for reception, 21 data control unit, 22 CPU, 23
..System memory, 31..Command field,
32 status field, 33 VP register field, 34 command bit, 35 serial number bit, 36 error status bit, 37 serial packet number bit, 38
・ Failer packet indicator bits, 41, 42
..Data storage areas, 43a to 43c and 45a to 45c
..Transmission descriptors, 44a to 44c, 46a to 4
6c buffer for transmission,

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 送信データに関する制御情報を含む送信
ディスクリプタ及び送信データを通信装置から入力し、
入力した送信ディスクリプタに基づいて入力した送信デ
ータをネットワークに対して送信するネットワークイン
タフェース装置において、 送信ディスクリプタ及び送信データをまとめて通信装置
から入力し、入力した送信ディスクリプタに基づいて入
力した送信データをネットワークに対して送信するイン
タフェース手段を備えたことを特徴とするネットワーク
インタフェース装置。
1. A transmission descriptor including control information on transmission data and transmission data are input from a communication device,
In a network interface device for transmitting transmission data input based on an input transmission descriptor to a network, the transmission descriptor and the transmission data are collectively input from a communication device, and the transmission data input based on the input transmission descriptor is transmitted to a network. A network interface device comprising interface means for transmitting data to a network.
【請求項2】 請求項1に記載のネットワークインタフ
ェース装置において、 インタフェース手段は、送信データのサイズが閾値未満
である場合に送信ディスクリプタ及び送信データをまと
めて通信装置から入力することを特徴とするネットワー
クインタフェース装置。
2. The network interface device according to claim 1, wherein the interface unit collectively inputs the transmission descriptor and the transmission data from the communication device when the size of the transmission data is smaller than a threshold value. Interface device.
【請求項3】 請求項1又は請求項2に記載のネットワ
ークインタフェース装置において、 通信装置は送信ディスクリプタ及び所定サイズ以下の送
信データを格納するデータ格納領域を複数の送信データ
サイズに対応して有しており、 インタフェース手段は、送信データのサイズに応じて通
信装置が有するいずれかのデータ格納領域に格納された
データを通信装置から入力することを特徴とするネット
ワークインタフェース装置。
3. The network interface device according to claim 1, wherein the communication device has a transmission descriptor and a data storage area for storing transmission data of a predetermined size or less corresponding to a plurality of transmission data sizes. Wherein the interface means inputs data stored in any of the data storage areas of the communication device according to the size of the transmission data from the communication device.
【請求項4】 請求項1乃至請求項3のいずれか1項に
記載のネットワークインタフェース装置において、 インタフェース手段は、送信対象となる送信データの数
に関する情報を通信装置から入力し、入力した当該情報
に基づく数の送信ディスクリプタ及び送信データの組を
通信装置から入力することを特徴とするネットワークイ
ンタフェース装置。
4. The network interface device according to claim 1, wherein the interface unit inputs information on the number of transmission data to be transmitted from the communication device, and the input information includes A network interface device for inputting a set of transmission descriptors and transmission data based on the number of transmission descriptors from a communication device.
【請求項5】 送信データに関する制御情報を含む送信
ディスクリプタに基づいて送信データをネットワークに
対して送信するネットワークインタフェース装置に対し
て送信ディスクリプタ及び送信データを出力する通信装
置において、 送信ディスクリプタ及び送信データをまとめてネットワ
ークインタフェース装置に対して出力する通信手段を備
えたことを特徴とする通信装置。
5. A communication device for outputting a transmission descriptor and transmission data to a network interface device for transmitting transmission data to a network based on a transmission descriptor including control information relating to the transmission data, the communication device comprising: A communication device comprising communication means for outputting to a network interface device collectively.
【請求項6】 請求項5に記載の通信装置において、 通信手段は、送信データのサイズが閾値未満である場合
に送信ディスクリプタ及び送信データをまとめてネット
ワークインタフェース装置に対して出力することを特徴
とする通信装置。
6. The communication device according to claim 5, wherein the communication unit collectively outputs the transmission descriptor and the transmission data to the network interface device when the size of the transmission data is smaller than the threshold value. Communication device.
【請求項7】 請求項5又は請求項6に記載の通信装置
において、 送信ディスクリプタ及び所定サイズ以下の送信データを
格納するデータ格納領域を複数の送信データサイズに対
応して有し、 通信手段は、送信データのサイズに応じていずれかのデ
ータ格納領域に格納されたデータをネットワークインタ
フェース装置に対して出力することを特徴とする通信装
置。
7. The communication device according to claim 5, further comprising a transmission descriptor and a data storage area for storing transmission data of a predetermined size or less corresponding to a plurality of transmission data sizes. A communication device for outputting data stored in one of data storage areas to a network interface device according to a size of transmission data.
【請求項8】 請求項5乃至請求項7のいずれか1項に
記載の通信装置において、 通信手段は、送信対象となる送信データの数に関する情
報をネットワークインタフェース装置に対して出力し、
当該数の送信ディスクリプタ及び送信データの組をネッ
トワークインタフェース装置に対して出力することを特
徴とする通信装置。
8. The communication device according to claim 5, wherein the communication unit outputs information on the number of transmission data to be transmitted to the network interface device,
A communication device for outputting a set of transmission descriptors and transmission data of the number to a network interface device.
【請求項9】 コンピュータに実行させるプログラムを
当該コンピュータの入力手段が読取可能に記憶した記憶
媒体において、 当該プログラムは、送信データに関する制御情報を含む
送信ディスクリプタに基づいて送信データをネットワー
クに対して送信するネットワークインタフェース装置に
対して送信ディスクリプタ及び送信データをまとめて出
力する処理を当該コンピュータに実行させることを特徴
とする記憶媒体。
9. A storage medium storing a program to be executed by a computer in a manner readable by an input means of the computer, wherein the program transmits transmission data to a network based on a transmission descriptor including control information on the transmission data. A storage medium for causing a computer to execute a process of collectively outputting a transmission descriptor and transmission data to a network interface device to be executed.
【請求項10】 請求項9に記載の記憶媒体において、 前記プログラムは、送信データのサイズが閾値未満であ
る場合に送信ディスクリプタ及び送信データをまとめて
ネットワークインタフェース装置に対して出力する処理
を前記コンピュータに実行させることを特徴とする記憶
媒体。
10. The computer-readable storage medium according to claim 9, wherein the program performs a process of collectively outputting a transmission descriptor and transmission data to a network interface device when the size of the transmission data is smaller than a threshold value. A storage medium characterized by being executed by a user.
【請求項11】 請求項9又は請求項10に記載の記憶
媒体において、 前記プログラムは、複数の送信データサイズに対応して
設けられて送信ディスクリプタ及び所定サイズ以下の送
信データを格納するデータ格納領域の中から、送信デー
タのサイズに応じていずれかのデータ格納領域に格納さ
れたデータをネットワークインタフェース装置に対して
出力する処理を前記コンピュータに実行させることを特
徴とする記憶媒体。
11. The storage medium according to claim 9, wherein the program is provided in correspondence with a plurality of transmission data sizes, and stores a transmission descriptor and transmission data of a predetermined size or less. A storage medium for causing the computer to execute a process of outputting data stored in any one of the data storage areas to the network interface device according to the size of transmission data.
【請求項12】 請求項9乃至請求項11のいずれか1
項に記載の記憶媒体において、 前記プログラムは、送信対象となる送信データの数に関
する情報をネットワークインタフェース装置に対して出
力する処理と、当該数の送信ディスクリプタ及び送信デ
ータの組をネットワークインタフェース装置に対して出
力する処理とを前記コンピュータに実行させることを特
徴とする記憶媒体。
12. The method according to claim 9, wherein
The storage medium according to claim, wherein the program outputs, to the network interface device, a process of outputting information regarding the number of transmission data items to be transmitted to the network interface device, And causing the computer to execute a process of outputting the data.
JP2000372761A 2000-12-07 2000-12-07 Network interface device Pending JP2002176464A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000372761A JP2002176464A (en) 2000-12-07 2000-12-07 Network interface device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000372761A JP2002176464A (en) 2000-12-07 2000-12-07 Network interface device

Publications (1)

Publication Number Publication Date
JP2002176464A true JP2002176464A (en) 2002-06-21

Family

ID=18842248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000372761A Pending JP2002176464A (en) 2000-12-07 2000-12-07 Network interface device

Country Status (1)

Country Link
JP (1) JP2002176464A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102930A (en) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> Method, computer program and device for performing operation to external i/o device locally connected to system image in data processing system (apparatus and method for communicating with input/output adapter using cached address translation)
JP2008102928A (en) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> Method, computer program and apparatus for establishing address translations for communicating between device driver and input/output device in data processing system (apparatus and method for communicating with input/output device using queue data structure and pre-translated address)
JP2008102929A (en) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> A method, computer program, and method for managing address translation to access a buffer data structure used by a network device driver to communicate with a network input / output (I / O) adapter within a data processing system And devices (devices and methods for communicating with a network adapter using queue data structures and cached address translation)
CN111600809A (en) * 2020-05-15 2020-08-28 北京光润通科技发展有限公司 Gigabit single-optical-port server adapter

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102930A (en) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> Method, computer program and device for performing operation to external i/o device locally connected to system image in data processing system (apparatus and method for communicating with input/output adapter using cached address translation)
JP2008102928A (en) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> Method, computer program and apparatus for establishing address translations for communicating between device driver and input/output device in data processing system (apparatus and method for communicating with input/output device using queue data structure and pre-translated address)
JP2008102929A (en) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> A method, computer program, and method for managing address translation to access a buffer data structure used by a network device driver to communicate with a network input / output (I / O) adapter within a data processing system And devices (devices and methods for communicating with a network adapter using queue data structures and cached address translation)
US8769168B2 (en) 2006-10-17 2014-07-01 International Business Machines Corporation Method for communicating with a network adapter using a queue data structure and cached address translations
CN111600809A (en) * 2020-05-15 2020-08-28 北京光润通科技发展有限公司 Gigabit single-optical-port server adapter
CN111600809B (en) * 2020-05-15 2023-11-21 北京光润通科技发展有限公司 Gigabit single optical port server adapter

Similar Documents

Publication Publication Date Title
US5634015A (en) Generic high bandwidth adapter providing data communications between diverse communication networks and computer system
US6061687A (en) Linked lists of transfer descriptors scheduled at intervals
EP1896965B1 (en) Dma descriptor queue read and cache write pointer arrangement
US7281077B2 (en) Elastic buffer module for PCI express devices
JP3127523B2 (en) Communication control device and data transmission method
JP2001142842A (en) DMA handshake protocol
JP2002204253A (en) Host processor in asynchronous transfer mode, interface unit for inter-digital signal processor transfer, and data processing system using the same
JPH1078934A (en) Multi-size bus coupling system for packet switching computer system
JPS62221057A (en) Method and apparatus for generating pointer address
JP2001119415A (en) Data transfer control device and electronic equipment
TW508522B (en) System input/output interface design for scaling
JP2003316731A (en) Data transfer control device, electronic device, and data transfer control method
CN101636721A (en) DMAC for handling transfers of unknown length
US7028130B2 (en) Generating multiple traffic classes on a PCI Express fabric from PCI devices
CN116166581A (en) Queue type DMA controller circuit and data transmission method for PCIE bus
US7058747B2 (en) Bus system and bus interface for connection to a bus
US5911152A (en) Computer system and method for storing data in a buffer which crosses page boundaries utilizing beginning and ending buffer pointers
JP2003316732A (en) Data transfer control device, electronic device, and data transfer control method
US7043589B2 (en) Bus system and bus interface
JP2002176464A (en) Network interface device
JP2005062940A (en) I / O controller
JP2000259523A (en) Data transfer device, lan communication system and data transfer method
JP2006119724A (en) CPU system, bus bridge, control method thereof, and computer system
JP5587530B2 (en) Engine / processor linkage system and linkage method
JP2012205142A (en) Data transfer device, data transfer method, and information processor