JP2006313427A - Packet processing device - Google Patents

Packet processing device Download PDF

Info

Publication number
JP2006313427A
JP2006313427A JP2005135194A JP2005135194A JP2006313427A JP 2006313427 A JP2006313427 A JP 2006313427A JP 2005135194 A JP2005135194 A JP 2005135194A JP 2005135194 A JP2005135194 A JP 2005135194A JP 2006313427 A JP2006313427 A JP 2006313427A
Authority
JP
Japan
Prior art keywords
descriptor
bus
data
ethernet
controller
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
JP2005135194A
Other languages
Japanese (ja)
Inventor
Satoru Abe
悟 阿部
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2005135194A priority Critical patent/JP2006313427A/en
Publication of JP2006313427A publication Critical patent/JP2006313427A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To further improve process performance relating to a short packet. <P>SOLUTION: The device comprises an SDRAM 16 for storing transmitted and received data for packet transmission, a descriptor 15 for memorizing storage location information of the transmitted and received data, Ethernet (R) controllers 11a, 11b for accessing the transmitted and received data, and a CPU core 10 for controlling the descriptor and the Ethernet (R) controllers at the time of transmitting and receiving the packet. The descriptor and the Ethernet (R) controllers are directly connected via a bus 22, while the descriptor, the SDRAM, the CPU core, and the Ethernet (R) controllers are connected via a bus 21. The Ethernet (R) controllers 11a, 11b access the transmitted and received data via the bus 21 based on the storage location information read via the bus 22. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、パケット処理装置に関し、特にDMA(Direct Memory Access)によって内部のデータ転送を行うパケット処理装置に関する。   The present invention relates to a packet processing device, and more particularly to a packet processing device that performs internal data transfer by DMA (Direct Memory Access).

近年、ADSL(Asymmetric Digital Subscriber Line)を筆頭とするブロードバンド回線が広く家庭まで普及し、2004年9月末の実績では1700万回線に達している。今後、より高速で多様な通信を達成するためにはFTTH(Fiber−To−The−Home)が普及していくと考えられている。光ファイバを利用するためその高速性を利用し、様々なデータを流すことが可能であり、映像配信やVoIP(Voice over Internet Protocol)によるIP電話そしてインターネット接続を同時に行うトリプルプレイが実現可能となる。これを実現するためには、より高速なルータや回線終端装置が必要となり、このようなパケット処理装置に搭載されるネットワークプロセッサも処理性能が高いものが要求される。処理性能を上げることでパケットのロスを低減してスループットを向上させ、高速で安定した通信が可能となる。   In recent years, broadband lines led by ADSL (Asymmetric Digital Subscriber Line) have spread widely to homes, and as of the end of September 2004, have reached 17 million lines. In the future, it is considered that FTTH (Fiber-To-The-Home) will become popular in order to achieve various communications at higher speeds. Since optical fiber is used, it is possible to flow various data by using its high speed, and it is possible to realize triple play that simultaneously performs video distribution, IP phone with VoIP (Voice over Internet Protocol) and Internet connection. . In order to realize this, a higher-speed router and a line termination device are required, and a network processor mounted on such a packet processing device is required to have a high processing performance. By increasing the processing performance, packet loss is reduced to improve throughput, and high-speed and stable communication is possible.

このようなパケット処理装置の構成例を図4に示す。図4において、CPU100は、1チップCPUであって、CPUコア110、イーサネット(登録商標)コントローラ111、IPsecエンジン112、SDRAMコントローラ113を含む。CPUコア110は、LSI全体を制御するであり、データバス121を有している。イーサネット(登録商標)コントローラ111は、回線制御を行い、内部にDMAコントローラを有し、CPUに依存せずデータバス121に接続されているメモリに対してデータ転送を可能としている。IPsecエンジン112は、IPパケットの暗号化と認証の処理を行い、内部にDMAコントローラ(DMAC)を有し、CPUに依存せずデータバス121に接続されているメモリに対してデータ転送を可能としている。SDRAMコントローラ113は、外部に接続されるSDRAM(Synchronous Dynamic Random Access Memory)114を制御する。SDRAM114は、CPU100の外部に接続され、SDRAM114の内部には処理すべきデータ領域115とDMA処理において使用されるディスクリプタ116とが存在する。SDRAM114内に構成されるディスクリプタ116には、イーサネット(登録商標)コントローラ111用に送信ディスクリプタと受信ディスクリプタとが含まれる。データ領域115が送受信処理の対象となるデータを格納する。   A configuration example of such a packet processing apparatus is shown in FIG. In FIG. 4, a CPU 100 is a one-chip CPU, and includes a CPU core 110, an Ethernet (registered trademark) controller 111, an IPsec engine 112, and an SDRAM controller 113. The CPU core 110 controls the entire LSI and has a data bus 121. The Ethernet (registered trademark) controller 111 performs line control, has a DMA controller therein, and enables data transfer to a memory connected to the data bus 121 without depending on the CPU. The IPsec engine 112 performs IP packet encryption and authentication processing, has an internal DMA controller (DMAC), and enables data transfer to a memory connected to the data bus 121 without depending on the CPU. Yes. The SDRAM controller 113 controls an SDRAM (Synchronous Dynamic Random Access Memory) 114 connected to the outside. The SDRAM 114 is connected to the outside of the CPU 100, and the SDRAM 114 has a data area 115 to be processed and a descriptor 116 used in DMA processing. The descriptor 116 configured in the SDRAM 114 includes a transmission descriptor and a reception descriptor for the Ethernet (registered trademark) controller 111. The data area 115 stores data to be transmitted / received.

次にデータ送受信における動作について説明する。データ送信を実行する場合、以下の(1)〜(4)のように動作する。   Next, operations in data transmission / reception will be described. When data transmission is executed, the following operations (1) to (4) are performed.

(1)CPUコア110は、ディスクリプタ116に送信のデータのポインタとステータスをセットする。この時のデータの流れとしては、CPUコア110→CPUデータバス121→SDRAMコントローラ113→SDRAM114内のディスクリプタ116となる。   (1) The CPU core 110 sets a transmission data pointer and status in the descriptor 116. The data flow at this time is: CPU core 110 → CPU data bus 121 → SDRAM controller 113 → descriptor 116 in SDRAM 114.

(2)イーサネット(登録商標)コントローラ111は、ディスクリプタ116中のデータのポインタを読出す。この時のデータの流れとしては、SDRAM114内のディスクリプタ116→SDRAMコントローラ113→CPUデータバス121→イーサネット(登録商標)コントローラ111となる。   (2) The Ethernet (registered trademark) controller 111 reads the data pointer in the descriptor 116. The data flow at this time is as follows: descriptor 116 in SDRAM 114 → SDRAM controller 113 → CPU data bus 121 → Ethernet (registered trademark) controller 111.

(3)イーサネット(登録商標)コントローラ111は、DMA機能を使用してSDRAM114からデータを取り出す。この時のデータの流れとしては、SDRAM114内のデータ領域115→SDRAMコントローラ113→CPUデータバス121→イーサネット(登録商標)コントローラ111となる。   (3) The Ethernet (registered trademark) controller 111 extracts data from the SDRAM 114 using the DMA function. The data flow at this time is as follows: data area 115 in SDRAM 114 → SDRAM controller 113 → CPU data bus 121 → Ethernet (registered trademark) controller 111.

(4)イーサネット(登録商標)コントローラ111は、DMA機能を使用してステータスをディスクリプタ116に格納する。この時のデータの流れとしては、イーサネット(登録商標)コントローラ111→CPUデータバス121→SDRAMコントローラ113→SDRAM114内のディスクリプタ116となる。   (4) The Ethernet (registered trademark) controller 111 stores the status in the descriptor 116 using the DMA function. The data flow at this time is Ethernet (registered trademark) controller 111 → CPU data bus 121 → SDRAM controller 113 → descriptor 116 in SDRAM 114.

CPUデータバス121は、まず、SDRAM114内のディスクリプタ116に各種設定を行うため使用される。次に各種設定を読み出すために使われる。そして、送信データをSDRAM114内のデータ領域115からイーサネット(登録商標)コントローラ111へ転送する際に使用される。更に、ステータスを再度SDRAM114内のディスクリプタ116に書き込むために使用される。CPUデータバス121は、一連のデータ転送に、ディスクリプタ116の設定、ディスクリプタ116の読み込み、データの転送、ディスクリプタ116へのステータスの書き込みと4回使用され、バスの使用率が高い。   First, the CPU data bus 121 is used to make various settings for the descriptor 116 in the SDRAM 114. It is then used to read various settings. It is used when transmission data is transferred from the data area 115 in the SDRAM 114 to the Ethernet (registered trademark) controller 111. Further, it is used to write the status to the descriptor 116 in the SDRAM 114 again. The CPU data bus 121 is used four times for a series of data transfers, such as setting the descriptor 116, reading the descriptor 116, transferring data, and writing the status to the descriptor 116, and the bus usage rate is high.

一方、データ受信を実行する場合、以下の(5)〜(8)のように動作する。   On the other hand, when data reception is performed, the following operations (5) to (8) are performed.

(5)CPUコア110は、ディスクリプタ116に受信のデータのポインタとステータスをセットする。この時のデータの流れとしては、CPUコア110→CPUデータバス121→SDRAMコントローラ113→SDRAM114内のディスクリプタ116となる。   (5) The CPU core 110 sets the received data pointer and status in the descriptor 116. The data flow at this time is: CPU core 110 → CPU data bus 121 → SDRAM controller 113 → descriptor 116 in SDRAM 114.

(6)イーサネット(登録商標)コントローラ111は、ディスクリプタ116中の受信のデータのポインタを読出す。この時のデータの流れとしては、SDRAM114内のディスクリプタ116→SDRAMコントローラ113→CPUデータバス121→イーサネット(登録商標)コントローラ111となる。   (6) The Ethernet (registered trademark) controller 111 reads the received data pointer in the descriptor 116. The data flow at this time is as follows: descriptor 116 in SDRAM 114 → SDRAM controller 113 → CPU data bus 121 → Ethernet (registered trademark) controller 111.

(7)イーサネット(登録商標)コントローラ111は、受信データをSDRAM114へ格納する。この時のデータの流れとしては、イーサネット(登録商標)コントローラ111→CPUデータバス121→SDRAMコントローラ113→SDRAM114内のデータ領域115となる。   (7) The Ethernet (registered trademark) controller 111 stores the received data in the SDRAM 114. The data flow at this time is the Ethernet (registered trademark) controller 111 → the CPU data bus 121 → the SDRAM controller 113 → the data area 115 in the SDRAM 114.

(8)イーサネット(登録商標)コントローラ111は、ステータスを受信用のディスクリプタ116へ格納する。この時のデータの流れとしては、イーサネット(登録商標)コントローラ111→CPUデータバス121→SDRAMコントローラ113→SDRAM114内のディスクリプタ116となる。   (8) The Ethernet (registered trademark) controller 111 stores the status in the descriptor 116 for reception. The data flow at this time is Ethernet (registered trademark) controller 111 → CPU data bus 121 → SDRAM controller 113 → descriptor 116 in SDRAM 114.

CPUデータバス121は、まず、SDRAM114内の受信用のディスクリプタ116へアクセスし、DMA動作に対する各種設定を行うために使用される。次に各種設定を読み出すために使われる。そして、受信データをイーサネット(登録商標)コントローラ111からSDRAM114内のデータ領域115への格納時に使用される。更に、ステータスを書き込むために、再度SDRAM114内のディスクリプタ116へアクセスするために使用される。このようにCPUデータバスB1は、送信時と同様に一連のデータ受信に際し4回使用され、バスの使用率が高い。   First, the CPU data bus 121 is used to access the reception descriptor 116 in the SDRAM 114 and make various settings for the DMA operation. It is then used to read various settings. The received data is used when the Ethernet (registered trademark) controller 111 is stored in the data area 115 in the SDRAM 114. Furthermore, it is used to access the descriptor 116 in the SDRAM 114 again to write the status. As described above, the CPU data bus B1 is used four times in the series of data reception as in the transmission, and the bus usage rate is high.

以上のように図4に示すパケット処理装置は、CPUデータバス121の使用率が高く、バスによるデータ転送処理能力が低く制限されてしまう。そこでDMAおよびディスクリプタをそれぞれ分離したバスに配し、パケット処理性能を向上させるパケット処理装置が特許文献1に開示されている。このパケット処理装置は、図5に示すようにCPU210のプログラムを格納してバスB1に接続される第一のメモリ212と、DMA処理を行うためのディスクリプタを格納してバスB3に接続される第二のメモリ214と、パケットデータを格納してバスB2に接続される第三のメモリ218を持ち、第一、第二、第三メモリの間をそれぞれ第1のバス制御部213、第2のバス制御部215で分離するように構成される。また、バスB2には、DMA制御部216、回線制御部217〜217が接続され、DMA制御部216は、回線制御部217〜217におけるDMAのマスター動作およびスレーブ動作を制御する。このような構成のパケット処理装置は、バスを分離してそれぞれのバスを独立に動作させることにより、パケット処理性能を向上させている。 As described above, the packet processing apparatus shown in FIG. 4 has a high usage rate of the CPU data bus 121, and the data transfer processing capability by the bus is limited to be low. Therefore, Patent Document 1 discloses a packet processing apparatus that distributes DMAs and descriptors on separate buses to improve packet processing performance. As shown in FIG. 5, the packet processing apparatus stores a program of the CPU 210 and is connected to the bus B1, and a first memory 212 that stores a descriptor for performing DMA processing and is connected to the bus B3. A second memory 214 and a third memory 218 for storing packet data and connected to the bus B2, and the first bus control unit 213 and the second memory are respectively connected between the first, second and third memories. The bus control unit 215 is configured to be separated. Further, to the bus B2, DMA controller 216, is connected to the line control unit 217 1 ~217 n, DMA controller 216 controls DMA master operation and a slave operation in the line control unit 217 1 ~217 n. The packet processing apparatus having such a configuration improves the packet processing performance by separating the buses and operating each bus independently.

特開平10−341257号公報Japanese Patent Laid-Open No. 10-341257

