JP5727633B2 - フレーム検索処理装置および方法 - Google Patents
フレーム検索処理装置および方法 Download PDFInfo
- Publication number
- JP5727633B2 JP5727633B2 JP2013558690A JP2013558690A JP5727633B2 JP 5727633 B2 JP5727633 B2 JP 5727633B2 JP 2013558690 A JP2013558690 A JP 2013558690A JP 2013558690 A JP2013558690 A JP 2013558690A JP 5727633 B2 JP5727633 B2 JP 5727633B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- frame information
- information
- search processing
- buffer
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
本発明は、入力フレームに応じた処理を決めるための検索処理を行うフレーム検索処理装置および方法に関するものである。
ルータやスイッチ、ブリッジにおいてフレームの転送や廃棄、優先制御などを行う場合、入力フレームに応じた処理を決めるため、検索処理が必要である。検索処理は、入力フレームから検索に必要な情報、例えば、IPアドレス等のフレームのヘッダ情報(以下、フレーム情報とする)を抽出し、このフレーム情報を検索条件と比較することで結果を出力する。
また、検索処理装置は、複数の検索条件(エントリ情報)を記憶している検索テーブルと、フレーム情報と検索テーブルのデータを比較し一致判定を行う比較回路とを備えている。検索処理では、1クロックサイクル毎に検索テーブルへアクセスし、検索条件を読み出し、フレーム情報と比較する。この検索処理は、全エントリ情報数分実施され、検索テーブルへのアクセスがエントリ情報数分発生する。そして、検索テーブルへのアクセス毎に電力が消費される。
一方で、検索条件が多い場合や、高速な検索処理が要求される場合、複数のフレーム情報を同時に検索処理するため、比較回路を並列化した構成が採用される。このような構成は、例えば文献「M.Urano,T.Kawamura,S.Ohteru,H.Suto,K.Kawai,R.Kusaba,N.Miura,J.Kato,A.Miyazaki,T.Hatano,S.Yasuda,N.Tanaka,S.Shigematsu,M.Nakanishi,T.Shibata,“The 10G-EPON OLT and ONU LSIs for the coexistence of 10G-EPON and GE-PON toward the next FTTH era”,2011 Symposium on VLSI Circuits(VLSIC),pp.132-133,15-17 June 2011」に開示されている。この文献に開示された構成では、8つのフレーム情報が並列処理され、さらに、1つのフレーム情報の検索を8並列比較する。複数のフレーム情報が複数の比較回路で並列処理される場合、1回の検索テーブルへのアクセスで、複数の比較回路に検索テーブルデータが配分される。つまり、複数の比較回路で並列処理される場合は、同数のフレーム情報の検索処理に必要な検索テーブルへのアクセス時間が短くなる。
しかしながら、従来の検索処理装置では、フレームとフレームの間隔が一定時間(1フレーム分の処理時間)以上空いて入力された場合やフレーム長が大きい場合、同数のフレーム情報の検索処理に必要である検索テーブルへのアクセス時間が増加する。検索処理装置では、検索テーブルへのアクセス毎に電力を消費するため、検索テーブルへのアクセス時間、または検索テーブルへのアクセス回数が増加すれば、消費電力も増加するという問題点があった。
本発明は、このような事情を考慮してなされたものであり、その目的は、検索テーブルへのアクセス時間またはアクセス回数を削減することで、消費電力を削減することにある。
本発明のフレーム検索処理装置は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出部と、前記フレーム情報と所定の検索条件であるエントリ情報とを比較する検索処理部と、この検索処理部へのフレーム情報の出力を制御するフレーム情報出力制御部とを備え、前記検索処理部は、M個(Mは2以上の整数)の前記エントリ情報を予め記憶する検索テーブルと、それぞれ異なるフレームのフレーム情報を入力とすると共に、前記M個のエントリ情報をN個(NはM以下の正の整数)ずつ順次読み出して、読み出した各エントリ情報と入力されたフレーム情報との比較を一度に行う複数の比較部とを備え、前記フレーム情報出力制御部は、前記フレーム情報抽出部によって抽出されたフレーム情報を蓄積するフレーム情報バッファと、このフレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ1個ずつ分配する出力処理部とを備えることを特徴とするものである。
また、本発明のフレーム検索処理方法は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出ステップと、前記フレーム情報と所定の検索条件であるエントリ情報とを比較する検索処理ステップと、この検索処理ステップで用いるフレーム情報の出力を制御するフレーム情報出力制御ステップとを含み、前記検索処理ステップは、複数の比較部へそれぞれ異なるフレームのフレーム情報を入力とすると共に、予め記憶しているM個(Mは2以上の整数)の前記エントリ情報をN個(NはM以下の正の整数)ずつ順次読み出して、読み出した各エントリ情報と入力されたフレーム情報との比較を前記複数の比較部で一度に行うステップを含み、前記フレーム情報出力制御ステップは、前記フレーム情報抽出ステップによって抽出されたフレーム情報をフレーム情報バッファに蓄積する書込ステップと、前記フレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ1個ずつ分配する出力処理ステップとを含むことを特徴とするものである。
本発明によれば、フレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、フレーム情報バッファに蓄積された複数のフレーム情報を検索処理部の各比較部へ1個ずつ分配する。このように、本発明では、フレーム情報の出力制御を実施することで、フレーム情報の検索処理に必要である検索テーブルへのアクセス時間(アクセスの回数)を短縮することができ、検索テーブルのアクセスで消費する電力を削減することができる。
[第1実施例]
次に、本発明の実施例について図面を参照して説明する。図1は、本発明の第1実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出部1と、抽出されたフレーム情報をもとにフレームの転送、廃棄などを検索処理する検索処理部2と、検索処理部2へのフレーム情報の出力を制御するフレーム情報出力制御部3と、フレームの検索処理結果を得るまでの期間中に前記入力フレームのデータを蓄積するフレームバッファ4と、検索処理結果を蓄積し、フレームバッファ4からのフレーム出力に応じて前記入力フレームの検索処理結果を後段のフレーム合成部6へ出力する検索処理結果バッファ5と、検索処理結果バッファ5が出力した検索処理結果に基づいて、フレームバッファ4から出力されたフレームのデータを書き換えるフレーム合成部6とから構成される。
次に、本発明の実施例について図面を参照して説明する。図1は、本発明の第1実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出部1と、抽出されたフレーム情報をもとにフレームの転送、廃棄などを検索処理する検索処理部2と、検索処理部2へのフレーム情報の出力を制御するフレーム情報出力制御部3と、フレームの検索処理結果を得るまでの期間中に前記入力フレームのデータを蓄積するフレームバッファ4と、検索処理結果を蓄積し、フレームバッファ4からのフレーム出力に応じて前記入力フレームの検索処理結果を後段のフレーム合成部6へ出力する検索処理結果バッファ5と、検索処理結果バッファ5が出力した検索処理結果に基づいて、フレームバッファ4から出力されたフレームのデータを書き換えるフレーム合成部6とから構成される。
なお、検索処理部2での検索処理により得られた検索は、必ずしもフレームのデータの書き換えを伴わなくとも良く、例えば、フレームの廃棄の有無の検索や、送信先の検索などの例もある。
図2は、フレーム情報抽出部1と検索処理部2とフレーム情報出力制御部3の動作の概要を示すフローチャートである。フレーム情報抽出部1は、フレームの検索処理に必要なフレーム情報(例えばIPアドレス等)を入力フレームから抽出する(図2ステップS1)。フレーム情報出力制御部3は、検索処理部2で用いるフレーム情報の出力を制御する(ステップS2)。検索処理部2は、フレーム情報と所定の検索条件であるエントリ情報とを比較する(ステップS3)。
フレーム合成部6は、検索処理結果バッファ5が出力した検索処理結果に基づいて、フレームバッファ4から出力されたフレームのデータを書き換える。例えばフレーム合成部6は、検索処理結果に基づいてフレームを転送すべきと判断した場合には、フレームバッファ4から出力されたフレームのヘッダ情報を書き換えてフレームを出力する。また、フレーム合成部6は、検索処理結果に基づいてフレームを廃棄すべきと判断した場合には、フレームバッファ4から出力されたフレームを廃棄する。
次に、検索処理部2の詳細な構成について記述する。図3は、フレーム検索処理装置の検索処理部2の構成を示すブロック図である。検索処理部2は、内部に検索テーブル20と、フレーム情報がエントリ情報に適合するか否かを判定するL個(Lは2以上の整数)の比較部である比較回路21(21−1,21−2,・・・,21−L)とを備えている。つまり、この検索処理部2は、複数のフレームを同時に検索処理できるように、フレーム情報と検索テーブル20のデータとを比較して一致判定を行う比較回路21を、並列化した構成である。
検索テーブル20には、M個(Mは2以上の整数)の検索条件(エントリ情報)が予め登録されている。各比較回路21へ検索テーブル20のデータが分配されるとき、各比較回路21は、検索処理の実行を示す検索信号とアドレス指定信号とを出力することにより、検索テーブル20からアドレス指定信号で指定したN個(NはM以下の正の整数)のエントリ情報を1クロックサイクルで読み出す。1クロックサイクルで検索テーブル20から読み出されたエントリ情報は全ての比較回路21へ送られる。なお、M/Nは整数であること、すなわちMはNの倍数であることが望ましい。
また、各比較回路21は、フレーム情報を蓄積していない場合、フレーム情報出力可を示す出力可否情報をフレーム情報出力制御部3に対して出力し、フレーム情報を蓄積している場合、フレーム情報出力不可を示す出力可否情報をフレーム情報出力制御部3に対して出力する。後述のようにフレーム情報出力制御部3は、フレーム情報の出力時に、出力可否情報がフレーム情報出力可を示している比較回路21を選択し、選択した比較回路21に対してフレーム情報を出力する。
フレーム情報出力制御部3からフレーム情報を入力された各比較回路21は、このフレーム情報と検索テーブル20から読み出したN個のエントリ情報との比較を一度に行う。そして、各比較回路21は、比較終了後に、検索テーブル20から読み出したN個のエントリ情報を消去し、検索テーブル20から次のN個のエントリ情報を1クロックサイクルで読み出す。こうして、各比較回路21は、検索テーブル20からエントリ情報をN個ずつ読み出してフレーム情報との比較を行うことを繰り返し、検索テーブル20の全エントリ情報(M個のエントリ情報)とフレーム情報とを比較し終えたとき、すなわち、M/Nのクロックサイクルの経過後に、検索結果(比較結果)を出力する。そして、各比較回路21は、検索結果の出力後、検索処理のために記憶していたフレーム情報を消去して、空き状態にする。
次に、フレーム情報出力制御部3における基本的な動作を説明する。図4は、フレーム情報出力制御部3の構成を示すブロック図である。フレーム情報出力制御部3は、検索処理部2へのフレーム情報の出力を制御するために、フレーム情報抽出部1によって抽出されたフレーム情報を蓄積するフレーム情報バッファ30と、フレーム情報のフレーム情報バッファ30への書込処理を行う書込処理部31と、フレーム情報の検索処理部2への出力処理を行う出力処理部32と、タイマ33と、蓄積数計測部34とを備えている。出力処理部32は、フレーム情報の所定の蓄積数、または所定のフレーム情報蓄積時間の経過を契機として、フレーム情報バッファ30に蓄積された複数のフレーム情報を検索処理部2へ出力する。
なお、フレーム情報蓄積数の所定の閾値は、比較回路21の個数L以下の範囲で予め設定すればよい。フレーム情報蓄積時間の所定の閾値は、サービス要件に応じて予め設定すればよい。
また、所定のフレーム情報蓄積時間の経過を契機として、フレーム情報を検索処理部2へ出力するとき、出力処理部32は、フレーム情報の蓄積数が比較回路21の個数未満の場合、フレーム情報バッファ30に蓄積された全てのフレーム情報を出力し、フレーム情報の蓄積数が比較回路21の個数以上の場合、比較回路21の個数分のフレーム情報を出力する。検索処理部2へ出力されたフレーム情報は、フレーム情報バッファ30から消えることは言うまでもない。また、フレーム情報出力制御部3は、フレーム情報バッファ30に蓄積されたフレーム情報の蓄積時間をフレーム情報毎に計測するタイマ33と、フレーム情報バッファ30に蓄積されたフレーム情報の蓄積数を計測する蓄積数計測部34とを備えている。
次に、フレーム情報出力制御部3がフレーム情報をフレーム情報バッファ30へ書込むときの動作を説明する。図5は、フレーム情報出力制御部3の書込処理部31がフレーム情報をフレーム情報バッファ30へ書込むときの動作を示すフローチャートである。
書込処理部31は、フレーム情報抽出部1からフレーム情報が入力されると、フレーム情報バッファ30に空きがあるかどうかを確認する(図5ステップS100,S101)。書込処理部31は、フレーム情報バッファ30に空きがない場合(ステップS101においてNO)、フレーム情報を廃棄する(ステップS102)。
書込処理部31は、フレーム情報抽出部1からフレーム情報が入力されると、フレーム情報バッファ30に空きがあるかどうかを確認する(図5ステップS100,S101)。書込処理部31は、フレーム情報バッファ30に空きがない場合(ステップS101においてNO)、フレーム情報を廃棄する(ステップS102)。
また、書込処理部31は、フレーム情報バッファ30に空きがある場合(ステップS101においてYES)、フレーム情報をフレーム情報バッファ30へ書き込む(ステップS103)。そして、書込処理部31は、このフレーム情報の蓄積時間の計測をタイマ33に指示すると共に、蓄積数計測部34が記憶している蓄積数を1カウントアップさせる(ステップS104)。タイマ33は、書込処理部31から蓄積時間の計測開始を指示されると、所定の閾値である一定時間をタイマ値として設定し、このタイマ値を時間の経過に合わせて減じる。これにより、タイマ33は、フレーム情報の蓄積開始からの経過時間をフレーム情報毎に計測する。
書込処理部31は、以上の処理をフレーム情報抽出部1からフレーム情報が入力される度に行う。
書込処理部31は、以上の処理をフレーム情報抽出部1からフレーム情報が入力される度に行う。
次に、フレーム情報出力制御部3がフレーム情報バッファ30からフレーム情報を読み出し、検索処理部2へ出力するときの動作を説明する。図6は、フレーム情報出力制御部3の出力処理部32がフレーム情報バッファ30からフレーム情報を読み出し、検索処理部2へ出力するときの動作を示すフローチャートである。
フレーム情報の出力では、検索処理部2の比較回路21に空きがあることを示す検索処理部2からの出力許可が必要である。出力処理部32は、検索処理部2からの出力可否情報を受信して、比較回路21に空きがあるかどうかを確認する(図6ステップS200,S201)。
出力処理部32は、検索処理部2からの出力可否情報が全ての比較回路21に空きがないことを示している場合(ステップS201においてNO)、フレーム情報を出力しない(ステップS202)。また、出力処理部32は、少なくとも1つの比較回路21に空きがある場合(ステップS201においてYES)、検索処理部2で検索処理中のフレーム情報があるかどうかを判定する(ステップS203)。
出力処理部32は、検索処理部2で検索処理中のフレーム情報がない場合(ステップS203においてNO)、蓄積数計測部34からフレーム情報の蓄積数を取得する(ステップS204)。出力処理部32は、フレーム情報バッファ30に蓄積されたフレーム情報の蓄積数が所定の閾値に達した場合(ステップS205においてYES)、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2へ出力する(ステップS206)。
また、出力処理部32は、フレーム情報バッファ30に蓄積されたフレーム情報の蓄積数が所定の閾値に達していない場合(ステップS205においてNO)、タイマ33からタイマ値(蓄積時間を示す情報)を取得する(ステップS207)。出力処理部32は、タイマ値が示す全てのフレーム情報蓄積時間が所定の閾値時間を経過していない場合(ステップS208においてNO)、フレーム情報を出力しない(ステップS202)。また、出力処理部32は、少なくとも1つのタイマ値が0で、フレーム情報バッファ30にフレーム情報蓄積時間が所定の閾値時間以上経過しているフレーム情報が少なくとも1つ存在する場合(ステップS208においてYES)、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2へ出力する(ステップS206)。
また、出力処理部32は、検索処理部2で検索処理中のフレーム情報があり、かつ検索処理部2の複数の比較回路21の中に検索処理を実行していない空き状態の比較回路21がある場合は(ステップS203においてYES)、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2の検索処理を実行していない比較回路21へ出力する(ステップS206)。
ステップS206においてフレーム情報を検索処理部2へ出力するとき、出力処理部32は、フレーム情報の蓄積数が空き状態の比較回路21の個数未満の場合、空き状態の比較回路21をフレーム情報の蓄積数分だけ選択して、この選択した比較回路21の各々にフレーム情報バッファ30に蓄積されたフレーム情報を1個ずつ分配して出力する。また、出力処理部32は、フレーム情報の蓄積数が空き状態の比較回路21の個数以上の場合、空き状態の比較回路21を選択して、この選択した比較回路21の各々に空き状態の比較回路21の個数分のフレーム情報を1個ずつ分配して出力する。
出力処理部32は、以上のような処理を所定の出力制御周期毎に行う。なお、フレーム情報出力制御部3において、フレーム情報バッファ30へのフレーム情報の書き込みと、検索処理部2へのフレーム情報出力のためのフレーム情報の読み出しとは、独立して実行される。
以上のように、本実施例では、フレーム情報の出力制御を実施することで、フレーム情報の検索処理に必要である検索テーブル20へのアクセス時間(アクセスの回数)を短縮することができ、検索テーブル20のアクセスで消費する電力を削減することができる。例えば、アクセス回数またはアクセス時間が半分になると、3〜4mW程度電力を削減できる。
図7A、図7Bは、フレーム処理に必要な検索テーブル20へのアクセス時間がフレーム情報の入力方法により異なることを示す図である。本実施例のようにフレーム情報を間隔を空けずに検索処理部2の比較回路21に入力する場合、同時に複数の比較回路21で、検索処理が実施されるため、検索テーブル20へのアクセス時間を短縮することができる(図7A)。一方、従来のようにフレーム情報を一定時間以上の間隔を空けて比較回路21に順次入力する場合、それぞれのフレーム情報の検索処理に対して検索テーブル20へのアクセスが必要である(図7B)。
なお、フレーム情報蓄積時間の計測方法、および所定のフレーム情報蓄積時間の経過による出力制御方法は、上記に限らず、例えば、フレーム情報蓄積時間計測用のタイマ33を、蓄積されたフレーム情報毎に備えず、1つのタイマ33で実施する方法もある。1つのタイマ33を用いる場合、このタイマ33は、フレーム情報バッファ30が空の状態で、フレーム情報バッファ30にフレーム情報が蓄積されたときのみフレーム情報蓄積時間の計測を開始する。出力処理部32は、検索処理部2への出力開始後は、蓄積中のフレーム情報および出力途中で入力されたフレーム情報の出力を保留せず、比較回路21に空きが出た時点で、これらのフレーム情報を即出力する。つまり、比較回路21に空きがある状態で、フレーム情報蓄積時間を計測していないフレーム情報の出力ができない状態を防ぐようにする。
また、タイマ33を用いずに1つの時計を備え、フレーム毎にフレームの到着時刻またはフレーム情報バッファ30へのフレーム情報の蓄積開始時刻を記憶してもよい。つまり、出力処理部32は、フレームの到着時刻またはフレーム情報の蓄積開始時刻と、現在の時刻とから、フレーム情報蓄積時間を計算し、計算したフレーム情報蓄積時間に基づいて、フレーム情報の出力制御を実施してもよい。
なお、フレームバッファ4またはフレーム情報バッファ30に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
なお、フレームバッファ4またはフレーム情報バッファ30に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
また、フレーム情報出力制御方法は上記に限らず、例えば出力処理部32は、フレーム情報の出力条件である、フレーム情報蓄積数の閾値を、フレーム情報蓄積時間の増加に応じて、反比例関数または一次の減少関数によって小さくするようにしてもよい。
また、出力処理部32は、フレーム情報の出力条件である、フレーム情報蓄積時間の閾値を、フレーム情報蓄積数や、フレームバッファ4のフレーム蓄積量に応じて変更してもよい。フレーム情報蓄積数が多い場合、フレーム情報蓄積時間の閾値を小さくすることで、フレーム出力の遅延を短縮化する効果がある。また、フレームバッファ4のフレーム蓄積量が多い場合、フレーム情報蓄積時間の閾値を小さくすることで、フレームバッファ4が溢れることを防ぐ効果がある。
図8は、閾値を変更する場合のフレーム情報出力制御部3の出力処理部32の動作を示すフローチャートである。上記のとおり、出力処理部32は、ステップS205の判定で用いるフレーム情報蓄積数の閾値を、フレーム情報蓄積時間の増加に応じて、反比例関数または一次の減少関数によって小さくする(図8ステップS209)。また、出力処理部32は、ステップS208の判定で用いるフレーム情報蓄積時間の閾値時間を、フレーム情報蓄積数の増加またはフレームバッファ4のフレーム蓄積量の増加に応じて、反比例関数または一次の減少関数によって小さくする(図8ステップS210)。図8のその他の処理は図6で説明したとおりである。なお、図8の例では、ステップS204とステップS205の間のタイミングでフレーム情報蓄積数の閾値を変更し、ステップS207とステップS208の間のタイミングでフレーム情報蓄積時間の閾値時間を変更しているが、これに限るものではなく、これら閾値を他のタイミングで変更するようにしてもよい。
さらに、蓄積数分のみのフレーム情報を出力し、このフレーム情報の出力中に新たに入力されたフレーム情報は、再び出力条件が成立するまで出力せずに蓄積しておく出力方法もある。図9は、この場合のフレーム情報出力制御部3の出力処理部32の動作を示すフローチャートである。
図9のステップS300,S301,S302の動作は、それぞれ図6のステップS200,S201,S202と同じなので、説明は省略する。
図9のステップS300,S301,S302の動作は、それぞれ図6のステップS200,S201,S202と同じなので、説明は省略する。
出力処理部32は、検索処理部2からの出力可否情報を確認した結果、少なくとも1つの比較回路21に空きがある場合(ステップS301においてYES)、蓄積数計測部34からフレーム情報の蓄積数を取得する(ステップS303)。出力処理部32は、フレーム情報バッファ30に蓄積されたフレーム情報の蓄積数が所定の閾値に達した場合(ステップS304においてYES)、ステップS307に進む。また、出力処理部32は、フレーム情報の蓄積数が所定の閾値に達していない場合(ステップS304においてNO)、タイマ33からタイマ値(蓄積時間を示す情報)を取得する(ステップS305)。そして、出力処理部32は、タイマ値が示す全てのフレーム情報蓄積時間が所定の閾値時間を経過していない場合(ステップS306においてNO)、フレーム情報を出力しない(ステップS302)。
また、出力処理部32は、フレーム情報バッファ30に蓄積されたフレーム情報の蓄積数が所定の閾値に達したか(ステップS304においてYES)、あるいは少なくとも1つのタイマ値が0で、フレーム情報バッファ30にフレーム情報蓄積時間が所定の閾値時間以上経過しているフレーム情報が少なくとも1つ存在する場合(ステップS306においてYES)、フレーム情報の蓄積数を送出蓄積フレーム数として設定する(ステップS307)。そして、出力処理部32は、フレーム情報をフレーム情報バッファ30から読み出して、検索処理部2へ出力し(ステップS308)、送出蓄積フレーム数をフレーム情報の出力数分だけ減らす(ステップS309)。このようなステップS308,S309の処理を送出蓄積フレーム数が0になるまで(ステップS310においてNO)、繰り返し行う。
図6に示した本実施例の基本となる出力動作と異なる点は、フレーム情報の出力前に、事前に取得したフレーム情報蓄積数を送出蓄積フレーム数として設定し、この送出蓄積フレーム数分のフレーム情報のみ、検索処理部2へ出力することである。このとき、フレーム情報の出力後、送出蓄積フレーム数の値をデクリメントし、送出蓄積フレーム数が0より大きいときは、フレーム情報の出力に戻り、0以下の場合は出力動作を終了する。以上のように設定した送出蓄積フレーム数分のみフレーム情報を出力することで、フレーム情報が連続して入力された場合も、複数のフレーム情報をまとめて出力することができるため、電力の削減効果がある。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
本実施例の効果を数式で示す。単位時間に入力されるフレーム数をFf、1フレームを検索するために要する時間をTs、1フレームを検索するときにテーブルを読み出す回数をNt、単位時間にテーブルを読み出す回数をNr、比較回路の個数(並列度)をNc、所定の蓄積時間(直前の検索から次の検索を行うまでの待ち時間)をTwとした場合、従来の方法では、Nrは下記のようになる。なお、複数のフレームを同時に検索する場合、つまり並列動作をする場合は、1回のメモリアクセスで読み出した検索条件がすべての比較回路へ分配されるため、フレーム毎にメモリアクセスを行わずとも済む。
if 1/Ff>Ts then Nr=Ff*Nt
else Nr=1/Ts*Nt
endif
else Nr=1/Ts*Nt
endif
つまり、Nrは、1/Ff>Tsの場合(並列動作なし、テーブル読み出し停止期間ありの場合)、Ff*Ntとなり、1/Ff≦Tsの場合(並列動作あり、常時テーブル読み出しの場合)、1/Ts*Ntとなる。ただし、Ffの最大値(最小フレーム長のフレームが最小のフレーム間ギャップで入力されたとき)のFfをFfmaxとすると、Nc≧Ts*Ffmaxである。
一方、本実施例では、検索開始時に始動するタイマが実装され、検索終了後から前記タイマの満了までに入力されたフレームは一旦バッファに蓄積しておき、満了時点で、前記蓄積されたフレームを一度に検索し、検索終了後タイマを再始動する。ただし、タイマ満了前にNc個のフレームを入力した時点で、前記蓄積されたフレームを一度に検索し、タイマを再始動する。この場合、Nrは下記のようになる。
if 1/Ff>Tw then Nr=Ff*Nt
else if 2/Ff>Tw then Nr= Ff*Nt/2
else if 3/Ff>Tw then Nr=Ff*Nt/3
・・・
else if Nc/Ff>Tw then Nr=Ff*Nt/Nc
else Nr=Ff*Nt/Nc
endif
else if 2/Ff>Tw then Nr= Ff*Nt/2
else if 3/Ff>Tw then Nr=Ff*Nt/3
・・・
else if Nc/Ff>Tw then Nr=Ff*Nt/Nc
else Nr=Ff*Nt/Nc
endif
つまり、本実施例では、Nrは、1/Ff>Twの場合(タイマ満了時点でフレームを1個蓄積している状態で検索する場合)、Ff*Ntとなり、2/Ff>Twの場合(タイマ満了時点でフレームを2個蓄積している状態で検索する場合)、Ff*Nt/2となり、3/Ff>Twの場合(タイマ満了時点でフレームを3個蓄積している状態で検索する場合)、Ff*Nt/3となり、Nc/Ff>Twの場合(タイマ満了時点でフレームをNc個蓄積している状態で検索する場合)、あるいはタイマ満了前にNc個のフレームを蓄積した時点で検出する場合、Ff*Nt/Ncとなる。
なお、本実施例でのFfの上限=Nc/Tsとなり、従来構成でのNcに対する要件(Nc≧Ts*Ffmax)を満足する場合は、本実施例でのFfの上限=Ffmaxとなる。例えば、Nc=Ts*Ffmaxの場合、Ff=Ffmaxの場合、Ff=Ffmaxのとき、Nrは従来構成での値と同じになる。
[第2実施例]
次に、本発明の第2実施例について説明する。本実施例においても、フレーム検索処理装置全体の構成は第1実施例と同様であるので、図1の符号を用いて説明する。図10は、本実施例のフレーム情報抽出部1の構成を示すブロック図である。本実施例のフレーム情報抽出部1は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出する抽出処理部100と、優先度情報通知部101と、優先度制御テーブル102とを備えている。
次に、本発明の第2実施例について説明する。本実施例においても、フレーム検索処理装置全体の構成は第1実施例と同様であるので、図1の符号を用いて説明する。図10は、本実施例のフレーム情報抽出部1の構成を示すブロック図である。本実施例のフレーム情報抽出部1は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出する抽出処理部100と、優先度情報通知部101と、優先度制御テーブル102とを備えている。
図10に示した構成は、事前に各フレームの優先度を把握する装置構成である。第1実施例と異なる点は、フレーム情報がフレーム情報出力制御部3に入力される前段で、各フレームの優先度の検索を実施し、得られた各フレームの優先度情報をフレーム情報の出力制御に用いることである。
次に、本実施例において、フレーム情報出力制御部3がフレーム情報をフレーム情報バッファ30へ書込むときの動作を説明する。図11は、フレーム情報抽出部1の優先度情報通知部101の動作と、フレーム情報出力制御部3の書込処理部31がフレーム情報をフレーム情報バッファ30へ書込むときの動作とを示すフローチャートである。
フレーム情報抽出部1の優先度情報通知部101は、フレーム情報抽出部1にフレームが入力されたときに、例えば優先度制御テーブル102に予め記録されている情報を参照して入力フレームの優先度の検索を実施し、この入力フレームから抽出されたフレーム情報の出力と同時に、当該フレームの優先度を示す優先度情報をフレーム情報出力制御部3に出力する(図11ステップS390)。
フレーム情報抽出部1の優先度情報通知部101は、フレーム情報抽出部1にフレームが入力されたときに、例えば優先度制御テーブル102に予め記録されている情報を参照して入力フレームの優先度の検索を実施し、この入力フレームから抽出されたフレーム情報の出力と同時に、当該フレームの優先度を示す優先度情報をフレーム情報出力制御部3に出力する(図11ステップS390)。
図11のステップS400,S401,S402,S403,S404の動作は、それぞれ図5のステップS100,S101,S102,S103,S104と同じなので、説明は省略する。
フレーム情報出力制御部3の書込処理部31は、優先度情報通知部101から受信した優先度情報を確認して、高優先度のフレームが入力されたことを認識すると(図11ステップS405においてYES)、高優先度のフレームが入力されたことを出力処理部32に対して通知する(ステップS406)。
なお、図11では、フレーム情報バッファ30に空きがない状態で入力されたフレームおよびフレーム情報は廃棄するとしたが、高優先度のフレームと低優先度のフレームで、バッファに空きがあっても、入力されたフレームおよびフレーム情報の総量が一定の量に到達したら廃棄する閾値をそれぞれ定めてもよい。それぞれの廃棄閾値は、例えば時間あたりに入力される高優先度のフレームの量が分かれば、その量に本実施例のフレーム検索処理装置で処理までに待たされる可能性のある時間を乗じた量だけ、低優先度のフレームの廃棄閾値を低く設定すれば、高優先度のフレームの廃棄を防ぐことができる。
また、高優先度のフレームと低優先度のフレームが占有可能なバッファ量を予め決めておいてもよい。例えば時間あたりに入力される高優先度のフレームの量に、本実施例のフレーム検索処理装置で処理までに待たされる可能性のある時間を乗じた量を、高優先度のフレームが占有可能なバッファ量とすればよい。
次に、フレーム情報出力制御部3がフレーム情報バッファ30からフレーム情報を読み出し、検索処理部2へ出力するときの動作を説明する。図12は、フレーム情報出力制御部3の出力処理部32がフレーム情報バッファ30からフレーム情報を読み出し、検索処理部2へ出力するときの動作を示すフローチャートである。
図12のステップS500,S501,S502,S503の動作は、それぞれ図6のステップS200,S201,S202,S203と同じなので、説明は省略する。
図12のステップS500,S501,S502,S503の動作は、それぞれ図6のステップS200,S201,S202,S203と同じなので、説明は省略する。
第1実施例と異なる点は、高優先度のフレームの入力通知を受けた場合の出力方法である。フレーム情報出力制御部3の出力処理部32は、高優先度のフレームが入力されたことの通知を受け(図12ステップS504においてYES)、かつ少なくとも1つの比較回路21に空きがある場合(ステップS501においてYES)、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2へ出力する(ステップS502)。
出力処理部32は、高優先度のフレームが入力されたことの通知がない場合(ステップS504においてNO)、蓄積数計測部34からフレーム情報の蓄積数を取得する(ステップS506)。
図12のステップS507,S508,S509の動作は、それぞれ図6のステップS205,S207,S208と同じなので、説明は省略する。
図12のステップS507,S508,S509の動作は、それぞれ図6のステップS205,S207,S208と同じなので、説明は省略する。
出力処理部32は、第1実施例と同様に、検索処理部2で検索処理中のフレーム情報があり、かつ検索処理部2の比較回路21の中に検索処理を実行していない空き状態の比較回路21がある場合は(ステップS503においてYES)、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2の検索処理を実行していない比較回路21へ出力する(ステップS505)。
ステップS505においてフレーム情報を検索処理部2へ出力するとき、出力処理部32は、フレーム情報の蓄積数が空き状態の比較回路21の個数未満の場合、空き状態の比較回路21をフレーム情報の蓄積数分だけ選択して、この選択した比較回路21の各々にフレーム情報バッファ30に蓄積されたフレーム情報を1個ずつ分配して出力する。また、出力処理部32は、フレーム情報の蓄積数が空き状態の比較回路21の個数以上の場合、空き状態の比較回路21を選択して、この選択した比較回路21の各々に空き状態の比較回路21の個数分のフレーム情報を1個ずつ分配して出力する。
出力処理部32は、以上のような処理を所定の出力制御周期毎に行う。
出力処理部32は、以上のような処理を所定の出力制御周期毎に行う。
以上のように、本実施例では、高優先度のフレームの入力通知を出力条件に加えることで、低遅延であることが要求される高優先度のフレームの遅延を短縮することができる。
なお、フレームの優先度情報を事前に把握した場合の、フレーム情報出力制御方法は上記に限らず、例えば出力処理部32は、フレーム情報の出力条件である、フレーム情報蓄積数の閾値を、蓄積中のフレームの優先度に応じて変化させるようにしてもよい。この場合、フレームバッファ4に蓄積されている複数のフレームのうち、最も優先度の高いフレームに合わせた閾値を設定すればよい。このとき、出力処理部32は、フレームの優先度が高いほど、フレーム情報蓄積数の閾値を小さくする。
なお、フレームの優先度情報を事前に把握した場合の、フレーム情報出力制御方法は上記に限らず、例えば出力処理部32は、フレーム情報の出力条件である、フレーム情報蓄積数の閾値を、蓄積中のフレームの優先度に応じて変化させるようにしてもよい。この場合、フレームバッファ4に蓄積されている複数のフレームのうち、最も優先度の高いフレームに合わせた閾値を設定すればよい。このとき、出力処理部32は、フレームの優先度が高いほど、フレーム情報蓄積数の閾値を小さくする。
また、出力処理部32は、フレーム情報の出力条件である、フレーム情報蓄積時間の閾値を、蓄積中のフレームの優先度に応じて変化させるようにしてもよい。この場合、フレームバッファ4に蓄積されている複数のフレームのうち、最も優先度の高いフレームに合わせた閾値を設定すればよい。このとき、出力処理部32は、フレームの優先度が高いほど、フレーム情報蓄積時間の閾値を小さくする。
図13は、閾値を変更する場合のフレーム情報出力制御部3の出力処理部32の動作を示すフローチャートである。上記のとおり、出力処理部32は、ステップS507の判定で用いるフレーム情報蓄積数の閾値を、フレームの優先度に応じて変更する(図13ステップS510)。また、出力処理部32は、ステップS509の判定で用いるフレーム情報蓄積時間の閾値時間を、フレームの優先度に応じて変更する(図13ステップS511)。図13のその他の処理は図12で説明したとおりである。図13の例では、ステップS506とステップS507の間のタイミングでフレーム情報蓄積数の閾値を変更し、ステップS508とステップS509の間のタイミングでフレーム情報蓄積時間の閾値時間を変更しているが、これに限るものではなく、これら閾値を他のタイミングで変更するようにしてもよい。
なお、図12を用いて説明した本実施例のフレーム情報出力制御方法は、高優先度のフレームの入力通知を受けた場合に、フレーム情報蓄積数の閾値およびフレーム情報蓄積時間の閾値を最小値(すなわち零)に変化させる動作に相当する。
なお、図12を用いて説明した本実施例のフレーム情報出力制御方法は、高優先度のフレームの入力通知を受けた場合に、フレーム情報蓄積数の閾値およびフレーム情報蓄積時間の閾値を最小値(すなわち零)に変化させる動作に相当する。
さらに、フレームの優先度毎にフレーム情報バッファ30を備え、フレームの優先度毎にフレーム情報を蓄積する場合は、フレームの優先度に応じて、フレーム情報蓄積数の閾値およびフレーム情報蓄積時間の閾値を変更するようにしてもよい。このとき、出力処理部32は、フレームの優先度が高いほど、フレーム情報蓄積時間の閾値を小さくする。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
[第3実施例]
次に、本発明の第3実施例について説明する。図14は、本発明の第3実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレーム情報抽出部1と、検索処理部2と、フレーム情報出力制御部3aと、フレームバッファ4と、検索処理結果バッファ5と、フレーム合成部6と、予告情報生成部7とから構成される。フレーム情報出力制御部3aの概略の内部構成は、第1実施例と同様であるので、図4の符号を用いて説明する。
次に、本発明の第3実施例について説明する。図14は、本発明の第3実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレーム情報抽出部1と、検索処理部2と、フレーム情報出力制御部3aと、フレームバッファ4と、検索処理結果バッファ5と、フレーム合成部6と、予告情報生成部7とから構成される。フレーム情報出力制御部3aの概略の内部構成は、第1実施例と同様であるので、図4の符号を用いて説明する。
本実施例が第1実施例と異なる点は、フレーム検索処理装置へフレームが入力されたことを、フレーム情報出力制御部3aへ予告情報として通知するフレーム入力の予告情報生成部7を備えている点である。図15は、予告情報生成部7の動作を示すフローチャートである。予告情報生成部7は、フレームが入力された時点で(図15ステップS10)、フレーム情報出力制御部3aへ一定の経過時間以内にフレーム情報が入力されることを予告情報として通知する(ステップS11)。
つまり、フレーム情報出力制御部3aは、フレーム検索処理装置へ入力されてはいるが、フレーム情報出力制御部3aに到達していないフレームがあることを事前に把握することができる。フレーム情報出力制御部3aは、前記予告情報を用いて、フレーム情報出力制御部3aへ一定の経過時間以内にフレーム情報が入力されないと判断した場合、所定のフレーム情報蓄積時間の経過を待たずに、蓄積中のフレーム情報を検索処理部2へ出力する。
また、フレーム情報出力制御部3aは、所定のフレーム情報蓄積時間が経過した場合でも、フレーム情報出力制御部3aへ一定の経過時間以内にフレーム情報が入力されることが判明した場合に限り、フレーム情報の蓄積を継続し、後続のフレーム情報到着を受けて、蓄積中のフレーム情報を検索処理部2へ出力する。フレーム情報蓄積時間の閾値は、前記一定の経過時間から逆算して予め設定すればよい。例えばフレーム情報蓄積時間の閾値は、前記一定の経過時間よりも短い時間となるようにすればよい。なお、予告情報生成部7は、フレーム検索処理装置外に備えられることもある。
次に、フレーム情報出力制御部3aがフレーム情報バッファ30からフレーム情報を読み出し、検索処理部2へ出力するときの動作を説明する。図16は、フレーム情報出力制御部3aの出力処理部32がフレーム情報バッファ30からフレーム情報を読み出し、検索処理部2へ出力するときの動作を示すフローチャートである。
図16のステップS600,S601,S602,S603,S604,S605,S606,S607,S608の動作は、それぞれ図6のステップS200,S201,S202,S203,S204,S205,S206,S207,S208と同じなので、説明は省略する。
図16のステップS600,S601,S602,S603,S604,S605,S606,S607,S608の動作は、それぞれ図6のステップS200,S201,S202,S203,S204,S205,S206,S207,S208と同じなので、説明は省略する。
フレーム情報出力制御部3aの出力処理部32は、少なくとも1つのタイマ値が0で、フレーム情報バッファ30にフレーム情報蓄積時間が所定の閾値時間以上経過しているフレーム情報が少なくとも1つ存在する場合(ステップS608においてYES)、予告情報を確認し、フレーム情報出力制御部3aへ一定の経過時間以内にフレーム情報が入力されることが判明した場合(ステップS609においてYES)、フレーム情報を出力しない(ステップS602)。また、出力処理部32は、フレーム情報出力制御部3aへ一定の経過時間以内にフレーム情報が入力されないと判断した場合(ステップS609においてNO)、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2へ出力する(ステップS606)。
このように、第1実施例と異なる点は、所定の蓄積時間経過後も、後続のフレーム情報が入力されないことが予告情報によって判断できる場合、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報を検索処理部2へ出力する点である。
また、出力処理部32は、第1実施例と同様に、検索処理部2で検索処理中のフレーム情報があり、かつ検索処理部2の比較回路21の中に検索処理を実行していない空き状態の比較回路21がある場合は(ステップS603においてYES)、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2の検索処理を実行していない比較回路21へ出力する(ステップS606)。
出力処理部32は、以上のような処理を所定の出力制御周期毎に行う。
出力処理部32は、以上のような処理を所定の出力制御周期毎に行う。
なお、フレーム情報出力制御部3aの書込処理部31がフレーム情報をフレーム情報バッファ30へ書込むときの動作は、第1実施例と同様である。
また、フレームバッファ4またはフレーム情報バッファ30に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
また、フレームバッファ4またはフレーム情報バッファ30に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
以上のように、本実施例では、フレーム情報入力の予告情報を出力条件に加えることで、フレーム出力の遅延時間を短縮することができ、また複数フレームを連続して検索処理部2へ出力することで、検索テーブル20へのアクセス時間を短縮することができ、消費電力を削減することができる。
なお、フレーム入力の予告情報を用いた出力制御の実施方法は上記に限らず、例えば出力処理部32は、予め設定するフレーム情報蓄積時間の閾値を短くし、フレーム情報出力制御部3aへ一定の経過時間以内にフレーム情報が入力されることが判明した場合に、フレーム情報蓄積時間の閾値を延長するようにしてもよい。
さらに、出力処理部32は、予告情報を用いて、フレーム情報出力制御部3aへ一定の経過時間以内に入力されるフレーム情報の数を算出し、求めたフレーム数に応じてフレーム情報蓄積時間の閾値を低減するようにしてもよい。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
[第4実施例]
次に、本発明の第4実施例について説明する。図17は、本発明の第4実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレーム情報抽出部1と、検索処理部2と、フレーム情報出力制御部3bと、フレームバッファ4と、検索処理結果バッファ5と、フレーム合成部6とから構成される。フレーム情報出力制御部3bの概略の内部構成は、第1実施例と同様であるので、図4の符号を用いて説明する。
次に、本発明の第4実施例について説明する。図17は、本発明の第4実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレーム情報抽出部1と、検索処理部2と、フレーム情報出力制御部3bと、フレームバッファ4と、検索処理結果バッファ5と、フレーム合成部6とから構成される。フレーム情報出力制御部3bの概略の内部構成は、第1実施例と同様であるので、図4の符号を用いて説明する。
本実施例が第1実施例と異なる点は、フレーム検索処理装置の後段に接続されるフレームバッファ8のフレーム蓄積情報を取得し、フレームバッファ8にフレームが蓄積されている場合、フレーム情報出力制御部3bで、所定のフレーム数または所定の蓄積時間、フレーム情報を蓄積し、複数フレームをまとめて検索処理部2へ出力する点である。
フレームバッファ8のフレーム蓄積情報は、例えば、フレーム蓄積量またはフレーム蓄積の有無を示す情報である。このフレーム蓄積情報を用いて、フレームバッファ8にフレームが蓄積されていると判断した場合に限り、所定の蓄積時間が経過した後もフレーム情報の蓄積を継続する。
次に、フレーム情報出力制御部3bがフレーム情報バッファ30からフレーム情報を読み出し、検索処理部2へ出力するときの動作を説明する。図18は、フレーム情報出力制御部3bの出力処理部32がフレーム情報バッファ30からフレーム情報を読み出し、検索処理部2へ出力するときの動作を示すフローチャートである。
図18のステップS700,S701,S702,S703,S704,S705,S706,S707,S708の動作は、それぞれ図6のステップS200,S201,S202,S203,S204,S205,S206,S207,S208と同じなので、説明は省略する。
図18のステップS700,S701,S702,S703,S704,S705,S706,S707,S708の動作は、それぞれ図6のステップS200,S201,S202,S203,S204,S205,S206,S207,S208と同じなので、説明は省略する。
フレーム情報出力制御部3bの出力処理部32は、少なくとも1つのタイマ値が0で、フレーム情報バッファ30にフレーム情報蓄積時間が所定の閾値時間以上経過しているフレーム情報が少なくとも1つ存在する場合(ステップS708においてYES)、フレームバッファ8からフレーム蓄積情報を取得し(ステップS709)、フレームバッファ8にフレームが蓄積されていると判断した場合(ステップS709においてYES)、フレーム情報を出力しない(ステップS702)。また、出力処理部32は、フレームバッファ8にフレームが蓄積されていないと判断した場合(ステップS709においてNO)、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2へ出力する(ステップS706)。
このように、第1実施例と異なる点は、所定の蓄積時間経過後も、フレーム検索処理装置の後段に接続されるフレームバッファ8にフレームの蓄積がある場合、フレーム情報蓄積時間の経過によらず、フレーム情報の蓄積を継続する点である。なお、フレーム情報蓄積数が所定の閾値に達した場合は、フレームバッファ8からのフレーム蓄積情報によらず、蓄積中のフレーム情報を検索処理部2へ出力する。
また、出力処理部32は、第1実施例と同様に、検索処理部2で検索処理中のフレーム情報があり、かつ検索処理部2の比較回路21の中に検索処理を実行していない空き状態の比較回路21がある場合は(ステップS703においてYES)、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ30から読み出し、検索処理部2の検索処理を実行していない比較回路21へ出力する(ステップS706)。
出力処理部32は、以上のような処理を所定の出力制御周期毎に行う。
出力処理部32は、以上のような処理を所定の出力制御周期毎に行う。
なお、フレーム情報出力制御部3bの書込処理部31がフレーム情報をフレーム情報バッファ30へ書込むときの動作は、第1実施例と同様である。
また、フレームバッファ4またはフレーム情報バッファ30に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
また、フレームバッファ4またはフレーム情報バッファ30に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
以上のように、本実施例では、フレーム検索処理装置の後段に接続されるフレームバッファ8の蓄積情報を出力条件に加えることで、フレームバッファ8の蓄積状況に応じて、複数フレームを連続して検索処理部2へ出力することができるため、検索テーブル20へのアクセス時間を短縮することができ、消費電力を削減することができる。
なお、フレームバッファ8の蓄積情報を用いた出力制御の実施方法は上記に限らず、例えば出力処理部32は、予め設定するフレーム情報蓄積時間の閾値を短くし、フレームバッファ8の蓄積量に応じて、フレーム情報蓄積時間の閾値を延長するようにしてもよい。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部1を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
第1実施例〜第4実施例で説明したフレーム検索処理装置は、例えばCPU、記憶装置及びインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。CPUは、記憶装置に格納されたプログラムに従って第1実施例〜第4実施例で説明した処理を実行する。
本発明は、ルータやスイッチ、ブリッジにおいてフレームの転送や廃棄、優先制御などを行う場合の検索処理に適用することができる。
1…フレーム情報抽出部、2…検索処理部、3,3a,3b…フレーム情報出力制御部、4,8…フレームバッファ、5…検索処理結果バッファ、6…フレーム合成部、7…予告情報生成部、20…検索テーブル、21…比較回路、30…フレーム情報バッファ、31,31a…書込処理部、32,32a…出力処理部、33…タイマ、34…蓄積数計測部、100…抽出処理部、101…優先度情報通知部、102…優先度制御テーブル。
Claims (10)
- フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出部と、
前記フレーム情報と所定の検索条件であるエントリ情報とを比較する検索処理部と、
この検索処理部へのフレーム情報の出力を制御するフレーム情報出力制御部とを備え、
前記検索処理部は、M個(Mは2以上の整数)の前記エントリ情報を予め記憶する検索テーブルと、それぞれ異なるフレームのフレーム情報を入力とすると共に、前記M個のエントリ情報をN個(NはM以下の正の整数)ずつ順次読み出して、読み出した各エントリ情報と入力されたフレーム情報との比較を一度に行う複数の比較部とを備え、
前記フレーム情報出力制御部は、前記フレーム情報抽出部によって抽出されたフレーム情報を蓄積するフレーム情報バッファと、このフレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ1個ずつ分配する出力処理部とを備えることを特徴とするフレーム検索処理装置。 - 請求項1記載のフレーム検索処理装置において、
前記フレーム情報出力制御部の出力処理部は、前記フレーム情報の蓄積時間に応じて前記フレーム情報の所定の蓄積数の閾値を変化させ、前記フレーム情報の蓄積数またはフレームバッファへの前記フレームの蓄積量に応じて前記フレーム情報の所定の蓄積時間の閾値を変化させることを特徴とするフレーム検索処理装置。 - 請求項1記載のフレーム検索処理装置において、
さらに、前記フレーム情報抽出部がフレームの検索処理に必要な前記フレーム情報を抽出する際にフレームの優先度を示す優先度情報を抽出する優先度情報通知部を備え、
前記フレーム情報出力制御部の出力処理部は、前記優先度情報を取得した場合、前記優先度情報に応じてフレーム情報の所定の蓄積数の閾値および所定の蓄積時間の閾値を変化させることを特徴とするフレーム検索処理装置。 - 請求項1記載のフレーム検索処理装置において、
さらに、前記フレーム情報抽出部が前記フレーム情報を抽出することを、前記フレーム情報出力制御部へ予告情報として通知する予告情報生成部を備え、
前記フレーム情報出力制御部の出力処理部は、前記予告情報により、フレーム情報出力制御部へ一定の経過時間以内にフレーム情報が入力されないと判断した場合、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ1個ずつ分配し、フレーム情報出力制御部へ一定の経過時間以内にフレーム情報が入力されることが判明した場合、前記フレーム情報バッファへのフレーム情報の蓄積を継続し、前記フレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ1個ずつ分配することを特徴とするフレーム検索処理装置。 - 請求項1記載のフレーム検索処理装置において、
前記フレーム情報出力制御部の出力処理部は、フレーム検索処理装置の後段に接続されるフレームバッファからフレーム蓄積情報を取得し、前記フレームバッファにフレームが蓄積されていないと判断した場合、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ1個ずつ分配し、前記フレームバッファにフレームが蓄積されていると判断した場合、前記フレーム情報バッファへのフレーム情報の蓄積を継続し、前記フレーム情報の所定の蓄積数を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ1個ずつ分配することを特徴とするフレーム検索処理装置。 - フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出ステップと、
前記フレーム情報と所定の検索条件であるエントリ情報とを比較する検索処理ステップと、
この検索処理ステップで用いるフレーム情報の出力を制御するフレーム情報出力制御ステップとを含み、
前記検索処理ステップは、複数の比較部へそれぞれ異なるフレームのフレーム情報を入力とすると共に、予め記憶しているM個(Mは2以上の整数)の前記エントリ情報をN個(NはM以下の正の整数)ずつ順次読み出して、読み出した各エントリ情報と入力されたフレーム情報との比較を前記複数の比較部で一度に行うステップを含み、
前記フレーム情報出力制御ステップは、前記フレーム情報抽出ステップによって抽出されたフレーム情報をフレーム情報バッファに蓄積する書込ステップと、前記フレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ1個ずつ分配する出力処理ステップとを含むことを特徴とするフレーム検索処理方法。 - 請求項6記載のフレーム検索処理方法において、
前記出力処理ステップは、前記フレーム情報の蓄積時間に応じて前記フレーム情報の所定の蓄積数の閾値を変化させ、前記フレーム情報の蓄積数またはフレームバッファへの前記フレームの蓄積量に応じて前記フレーム情報の所定の蓄積時間の閾値を変化させるステップを含むことを特徴とするフレーム検索処理方法。 - 請求項6記載のフレーム検索処理方法において、
さらに、前記フレーム情報抽出ステップにおいてフレームが入力されたときに、この入力フレームから抽出されたフレーム情報の前記フレーム情報バッファへの出力と同時に、当該フレームの優先度を示す優先度情報を出力する優先度情報通知ステップを含み、
前記出力処理ステップは、前記優先度情報を取得した場合、前記優先度情報に応じてフレーム情報の所定の蓄積数の閾値および所定の蓄積時間の閾値を変化させるステップを含むことを特徴とするフレーム検索処理方法。 - 請求項6記載のフレーム検索処理方法において、
さらに、フレーム検索処理装置へフレームが入力されたことを、予告情報として通知する予告情報生成ステップを含み、
前記出力処理ステップは、前記予告情報により、前記フレーム情報バッファへ一定の経過時間以内にフレーム情報が入力されないと判断した場合、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ1個ずつ分配し、前記フレーム情報バッファへ一定の経過時間以内にフレーム情報が入力されることが判明した場合、前記フレーム情報バッファへのフレーム情報の蓄積を継続し、前記フレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ1個ずつ分配するステップを含むことを特徴とするフレーム検索処理方法。 - 請求項6記載のフレーム検索処理方法において、
前記出力処理ステップは、前記検索処理ステップで検索処理がなされた後のフレームを蓄積するフレームバッファからフレーム蓄積情報を取得し、前記フレームバッファにフレームが蓄積されていないと判断した場合、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ1個ずつ分配し、前記フレームバッファにフレームが蓄積されていると判断した場合、前記フレーム情報バッファへのフレーム情報の蓄積を継続し、前記フレーム情報の所定の蓄積数を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ1個ずつ分配するステップを含むことを特徴とするフレーム検索処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013558690A JP5727633B2 (ja) | 2012-02-13 | 2013-02-12 | フレーム検索処理装置および方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012028527 | 2012-02-13 | ||
JP2012028527 | 2012-02-13 | ||
JP2013558690A JP5727633B2 (ja) | 2012-02-13 | 2013-02-12 | フレーム検索処理装置および方法 |
PCT/JP2013/053232 WO2013122042A1 (ja) | 2012-02-13 | 2013-02-12 | フレーム検索処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013122042A1 JPWO2013122042A1 (ja) | 2015-05-11 |
JP5727633B2 true JP5727633B2 (ja) | 2015-06-03 |
Family
ID=48984152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013558690A Active JP5727633B2 (ja) | 2012-02-13 | 2013-02-12 | フレーム検索処理装置および方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9699083B2 (ja) |
JP (1) | JP5727633B2 (ja) |
CN (1) | CN104094560B (ja) |
WO (1) | WO2013122042A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201487B2 (en) * | 2013-03-05 | 2015-12-01 | Intel Corporation | Reducing power consumption during graphics rendering |
DE102014205120A1 (de) * | 2014-03-19 | 2015-09-24 | Robert Bosch Gmbh | Teilnehmerstation für ein Bussystem und Verfahren zur Erhöhung der Übertragungskapazität in einem Bussystem |
US20170118140A1 (en) * | 2015-10-21 | 2017-04-27 | Mediatek Inc. | Network switch having identical dies and interconnection network packaged in same package |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658027B1 (en) * | 1999-08-16 | 2003-12-02 | Nortel Networks Limited | Jitter buffer management |
JP4294821B2 (ja) | 2000-01-26 | 2009-07-15 | 株式会社日立製作所 | ネットワーク中継装置 |
US7149206B2 (en) * | 2001-02-08 | 2006-12-12 | Electronic Data Systems Corporation | System and method for managing wireless vehicular communications |
JP2003318971A (ja) * | 2002-04-25 | 2003-11-07 | Fujitsu Ltd | ネットワークスイッチ装置およびネットワークスイッチ方法 |
JP4154213B2 (ja) | 2002-11-01 | 2008-09-24 | 富士通株式会社 | パケット処理装置 |
KR20040096363A (ko) * | 2003-05-09 | 2004-11-16 | 삼성전자주식회사 | 이동 통신 시스템의 기지국에서의 트래픽 스케줄링 장치및 방법 |
US7165129B1 (en) | 2004-01-26 | 2007-01-16 | Cisco Technology, Inc. | Method and apparatus for self-tuning transaction batching |
JP4607003B2 (ja) | 2005-12-15 | 2011-01-05 | 三菱電機株式会社 | パケット処理装置 |
US8462629B2 (en) * | 2006-06-14 | 2013-06-11 | Riverbed Technology, Inc. | Cooperative operation of network transport and network quality of service modules |
US20080010419A1 (en) * | 2006-07-06 | 2008-01-10 | Rom-Shen Kao | System and Method for Issuing Commands |
KR100920518B1 (ko) * | 2007-11-27 | 2009-10-09 | 한국전자통신연구원 | 패킷 분류 장치 및 방법 |
US8462674B2 (en) * | 2009-06-04 | 2013-06-11 | Broadcom Corporation | Method and system for symmetric transmit and receive latencies in an energy efficient PHY |
JP4971396B2 (ja) | 2009-09-03 | 2012-07-11 | 日本電信電話株式会社 | 通信処理回路及び通信処理方法 |
US20120143928A1 (en) * | 2010-12-07 | 2012-06-07 | Filip Yankov | File system transaction log flush optimization |
-
2013
- 2013-02-12 CN CN201380008159.1A patent/CN104094560B/zh active Active
- 2013-02-12 US US14/376,126 patent/US9699083B2/en active Active
- 2013-02-12 WO PCT/JP2013/053232 patent/WO2013122042A1/ja active Application Filing
- 2013-02-12 JP JP2013558690A patent/JP5727633B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2013122042A1 (ja) | 2015-05-11 |
CN104094560A (zh) | 2014-10-08 |
CN104094560B (zh) | 2017-03-08 |
US9699083B2 (en) | 2017-07-04 |
WO2013122042A1 (ja) | 2013-08-22 |
US20140376553A1 (en) | 2014-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798774B1 (en) | Graph data search method and apparatus | |
TWI451337B (zh) | 控制裝置及電腦程式產品 | |
US10771358B2 (en) | Data acquisition device, data acquisition method and storage medium | |
JP5727633B2 (ja) | フレーム検索処理装置および方法 | |
JP5965464B2 (ja) | バッファを有しないnocのデータ処理方法、及びnoc電子素子 | |
JP2008234059A (ja) | データ転送装置および情報処理システム | |
JP4749237B2 (ja) | 可変長フレームバッファ装置 | |
JP5474706B2 (ja) | 検索処理方法および検索処理装置 | |
WO2019000675A1 (zh) | 一种数据处理方法及电子设备 | |
JP2006235761A (ja) | 分散共有メモリ装置およびメモリアクセス方法 | |
JP5715458B2 (ja) | 情報処理システム、調停方法 | |
JP2017107486A (ja) | 処理リソース制御プログラム、処理リソース制御装置、および処理リソース制御方法 | |
KR102298829B1 (ko) | 관리 장치, 통신 시스템, 관리 방법 및 기록 매체에 저장된 컴퓨터 프로그램 | |
JP4528273B2 (ja) | 制御ノード装置及びデータ管理方法及びプログラム | |
JP6028672B2 (ja) | データ抽出方法、データ抽出プログラムおよびデータ抽出装置 | |
CN112543917A (zh) | 中断控制装置、中断控制方法及中断控制程序 | |
US11029887B2 (en) | Data process execution device, storage medium, and data process execution system | |
JP6819874B2 (ja) | メモリアクセス装置、メモリアクセス制御方法、プログラム、マルチコアプロセッサ | |
JP2005321933A (ja) | データ入出力装置およびデータ入出力方法 | |
CN110928698B (zh) | 数据收发控制方法及装置、计算设备和存储介质 | |
US9898434B2 (en) | System, process control method and medium | |
JP6392556B2 (ja) | アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム | |
US8073992B2 (en) | Data transfer device and data transfer method | |
JP2002252667A (ja) | プロセッサ装置及びプロセッサ負荷量算出方法 | |
JP2014035724A (ja) | フレーム検索処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20150331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150402 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5727633 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |