JP4974078B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP4974078B2
JP4974078B2 JP2007194028A JP2007194028A JP4974078B2 JP 4974078 B2 JP4974078 B2 JP 4974078B2 JP 2007194028 A JP2007194028 A JP 2007194028A JP 2007194028 A JP2007194028 A JP 2007194028A JP 4974078 B2 JP4974078 B2 JP 4974078B2
Authority
JP
Japan
Prior art keywords
data
reception
received
buffer
copy
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.)
Active
Application number
JP2007194028A
Other languages
English (en)
Other versions
JP2009031954A (ja
Inventor
哲也 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica 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 NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2007194028A priority Critical patent/JP4974078B2/ja
Priority to TW97126774A priority patent/TWI406133B/zh
Priority to US12/174,710 priority patent/US7890672B2/en
Priority to AU2008203261A priority patent/AU2008203261B2/en
Priority to EP20080075666 priority patent/EP2019360B1/en
Priority to CN2008101346247A priority patent/CN101355558B/zh
Publication of JP2009031954A publication Critical patent/JP2009031954A/ja
Application granted granted Critical
Publication of JP4974078B2 publication Critical patent/JP4974078B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、同一のデータを必要な数だけコピーするデータ処理装置に係わり、たとえばデータをブロードキャストあるいはマルチキャストする場合に好適なデータ処理装置に関する
イーサネット(登録商標)によるデータの通信速度が年々向上しており、その主流が100Mbps(megabit per second)から1Gbps(gigabit per second)に移行している。これに伴って、ルータには以前にも増してルーティング処理の高速化が要求されるようになっている。これに対する1つの解決法は、ルータ内の制御やデータ処理を行なうCPU(Central Processing Unit)のクロック周波数を上げることである。クロック周波数を上げればCPUの単位時間での処理能力は向上し、ひいてはルーティング処理能力の向上にもつながる。
ところが、一般にクロック周波数が高くなるほど、これを搭載したデバイスの価格は高くなる傾向にある。またそのデバイスの消費電力も高くなることが多い。特定のデータを必要に応じてコピーして複数組作成するようなデータ処理装置としては、前記したルータの他にたとえば同報通信装置がある。このような同報通信装置では、CPUが関与する形でユーザデータをコピーし、各同報通信先のポート番号を含んだヘッダ部分をそれぞれのユーザデータに付与して通信を行っている(たとえば特許文献1参照)。
特開2005−033296号公報(第0087段落、図2)
同報通信装置やルータ等のこのようなデータ処理装置はホームユースのものも多く、低価格や低消費電力の製品が要求されている。したがってデータ処理装置は安易にCPUのクロック周波数を上げることはできず、クロック周波数のアップに頼らない処理能力の向上のための施策が必要である。
そこで本発明の目的は、通信等の用途でデータのコピーを作成するような場合に、CPUに負担を掛けることなくこれを実現できるデータ処理装置を得ることにある。
本発明では、CPUと、メモリとを備え、前記メモリには、受信データが書き込まれる受信データバッファと、受信データのコピーが書き込まれるコピーデータバッファが設けられ、WAN(Wide Area Network)インタフェースから受信した受信データを、有線LAN(Local Area Network)インタフェースおよび無線LANインタフェースに送信するために、前記メモリに対し受信データのコピーを行う機能を備えた有線LANコントローラを有し、前記CPUは、前記受信バッファに書き込まれた受信データを前記有線LANインタフェースに対応する送信データに変換すると共に、前記コピーデータバッファに書き込まれた受信データを前記無線LANインターフェースに対応する送信データに変換するデータ処理装置であって、
前記有線LANコントローラは、
受信した受信データを受信した順に格納し、受信した順に読み出すことができる受信FIFO(First In First Out)メモリと、
前記受信FIFOメモリから読み出された受信データのヘッダ情報と、受信データが有するヘッダ情報に対応するように受信データの優先度プライオリティ情報、および、受信データを前記無線LANインタフェースにも送信する場合に受信データのコピーが必要であることを示す情報無線送信ビットが含まれるパラメータが予め格納されたパラメータテーブルのヘッダ情報とを比較することにより、前記受信データに対応するパラメータを出力する比較手段と、
前記比較手段から出力されたパラメータに含まれる優先度に基づいて、受信データバッファの書き込みアドレスを検索し出力すると共に、前記パラメータに受信データのコピーが必要であることを示す情報が含まれる場合は、さらにコピーデータバッファの書込アドレスも検索し出力するバッファ管理手段と、
前記受信データおよび前記受信データバッファの書き込みアドレスを受け取り、前記受信データを前記受信データバッファに書き込むと共に、前記バッファ制御手段から前記コピーデータバッファの書き込みアドレスも受け取った場合には、前記受信データを前記コピーデータバッファにも書き込むことにより受信データのコピーを生成するDMA(Direct Memory Access)コントローラ
とを具備する。
以上説明したように、本発明によれば、データを複数の格納先にDMA転送することで必要なコピーを取得するので、この処理にCPUを介する必要がない。したがって、CPUの処理能力を他の処理に発揮させ、データ処理の効率を高めることができる。
以下実施例につき本発明を詳細に説明する。
図1は、本発明の一実施例におけるデータ処理システムを表わしたものである。本実施例のデータ処理システム100で受信データのコピーを行う機能を備えたルータ101は、無線LAN(Local Area Network)インタフェース111を介して通信を行う無線端末102と、有線LANインタフェース112を介して通信を行う第1〜第4の有線端末1031〜1034と、電話線や専用線からなるWAN(Wide Area Network)インタフェース113を介したインターネット114と接続されている。
ルータ101自体は、その各部の制御を行うCPU(Central Processing Unit)121を備えている。CPU121は、その制御プログラムを格納した不揮発性のフラッシュROM(flash Read Only Memory)122と、作業用データや通信データ等の各種データならびにフラッシュROM122に格納されたプログラムを展開して格納するRAM(Random Access Memory)123と接続されている。また、CPU121は無線ユニット124および有線LANコントローラ125とも接続されている。CPU121と無線ユニット124の間は、たとえばPCI(Peripheral Components Interconnect)バスで接続されている。
ここで、無線ユニット124は、無線端末102とIEEE(Institute of Electrical and Electronic Engineers)802.11準拠の無線通信を行うデバイスである。有線LANコントローラ125は、イーサネット(登録商標)用のコントローラである。有線LANコントローラ125は、MAC(Media Access Control)層と物理層とのインタフェースとしてのMII(Media Independent Interface)126およびイーサネット(登録商標)プロトコルで定義されたバス構造としてのMDIO(Management Data Input/Output)127を介して、L2(レイヤ2)スイッチ128の制御側と接続されている。また、有線LANコントローラ125は、MII131およびMDIO132を介してイーサネット(登録商標)によってインターネット114に接続するためのEtherPHY(Fast Ethernet(登録商標) Physical Layer Transceivers)133の制御側と接続されている。
ここでL2スイッチ128は、学習したMACアドレスに従ってパケットの行き先を切り替えるための第1〜第4のポートP1〜P4を備えている。第1のポートP1は、第1のコネクタ135および有線LANインタフェース112を介して第1の有線端末1031と接続されるようになっている。また第2のポートP2は、第2のコネクタ136および有線LANインタフェース112を介して第2の有線端末1032と接続されるようになっている。同様に第3のポートP3は、第3のコネクタ137および有線LANインタフェース112を介して第3の有線端末1033と接続されるようになっている。また第4のポートP4は、第4のコネクタ138および有線LANインタフェース112を介して第4の有線端末1034と接続されるようになっている。EtherPHY133は、第5のコネクタ139およびWANインタフェース113を介してインターネット114と接続されるようになっている。
このような構成のデータ処理システム100で、ルータ101によるルーティングの処理について説明する。一例としてルータ101がWANインタフェース113を用いて受信したデータを無線LAN(Local Area Network)インタフェース111および有線LANインタフェース112にルーティングする場合を考える。
図2は、この例の場合のデータの処理される様子を表わしたものである。ルータ101が第5のコネクタ139を介してWANインタフェース113から受信したデータは、矢印151で示すようにまずEtherPHY133に到達し、MII131を経由して有線LANコントローラ125に到達する。有線LANコントローラ125は、図示しないがDMA回路を備えており、受信データはCPU121を介することなくRAM123に格納される。この後、ルータ101内でデータの受信が完了したことや、受信バッファのアドレスや受信データ長(レングス)を示すために、たとえばRAM123内の図示しない受信ディスクリプタと呼ばれる領域に情報の書き込みが行われる。受信ディスクリプタは、有線LANコントローラ125内の図示しないレジスタ群として構成されていてもよいし、RAM123内の領域と有線LANコントローラ125内の前記したレジスタ群の双方を併用することも可能である。
図3は、このような受信ディスクリプタおよび受信バッファを表わしたものである。値「n」を2以上の整数とすると、受信ディスクリプタ161には、第1〜第nの要素領域1621〜162nが用意されている。これら第1〜第nの要素領域1621〜162nには、それぞれの対象とする受信データについて、受信完了か未受信かを示す受信ステータス163と、受信データのバッファ領域を示すための受信バッファアドレス164と、受信データ長165とが記録されるようになっている。この例では、第1〜第n−1の要素領域1621〜162n-1がそれぞれ個別に受信データのための情報を保有している。これにより、第1〜第n−1の要素領域1621〜162n-1では、受信ステータスが共に「受信完了」となっている。この例で第nの要素領域162nについては、受信ステータスが「未受信」となっており、受信データのための情報が格納されていない。
RAM123(図1)内は、受信バッファアドレス164と受信データ長165とで定まる第1〜第n−1の受信バッファ1671〜167n-1が割り当てられており、それぞれの受信データが格納されている。図3に示した例では、第nの受信バッファ167nの受信ステータス163が未受信となっているので、これに対応する受信データは存在せず、第nの受信バッファ167nはRAM123内に割り当てられていない。
第1〜第n−1の受信バッファ1671〜167n-1に格納された受信データは、図1に示したCPU121によってルーティング処理が行われることになる。具体的に説明すると、たとえば受信データのMAC、VLANタグ、IPおよびTCP/UDPといったプロトコルヘッダをルーティングテーブルの値と比較して、どこに送信するかを決定する。
たとえば、ルータ101の受信データの送信先が有線LANインタフェース112(図1)であるものとする。この場合、CPU121は、この受信データを有線LANインタフェース112に対して送信するためのLAN用データに変換する。変換によって得られたLAN用データはCPU121によって所定の送信バッファに書き込まれる。
図4は、送信ディスクリプタおよび送信バッファを示したものである。送信ディスクリプタ171には、第1〜第nの要素領域1721〜172nが用意されている。これら第1〜第nの要素領域1721〜172nには、それぞれの対象とする送信データについて、送信許可か送信未許可かを示す送信ステータス173と、送信データのバッファ領域を示すための送信バッファアドレス174と、送信データ長(レングス)175が記録されるようになっている。この例では、少なくとも第1および第2の要素領域1721、1722がそれぞれ個別に送信データのための情報を保有しており、これらの送信ステータスが共に「送信許可」となっている。また、少なくとも第n−1の送信バッファ177nと第nの送信バッファ177nについては、送信ステータスが「送信未許可」となっており、これらには受信データのための情報が格納されていない。
図4に示した例では、RAM123(図1)内に、送信バッファアドレス174と送信データ長175で定まる、少なくとも第1および第2の送信バッファ1771、1772が割り当てられている。したがって、送信バッファにはそれぞれの送信データが格納されている。この図4に示した例では、たとえば第n−1および第nの送信ステータス173が送信未許可となっている。したがって、これらに対応する送信データは存在せず、これらに対応する送信バッファはRAM123内に割り当てられていない。
有線LANコントローラ125(図1)は、送信ディスクリプタ171をチェックして送信ステータス173に「送信許可」が存在するかを判別する。そして、「送信許可」の存在を検出したら、その要素領域172X(Xは「1」から「n」までの該当する任意の整数)の送信バッファアドレス174と送信データ長175を基にして、第Xの送信バッファ177Xから該当する送信データの読み出しを行う。そして、図2で矢印152で示したように、この送信データを有線LANインタフェース112に送信することになる。
これに対して、RAM123の受信データの送信先が無線LANインタフェース111の場合、図2の矢印153で示すようにRAM123に格納された受信データはCPU153に直接送られる。CPU153はこの受信データを無線LANインタフェース111に送信するための無線データに変換する。そして、これを無線ユニット124に送信することになる。
ところで、WANインタフェース113からルータ101がユニキャストのデータを受信した場合、その受信データの送信先は単一のアドレスとなる。したがって、この場合には、無線LANインタフェース111あるいは有線LANインタフェース112のうちの送信先に対応するものに変換後のデータを送信すればよい。
これに対して、WANインタフェース113からルータ101が受信したデータがブロードキャストあるいはマルチキャストの場合がある。このような場合とは、インターネット114の図示しないコンテンツサーバからIPマルチキャストを利用したストリーミングデータが配信される例を挙げることができる。ブロードキャストあるいはマルチキャストのデータを受信した場合、この受信データは無線LANインタフェース111と有線LANインタフェース112の双方に転送しなければならない。ここで、無線LANインタフェース111に送信するデータは、イーサネット(登録商標)のDIXII仕様に準拠しているか、IEEE802.3準拠のパケットである。また、有線LANインタフェース112に送信するデータはIEEE802.11準拠のパケットとなる。
このように無線LANインタフェース111と有線LANインタフェース112の双方に同時にデータを送信する際には、一つの受信データからこれら2種類の宛先用に異なるプロトコルのデータを生成しなければならない。そこで本発明に関連する技術では、変換処理を行う前にCPU121によって受信データをコピーしておき、その後にそれぞれのデータの変換を行ってルーティング処理を行うようにしている。本発明を理解するために、まずこの本発明に関連する技術についての説明を行う。
図5は、本発明に関連する技術で無線LANと有線LANの双方にデータを送信する際の原理を表わしたものである。図2と共に説明する。図5に示すようにルータ101が受信処理181を行ったデータとしての受信データ182は、第1のバッファ183に格納される。この受信データ182の格納領域は、図3で説明したように受信バッファアドレス164と、受信データ長165で定めることができる。受信データ182は、無線で送信するデータを生成するためにCPU121によってコピー処理184されてコピーデータ185となる。コピーデータ185は第2のバッファ186に格納される。
一方、第1のバッファ183に格納された受信データ182は、有線LANインタフェース112に送信するために変換処理188が行われてLAN送信データ189が生成される。生成されたLAN送信データ189を送信するためにその情報が送信ディスクリプタ171に設定される。このとき、第1のバッファ183内における変換されたLAN送信データ189の格納箇所は、送信バッファアドレス174と送信データ長175で定められる。第1のバッファ183に格納されたLAN送信データ189は、有線LANコントローラ125の送信処理191によって有線LANインタフェース112に送信される。
第2のバッファ186内のコピーデータ185に対しては、無線用の変換処理192が行わる。そして、変換後の無線送信データ193は送信処理194によって無線ユニット124に送信される。
ところが、このような本発明に関連する技術では、コピー処理184がCPU121のパワーを消費することになるので、ルータ101の処理能力を大きく低下させる要因となる。そこで、本実施例のルータ101は図5で説明したコピー処理184を行わず、CPU121の処理能力の低下を防止している。
図6は、本実施例のルータによる受信データの処理の様子を原理的に表わしたものである。図2と共に説明する。図6に示すようにルータ101が第5のコネクタ139を介してWANインタフェース113から取得した受信データ201は、有線LANコントローラ125内の受信FIFO(First-In First-Out)メモリ202に格納される。受信FIFOメモリ202は、受信データ201を順に格納して、その古いものから順に読み出すようになっている。受信FIFOメモリ202から出力される受信データ203は比較器204に入力されて、そのヘッダ情報が設定テーブル205の設定値と順次比較されるようになっている。ここで設定テーブル205は、MACヘッダ、IPヘッダ、TCP/UDPヘッダ等の比較のための設定値を格納しておくものであり、第1の設定値から第mの設定値までのm個の要素を持っている。
有線LANコントローラ125内には、設定テーブル205に対応する形でパラメータテーブル207が配置されている。パラメータテーブル207には、第1の設定値から第mの設定値のそれぞれの設定値に対応させたパラメータが格納されている。これらのパラメータは、たとえば受信データのプライオリティ設定に関するプライオリティ情報や、そのデータが無線ユニット124にも送信すべきデータであるか否かを示す無線送信ビットから構成されている。
一例として、受信FIFOメモリ202から読み出されたある受信データ203が設定テーブル205の第m−2の設定値206と一致したものとする。この場合には、パラメータテーブル207から第m−2の設定値206に対応する第m−2のパラメータであるパラメータ208が出力されてアドレス検索データとしてバッファ管理部209に渡されるようになっている。ここでCは無線への送信を示す無線送信ビットである。
バッファ管理部209は、プライオリティおよび無線送信ビットがセットされているか否かによって、RAM123内の受信用のバッファについての管理を個別に行うブロックである。すなわち、バッファ管理部209はパラメータテーブル207から取得したパラメータ208に含まれるプライオリティ情報を基にして、受信用のバッファにおける書き込みのためのアドレスを検索する。本実施例でプライオリティが4段階の優先度からなるものとする。
図7は、本実施例の場合の受信ディスクリプタの構成を表わしたものである。図3に示した受信ディスクリプタ161は、最も優先度の高い第1順位受信ディスクリプタ161Aと、2番目の優先度の第2順位受信ディスクリプタ161Bと、3番目の優先度の第3順位受信ディスクリプタ161Cと、最も優先度の低い第4順位受信ディスクリプタ161Dで構成されている。第1順位受信ディスクリプタ161Aには、第1〜第nの要素領域162A1〜162Anが用意されており、以下同様に第4順位受信ディスクリプタ161Dには、第1〜第nの要素領域162D1〜162Dnが用意されている。
今、図6に示した受信FIFOメモリ202から読み出された受信データ203のプライオリティが第2順位で、無線送信ビットがセットされていたものとする。この場合、バッファ管理部209は第2順位受信ディスクリプタ161Bにおける受信データの書き込まれている要素領域162BX(ただしXは1〜nのうちの所定の整数であり、XがnのときはX+1は1とする。)の次の要素領域162BX+1にこの受信データを書き込むための受信バッファアドレス211と、コピーデータを格納することのできる領域の検索結果としてのコピーアドレス212をDMAコントローラ213に供給する。ただし、無線送信ビットがセットされていない場合、バッファ管理部209はコピーアドレス212の検索とDMAコントローラ213に対する通知の必要がないことはもちろんである。要素領域162BX+1に対しては、図3で説明したように受信ステータス163、受信バッファアドレス164および受信データ長165が記録される。
なお、プライオリティが第1順位であれば第1順位受信ディスクリプタ161A内の未受信の要素のアドレスが指定され、第3順位であれば第3順位受信ディスクリプタ161C内の未受信の要素のアドレスが指定され、第4順位であれば第4順位受信ディスクリプタ161D内の未受信の要素のアドレスが指定される。そして、これら対応する要素領域162A、162Cあるいは162Dに対して必要な記録が行われることになる。
DMAコントローラ213は、提供されたアドレスに基づいて、メモリコントローラ214を制御してRAM123の該当する領域に受信データの書き込みを行う。すなわち、前記した要素領域162BX+1についての受信バッファアドレス211が指定されている状態では、受信データバッファ216内のそのアドレスに、処理中の受信データ203を、CPU121(図2)が介在することなく書き込む処理を行う。無線送信ビットがセットされている場合、バッファ管理部209はコピーデータバッファ217における書き込み可能なコピーアドレス212を指定する。したがって、この場合、DMAコントローラ213はメモリコントローラ214を制御して、指定されたコピーアドレス212に対しても同様に受信データ203の書き込みを行う。
以上のようにして受信FIFOメモリ202から読み出された1つの受信データ203に対する受信データバッファ216やコピーデータバッファ217に対する書込処理が終了したら、この受信FIFOメモリ202から次に古い受信データ203の読み出しとこれに基づく書き込みの処理が行われることになる。以下、同様である。
このようにしてRAM123における受信データバッファ216に対しては、図5で示した変換処理188と同様な変換処理が行われる。そして、有線LANインタフェース112に送信するためのLAN送信データ189(図5)が生成される。その後は図5で説明したように、生成されたLAN送信データ189を送信するためにその情報が送信ディスクリプタ171に設定される。このとき、図7に示した第1順位受信ディスクリプタ161Aを基にして読み出した受信データに対応するLAN送信データ189が送信の際に最も優先度の高いデータとなることになる。他の順位の受信ディスクリプタ161B、161C、161Dは同様にそれらの優先度に応じた取り扱いとなる。
このようにして第1のバッファ183に格納されたLAN送信データ189は、有線LANコントローラ125の送信処理191によって有線LANインタフェース112に送信される。また、図5に示すコピーデータバッファ217に格納された受信データに対しては、図6に示したような無線用の変換処理192が行わる。そして、変換後の無線送信データ193は送信処理194によって無線ユニット124に送信されることになる。
以上説明した実施例では、DMAコントローラ213を用いて受信データ203のコピーを行ったので、この処理にCPU121の介在が不要である。したがって、特にプログラムがインストラクションキャッシュにヒットしている状況であれば、CPU121はこのコピー処理中に別の処理を行うことができ、ルータ101としての処理能力の向上を図ることができる。すなわち、図5で示したような関連技術によれば、コピーをCPU121によって処理するので、(1)受信データ格納のためのメモリライト、(2)コピーのための受信データの読み出し、および(3)コピーデータの書き込みと3回のメモリアクセスが発生するが、本実施例では(1)受信データ201の格納のためのメモリライト後に(2)コピーデータの書き込みを連続して行うことができる。したがって、コピーのための受信データ203の読み出し処理を削減することができ、またコピーに要する時間も短縮できるので、ルータ101の性能向上に寄与する。またRAM123等のメモリへのアクセスが減ることでCPU121からメモリへのアクセス待ち時間が短縮され、これも性能アップに貢献することになる。
特に実施例のようなルータを使用したデータ処理装置システムの場合、無線LANは802.11準拠であり、有線LANは802.3準拠となっていて参照すべき規格が異なっている。このため、フレームのフォーマットが異なり、あるデータを無線LANと有線LANの2箇所に送信するためには、それぞれ異なるフレーム形式に変換する必要がある。たとえばWANから受信したデータをLANと無線に送信する場合、LANに送信するデータは受信データに対して、一例としてNAT(Network Address Translation)でアドレス変換を行い送信を行う。このデータはイーサネット(登録商標)(DIXII)準拠のフレーム形式をとる。一方、無線に送信するデータは、同様にアドレス変換を行った後、さらに802.11準拠するフレーム形式に変換する必要がある。
これらの必要条件を満足するためには、受信データをコピーしておき、それぞれ有線LAN用、無線LAN用のデータに変換して送信することが必要であった。本発明に関連する技術では受信データのコピーとして、メモリ間コピーをソフトウェア処理によって行っていた。メモリ間コピー中、CPUはメモリリードとライトを繰り返すだけなので、他の処理を行うことができず、CPUの処理能力を相当圧迫していた。本実施例では、これをDMA転送で行うようにしたので、ルータにおけるCPUの大幅な負担軽減に繋がることになる。
なお、実施例では送信ディスクリプタ171を単一としたが、これをプライオリティに応じて複数個配置して、有線LANコントローラ125の送信処理191の際に優先度に応じた送信処理を行うようにしてもよい。また、本実施例では無線ユニット124の送信する無線データについては優先度を考慮しなかったが、送信の際に同様にして考慮することも可能である。たとえばリアルタイム性の強い受信データについては優先的に送信することが有効である。
また、実施例でプライオリティは図1または図2に示す第1〜第4の有線端末1031〜1034と直接関係ないものとして説明したが、これらに対応付けられるものであってもよい。たとえば第1の有線端末1031が他の有線端末1032〜1034よりもリアルタイム性が要求される端末である場合には、これを宛先とするデータの送信の優先度を高めるようにしてもよい。
更に、実施例ではWANから有線および無線LANへのパケットの転送について説明したが、この逆に有線LANからWANおよび無線LANへの転送や、無線LANから有線LANおよびWANへの転送についても本発明を適用することができることは同様である。また、実施例ではイーサネット(登録商標)を扱う有線LANコントローラ125とCPU121をルータ101内の別のデバイスとして説明したが、両者をインテグレーションして1つのデバイスとして実現することも可能である。
また、実施例ではルーティング処理をCPUが行うものとしたが、有線LANコントローラ125がハードウェアによるルーティング機能を具備している場合や、DSP(Digital Signal Processor)等の補助プロセッサを使用してルーティング機能を実現している場合についても本発明を適用することができることは当然である。更に、実施例では設定テーブル205やパラメータテーブル207を有線LANコントローラ125内にレジスタ群のような形で配置することにしたが、RAM123等のメモリ内に配置してもよい。
また、実施例では受信データ203のコピーから送信までをハードウェアで処理することにしたが、この処理の少なくとも一部をソフトウェアを用いて行うことも可能であることは当然である。
本発明の一実施例における通信システムを表わしたシステム構成図である。 本実施例でWANからLANへデータが転送される場合を示した通信システムの説明図である。 本実施例の受信ディスクリプタと受信バッファを示した説明図である。 本実施例の送信ディスクリプタおよび送信バッファを示した説明図である。 本発明に関連する技術で無線LANと有線LANの双方にデータを送信する様子を表わした説明図である。 本実施例のルータによる受信データの処理の様子を表わした説明図である。 本実施例の受信ディスクリプタの構成を表わした説明図である。
符号の説明
100 データ処理システム
101 ルータ
102 無線端末
103 有線端末
111 無線LANインタフェース
112 有線LANインタフェース
113 WANインタフェース
121 CPU
122 フラッシュROM
123 RAM
124 無線ユニット
125 有線LANコントローラ
202 受信FIFOメモリ
204 比較器
205 設定テーブル
207 パラメータテーブル
209 バッファ管理部
213 DMAコントローラ
214 メモリコントローラ
216 受信データバッファ
217 コピーデータバッファ

Claims (2)

  1. CPUと、メモリとを備え、前記メモリには、受信データが書き込まれる受信データバッファと、受信データのコピーが書き込まれるコピーデータバッファが設けられ、WAN(Wide Area Network)インタフェースから受信した受信データを、有線LAN(Local Area Network)インタフェースおよび無線LANインタフェースに送信するために、前記メモリに対し受信データのコピーを行う機能を備えた有線LANコントローラを有し、前記CPUは、前記受信バッファに書き込まれた受信データを前記有線LANインタフェースに対応する送信データに変換すると共に、前記コピーデータバッファに書き込まれた受信データを前記無線LANインターフェースに対応する送信データに変換するデータ処理装置であって、
    前記有線LANコントローラは、
    受信した受信データを受信した順に格納し、受信した順に読み出すことができる受信FIFO(First In First Out)メモリと、
    前記受信FIFOメモリから読み出された受信データのヘッダ情報と、受信データが有するヘッダ情報に対応するように受信データの優先度プライオリティ情報、および、受信データを前記無線LANインタフェースにも送信する場合に受信データのコピーが必要であることを示す情報無線送信ビットが含まれるパラメータが予め格納されたパラメータテーブルのヘッダ情報とを比較することにより、前記受信データに対応するパラメータを出力する比較手段と、
    前記比較手段から出力されたパラメータに含まれる優先度に基づいて、受信データバッファの書き込みアドレスを検索し出力すると共に、前記パラメータに受信データのコピーが必要であることを示す情報が含まれる場合は、さらにコピーデータバッファの書込アドレスも検索し出力するバッファ管理手段と、
    前記受信データおよび前記受信データバッファの書き込みアドレスを受け取り、前記受信データを前記受信データバッファに書き込むと共に、前記バッファ制御手段から前記コピーデータバッファの書き込みアドレスも受け取った場合には、前記受信データを前記コピーデータバッファにも書き込むことにより受信データのコピーを生成するDMA(Direct Memory Access)コントローラ
    とを具備することを特徴とするデータ処理装置。
  2. 前記受信データの優先度に対応して複数の要素領域に分割され、受信データが書き込まれている受信データバッファのアドレス及び受信データ長からなる受信データに関する情報が記録されている受信ディスクリプタをさらに備え、
    前記バッファ管理手段は、前記受信データの優先度に対応した受信ディスクリプタから受信データに関する情報を取得することにより、受信データバッファのアドレスを検索する
    ことを特徴とする請求項1に記載のデータ処理装置。
JP2007194028A 2007-07-26 2007-07-26 データ処理装置 Active JP4974078B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2007194028A JP4974078B2 (ja) 2007-07-26 2007-07-26 データ処理装置
TW97126774A TWI406133B (zh) 2007-07-26 2008-07-15 資料處理設備及資料傳送方法
US12/174,710 US7890672B2 (en) 2007-07-26 2008-07-17 Data processing apparatus and data transfer method
AU2008203261A AU2008203261B2 (en) 2007-07-26 2008-07-22 Data processing apparatus and data transfer method
EP20080075666 EP2019360B1 (en) 2007-07-26 2008-07-26 Data processing apparatus and data transfer method
CN2008101346247A CN101355558B (zh) 2007-07-26 2008-07-28 数据处理设备和数据传送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007194028A JP4974078B2 (ja) 2007-07-26 2007-07-26 データ処理装置

Publications (2)

Publication Number Publication Date
JP2009031954A JP2009031954A (ja) 2009-02-12
JP4974078B2 true JP4974078B2 (ja) 2012-07-11

Family

ID=39940619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007194028A Active JP4974078B2 (ja) 2007-07-26 2007-07-26 データ処理装置

Country Status (6)

Country Link
US (1) US7890672B2 (ja)
EP (1) EP2019360B1 (ja)
JP (1) JP4974078B2 (ja)
CN (1) CN101355558B (ja)
AU (1) AU2008203261B2 (ja)
TW (1) TWI406133B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11336725B2 (en) 2019-11-14 2022-05-17 Kabushiki Kaisha Toshiba Communication apparatus, communication method, and computer program product

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4974078B2 (ja) * 2007-07-26 2012-07-11 Necアクセステクニカ株式会社 データ処理装置
JP4536827B2 (ja) * 2008-08-20 2010-09-01 パナソニック株式会社 通信装置、テレビジョン受像機、及び再生装置
JP2010211322A (ja) * 2009-03-06 2010-09-24 Renesas Electronics Corp ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法
TWI415424B (zh) * 2009-03-27 2013-11-11 Mstar Semiconductor Inc 無線廣域網路至乙太網路之轉換裝置及其傳輸系統
JP5550297B2 (ja) * 2009-10-02 2014-07-16 キヤノン株式会社 通信装置及び通信装置の通信方法並びにプログラム
JP5150668B2 (ja) * 2010-03-12 2013-02-20 株式会社東芝 無線通信装置及び無線通信システム
KR101435094B1 (ko) * 2010-04-06 2014-08-27 후지쯔 가부시끼가이샤 무선 통신 장치, 정보 처리 장치 및 무선 통신 제어 방법
KR101536785B1 (ko) * 2010-10-29 2015-07-17 네이버 주식회사 멀티 로그인을 이용한 통합 커뮤니케이션 시스템 및 방법 그리고 통합 커뮤니케이션 툴의 동작을 제어하는 단말기 및 단말기에서의 커뮤니케이션 방법
US8959278B2 (en) * 2011-05-12 2015-02-17 Freescale Semiconductor, Inc. System and method for scalable movement and replication of data
CN102984095A (zh) * 2012-12-14 2013-03-20 深圳市共进电子股份有限公司 一种报文传输系统、交换设备及报文传输方法
US9170969B2 (en) 2013-01-20 2015-10-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cached PHY register data access
JP2014142823A (ja) * 2013-01-24 2014-08-07 Azbil Corp データ作成装置および方法
JP6155723B2 (ja) * 2013-03-18 2017-07-05 富士通株式会社 レーダ装置及びプログラム
US9509600B1 (en) * 2013-08-06 2016-11-29 F5 Networks, Inc. Methods for providing per-connection routing in a virtual environment and devices thereof
CN104318949B (zh) * 2014-11-20 2017-06-16 京东方科技集团股份有限公司 一种烧录装置、烧录系统和烧录方法
US9800524B1 (en) * 2015-09-24 2017-10-24 Qlogic Corporation Switching methods and systems for a network interface card
DE102016211768A1 (de) * 2016-06-29 2018-01-04 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür
KR20180050883A (ko) * 2016-11-07 2018-05-16 에스케이하이닉스 주식회사 메모리 데이터 억세스 장치 및 방법
CN107589996A (zh) * 2017-08-22 2018-01-16 新华三信息安全技术有限公司 一种释放内存的方法及装置
US11044200B1 (en) 2018-07-06 2021-06-22 F5 Networks, Inc. Methods for service stitching using a packet header and devices thereof
CN116915860B (zh) * 2023-09-07 2023-11-28 深圳市升立德科技有限公司 基于udp的指令传输方法、装置、设备以及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07273801A (ja) * 1994-03-29 1995-10-20 Hitachi Ltd ルータ装置
US5933654A (en) * 1996-09-24 1999-08-03 Allen-Bradley Company, Llc Dynamic buffer fracturing by a DMA controller
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
US5918074A (en) * 1997-07-25 1999-06-29 Neonet Llc System architecture for and method of dual path data processing and management of packets and/or cells and the like
US6633926B1 (en) * 1998-11-30 2003-10-14 Matsushita Electric Industrial Co., Ltd. DMA transfer device capable of high-speed consecutive access to pages in a memory
US6731644B1 (en) * 2000-02-14 2004-05-04 Cisco Technology, Inc. Flexible DMA engine for packet header modification
EP1139228A2 (en) * 2000-03-30 2001-10-04 Lucent Technologies Inc. An intelligent bus interconnect unit
JP3544967B2 (ja) * 2001-12-27 2004-07-21 株式会社東芝 システムヘッダを持つ音声情報の処理システム
JP2005033296A (ja) * 2003-07-08 2005-02-03 Oki Telecommunication Systems Co Ltd プロトコル変換装置
JP4974078B2 (ja) * 2007-07-26 2012-07-11 Necアクセステクニカ株式会社 データ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11336725B2 (en) 2019-11-14 2022-05-17 Kabushiki Kaisha Toshiba Communication apparatus, communication method, and computer program product

Also Published As

Publication number Publication date
EP2019360B1 (en) 2012-10-03
CN101355558B (zh) 2012-12-05
JP2009031954A (ja) 2009-02-12
CN101355558A (zh) 2009-01-28
TWI406133B (zh) 2013-08-21
US20090031054A1 (en) 2009-01-29
AU2008203261A1 (en) 2009-02-12
EP2019360A1 (en) 2009-01-28
AU2008203261B2 (en) 2013-01-24
TW200921400A (en) 2009-05-16
US7890672B2 (en) 2011-02-15

Similar Documents

Publication Publication Date Title
JP4974078B2 (ja) データ処理装置
US9450780B2 (en) Packet processing approach to improve performance and energy efficiency for software routers
JP4368371B2 (ja) AXIが適用されたNoCルータとNI、NoCシステム、及びそのインターリーブ方法
US10104006B2 (en) Bus interface apparatus, router, and bus system including them
US7283549B2 (en) Method for increasing the transmit and receive efficiency of an embedded ethernet controller
JP2001251351A (ja) パケット交換機における入力パケット処理方式
CN101227296A (zh) 一种pcie数据传输的方法、系统及板卡
US8477777B2 (en) Bridge apparatus and communication method
US5864553A (en) Multiport frame exchange system
KR100734736B1 (ko) 데이터 패킷 변환 방법 및 장치와 기록 매체
US9203758B2 (en) Network system, packet processing method and recording medium
JP5971072B2 (ja) フレーム転送装置及びフレーム転送方法
JP2006135574A (ja) パケット伝送装置
US8625619B2 (en) Domain gateway control system and method thereof
US20160112318A1 (en) Information processing system, method, and information processing apparatus
JP4766344B2 (ja) 情報処理装置及びフレーム中継方法
JP5543278B2 (ja) 廃棄パケット監視装置、廃棄パケット監視方法および廃棄パケット監視プログラム
US8091136B2 (en) Packet transfer device, packet transfer method, and program
KR101119367B1 (ko) 시간 슬롯 스위칭이 가능한 레지덴셜 이더넷 스위칭 장치및 그 시간 슬롯 스위칭 방법
JP2006174265A (ja) ストリームパケット受信装置
US20230179545A1 (en) Packet forwarding apparatus with buffer recycling and associated packet forwarding method
JP4879728B2 (ja) 検索装置およびデータ処理装置
JP6785009B2 (ja) 通信装置、及び、通信装置の制御方法
JP2011234063A (ja) 中継装置、及び、転送方法
JP2004336437A (ja) 映像受信回路および映像受信装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100312

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101021

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101101

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120130

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

R150 Certificate of patent or registration of utility model

Ref document number: 4974078

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350