ところで、映像配信やVoIPの伝送では、リアルタイム処理が重要であり、さらに処理遅延の少ないことが求められる。遅延が問題となるようなデータについては、ある一定間隔でサービスを行う必要がある。通常、イーサネット(登録商標)のフレーム中のペイロードは、64バイトから1500バイトである。1500バイトのフレームであれば、データ部分が大多数を占めており、データ転送に対するディスクリプタへのアクセスの割合は少ない。しかしながら、VoIP等の伝送では、音声の欠落を防ぐように、パケット長をできるだけ短くして(ショートパケットにして)、送受信することが求められる。例えば、64バイトなどの小さなペイロードを持つショートパケットを使っても、スループットが落ちないようにする必要がある。この場合、64バイトのフレームを連続で送信、受信すると、頻繁にディスクリプタへのアクセスが生じることになる。   By the way, in video distribution and VoIP transmission, real-time processing is important, and further, it is required that processing delay is small. For data for which delay is a problem, it is necessary to provide services at certain intervals. Usually, the payload in an Ethernet (registered trademark) frame is 64 bytes to 1500 bytes. In the case of a 1500-byte frame, the data portion occupies the majority, and the rate of access to the descriptor for data transfer is small. However, in transmission such as VoIP, it is required to transmit and receive by shortening the packet length as much as possible (short packet) so as to prevent voice loss. For example, even if a short packet having a small payload such as 64 bytes is used, it is necessary to prevent the throughput from being lowered. In this case, when a 64-byte frame is continuously transmitted and received, the descriptor is frequently accessed.

ここで、ディスクリプタへのアクセスの割合について具体的な数値例を用いて説明する。64バイトフレームでは、プリアンブル(8Byte)とパケット間ギャップ(96bit)を加え、
64Byte+8Byte+96bit=(64+8)*8bit+96bit=576bit+96bit=672bit
のデータとなる。今、イーサネット(登録商標)として100BASE−TXを仮定すると、送信に必要な時間は、6.72μ秒である。この時間内に全ての処理を行うことができれば、100Mbpsのスループットを実現することができる。
Here, the rate of access to the descriptor will be described using specific numerical examples. In a 64-byte frame, a preamble (8 bytes) and an interpacket gap (96 bits) are added,
64 bytes + 8 bytes + 96 bits = (64 + 8) * 8 bits + 96 bits = 576 bits + 96 bits = 672 bits
It becomes the data of. Now, assuming 100BASE-TX as Ethernet (registered trademark), the time required for transmission is 6.72 μsec. If all processing can be performed within this time, a throughput of 100 Mbps can be realized.

この送信処理を実行するために必要なクロック数は、イーサネット(登録商標)コントローラの送信側では、ディスクリプタのリードに17クロック、データのリードに38クロック、ディスクリプタのライトに12クロックで、合計67クロックである。この時、一般に受信側も同時に動作しているので、イーサネット(登録商標)コントローラの受信側では、ディスクリプタのリードに17クロック、データのライトに32クロック、ディスクリプタのライトに12クロックで、合計61クロック必要となる。   The number of clocks required to execute this transmission processing is 67 clocks on the transmission side of the Ethernet (registered trademark) controller, 17 clocks for reading the descriptor, 38 clocks for reading the data, and 12 clocks for writing the descriptor. It is. At this time, since the receiving side generally operates at the same time, the receiving side of the Ethernet (registered trademark) controller has a total of 61 clocks of 17 clocks for descriptor read, 32 clocks for data write, and 12 clocks for descriptor write. Necessary.

なおここでは、バスをアクセスするためには所定のプロトコルが必要あって、SDRAMへのアクセスの場合は、リードで13クロック、ライトで8クロック必要であると仮定している。ディスクリプタを4バイトのデータとすれば、4バイト分のアクセスで合計17クロックとなる(1バイト分のアクセスで1クロック必要と仮定する)。   Here, it is assumed that a predetermined protocol is required for accessing the bus, and that 13 clocks for reading and 8 clocks for writing are required for accessing the SDRAM. If the descriptor is data of 4 bytes, a total of 17 clocks are required for access of 4 bytes (assuming that 1 clock is required for access of 1 byte).

また、高速なパケット処理装置では、LAN側とWAN側とでイーサネット(登録商標)を2チャンネル搭載しており、2つのコントローラが動作するように構成される。もう一つのイーサネット(登録商標)コントローラも送受信の実行において、67クロック(送信)と61クロック(受信)が必要となる。したがって、イーサネット(登録商標)コントローラ2チャンネル分で、合計すると256クロック必要となる。   In addition, in a high-speed packet processing device, two channels of Ethernet (registered trademark) are mounted on the LAN side and the WAN side, and two controllers are configured to operate. Another Ethernet (registered trademark) controller also requires 67 clocks (transmission) and 61 clocks (reception) in executing transmission / reception. Therefore, a total of 256 clocks is required for the two channels of the Ethernet (registered trademark) controller.

CPUデータバスの速度が133MHzであると仮定し、256クロックを時間で表すと、1.92μ秒になり、バス占有率を計算すると、6.72μ秒中、1.92μ秒を使用していることになるため、1.68/6.72=0.285=28.5%となる。一方、ディスクリプタのアクセスを行わないとすれば、トータルクロック数は、256クロックからディスクリプタアクセス分の116(=(17+12)×2×2)クロックを除く、140クロックに減るため、1.05μ秒になり、占有率は、1.05/6.72=0.156=15.6%となる。   Assuming that the speed of the CPU data bus is 133 MHz, when 256 clocks are expressed in time, it becomes 1.92 μsec. When the bus occupancy is calculated, 1.92 μsec is used in 6.72 μsec. Therefore, 1.68 / 6.72 = 0.285 = 28.5%. On the other hand, if the descriptor is not accessed, the total number of clocks is reduced to 140 clocks, excluding 116 (= (17 + 12) × 2 × 2) clocks corresponding to the descriptor access from 256 clocks. Thus, the occupation ratio is 1.05 / 6.72 = 0.156 = 15.6%.

さらに、ここでは説明を省いたが、IPsecエンジン112にもDMACがあって、これもイーサネット(登録商標)コントローラと同様にディスクリプタへのアクセスとSDRAMへのDMAを実行する。この場合には、さらにバス占有率は、上がることになる。   Further, although not described here, the IPsec engine 112 also has a DMAC, which also performs access to the descriptor and DMA to the SDRAM, as in the Ethernet (registered trademark) controller. In this case, the bus occupancy rate further increases.

このようにショートパケットでの処理を行う場合には、データアクセスにほぼ近いくらいのディスクリプタアクセス処理が必要となってしまう。さらに、実際のプロセッサのCPUバスでは、イーサネット(登録商標)コントローラのほかにも、CPU自身のアクセス、暗号マクロ、PCIコントローラなど、いくつもの処理が実行され、バス占有率は極めて高く、パケット処理性能が低下する。   When processing with a short packet is performed in this way, descriptor access processing that is almost similar to data access is required. In addition to the Ethernet (registered trademark) controller, the CPU bus of the actual processor executes a number of processes such as access to the CPU itself, encryption macro, and PCI controller. Decreases.

