JP2006174265A - Stream packet receiver - Google Patents

Stream packet receiver Download PDF

Info

Publication number
JP2006174265A
JP2006174265A JP2004366301A JP2004366301A JP2006174265A JP 2006174265 A JP2006174265 A JP 2006174265A JP 2004366301 A JP2004366301 A JP 2004366301A JP 2004366301 A JP2004366301 A JP 2004366301A JP 2006174265 A JP2006174265 A JP 2006174265A
Authority
JP
Japan
Prior art keywords
memory means
packet
received
length
received packet
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.)
Granted
Application number
JP2004366301A
Other languages
Japanese (ja)
Other versions
JP4502796B2 (en
Inventor
Hiroshi Mitani
浩 三谷
Yoshiki Watanabe
佳樹 渡邉
Tsukasa Yoshiura
司 吉浦
Koji Arii
浩二 有井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004366301A priority Critical patent/JP4502796B2/en
Publication of JP2006174265A publication Critical patent/JP2006174265A/en
Application granted granted Critical
Publication of JP4502796B2 publication Critical patent/JP4502796B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an economical stream packet receiver in which an expensive memory means for reception packets can be saved. <P>SOLUTION: In the stream packet receiver (SPR1), a packet length detector (107) detects lengths of all reception packets and based on detected reception packet length information, a DMA controller (102) transfers reception packet of which the length is shorter than a preset length, in the packets received from a network, to a first memory (104) and transfers reception packets of which the length is equal with or longer than said length, to a second memory (105). <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、一般にストリーム情報と呼ばれる音声や動画映像などの時間的に連続性を有する情報をネットワークを通じて伝送する装置の受信側のストリームパケット受信に関し、特に多数の機能が1チップに集積された一般にシステムLSIと呼ばれる多機能LSIに好適なストリームパケット受信装置に関する。   The present invention relates to stream packet reception on the receiving side of a device that transmits temporally continuous information such as audio and moving image, generally called stream information, over a network, and in particular, a large number of functions are generally integrated on one chip. The present invention relates to a stream packet receiving apparatus suitable for a multi-function LSI called a system LSI.

ネットワークの送受信装置における基本要素は、装置内で送受信すべき情報を取り扱うCPU(中央処理装置)と、ネットワークを構成するデータリンクに対してパケットを送受信するコントローラと、送信すべき情報を含む送信パケットや、ネットワークから到来した受信パケットを記憶、格納するメインメモリである。   The basic elements in a network transmission / reception apparatus are a CPU (central processing unit) that handles information to be transmitted / received in the apparatus, a controller that transmits / receives a packet to / from a data link constituting the network, and a transmission packet that includes information to be transmitted. Or a main memory for storing and storing received packets arriving from the network.

メインメモリには、その容量あたりの物理的寸法が小さく、コストの安いDRAM(ダイナミックRAM)が一般的に用いられる。DRAMはその構成上の特性として、比較的長いレイテンシを持つ。すなわちデータの出力の要求が発生した時点から、実際にデータが要求に応えて返ってくるまでの時間が長い。しかし一度に要求できるデータのサイズは大きくできるので、単位時間あたりのデータ入出力レート、すなわちバンド幅は低くはない。   As the main memory, a DRAM (dynamic RAM) having a small physical dimension per capacity and low cost is generally used. DRAM has a relatively long latency as a structural characteristic. In other words, it takes a long time from when the data output request occurs until the data actually returns in response to the request. However, since the size of data that can be requested at one time can be increased, the data input / output rate per unit time, that is, the bandwidth is not low.

CPUから、DRAMで構成されたメモリにアクセスする場合、CPUが要求するレイテンシでデータの読み書きができないために、別途、CPUとメインメモリの間にキャッシュメモリと呼ばれる高速で小容量のSRAM(スタティックRAM)メモリで構成されたバッファを設け、相互のデータの受渡しの調整を行われる。   When accessing the memory constituted by the DRAM from the CPU, data cannot be read and written with the latency required by the CPU. Therefore, a high-speed small-capacity SRAM (static RAM) called a cache memory is separately provided between the CPU and the main memory. ) A buffer composed of a memory is provided, and mutual data transfer is adjusted.

CPUが発生するメモリアクセスには、局在性と反復性がともに高いという特徴があり、一度キャッシュメモリに情報が記憶されると、レイテンシの長いメインメモリへのアクセスの頻度を著しく減少させることが可能となる。結果、CPUはDRAMのレイテンシの長さに煩わされることなくメモリアクセスを行うことができる。   Memory access generated by the CPU is characterized by high locality and repeatability. Once information is stored in the cache memory, the frequency of access to the main memory having a long latency can be significantly reduced. It becomes possible. As a result, the CPU can access the memory without being bothered by the latency of the DRAM.

ところで、ネットワークから受信したパケットを取り扱う場合には、パケットの識別を行うためにヘッダを判別したり、誤り検出のためにチェックサムの検査を行ったりする。この作業もデータの局在性は高いと言えるが、受信パケットはつぎつぎと到来するため、反復性が高いとは言えない。   By the way, when a packet received from the network is handled, a header is discriminated in order to identify the packet, or a checksum is inspected to detect an error. Although this operation also has high data localization, it cannot be said that the repeatability is high because received packets arrive one after another.

すなわちコントローラがつぎつぎと受信したパケットをメインメモリ上の異なる領域に転送するため、キャッシュメモリに記憶された情報は無効となり、その都度、レイテンシの長いDRAMから読み出す必要がある。そしてその間CPUは待たされることになる。これは、CPUがキャッシュメモリとの組合せで達成していた処理性能から期待される水準に比べ、大幅な性能劣化として認識される。   In other words, since the controller sequentially transfers packets received to different areas on the main memory, the information stored in the cache memory becomes invalid and must be read from the DRAM with a long latency each time. During that time, the CPU waits. This is recognized as a significant performance degradation compared to the level expected from the processing performance achieved by the CPU in combination with the cache memory.

当然、ネットワークの送受信装置のメインメモリをレイテンシの短いSRAMに置き換えれば、処理の高速化を図ることが可能である。そして、SRAMはトランジスタのみから構成されるので、トランジスタとコンデンサからなるDRAMのような特殊な製造プロセスを必要としない。また、DRAMで必要とされる記憶保持動作も不要なため、システムLSIと呼ばれる多機能LSI上に集積するのに適している。   Naturally, the processing speed can be increased by replacing the main memory of the network transmission / reception device with an SRAM having a short latency. And since SRAM is comprised only from a transistor, the special manufacturing process like DRAM which consists of a transistor and a capacitor | condenser is not required. In addition, since the memory holding operation required in the DRAM is unnecessary, it is suitable for integration on a multi-function LSI called a system LSI.

しかしながら、SRAMは、DRAMと比べて必要とする半導体素子数が多いため、記憶容量あたりのコストがDRAMと比べて高価である。従って、DRAMをSRAMに単に置き換えることは、装置自体の構成する上で甚だ不経済である。そこで、受信パケットの処理効率を向上させるため、コントローラとメインメモリの間に存在する中間バッファ上の受信パケットに対して、CPUアクセスできる構成としたもの(例えば、特許文献1)や、コントローラがメインメモリではなく、キャッシュメモリに受信パケットを転送できる構成が提案されている(例えば、特許文献2)。
いずれの構成も、ネットワークの送受信装置に既存のレイテンシの短いメモリ手段を用い、受信パケットの処理の高速化を図ったものである。
特開平9−101931号公報(第8頁、図1) 特開2002−278834号公報(第11頁、図1)
However, since SRAM requires a larger number of semiconductor elements than DRAM, the cost per storage capacity is higher than that of DRAM. Therefore, simply replacing the DRAM with the SRAM is extremely uneconomical for the construction of the device itself. Therefore, in order to improve the processing efficiency of the received packet, a configuration in which the CPU can access the received packet on the intermediate buffer existing between the controller and the main memory (for example, Patent Document 1), or the controller is main. A configuration has been proposed in which received packets can be transferred to a cache memory instead of a memory (for example, Patent Document 2).
In any of the configurations, an existing short-latency memory unit is used in a network transmission / reception apparatus to increase the processing speed of a received packet.
JP-A-9-101931 (page 8, FIG. 1) JP 2002-278834 A (page 11, FIG. 1)

しかしながら、いずれの場合も受信パケットがレイテンシが短いメモリ上に在るとしても、それは一時的なもので、ネットワークからの受信動作とは関係のない原因で、レイテンシの長いメインメモリに移されてしまうことを防ぐことができない。   However, in either case, even if the received packet is on a memory with a short latency, it is temporary and is moved to the main memory with a long latency for a reason unrelated to the receiving operation from the network. I can't prevent that.

前者の中間バッファ上に在る受信パケットにアクセスできる構成では、例えばネットワークインターフェイス以外のI/O装置からのデータ転送の発生によって、レイテンシの短いメモリ上に在る受信パケットは、意図せずにメインメモリに移されてしまう。同様に、後者のキャッシュメモリに受信パケットを転送できる構成においても、例えばCPUの命令語のメインメモリからの読み出しによって、レイテンシの短いメモリ上に在る受信パケットは、意図せずにメインメモリに移されてしまう。   In the former configuration in which the received packet on the intermediate buffer can be accessed, the received packet on the memory with a short latency is unintentionally main by unintentionally, for example, due to the occurrence of data transfer from an I / O device other than the network interface. It will be moved to memory. Similarly, even in the configuration in which the received packet can be transferred to the latter cache memory, for example, the received packet on the memory having a short latency is unintentionally moved to the main memory by reading the CPU instruction word from the main memory. Will be.

すなわち、いずれの場合も、中間バッファやキャッシュメモリを、本来の目的とは異なる目的で受信パケットのバッファとして利用しているために、受信パケット処理の高速化の効果は限定的にならざるをえない。   That is, in any case, since the intermediate buffer or the cache memory is used as a received packet buffer for a purpose different from the original purpose, the effect of speeding up the received packet processing must be limited. Absent.

本発明は、上記従来の技術における課題を解決するもので、受信パケットのためにレイテンシの短いメモリ手段を設け、受信パケットの処理性能を向上させることができ、同時に、受信パケットの統計的性質を利用することで、受信パケットのための高価なメモリ手段を節約することができる経済的なストリームパケット受信装置を提供することを目的とする。   The present invention solves the above-mentioned problems in the prior art, and can provide a memory means with a short latency for the received packet to improve the processing performance of the received packet. At the same time, the statistical properties of the received packet can be improved. An object of the present invention is to provide an economical stream packet receiving apparatus that can save expensive memory means for received packets.

本発明は、ストリームパケット受信装置であって、
ネットワークから受信装置に到来する一部の受信パケットを格納する第1のメモリ手段と、
前記第1のメモリ手段に格納された以外の受信パケットを格納する第2のメモリ手段と、
すべての受信パケットの長さを検出するパケット長検査手段と、
前記パケット長検査手段の出力する受信パケット長情報を受けて、ネットワークから受信したパケットのうちで、予め設定した長さ未満の受信パケットを前記第1のメモリ手段に転送し、前記の長さ以上の受信パケットを前記第2のメモリ手段に転送するDMA手段とを備える。
The present invention is a stream packet receiving device comprising:
First memory means for storing a part of received packets coming from the network to the receiving device;
Second memory means for storing received packets other than those stored in the first memory means;
A packet length inspection means for detecting the length of all received packets;
Receiving the received packet length information output from the packet length inspection means, among the packets received from the network, transfer a received packet having a length less than a preset length to the first memory means, and the length equal to or greater than the length DMA means for transferring the received packet to the second memory means.

受信パケットのためにレイテンシの短いメモリ手段を設け、受信パケットの処理性能を向上させることができ、同時に、受信パケットの統計的性質を利用することで、受信パケットのための高価なメモリ手段を節約することができる、経済的なストリームパケット受信装置を提供できる。   Provide low-latency memory means for received packets, improve received packet processing performance, and at the same time save the expensive memory means for received packets by utilizing the statistical properties of received packets It is possible to provide an economical stream packet receiving apparatus that can perform the above.

本発明の実施の形態に係るストリームパケット受信装置の具体的な説明の前に、先ず、図5および図6を参照して、ストリームパケット受信装置が取り扱う受信パケットの統計的特徴について説明する。図5および図6には、それぞれ、イーサネット(登録商標)経由で他の装置と通信する際に、受信される受信パケットの長さとその出現頻度の関係を表すヒストグラムが示されている。つまり、図5はネットワーク上の他の特定の送信装置からのパケットを受信している状態でのヒストグラムを示し、図6は特に他の装置からの送信パケットは受信していない状態でのヒストグラムを示す。   Prior to specific description of the stream packet receiving apparatus according to the embodiment of the present invention, first, statistical characteristics of received packets handled by the stream packet receiving apparatus will be described with reference to FIG. 5 and FIG. FIGS. 5 and 6 show histograms representing the relationship between the length of received packets received and their appearance frequencies when communicating with other devices via Ethernet (registered trademark). That is, FIG. 5 shows a histogram in a state where a packet from another specific transmission device on the network is received, and FIG. 6 shows a histogram in a state where a transmission packet from another device is not received. Show.

図5から読み取れることは、他の装置と通信する際の受信パケットのサイズは、短いものと長いものに二極化しているということである。長さ96バイト以下の短い受信パケットが全体のおよそ1/2を占め、イーサネット(登録商標)の規格で決まる最大長に近い長い受信パケットがおよそ1/3程度となっている。   What can be read from FIG. 5 is that the size of the received packet when communicating with other devices is bipolarized between short and long. Short received packets having a length of 96 bytes or less occupy about 1/2 of the whole, and long received packets close to the maximum length determined by the Ethernet (registered trademark) standard are about 1/3.

短いパケットは、通信の相手となる装置との制御信号のやりとり、例えば、パケットの受信確認などが多く発生するためである。長いパケットは、なんらかのトランスポートプロトコルによって運ばれるデータ部分を含むパケットである。ストリームデータは、通常、一つのパケットで運ぶことができる最大転送長以上のデータサイズを持つため、多数のパケットに分割され伝送される。この送信側で分割し、受信側で結合するオーバヘッドを最小化するため、そのパケット長は可能な範囲で長くなる傾向がある。上記のうち、短いパケットで運ばれる受信確認の処理を高速化することができれば、送ったデータに対する受信確認をしながら伝送を行う、TCPプロトコルによる最大伝送速度を向上させることができる。   This is because short packets frequently cause exchange of control signals with a communication partner device, for example, packet reception confirmation. A long packet is a packet that contains a portion of data carried by some transport protocol. Stream data usually has a data size that is greater than or equal to the maximum transfer length that can be carried in one packet, and is therefore divided into a number of packets and transmitted. In order to minimize the overhead that is divided on the transmission side and combined on the reception side, the packet length tends to be as long as possible. Among the above, if the speed of the reception confirmation process carried by a short packet can be increased, it is possible to improve the maximum transmission speed by the TCP protocol that performs transmission while confirming the reception of the transmitted data.

次に図6から読み取れることは、特定の装置と通信しない場合における受信パケットの長さは短いものに偏るということである。図6に示す場合、96バイト以下のパケットだけで、全受信パケットの9割近くになる。これらの短い受信パケットは一般に、通信相手が特定できない段階や、複数の装置と同時に通信する際に使用されるブロードキャスト通信用のパケットである。   Next, what can be read from FIG. 6 is that the length of the received packet when not communicating with a specific device tends to be short. In the case shown in FIG. 6, only a packet of 96 bytes or less is nearly 90% of all received packets. These short received packets are generally broadcast communication packets that are used when a communication partner cannot be specified or when communicating simultaneously with a plurality of devices.

ところがブロードキャスト通信の多くは、自受信装置宛のものではなく、これらの不要なパケットを受信した際は、素早くそのパケットを廃棄すべきである。これにより、受信パケットの管理にかかわる処理負荷の低減と、受信パケットを保持するメモリの利用効率を向上が可能となる。   However, most of the broadcast communications are not destined for the self-receiving device, and when these unnecessary packets are received, the packets should be quickly discarded. As a result, it is possible to reduce the processing load related to the management of received packets and to improve the utilization efficiency of the memory holding the received packets.

以上のように、特定の装置と通信している場合でも、そうでない場合でも、受信パケットの長さは、その取り得る範囲内で均一に存在するのではなく、短いパケットに偏っている。しかも、短いパケットに対する処理性能向上は、装置全体の受信パケット処理性能向上に大きく貢献する。そこで、本発明においては、この受信パケットの統計的特徴を利用し、短い受信パケットの処理に高価であるがレイテンシの短いメモリ、例えばSRAMを割り当てることで、受信パケット処理性能の向上を図るものである。さらに、短い受信パケットの処理に必要なメモリ容量は少量で済むので、それを経済的に行うことを可能にするものである。   As described above, whether or not the communication is performed with a specific device, the length of the received packet does not exist uniformly within the possible range, but is biased toward a short packet. In addition, improvement in processing performance for short packets greatly contributes to improvement in received packet processing performance of the entire apparatus. Therefore, in the present invention, the statistical characteristics of the received packet are used to improve the received packet processing performance by allocating a memory, for example, SRAM, which is expensive for processing a short received packet but has a short latency. is there. Further, since a small memory capacity is required for processing a short received packet, it is possible to do this economically.

(第1の実施の形態)
図1を参照して、本発明の第1の実施の形態に係るストリームパケット受信装置SPR1について説明する。ストリームパケット受信装置SPR1において、ネットワークから到来した受信パケットは、ネットワークコントローラ101によって受信され、DMAコントローラ102によって、バス103を介して、SRAM104あるいは、DRAM105に転送される。DMAコントローラ102は、転送を完了した際に、CPU106にその旨を通知する。
(First embodiment)
With reference to FIG. 1, description will be given of a stream packet reception device SPR1 according to the first embodiment of the present invention. In the stream packet receiving device SPR 1, a received packet arriving from the network is received by the network controller 101, and transferred to the SRAM 104 or DRAM 105 via the bus 103 by the DMA controller 102. When the transfer is completed, the DMA controller 102 notifies the CPU 106 to that effect.

CPU106は、その通知を受け、受信パケットが格納されたSRAM104あるいはDRAM105にアクセスし、必要な処理を行う。そしてCPU106はまたDMAコントローラ102に対して、DMA転送を行う転送先のアドレスとして、SRAM104上のアドレスと、DRAM105上のアドレスを設定する。   Upon receiving the notification, the CPU 106 accesses the SRAM 104 or DRAM 105 in which the received packet is stored, and performs necessary processing. Then, the CPU 106 also sets an address on the SRAM 104 and an address on the DRAM 105 as a transfer destination address for DMA transfer to the DMA controller 102.

図1において、符号107は、受信パケットの長さを検出するパケット長検出器を示している。パケット長検出器107は、検出結果に基づいてDMAコントローラ102に対し、そのDMA転送の転送先を指示する。すなわち、予め設定された長さ未満の受信パケットはSRAM104に、それ以外の長い受信パケットはDRAM105にそれぞれ転送するように指示を行う。   In FIG. 1, the code | symbol 107 has shown the packet length detector which detects the length of a received packet. The packet length detector 107 instructs the DMA controller 102 on the transfer destination of the DMA transfer based on the detection result. That is, an instruction is given to transfer a received packet having a length less than a preset length to the SRAM 104 and other long received packets to the DRAM 105.

本例においては、SRAM104とDRAM105は、DMAコントローラ102とCPU106から明示的にアクセス先として別のものと認識することができるように、それぞれ異なるアドレスが割り振られている。なお、DRAM105以外は破線で示す同一のLSIチップ108上に集積されている。   In this example, the SRAM 104 and the DRAM 105 are assigned different addresses so that the DMA controller 102 and the CPU 106 can explicitly recognize them as different access destinations. The components other than the DRAM 105 are integrated on the same LSI chip 108 indicated by a broken line.

上記のように構成された、ストリームパケット受信装置SPR1に、パケットが到来すると、DMAコントローラ102が上記のようにパケット長検出器107の指示に従って転送することにより、予め設定された長さ未満の受信パケットはSRAM104に、それ以外の長い受信パケットはDRAM105にそれぞれ格納される。SRAM104は、CPU106と同一LSI上に集積されていることともあいまって短いレイテンシでのアクセスが可能である。しかも、短い受信パケットを格納するだけでよいので、そのサイズは、DRAM105上に確保する受信パケットを格納する領域の大きさに比べて十分小さいものでよい。   When a packet arrives at the stream packet reception device SPR1 configured as described above, the DMA controller 102 transfers the packet according to the instruction of the packet length detector 107 as described above, thereby receiving less than a preset length. Packets are stored in the SRAM 104, and other long received packets are stored in the DRAM 105. The SRAM 104 can be accessed with a short latency due to being integrated on the same LSI as the CPU 106. In addition, since only a short received packet needs to be stored, the size may be sufficiently smaller than the size of the area for storing the received packet secured on the DRAM 105.

(第2の実施の形態)
図2を参照して、本発明の第2の実施の形態に係るストリームパケット受信装置SPR2について説明する。ネットワークから到来した、受信パケットは、ネットワークコントローラ201によって受信され、DMAコントローラ202によって、バス203を介して、SRAM204および、DRAM205に転送される。DMAコントローラ202は転送を完了した際に、CPU206にその旨を通知する。CPU206は、その通知を受けて、受信パケットが格納されたSRAM204およびDRAM205にアクセスして、必要な処理を行う。なお、DRAM205以外は破線で示す同一のLSIチップ207上に集積されている。
(Second Embodiment)
With reference to FIG. 2, a description will be given of a stream packet reception device SPR2 according to the second embodiment of the present invention. A received packet that has arrived from the network is received by the network controller 201 and transferred by the DMA controller 202 to the SRAM 204 and the DRAM 205 via the bus 203. When the DMA controller 202 completes the transfer, it notifies the CPU 206 to that effect. In response to the notification, the CPU 206 accesses the SRAM 204 and DRAM 205 in which the received packet is stored, and performs necessary processing. The components other than the DRAM 205 are integrated on the same LSI chip 207 indicated by a broken line.

そして、CPU206は、DMAコントローラ202に対して、DMA転送を行う転送先のアドレスとして、SRAM204上のアドレスと、DRAM205上のアドレスとを設定する。本例において、DMAコントローラ202は、受信パケットの先頭から、予め設定された長さまでをSRAM204に、その長さを越えた部分をDRAM205に転送する。   Then, the CPU 206 sets an address on the SRAM 204 and an address on the DRAM 205 as a transfer destination address for DMA transfer, to the DMA controller 202. In this example, the DMA controller 202 transfers from the beginning of the received packet to a preset length to the SRAM 204 and a portion exceeding the length to the DRAM 205.

ストリームパケット受信装置SPR2において、予め設定された長さに満たない短いパケットが到来すると、DMAコントローラ202は上述のようにパケットの先頭から逐次、SRAM204に転送する。短い受信パケットは、予め設定された長さに達する前に終わるので、DRAM205への転送は起こらずに、パケット全体がSRAM204に格納される。次に、予め設定された長さ以上の長いパケットが到来すると、DMAコントローラ202は、パケットの先頭から設定した長さまでをSRAM204に、それを越える部分をDRAM205に転送する。   In the stream packet receiving device SPR2, when a short packet less than a preset length arrives, the DMA controller 202 sequentially transfers the packet from the head of the packet to the SRAM 204 as described above. Since the short received packet ends before reaching a preset length, the entire packet is stored in the SRAM 204 without being transferred to the DRAM 205. Next, when a packet longer than a preset length arrives, the DMA controller 202 transfers the packet from the beginning of the packet to the set length to the SRAM 204, and transfers the part beyond that to the DRAM 205.

SRAM204には、短い受信パケットと、長い受信パケットの先頭部分が格納される。パケットの先頭部分には、ネットワーク上の送り先アドレス、ポート番号、および各種フラグを含むヘッダ領域が含まれるので、長い受信パケットの処理のうちで、これらのヘッダ処理もレイテンシの短いSRAM204上で行うことができる。そして、長い受信パケットの後半部分は、DRAM205に格納されるので、SRAM204のサイズは、小さいものでよい。   The SRAM 204 stores a short received packet and a head portion of a long received packet. The header of the packet includes a destination area on the network, a port number, and various flags. Therefore, among the long received packet processing, these header processing must also be performed on the SRAM 204 with short latency. Can do. Since the second half of the long received packet is stored in the DRAM 205, the size of the SRAM 204 may be small.

(第3の実施の形態)
図3を参照して、本発明の第3の実施の形態に係るストリームパケット受信装置SPR3のブロック図である。図3に示すように、ストリームパケット受信装置SPR3において、ネットワークから到来した受信パケットは、ネットワークコントローラ301によって受信され、第1のDMAコントローラ302によって、バス303を介して、SRAM304に転送される。第1のDMAコントローラ302は転送を完了した際に、CPU306にその旨を通知する。
(Third embodiment)
FIG. 3 is a block diagram of a stream packet reception device SPR3 according to the third embodiment of the present invention. As shown in FIG. 3, in the stream packet receiving device SPR3, a received packet that has arrived from the network is received by the network controller 301 and transferred to the SRAM 304 via the bus 303 by the first DMA controller 302. When the first DMA controller 302 completes the transfer, it notifies the CPU 306 to that effect.

CPU306は、第1のDMAコントローラ302からの通知を受けて、受信パケットが格納されたSRAM304にアクセスして、そこに格納された受信パケットがトランスポートプロトコルで運ばれるデータ部分を含むかどうかを調べる。含まない場合はその受信パケットをSRAM304上で処理する。   In response to the notification from the first DMA controller 302, the CPU 306 accesses the SRAM 304 in which the received packet is stored, and checks whether or not the received packet stored therein includes a data portion carried by the transport protocol. . If not included, the received packet is processed on the SRAM 304.

受信パケットがデータ部分を含む場合は、CPU306は、第2のDMAコントローラ307に対し、SRAM304から、DRAM305へ転送するように指示を与える。第2のDMAコントローラ307は転送を完了した際に、CPU306にその旨を通知する。CPU306は、第2のDMAコントローラ307からの通知を受けて、受信パケットが格納されたDRAM305にアクセスして、そこに格納されたデータ部分を含む受信パケットの処理を行う。   If the received packet includes a data portion, the CPU 306 instructs the second DMA controller 307 to transfer from the SRAM 304 to the DRAM 305. When the second DMA controller 307 completes the transfer, it notifies the CPU 306 accordingly. In response to the notification from the second DMA controller 307, the CPU 306 accesses the DRAM 305 in which the received packet is stored, and processes the received packet including the data portion stored therein.

そして、CPU306はまた第1のDMAコントローラ302に対して、DMA転送を行う転送先のアドレスとして、SRAM204上のアドレスを設定する。なお、DRAM305以外は破線で示す同一のLSIチップ308上に集積されている。ストリームパケット受信装置SPR3においては、受信パケットの大部分を占めるトランスポートプロトコルで運ばれるデータ部分を含まない、短いパケットの処理をレイテンシの短いSRAM304上で行うことができる。長いパケットについては、DRAM305に第2のDMAコントローラ307が転送するので、SRAM204のサイズは、小さいものでよい。   The CPU 306 also sets an address on the SRAM 204 as the transfer destination address for performing the DMA transfer to the first DMA controller 302. The components other than the DRAM 305 are integrated on the same LSI chip 308 indicated by a broken line. In the stream packet receiving device SPR3, processing of a short packet that does not include a data portion carried by a transport protocol that occupies most of the received packet can be performed on the SRAM 304 with a short latency. Since the second DMA controller 307 transfers a long packet to the DRAM 305, the size of the SRAM 204 may be small.

(第4の実施の形態)
図4を参照して、本発明の第4の実施の形態に係るストリームパケット受信装置SPR4について説明する。ストリームパケット受信装置SPR4において、ネットワークから到来した受信パケットは、ネットワークコントローラ401によって受信され、DMAコントローラ402によって、バス403を介して、SRAM404、あるいはDRAM405に転送される。DMAコントローラ402は転送を完了した際に、CPU406にその旨を通知する。
(Fourth embodiment)
With reference to FIG. 4, a stream packet reception device SPR4 according to a fourth embodiment of the present invention will be described. In the stream packet receiving device SPR4, a received packet that has arrived from the network is received by the network controller 401, and transferred by the DMA controller 402 to the SRAM 404 or DRAM 405 via the bus 403. When the transfer is completed, the DMA controller 402 notifies the CPU 406 accordingly.

CPU406は、DMAコントローラ402からの通知を受けて、受信パケットが格納されたSRAM404、あるいはDRAM405にアクセスして、受信パケットの処理を行う。なお、DRAM405以外は破線で示す同一のLSIチップ407上に集積されている。CPU406はまたDMAコントローラ402に対して、DMA転送を行う転送先として、SRAM404、あるいはDRAM405を指定する。この際に、もしSRAM404に転送が可能であるときは、必ずSRAM404を転送先として指定する。すなわち、SRAM404はDRAM405より高い優先順位で、転送先として指定される。   In response to the notification from the DMA controller 402, the CPU 406 accesses the SRAM 404 or DRAM 405 in which the received packet is stored, and processes the received packet. The components other than the DRAM 405 are integrated on the same LSI chip 407 indicated by a broken line. The CPU 406 also designates the SRAM 404 or the DRAM 405 as a transfer destination for performing DMA transfer to the DMA controller 402. At this time, if transfer to the SRAM 404 is possible, the SRAM 404 is always designated as the transfer destination. That is, the SRAM 404 is designated as a transfer destination with a higher priority than the DRAM 405.

ストリームパケット受信装置SPR4においては、トランスポートプロトコルで運ばれるデータ部分を含まない受信パケット、すなわち、受信パケットの大部分を占める短いパケットの処理を、高い確率でレイテンシの短いSRAM404上で行うことができる。そして短期間に多くの受信パケットが到来し、SRAM404を転送先として指定できないときは、それらの受信パケットはDRAM405に転送されるので、SRAM404のサイズは、LSI407上に集積できる程度の小さいものでよい。   In the stream packet receiver SPR4, a received packet that does not include a data portion carried by the transport protocol, that is, a short packet that occupies most of the received packet can be processed on the SRAM 404 with a short probability with a short latency. . When a large number of received packets arrive in a short period of time and the SRAM 404 cannot be designated as the transfer destination, the received packets are transferred to the DRAM 405, so the size of the SRAM 404 may be small enough to be integrated on the LSI 407. .

本発明は、ネットワークを通じて伝送される、一般にストリーム情報と呼ばれる音声や動画映像などの時間的に連続性を有する情報であるストリームパケット受信等に適用できる。   The present invention can be applied to reception of stream packets that are temporally continuous information such as audio and video images that are generally transmitted as stream information and transmitted over a network.

本発明の第1の実施の形態に係るストリームパケット受信装置の構成を示すブロック図The block diagram which shows the structure of the stream packet receiver which concerns on the 1st Embodiment of this invention 本発明の第2の実施の形態に係るストリームパケット受信装置の構成を示すブロック図The block diagram which shows the structure of the stream packet receiver which concerns on the 2nd Embodiment of this invention 本発明の第3の実施の形態に係るストリームパケット受信装置の構成を示すブロック図The block diagram which shows the structure of the stream packet receiver concerning the 3rd Embodiment of this invention 本発明の第4の実施の形態に係るストリームパケット受信装置の構成を示すブロック図The block diagram which shows the structure of the stream packet receiver concerning the 4th Embodiment of this invention 特定の装置と通信中における受信パケットのパケット長毎のヒストグラムHistogram for each packet length of received packets during communication with a specific device 特定の装置との通信中以外における受信パケットのパケット長毎のヒストグラムHistogram for each packet length of received packets when not communicating with a specific device

符号の説明Explanation of symbols

101 ネットワークコントローラ
102 DMAコントローラ
103 バス
104 SRAM
105 DRAM
106 CPU
107 パケット長検出器
108 LSI
201 ネットワークコントローラ
202 DMAコントローラ
203 バス
204 SRAM
205 DRAM
206 CPU
207 LSI
301 ネットワークコントローラ
302 第1のDMAコントローラ
303 バス
304 SRAM
305 DRAM
306 CPU
307 第2のDMAコントローラ
308 LSI
401 ネットワークコントローラ
402 DMAコントローラ
403 バス
404 SRAM
405 DRAM
406 CPU
407 LSI

101 Network controller 102 DMA controller 103 Bus 104 SRAM
105 DRAM
106 CPU
107 packet length detector 108 LSI
201 Network controller 202 DMA controller 203 Bus 204 SRAM
205 DRAM
206 CPU
207 LSI
301 Network Controller 302 First DMA Controller 303 Bus 304 SRAM
305 DRAM
306 CPU
307 Second DMA controller 308 LSI
401 Network controller 402 DMA controller 403 Bus 404 SRAM
405 DRAM
406 CPU
407 LSI

Claims (7)

ネットワークから受信装置に到来する一部の受信パケットを格納する第1のメモリ手段と、
前記第1のメモリ手段に格納された以外の受信パケットを格納する第2のメモリ手段と、
すべての受信パケットの長さを検出するパケット長検査手段と、
前記パケット長検査手段の出力する受信パケット長情報を受けて、ネットワークから受信したパケットのうちで、予め設定した長さ未満の受信パケットを前記第1のメモリ手段に転送し、前記の長さ以上の受信パケットを前記第2のメモリ手段に転送するDMA手段とを備えるストリームパケット受信装置。
First memory means for storing a part of received packets coming from the network to the receiving device;
Second memory means for storing received packets other than those stored in the first memory means;
A packet length inspection means for detecting the length of all received packets;
Receiving the received packet length information output from the packet length inspection means, among the packets received from the network, transfer a received packet having a length less than a preset length to the first memory means, and the length equal to or greater than the length Stream packet receiving apparatus comprising DMA means for transferring the received packet to the second memory means.
受信パケットの一部または全部を格納する第1のメモリ手段と、
受信パケットのうち、前記第1のメモリ手段に格納されなかった部分を格納する第2のメモリ手段と、
ネットワークから受信した受信パケットが予め決めた設定長を越えないときには当該受信パケットの全部を前記第1のメモリ手段に転送し、前記設定長を越えるときには当該受信パケットを分割して、当該受信パケットの先頭から当該設定長までを前記第1のメモリ手段に転送し、残りの部分を前記第2のメモリ手段に転送するDMA手段とを備えるストリームパケット受信装置。
First memory means for storing part or all of the received packet;
Second memory means for storing a portion of the received packet that is not stored in the first memory means;
When the received packet received from the network does not exceed a predetermined set length, the entire received packet is transferred to the first memory means. When the set length exceeds the set length, the received packet is divided and A stream packet receiving apparatus comprising DMA means for transferring from the beginning to the set length to the first memory means and transferring the remaining part to the second memory means.
ネットワークから受信装置に到来するすべての受信パケットを一旦格納する第1のメモリ手段と、
前記第1のメモリ手段に格納された受信パケットを検査する検査手段と、
ネットワークから受信装置に到来する一部の受信パケット受信パケットを格納する第2のメモリ手段と、
前記検査手段によって受信パケットがトランスポートプロトコルによって運ばれるデータ部分を含むことが検知された場合に、当該受信パケットを前記第1のメモリ手段から前記第2のメモリ手段へ転送するDMA手段とを備えるストリームパケット受信装置。
First memory means for temporarily storing all received packets arriving at the receiving device from the network;
Inspection means for inspecting a received packet stored in the first memory means;
Second memory means for storing a part of received packets received from the network to the receiving device;
DMA means for transferring the received packet from the first memory means to the second memory means when the inspection means detects that the received packet includes a data portion carried by a transport protocol. Stream packet receiver.
ネットワークから受信装置に到来する一部の受信パケットを格納する第1のメモリ手段と、
前記第1のメモリ手段に格納された以外の受信パケットを格納する第2のメモリ手段と、
前記第1のメモリ手段と前記第2のメモリ手段の利用状況を検知する空きバッファ検知手段と、
前記空きバッファ検知手段の出力する利用状況情報を受けて、前記第1のメモリ手段に空きがある場合には、当該第1のメモリ手段に受信パケットを転送し、前記第1のメモリ手段に空きがないには前記第2のメモリ手段に受信パケットを転送するDMA手段とを備えるストリームパケット受信装置。
First memory means for storing a part of received packets coming from the network to the receiving device;
Second memory means for storing received packets other than those stored in the first memory means;
Empty buffer detection means for detecting the usage status of the first memory means and the second memory means;
In response to the usage status information output from the empty buffer detecting means, if the first memory means is available, the received packet is transferred to the first memory means, and the first memory means is free. A stream packet receiving apparatus comprising DMA means for transferring the received packet to the second memory means.
第1のメモリ手段は、スタティックRAMである請求項1乃至請求項4のいずれかに記載のストリームパケット受信装置。   5. The stream packet receiving apparatus according to claim 1, wherein the first memory means is a static RAM. 前記第1のメモリ手段は、DMA手段と同一の集積回路上に集積される請求項1乃至請求項4のいずれかに記載のストリームパケット受信装置。   5. The stream packet receiving apparatus according to claim 1, wherein the first memory means is integrated on the same integrated circuit as the DMA means. 前記第2のメモリ手段は、ダイナミックRAMである請求項1ないし4のいずれかに記載のストリームパケット受信装置。
5. The stream packet receiving apparatus according to claim 1, wherein the second memory means is a dynamic RAM.
JP2004366301A 2004-12-17 2004-12-17 Stream packet receiver Expired - Fee Related JP4502796B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004366301A JP4502796B2 (en) 2004-12-17 2004-12-17 Stream packet receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004366301A JP4502796B2 (en) 2004-12-17 2004-12-17 Stream packet receiver