ところで、特許文献1のパケット処理装置にあっては、DMA制御部216がディスクリプタを格納している第二のメモリ214にアクセスする際にバスB2を占有する。したがって、バスB2は、ディスクリプタへのアクセス、および回線制御部217〜217と第三のメモリ218間のDMA転送において占有され、バス占有率は極めて高い。 By the way, in the packet processing device of Patent Document 1, the DMA control unit 216 occupies the bus B2 when accessing the second memory 214 storing the descriptor. Therefore, the bus B2 is occupied in the access to the descriptor and the DMA transfer between the line control units 217 1 to 217 n and the third memory 218, and the bus occupancy rate is extremely high.

また、パケット処理を行うためには、CPU210が第三のメモリ部218に格納されているデータを読み出してフレーム処理を実行する必要が生じるため、第三のメモリ部218からCPU210のワークデータを格納する第一のメモリ部212へのデータ転送が発生する。この場合にCPU210がバスB2、B3を占有するため、DMA制御部216は、次のDMAあるいはDMA終了時のためのディスクリプタへのアクセスを行うことができない。   Further, in order to perform packet processing, it is necessary for the CPU 210 to read out data stored in the third memory unit 218 and execute frame processing, so the work data of the CPU 210 is stored from the third memory unit 218. Data transfer to the first memory unit 212 occurs. In this case, since the CPU 210 occupies the buses B2 and B3, the DMA control unit 216 cannot access the descriptor for the next DMA or DMA termination.

さらに、第二のメモリ部214に対してCPU210とDMA制御部216が同時にアクセスした場合、どちらかがアクセス待ち状態になってしまう。   Furthermore, when the CPU 210 and the DMA control unit 216 access the second memory unit 214 at the same time, one of them enters an access waiting state.

以上のように従来のパケット処理装置では、DMAコントローラがデータ転送と同時にディスクリプタへのアクセスを行うことができないので、特にショートパケット処理時の性能が低下してしまう。   As described above, in the conventional packet processing apparatus, the DMA controller cannot access the descriptor at the same time as the data transfer, so that the performance at the time of short packet processing is deteriorated.

上記課題を解決するために、本発明の一つのアスペクトに係るパケット処理装置は、パケット伝送用の送受信データを格納する記憶部との間でデータ転送を行うDMA機能を有する周辺処理部と、DMA機能によるDMAにおける格納先情報を記憶する記述子格納部とを接続する第1のバスと、データ転送を行うために記憶部と周辺処理部とを接続する第2のバスと、を備える。   In order to solve the above problem, a packet processing device according to one aspect of the present invention includes a peripheral processing unit having a DMA function for performing data transfer with a storage unit that stores transmission / reception data for packet transmission, A first bus that connects a descriptor storage unit that stores storage location information in DMA by function, and a second bus that connects the storage unit and the peripheral processing unit to perform data transfer.

本発明の他のアスペクトに係るパケット処理装置は、パケット伝送用の送受信データを格納する記憶部と、記憶部にアクセスするDMA機能を有する周辺処理部と、DMA機能によるDMAにおける格納先情報を記憶する記述子格納部と、パケットの送受信に際し、記述子格納部と周辺処理部とを制御する制御部と、記述子格納部と周辺処理部とを直接接続する第1のバスと、記述子格納部と記憶部と制御部と周辺処理部とを接続する第2のバスと、を備え、周辺処理部は、第1のバスを介して読み出した格納先情報に基づいて、第2のバスを介して記憶部にアクセスする。   A packet processing device according to another aspect of the present invention stores a storage unit for storing transmission / reception data for packet transmission, a peripheral processing unit having a DMA function for accessing the storage unit, and storage destination information in the DMA by the DMA function. A descriptor storage unit that controls the descriptor storage unit and the peripheral processing unit when transmitting and receiving packets, a first bus that directly connects the descriptor storage unit and the peripheral processing unit, and descriptor storage A second bus that connects the storage unit, the storage unit, the control unit, and the peripheral processing unit, and the peripheral processing unit uses the second bus based on the storage location information read through the first bus. To access the storage unit.

本発明によれば、ディスクリプタと周辺回路を接続する専用バスを設けることで、メインバスが使用中であっても、同時に周辺回路がディスクリプタへアクセスすることが可能となる。したがって、メインバスのトラフィックが削減され、パケット処理性能をより向上させることができる。   According to the present invention, by providing a dedicated bus for connecting the descriptor and the peripheral circuit, the peripheral circuit can simultaneously access the descriptor even when the main bus is in use. Therefore, the main bus traffic is reduced, and the packet processing performance can be further improved.

本発明の実施形態に係るパケット処理装置は、パケット伝送用の送受信データを格納するSDRAM(図1の16)と、送受信データの格納先情報を記憶するディスクリプタ(図1の15)と、送受信データにアクセスするイーサネット(登録商標)コントローラ(図1の11a、11b)と、パケットの送受信に際し、ディスクリプタとイーサネット(登録商標)コントローラとを制御するCPUコア(図1の10)と、を備える。ディスクリプタとイーサネット(登録商標)コントローラとは、第1のバス(図1の22)で直接接続され、ディスクリプタとSDRAMとCPUコアとイーサネット(登録商標)コントローラとは、第2のバス(図1の21)を介して接続される。イーサネット(登録商標)コントローラは、第1のバスを介して読み出した格納先情報に基づいて、第2のバスを介して送受信データにアクセスする。   A packet processing apparatus according to an embodiment of the present invention includes an SDRAM (16 in FIG. 1) that stores transmission / reception data for packet transmission, a descriptor (15 in FIG. 1) that stores storage destination information of transmission / reception data, and transmission / reception data. And an Ethernet controller (11a and 11b in FIG. 1) for accessing the CPU and a CPU core (10 in FIG. 1) for controlling the descriptor and the Ethernet (registered trademark) controller when transmitting and receiving packets. The descriptor and the Ethernet (registered trademark) controller are directly connected by a first bus (22 in FIG. 1), and the descriptor, SDRAM, CPU core, and Ethernet (registered trademark) controller are connected to the second bus (in FIG. 1). 21). The Ethernet (registered trademark) controller accesses transmission / reception data via the second bus based on the storage location information read via the first bus.

以上のように構成されるパケット処理装置は、メインバスである第2のバスが使用中であっても、同時にイーサネット(登録商標)コントローラが第1のバスを介してディスクリプタへアクセスすることが可能となる。したがって、第2のバスのトラフィックが削減され、特にショートパケットの送受における処理性能が向上する。以下、実施例に即し、図面を参照して詳しく説明する。   The packet processing apparatus configured as described above allows the Ethernet (registered trademark) controller to simultaneously access the descriptor via the first bus even when the second bus, which is the main bus, is in use. It becomes. Therefore, the traffic on the second bus is reduced, and the processing performance in the transmission / reception of short packets is improved. Hereinafter, it will be described in detail with reference to the drawings in accordance with embodiments.

図1は、本発明の実施例に係るパケット処理装置の構成を示すブロック図である。図1において、パケット処理装置は、CPU5とSDRAM16を備える。CPU5は、1チップのLSIであって、CPUコア10、イーサネット(登録商標)コントローラ11a、11b、IPsecエンジン12、SDRAMコントローラ13、ディスクリプタコントローラ14、オンチップのディスクリプタ15、SDRAM16、CPUデータバス21、バス22を備える。なお、パケット処理装置は、その他各種処理機能を有するが、本発明に関わらないので、その説明を省略する。   FIG. 1 is a block diagram showing a configuration of a packet processing apparatus according to an embodiment of the present invention. In FIG. 1, the packet processing apparatus includes a CPU 5 and an SDRAM 16. The CPU 5 is a one-chip LSI, and includes a CPU core 10, Ethernet (registered trademark) controllers 11a and 11b, an IPsec engine 12, an SDRAM controller 13, a descriptor controller 14, an on-chip descriptor 15, an SDRAM 16, a CPU data bus 21, A bus 22 is provided. Although the packet processing apparatus has other various processing functions, the description thereof is omitted because it is not related to the present invention.

CPUコア10は、CPU全体を制御する中央演算装置である。イーサネット(登録商標)コントローラ11a、11bは、装置外部のネットワークに接続され、イーサネット(登録商標)のMAC(メディアアクセスコントロール)処理を行い、内蔵されるDMAC(DMAコントローラ)を介して外部データメモリであるSDRAM16のデータ転送を制御する。IPsecエンジン12は、DMACを内蔵し、暗号処理を行う周辺回路である。SDRAMコントローラ13は、外部に接続されるSDRAM16を制御する。SDRAMコントローラ13の内部にあるディスクリプタコントローラ14は、ディスクリプタ15の制御を行い、SDRAM16とLSI内部のオンチップディスクリプタのアドレッシングを行う。ディスクリプタ15は、DMAにて使用されるデータのポインタと通信ステータスが格納される。SDRAM16は、SDRAMコントローラ13を介してCPUに接続され、処理すべきデータおよびプログラムを格納する。CPUデータバス21は、CPUコア10と、イーサネット(登録商標)コントローラ11a、11b、IPsecエンジン12、SDRAMコントローラ13を接続する。バス22は、周辺回路とディスクリプタの専用バスであって、ディスクリプタ15と、イーサネット(登録商標)コントローラ11a、11b、IPsecエンジン12とを直接接続する。   The CPU core 10 is a central processing unit that controls the entire CPU. The Ethernet (registered trademark) controllers 11a and 11b are connected to a network outside the apparatus, perform Ethernet (registered trademark) MAC (Media Access Control) processing, and use an external data memory via a built-in DMAC (DMA controller). The data transfer of a certain SDRAM 16 is controlled. The IPsec engine 12 is a peripheral circuit that incorporates a DMAC and performs cryptographic processing. The SDRAM controller 13 controls the SDRAM 16 connected to the outside. The descriptor controller 14 in the SDRAM controller 13 controls the descriptor 15 and addresses the SDRAM 16 and the on-chip descriptor in the LSI. The descriptor 15 stores a pointer of data used in the DMA and a communication status. The SDRAM 16 is connected to the CPU via the SDRAM controller 13 and stores data and programs to be processed. The CPU data bus 21 connects the CPU core 10 to the Ethernet (registered trademark) controllers 11a and 11b, the IPsec engine 12, and the SDRAM controller 13. The bus 22 is a dedicated bus for peripheral circuits and descriptors, and directly connects the descriptor 15 to the Ethernet (registered trademark) controllers 11 a and 11 b and the IPsec engine 12.

図2は、ディスクリプタ15におけるデータ構造を示す図である。ディスクリプタ15には、一連のデータ転送のためのステータス、サイズ、アドレスポインタが複数組存在する。アドレスポインタは、SDRAM16中のデータの位置を指し示し、サイズは、このデータの大きさを表す。また、ステータスは、データがセットされたか、転送終了したかなどの状態を表す。また、アドレスポインタがリンクポインタである場合には、ディスクリプタ15におけるデータ構造が連続していなくて、リンクポインタで指し示される先にデータ構造が続いていることを表す。さらに、アドレスポインタがNULLディスクリプタである場合には、データ構造がこれ以上連続していないことを意味する。なお、ここでは、イーサネット(登録商標)コントローラ11aの送信あるいは受信の一面分のディスクリプタのみを示すが、ディスクリプタ15内には他にもイーサネット(登録商標)コントローラ11b、IPsecエンジン用のディスクリプタも存在している。   FIG. 2 is a diagram illustrating a data structure in the descriptor 15. The descriptor 15 has a plurality of sets of statuses, sizes, and address pointers for a series of data transfers. The address pointer points to the position of data in the SDRAM 16, and the size represents the size of this data. The status represents a state such as whether data has been set or transfer has been completed. Further, when the address pointer is a link pointer, it indicates that the data structure in the descriptor 15 is not continuous and the data structure continues after the destination indicated by the link pointer. Further, when the address pointer is a NULL descriptor, it means that the data structure is not continuous any more. Here, only the descriptor for one side of transmission or reception of the Ethernet (registered trademark) controller 11a is shown, but the descriptor 15 also includes descriptors for the Ethernet (registered trademark) controller 11b and the IPsec engine. ing.

次に、イーサネット(登録商標)コントローラのデータ送受に係る動作について説明する。図3は、パケット処理装置内のデータ伝送に係るシーケンスを表す図である。図3においてイーサネット(登録商標)コントローラ11aがデータ送信を行う場合、以下のステップS11〜S14が実行される。   Next, operations related to data transmission / reception of the Ethernet (registered trademark) controller will be described. FIG. 3 is a diagram illustrating a sequence related to data transmission in the packet processing apparatus. In FIG. 3, when the Ethernet (registered trademark) controller 11a performs data transmission, the following steps S11 to S14 are executed.

ステップS11において、CPUコア10は、ディスクリプタ15の送信用のディスクリプタに、送信すべきデータが格納されているSDRAM16内のアドレスを示すポインタとデータのサイズとステータスとをセットする。この時のデータの流れとしては、CPUコア10→CPUデータバス21→ディスクリプタ15となる。そして、CPUコア10は、図示されないが、イーサネット(登録商標)コントローラ11aにアクセスすることで送信用のディスクリプタに必要な情報が書き込まれたことを通知する。   In step S11, the CPU core 10 sets a pointer indicating an address in the SDRAM 16 in which data to be transmitted is stored, a data size, and a status in the descriptor for transmission of the descriptor 15. The data flow at this time is as follows: CPU core 10 → CPU data bus 21 → descriptor 15. Although not shown, the CPU core 10 notifies the transmission descriptor that necessary information has been written by accessing the Ethernet (registered trademark) controller 11a.

ステップS12において、イーサネット(登録商標)コントローラ11aは、ディスクリプタ15の送信用のディスクリプタにアクセスして送信すべきデータのアドレスポインタ、サイズを読出す。この時のデータの流れとしては、ディスクリプタ15→バス22→イーサネット(登録商標)コントローラ11aとなる。   In step S12, the Ethernet (registered trademark) controller 11a accesses the descriptor for transmission of the descriptor 15 and reads the address pointer and size of data to be transmitted. The data flow at this time is as follows: descriptor 15 → bus 22 → Ethernet (registered trademark) controller 11a.

ステップS13において、イーサネット(登録商標)コントローラ11aは、DMA機能を用いてSDRAM16から送信すべきデータを取り出す。この時のデータの流れとしては、SDRAM16→SDRAMコントローラ13→CPUデータバス21→イーサネット(登録商標)コントローラ11aとなる。なお、バス22は、この間、開放されているので、イーサネット(登録商標)コントローラ11bあるいはIPsecエンジン12は、バス22を経由してディスクリプタ15にアクセスすることが可能である。   In step S13, the Ethernet (registered trademark) controller 11a takes out data to be transmitted from the SDRAM 16 using the DMA function. The data flow at this time is SDRAM16 → SDRAM controller 13 → CPU data bus 21 → Ethernet (registered trademark) controller 11a. Since the bus 22 is open during this period, the Ethernet (registered trademark) controller 11 b or the IPsec engine 12 can access the descriptor 15 via the bus 22.

ステップS14において、データの送信終了後、送信結果であるステータスをディスクリプタ15に格納する。この時のデータの流れとしては、イーサネット(登録商標)コントローラ11a→バス22→ディスクリプタ15となる。   In step S14, after the data transmission is completed, the status as the transmission result is stored in the descriptor 15. The data flow at this time is Ethernet (registered trademark) controller 11a → bus 22 → descriptor 15.

その後、送信すべきデータがさらに存在する場合には、ステップS12〜S14を繰り返す。   Thereafter, if there is more data to be transmitted, steps S12 to S14 are repeated.

一方、データ受信を行う場合、以下のステップS16〜S19が実行される。   On the other hand, when data reception is performed, the following steps S16 to S19 are executed.

ステップS16において、CPUコア10は、ディスクリプタ15の受信用のディスクリプタに、受信したデータを格納するSDRAM16内のアドレスを示すポインタとデータのサイズと受信ステータスとを格納する領域を予めセットしておく。この時のデータの流れとしては、CPUコア10→CPUデータバス21→ディスクリプタ15となる。   In step S <b> 16, the CPU core 10 previously sets a pointer indicating an address in the SDRAM 16 storing the received data, a data size, and an area for storing the reception status in the reception descriptor of the descriptor 15. The data flow at this time is as follows: CPU core 10 → CPU data bus 21 → descriptor 15.

ステップS17において、イーサネット(登録商標)コントローラ11aは、ディスクリプタ15の受信用のディスクリプタにアクセスして受信データの格納先を示すアドレスポインタ、サイズを読出す。この時のデータの流れとしては、ディスクリプタ15→バス22→イーサネット(登録商標)コントローラ11aとなる。   In step S17, the Ethernet (registered trademark) controller 11a accesses the descriptor for reception of the descriptor 15 and reads an address pointer and a size indicating the storage destination of the received data. The data flow at this time is as follows: descriptor 15 → bus 22 → Ethernet (registered trademark) controller 11a.

ステップS18において、イーサネット(登録商標)コントローラ11aは、DMA機能を用いてイーサネット(登録商標)コントローラ11aから受信データをSDRAM16へ格納する。この時のデータの流れとしては、イーサネット(登録商標)コントローラ11a→CPUデータバス21→SDRAMコントローラ13→SDRAM16となる。なお、バス22は、この間、開放されているので、イーサネット(登録商標)コントローラ11bあるいはIPsecエンジン12は、バス22を経由してディスクリプタ15にアクセスすることが可能である。   In step S18, the Ethernet (registered trademark) controller 11a stores the received data from the Ethernet (registered trademark) controller 11a in the SDRAM 16 using the DMA function. The data flow at this time is Ethernet (registered trademark) controller 11a → CPU data bus 21 → SDRAM controller 13 → SDRAM 16. Since the bus 22 is open during this period, the Ethernet (registered trademark) controller 11 b or the IPsec engine 12 can access the descriptor 15 via the bus 22.

ステップS19において、イーサネット(登録商標)コントローラ11aは、受信ステータスをディスクリプタ15に格納する。この時のデータの流れとしては、イーサネット(登録商標)コントローラ11a→バス22→ディスクリプタ15となる。   In step S19, the Ethernet (registered trademark) controller 11a stores the reception status in the descriptor 15. The data flow at this time is Ethernet (registered trademark) controller 11a → bus 22 → descriptor 15.

その後、受信すべきデータがさらに存在する場合には、ステップS17〜S19を繰り返す。   Thereafter, if there is more data to be received, steps S17 to S19 are repeated.

以上のようにイーサネット(登録商標)コントローラ11aがディスクリプタ15にアクセスする場合には、バス22を使用するように動作する。したがって、イーサネット(登録商標)コントローラ11aのディスクリプタ15へのアクセスにCPUデータバス21が使われることが無くなり、CPUデータバス21のバスの占有率が低減される。   As described above, when the Ethernet (registered trademark) controller 11 a accesses the descriptor 15, it operates so as to use the bus 22. Therefore, the CPU data bus 21 is not used for accessing the descriptor 15 of the Ethernet (registered trademark) controller 11a, and the occupancy rate of the CPU data bus 21 is reduced.

以上の説明では、イーサネット(登録商標)コントローラ11aについてのみ説明したが、イーサネット(登録商標)コントローラ11b、IPsecエンジン12についても、ディスクリプタ15にアクセスする場合にはバス22を使用するように動作する。これらに関しても、同様にCPUデータバス21のバスの占有率が低減される。   In the above description, only the Ethernet (registered trademark) controller 11 a has been described. However, the Ethernet (registered trademark) controller 11 b and the IPsec engine 12 also operate to use the bus 22 when accessing the descriptor 15. In these cases as well, the occupancy rate of the CPU data bus 21 is similarly reduced.

本発明のパケット処理装置は、以上のような送受信動作において、外部メモリを使用せず、LSI内部にディスクリプタ15を搭載することにより外部アクセスの回数を削減し処理速度を向上させる。SDRAM16のような外部メモリにアクセスする場合、メモリ自体のアクセス速度、サイクル速度とも遅い場合が多い。通常家庭向けのブロードバンドルータ装置に搭載されているSDRAMでは、133MHz動作(1クロックあたり7.5ns)程度である。それを補うためには高速なメモリ(SSRAM等)を使用すれば改善は可能であるが、装置が高価となってしまう。また、SDRAMとディスクリプタ用にSSRAMを接続させる構造とした場合、LSIの信号ピンの本数が増加し、装置の大型化、コストアップにつながる。そこでLSI内部にディスクリプタ15を内蔵することで、低速な外部メモリへのアクセス回数を減らすことが可能となる。そして、ディスクリプタへのアクセス時間が短縮され、バスのディスクリプタへのアクセス占有率を低下させることにより、他の処理が実行できるため、処理性能の向上につながる。   The packet processing apparatus of the present invention reduces the number of external accesses and improves the processing speed by mounting the descriptor 15 in the LSI without using an external memory in the above transmission / reception operation. When accessing an external memory such as the SDRAM 16, the access speed and cycle speed of the memory itself are often slow. In an SDRAM usually mounted on a broadband router device for home use, the operation is about 133 MHz (7.5 ns per clock). In order to compensate for this, improvement is possible by using a high-speed memory (SSRAM or the like), but the apparatus becomes expensive. Further, when the SDRAM is connected to the SSRAM for the descriptor, the number of LSI signal pins increases, leading to an increase in the size and cost of the device. Therefore, by incorporating the descriptor 15 in the LSI, it is possible to reduce the number of accesses to the low-speed external memory. Then, the access time to the descriptor is shortened, and by reducing the access occupancy rate to the descriptor of the bus, other processing can be executed, which leads to improvement in processing performance.

また、内部メモリを使用することにより、高速アクセスが可能となり、処理速度を向上させることが可能となる。LSI内部にメモリを搭載し、それを使用した場合、内蔵メモリ自体の速度も高速であり、さらにCPUコアから直接アクセスが可能になる構成をとった場合、動作クロック数を大幅に削減可能であり、処理速度の向上につながる。ある種のCPUを例に試算した結果、SDRAMにディスクリプタを構成し、ディスクリプタに対してデータの読み出しを行った場合、13クロック必要であるが、内蔵RAMにディスクリプタを構成すると、1〜2クロックでデータのリードが可能となる。   Further, by using the internal memory, high speed access is possible, and the processing speed can be improved. When a memory is installed inside the LSI and used, the built-in memory itself is also fast, and if it is configured to allow direct access from the CPU core, the number of operating clocks can be greatly reduced. It leads to improvement of processing speed. As a result of a trial calculation using a certain CPU as an example, when a descriptor is configured in the SDRAM and data is read from the descriptor, 13 clocks are required. However, if a descriptor is configured in the built-in RAM, 1 to 2 clocks are required. Data can be read.

図4に示したような従来技術で構成した場合、CPUコア110、イーサネット(登録商標)コントローラ111、SDRAMコントローラ113がデータを送受信する場合に、CPUデータバス121は、このデータの送受信に占有されている。したがって、例えばイーサネット(登録商標)コントローラ111が外部SDRAM114に存在するディスクリプタ116をDMAコントローラ内に取り込む処理を実行している場合には、CPUコア110がSDRAM114に存在するデータ領域115にアクセスすることはできない。   When the CPU core 110, the Ethernet (registered trademark) controller 111, and the SDRAM controller 113 transmit / receive data when the conventional technology as shown in FIG. 4 is used, the CPU data bus 121 is occupied by the data transmission / reception. ing. Accordingly, for example, when the Ethernet (registered trademark) controller 111 is executing processing for fetching the descriptor 116 existing in the external SDRAM 114 into the DMA controller, the CPU core 110 cannot access the data area 115 existing in the SDRAM 114. Can not.

これに対し、本実施例のパケット処理装置では、ディスクリプタ15がLSI内部にあり、イーサネット(登録商標)コントローラ11a、11b、IPsecエンジン12とディスクリプタ間の専用のバス22を設けている。このため、バス22を経由してディスクリプタ15のデータをイーサネット(登録商標)コントローラ11aが取り込んでいる場合であっても、イーサネット(登録商標)コントローラ11bあるいはIPsecエンジン12とSDRAM16との間でCPUデータバス21を介してデータ転送が可能である。また、CPUコア10がCPUデータバス21を使用してSDRAM16に存在するデータにアクセスすることも可能となる。さらに、逆にイーサネット(登録商標)コントローラ11aがCPUデータバス21を介してデータ転送を行っている間に、イーサネット(登録商標)コントローラ11bあるいはIPsecエンジン12は、バス22を経由してディスクリプタ15のデータにアクセスすることが可能である。以上のように、イーサネット(登録商標)コントローラ11a等の周辺回路とディスクリプタ15とを直接接続するバス22を設けることで、周辺回路同士でCPUデータバス21とバス22との同時アクセスを可能とし、アクセス待ち時間を削減して処理性能を向上させることができる。   On the other hand, in the packet processing apparatus of this embodiment, the descriptor 15 is in the LSI, and a dedicated bus 22 is provided between the Ethernet (registered trademark) controllers 11a and 11b, the IPsec engine 12 and the descriptor. For this reason, even if the Ethernet (registered trademark) controller 11 a captures the data of the descriptor 15 via the bus 22, the CPU data is transmitted between the Ethernet (registered trademark) controller 11 b or the IPsec engine 12 and the SDRAM 16. Data transfer is possible via the bus 21. Further, it becomes possible for the CPU core 10 to access data existing in the SDRAM 16 using the CPU data bus 21. In contrast, while the Ethernet (registered trademark) controller 11 a performs data transfer via the CPU data bus 21, the Ethernet (registered trademark) controller 11 b or the IPsec engine 12 transmits the descriptor 15 via the bus 22. It is possible to access the data. As described above, by providing the bus 22 that directly connects the peripheral circuit such as the Ethernet (registered trademark) controller 11a and the descriptor 15, the peripheral circuits can access the CPU data bus 21 and the bus 22 simultaneously. The processing performance can be improved by reducing the access waiting time.

本発明によれば、家庭・企業向けブロードバンドネットワーク(FTTHやADSL等)に接続されるブロードバンド機器(ブロードバンドルータ装置や、光回線終端装置)において、従来と比較して、処理性能が向上した装置が実現される。特に映像・音声・データ通信を同時に処理する際の処理性能を向上させることができ、映像や音声の欠落が生じない高性能なホームゲートウェイ装置が実現可能となる。   According to the present invention, in a broadband device (broadband router device or optical line termination device) connected to a broadband network (FTTH, ADSL, etc.) for homes and businesses, a device with improved processing performance compared to the conventional devices. Realized. In particular, it is possible to improve processing performance when simultaneously processing video / audio / data communication, and it is possible to realize a high-performance home gateway device that does not cause loss of video / audio.

本発明の実施例に係るパケット処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the packet processing apparatus which concerns on the Example of this invention. ディスクリプタにおけるデータ構造を示す図である。It is a figure which shows the data structure in a descriptor. パケット処理装置内のデータ伝送に係るシーケンスを表す図である。It is a figure showing the sequence which concerns on the data transmission in a packet processing apparatus. 従来のパケット処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the conventional packet processing apparatus. 従来の他のパケット処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the other conventional packet processing apparatus.

符号の説明Explanation of symbols

5 CPU
10 CPUコア
11a、11b イーサネット(登録商標)コントローラ
12 IPsecエンジン
13 SDRAMコントローラ
14 ディスクリプタコントローラ
15 ディスクリプタ
16 SDRAM
21 CPUデータバス
22 バス
5 CPU
10 CPU cores 11a and 11b Ethernet (registered trademark) controller 12 IPsec engine 13 SDRAM controller 14 Descriptor controller 15 Descriptor 16 SDRAM
21 CPU data bus 22 bus

Claims (6)

パケット伝送用の送受信データを格納する記憶部との間でデータ転送を行うDMA(Direct Memory Access)機能を有する周辺処理部と、前記DMA機能によるDMAにおける格納先情報を記憶する記述子格納部とを接続する第1のバスと、
前記データ転送を行うために前記記憶部と前記周辺処理部とを接続する第2のバスと、
を備えることを特徴とするパケット処理装置。
A peripheral processing unit having a DMA (Direct Memory Access) function for transferring data to and from a storage unit for storing transmission / reception data for packet transmission; a descriptor storage unit for storing storage destination information in the DMA by the DMA function; A first bus connecting
A second bus connecting the storage unit and the peripheral processing unit to perform the data transfer;
A packet processing apparatus comprising:
パケット伝送用の送受信データを格納する記憶部と、
前記記憶部にアクセスするDMA(Direct Memory Access)機能を有する周辺処理部と、
前記DMA機能によるDMAにおける格納先情報を記憶する記述子格納部と、
パケットの送受信に際し、前記記述子格納部と前記周辺処理部とを制御する制御部と、
前記記述子格納部と前記周辺処理部とを接続する第1のバスと、
前記記述子格納部と前記記憶部と前記制御部と前記周辺処理部とを接続する第2のバスと、
を備え、
前記周辺処理部は、前記第1のバスを介して読み出した前記格納先情報に基づいて、前記第2のバスを介して前記記憶部にアクセスすることを特徴とするパケット処理装置。
A storage unit for storing transmission / reception data for packet transmission;
A peripheral processing unit having a DMA (Direct Memory Access) function for accessing the storage unit;
A descriptor storage unit for storing storage location information in DMA by the DMA function;
A control unit that controls the descriptor storage unit and the peripheral processing unit when transmitting and receiving packets; and
A first bus connecting the descriptor storage unit and the peripheral processing unit;
A second bus connecting the descriptor storage unit, the storage unit, the control unit, and the peripheral processing unit;
With
The packet processing device, wherein the peripheral processing unit accesses the storage unit via the second bus based on the storage location information read via the first bus.
前記周辺処理部は、複数個存在することを特徴とする請求項1または2記載のパケット処理装置。   The packet processing apparatus according to claim 1, wherein there are a plurality of the peripheral processing units. 前記複数の周辺処理部の少なくとも一つは、外部とパケット伝送を行う通信インタフェース部を含むことを特徴とする請求項3記載のパケット処理装置。   4. The packet processing apparatus according to claim 3, wherein at least one of the plurality of peripheral processing units includes a communication interface unit that performs packet transmission with the outside. 前記格納先情報は、前記送受信データの格納状態を示すステータスと、前記送受信データの格納先を示すポインタとを含み、
前記周辺処理部は、前記記憶部にアクセスするに際し、アクセス前に前記ステータスと前記ポインタとを読出し、前記ポインタに基づいて前記記憶部にアクセスし、前記送受信データのアクセス終了後に前記ステータスを書き換えることを特徴とする請求項1または2記載のパケット処理装置。
The storage location information includes a status indicating a storage state of the transmission / reception data, and a pointer indicating a storage location of the transmission / reception data,
When accessing the storage unit, the peripheral processing unit reads the status and the pointer before the access, accesses the storage unit based on the pointer, and rewrites the status after the access of the transmission / reception data is completed. The packet processing device according to claim 1 or 2.
前記記述子格納部と前記周辺処理部と前記制御部と前記第1のバスと前記第2のバスとを同一のチップ内に含むように構成されることを特徴とする請求項2記載のパケット処理装置。   3. The packet according to claim 2, wherein the descriptor storage unit, the peripheral processing unit, the control unit, the first bus, and the second bus are configured to be included in the same chip. Processing equipment.
JP2005135194A 2005-05-06 2005-05-06 Packet processing device Pending JP2006313427A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005135194A JP2006313427A (en) 2005-05-06 2005-05-06 Packet processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005135194A JP2006313427A (en) 2005-05-06 2005-05-06 Packet processing device

Publications (1)

Publication Number Publication Date
JP2006313427A true JP2006313427A (en) 2006-11-16

Family

ID=37534900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005135194A Pending JP2006313427A (en) 2005-05-06 2005-05-06 Packet processing device

Country Status (1)

Country Link
JP (1) JP2006313427A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009130891A (en) * 2007-11-28 2009-06-11 Nec Access Technica Ltd Information processing apparatus and frame relay method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60219849A (en) * 1984-04-17 1985-11-02 Nec Corp Packet processing unit
JPH03158952A (en) * 1989-11-17 1991-07-08 Hitachi Ltd Dma controller and information processing system
JPH04346151A (en) * 1991-05-24 1992-12-02 Canon Inc Data processor
JPH0612368A (en) * 1992-06-29 1994-01-21 Mitsubishi Electric Corp High-definition image processor
JPH10341257A (en) * 1997-06-10 1998-12-22 Nec Shizuoka Ltd Packet processing unit
JP2001014266A (en) * 1999-06-29 2001-01-19 Nec Yonezawa Ltd Dma transfer circuit and dma transfer method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60219849A (en) * 1984-04-17 1985-11-02 Nec Corp Packet processing unit
JPH03158952A (en) * 1989-11-17 1991-07-08 Hitachi Ltd Dma controller and information processing system
JPH04346151A (en) * 1991-05-24 1992-12-02 Canon Inc Data processor
JPH0612368A (en) * 1992-06-29 1994-01-21 Mitsubishi Electric Corp High-definition image processor
JPH10341257A (en) * 1997-06-10 1998-12-22 Nec Shizuoka Ltd Packet processing unit
JP2001014266A (en) * 1999-06-29 2001-01-19 Nec Yonezawa Ltd Dma transfer circuit and dma transfer method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009130891A (en) * 2007-11-28 2009-06-11 Nec Access Technica Ltd Information processing apparatus and frame relay method

Similar Documents

Publication Publication Date Title
US10425359B2 (en) Packet data traffic management apparatus
TWI406133B (en) Data processing apparatus and data transfer method
JP6188093B2 (en) Communication traffic processing architecture and method
US10848442B2 (en) Heterogeneous packet-based transport
EP2602962B1 (en) A method and apparatus to provide data streaming over a network connection in a wireless MAC processor
US7710989B2 (en) Scalable and configurable queue management for network packet traffic quality of service
KR20070039120A (en) Method and device for accessing data of a message memory of a communication component
CN101322357A (en) Explicit flow control in a gigabit/10 gigabit Ethernet system
JP2008519373A (en) Hardware peripheral component memory alignment method
US20140269306A1 (en) Ethernet traffic management apparatus
CN110471872A (en) One kind realizing M-LVDS bus data interactive system and method based on ZYNQ chip
US10419355B2 (en) Flow control of network device
JP6021132B2 (en) Transmitting apparatus, receiving apparatus, communication apparatus, program, transmitting method, and receiving method for wirelessly communicating continuous data by packet
EP1401155B1 (en) Method and system for wakeup packet detection at gigabit speeds
US9438537B2 (en) Method for cut through forwarding data packets between electronic communication devices
CN110995507A (en) Network acceleration controller and method
CN113986969A (en) Data processing method and device, electronic equipment and storage medium
JP2003050788A (en) Apparatus and method for distribution of signal from high level data link controller to multiple digital signal processor core
JP2006313427A (en) Packet processing device
US8898716B2 (en) Method and apparatus for designing a communication mechanism between embedded cable modem and embedded set-top box
US10078615B1 (en) Ethernet controller with integrated multi-media payload de-framer and mapper
JP2762506B2 (en) Line controller
CN103744817A (en) Communication transforming bridge device from Avalon bus to Crossbar bus and communication transforming method of communication transforming bridge device
JP2009188479A (en) Network processing apparatus
US10701001B2 (en) Wireless communication circuit with scheduling circuit in MAC layer

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20080411

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A02 Decision of refusal

Effective date: 20110705

Free format text: JAPANESE INTERMEDIATE CODE: A02