Publications (2)

Publication Number Publication Date
JP2006174265A true JP2006174265A (en) 2006-06-29
JP4502796B2 JP4502796B2 (en) 2010-07-14

Family

ID=36674513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004366301A Expired - Fee Related JP4502796B2 (en) 2004-12-17 2004-12-17 Stream packet receiver

Country Status (1)

Country Link
JP (1) JP4502796B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008004301A1 (en) * 2006-07-06 2008-01-10 Fujitsu Limited Data transfer unit, processing unit, and data transfer method
JP2009130891A (en) * 2007-11-28 2009-06-11 Nec Access Technica Ltd Information processing apparatus and frame relay method
JP2017085378A (en) * 2015-10-28 2017-05-18 キヤノン株式会社 Communication device, method for the same, and computer program
JP2017517792A (en) * 2014-05-09 2017-06-29 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated System and method for memory allocation in a multi-class memory system
JP2019159846A (en) * 2018-03-13 2019-09-19 富士通株式会社 Information processing apparatus, information processing system and control method for information processing apparatus

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0364228A (en) * 1989-08-02 1991-03-19 Nec Corp Constituting method for atm hierarchical buffer memory
JPH08153038A (en) * 1994-11-30 1996-06-11 Hitachi Ltd Method and device for data storage control
JPH10200574A (en) * 1997-01-14 1998-07-31 Digital Vision Lab:Kk Relay node system and relay control method in the system
JP2000049807A (en) * 1998-07-29 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> Atm cell transmitter, atm cell receiver and atm cell transmission reception system
JP2000244574A (en) * 1999-02-24 2000-09-08 Hitachi Ltd Device and method for network relay
JP2003076498A (en) * 2001-09-05 2003-03-14 Hitachi Ltd Disk storage device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0364228A (en) * 1989-08-02 1991-03-19 Nec Corp Constituting method for atm hierarchical buffer memory
JPH08153038A (en) * 1994-11-30 1996-06-11 Hitachi Ltd Method and device for data storage control
JPH10200574A (en) * 1997-01-14 1998-07-31 Digital Vision Lab:Kk Relay node system and relay control method in the system
JP2000049807A (en) * 1998-07-29 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> Atm cell transmitter, atm cell receiver and atm cell transmission reception system
JP2000244574A (en) * 1999-02-24 2000-09-08 Hitachi Ltd Device and method for network relay
JP2003076498A (en) * 2001-09-05 2003-03-14 Hitachi Ltd Disk storage device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008004301A1 (en) * 2006-07-06 2008-01-10 Fujitsu Limited Data transfer unit, processing unit, and data transfer method
JP2009130891A (en) * 2007-11-28 2009-06-11 Nec Access Technica Ltd Information processing apparatus and frame relay method
JP2017517792A (en) * 2014-05-09 2017-06-29 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated System and method for memory allocation in a multi-class memory system
JP2017085378A (en) * 2015-10-28 2017-05-18 キヤノン株式会社 Communication device, method for the same, and computer program
JP2019159846A (en) * 2018-03-13 2019-09-19 富士通株式会社 Information processing apparatus, information processing system and control method for information processing apparatus
JP7155552B2 (en) 2018-03-13 2022-10-19 富士通株式会社 Information processing device, information processing system, and control method for information processing device

Also Published As

Publication number Publication date
JP4502796B2 (en) 2010-07-14

Similar Documents

Publication Publication Date Title
JP4974078B2 (en) Data processing device
US8341351B2 (en) Data reception system with determination whether total amount of data stored in first storage area exceeds threshold
US20060221875A1 (en) Network interface with transmit frame descriptor reuse
US7356034B2 (en) Terminal device, method for processing communication data inside the terminal device, and program for implementing the method
US20040240472A1 (en) Method and system for maintenance of packet order using caching
WO2006063298A1 (en) Techniques to manage flow control
US9846657B2 (en) Electronic device for packing multiple commands in one compound command frame and electronic device for decoding and executing multiple commands packed in one compound command frame
WO2004019165A2 (en) Method and system for tcp/ip using generic buffers for non-posting tcp applications
JP4502796B2 (en) Stream packet receiver
US9055008B1 (en) Device and process for efficient multicasting
JP2020088517A (en) Communication apparatus, and control method and program of communication apparatus
JP2002366427A (en) Inter-processor communication system, and inter- processor communication method to be used for the system
JP2007259374A (en) Network transmitter/receiver
US20030223447A1 (en) Method and system to synchronize a multi-level memory
JP4373887B2 (en) Packet processing method
JP4766344B2 (en) Information processing apparatus and frame relay method
JP6976786B2 (en) Communication device and control method of communication device
JP2002164924A (en) Packet processing unit
US20030210684A1 (en) Packet transceiving method and device
US20230388253A1 (en) Packet forwarding system and associated packet forwarding method
US20230179545A1 (en) Packet forwarding apparatus with buffer recycling and associated packet forwarding method
JP2002368786A (en) Packet transfer method and packet transfer device
US7293130B2 (en) Method and system for a multi-level memory
CN115167771A (en) InfiniBand network data caching processing system and method
US20030172176A1 (en) Embedded system having multiple data receiving channels

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100329

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100420

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees